오라클 클라우드에 CentOS 8 stream 버전을 설치하고 yum 명령어를 사용하니 아래와 같은 에러 메시지가 표시되네요~

패키지 설치해주는 yum 명령어가 8버전 부터는 dnf 로 바뀌었나봅니다.

좀더 확실하게 관리를 해준다고 하네요.

 

[root@ivps ~]# dnf clean all
Failed loading plugin "osmsplugin": No module named 'librepo'
58 files removed
[root@ivps ~]# dnf install python3-librepo -y
Failed loading plugin "osmsplugin": No module named 'librepo'
CentOS Stream 8 - AppStream                      16 MB/s |  27 MB     00:01
CentOS Stream 8 - BaseOS                         15 MB/s |  26 MB     00:01
CentOS Stream 8 - Extras                        290  B/s |  18 kB     01:02
CentOS Stream 8 - Extras common packages         80  B/s | 5.2 kB     01:05
Extra Packages for Enterprise Linux 8 - x86_64  572 kB/s |  13 MB     00:23
Extra Packages for Enterprise Linux 8 - Next -  160 kB/s | 179 kB     00:01
Dependencies resolved.
================================================================================
 Package                Architecture  Version               Repository     Size
================================================================================
Installing:
 python3-librepo        x86_64        1.14.2-4.el8          baseos         54 k
Upgrading:
 librepo                x86_64        1.14.2-4.el8          baseos         93 k

Transaction Summary
================================================================================
Install  1 Package
Upgrade  1 Package

Total download size: 147 k
Downloading Packages:
(1/2): python3-librepo-1.14.2-4.el8.x86_64.rpm  2.2 MB/s |  54 kB     00:00
(2/2): librepo-1.14.2-4.el8.x86_64.rpm          3.5 MB/s |  93 kB     00:00
--------------------------------------------------------------------------------
Total                                           399 kB/s | 147 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Upgrading        : librepo-1.14.2-4.el8.x86_64                            1/3
  Installing       : python3-librepo-1.14.2-4.el8.x86_64                    2/3
  Cleanup          : librepo-1.14.2-3.el8.x86_64                            3/3
  Running scriptlet: librepo-1.14.2-3.el8.x86_64                            3/3
  Verifying        : python3-librepo-1.14.2-4.el8.x86_64                    1/3
  Verifying        : librepo-1.14.2-4.el8.x86_64                            2/3
  Verifying        : librepo-1.14.2-3.el8.x86_64                            3/3

Upgraded:
  librepo-1.14.2-4.el8.x86_64
Installed:
  python3-librepo-1.14.2-4.el8.x86_64

Complete!
[root@ivps ~]# dnf clean all
49 files removed

 

버전이 바뀔때 마다 적응을 해야하는군요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

아파치 로그로 트래픽을 확인하는 명령어입니다.

 

특정 날짜 트래픽

cat www.example.com-access_log | grep "14/Sep/2021" | awk '{sum = sum  + $10} END {printf ("%f Kb\n", sum/1024)}'

 

특정 날짜의 시간대 트래픽

cat www.example.com-access_log | grep "14/Sep/2021:08" | awk '{sum = sum  + $10} END {printf ("%f Kb\n", sum/1024)}'

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

하나의 사이트에 특정 폴더는 PHP 하위 버전 5.4, 그리고 또 다른 폴더는 최신 PHP 7.4 버전을 사용할 수 있는 설정 방법입니다.

예전에 운영중인 ExpressEngine 과 WordPress 를 같이 돌려 보려고 한번 설정해봤습니다.

mod_fcgid 모듈 설치 방법은 https://ivps.tistory.com/698 여기를 참고하세요~

 

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /home/example/www
    <IfModule mod_fcgid.c>
        <Directory "/home/example/www">
            Options +ExecCGI
            Require all granted
            AddType application/x-httpd-php .php .html
            AddHandler fcgid-script .php
        </Directory>
        <Directory "/home/example/www/xe">
            FCGIWrapper /var/www/cgi-bin/php54.fcgi .php
        </Directory>
        <Directory "/home/example/www/wp">
            FCGIWrapper /var/www/cgi-bin/php74.fcgi .php
        </Directory>
    </IfModule>
</VirtualHost>

많은 테스트는 안해봤지만 현재까지 잘 동작하네요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

microSD 128GB 메모리 카드가 FAT32 로 포맷이 되어있는데 리눅스에 잘 인식하는가 싶어서 USB 리더기에 끼우고 마운트 한번 해봤습니다.

 

# fdisk -l
...
Disk /dev/sda: 128.0 GB, 128043712512 bytes, 250085376 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x8a03e6d6

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1           32768   250085375   125026304    c  W95 FAT32 (LBA)

/dev/sda1 이고 W95 FAT32 (LBA) 로 표시되네요~

 

[root@localhost ~]# mount -t vfat /dev/sda1 /mnt/usb
[root@localhost ~]# ls -l /mnt/usb
total 4
drwxr-xr-x 2 root root 4096 Mar 25 19:49 System Volume Information
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        14G   13G  961M  93% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           464M     0  464M   0% /dev/shm
tmpfs           464M   18M  446M   4% /run
tmpfs           464M     0  464M   0% /sys/fs/cgroup
/dev/mmcblk0p1  667M   60M  607M   9% /boot
tmpfs            93M     0   93M   0% /run/user/0
/dev/sda1       120G   12K  120G   1% /mnt/usb

마운트 잘 되네요~

 

백업용으로 사용하면 될 것 같습니다~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

라즈베리파이에 USB 무선랜을 끼우고 와이파이를 잡아봤습니다.

OS는 CentOS Linux release 7.6.1810 (AltArch) ARM 버전용이 설치되어 있습니다.

[root@localhost ~]# nmcli d
DEVICE  TYPE      STATE         CONNECTION
eth0    ethernet  connected     Wired connection 1
wlan0   wifi      disconnected  --
lo      loopback  unmanaged     --

[root@localhost ~]# nmcli d wifi list
IN-USE  SSID                              MODE   CHAN  RATE        SIGNAL  BARS
        iptime-2.4                        Infra  7     270 Mbit/s  100     ▂▄▆█
        SK_WiFiGIGAA254                   Infra  4     130 Mbit/s  84      ▂▄▆█
        --                                Infra  1     130 Mbit/s  70      ▂▄▆_
        U+NetF634                         Infra  1     130 Mbit/s  64      ▂▄▆_
        HelloWireless731D                 Infra  11    130 Mbit/s  27      ▂___

[root@localhost ~]# nmcli d wifi connect SSID password 비밀번호
Device 'wlan0' successfully activated with '2f438da0-4131-7bc5-937a-8e3f614692e3'.
[root@localhost ~]# nmcli d
DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  connected  Wired connection 1
wlan0   wifi      connected  iptime-2.4
lo      loopback  unmanaged  --

[root@localhost ~]# ifconfig
...
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.111  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::3d35:2457:16f3:437b  prefixlen 64  scopeid 0x20<link>
        ether 00:08:4f:f4:be:a1  txqueuelen 1000  (Ethernet)
        RX packets 59  bytes 12099 (11.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 2164 (2.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

위의 과정을 보시고 자신의 환경에 맞게 설정하시면 됩니다.

[root@localhost ~]# nmcli d
DEVICE  TYPE      STATE        CONNECTION
wlan0   wifi      connected    iptime-2.4
eth0    ethernet  unavailable  --
lo      loopback  unmanaged    --

유선랜을 빼고 무선랜만 남겨둔 상태에서 재부팅해도 인터넷이 잘 되는군요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

tar 로 압축된 파일에서 어떤 파일이 있는지 보고 싶거나 특정 파일 또는 폴더만 압축을 풀고 싶을때가 있습니다.

▶ 리스트 확인

tar ztvf 압축명.tar.gz

 

 리스트에서 특정 파일만 보기

tar ztvf 압축명.tar.gz | grep "특정파일명"

 

 특정 폴더만 풀기

tar zxvf 압축명.tar.gz ./www

 

 특정 파일만 풀기

tar zxvf 압축명.tar.gz ./www/index.html

 

잘 사용하지는 않지만 가끔씩 쓸때가 있네요~

 

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

네임서버 설정 후 제대로 설정이 되었는지 확인하는 명령어 named-checkconf 로 확인하니 아래와 같은 메시지가 나오더군요~

# named-checkconf /etc/named.conf ( 또는 named-checkconf -z )
/etc/named.conf:15: both "recursion no;" and "allow-recursion" active

에러 메시지는 아니고 recursion no 와 allow-recursion 이 둘 다 active 상태라는 메시지입니다.

서버의 존파일에 대해서만 응답하고 캐싱 네임서버로 사용못함
options {
    recursion no;
}

서버의 존파일에 대해서만 응답하고 허용IP에 대해서는 허용함
options {
    recursion no;
    allow-recursion { 127.0.0.1; 허용IP; };
}

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

Office365 와 소유한 도메인 연결을 위한 zone 파일 구성 방법과 G Suite 구글메일 레코드 설정 값입니다.

일반 웹메일 서비스의 MX 레코드 설정 보다 더 복잡하게 CNAME, TXT, SRV 까지 필요하군요~

@                       3600    IN      MX      0       example-com.mail.protection.outlook.com.
autodiscover            3600    IN      CNAME           autodiscover.outlook.com.
sip                     3600    IN      CNAME           sipdir.online.lync.com.
lyncdiscover            3600    IN      CNAME           webdir.online.lync.com.
enterpriseregistration  3600    IN      CNAME           enterpriseregistration.windows.net.
enterpriseenrollment    3600    IN      CNAME           enterpriseenrollment.manage.microsoft.com.
@                       3600    IN      TXT             "v=spf1 include:spf.protection.outlook.com -all"
_sip._tls               3600    IN      SRV     100     1       443     sipdir.online.lync.com.
_sipfederationtls._tcp  3600    IN      SRV     100     1       5061    sipfed.online.lync.com.

리눅스에서 ZONE 파일을 열어서 위와 같이 추가하고 NAMED 재시작 해주면 됩니다.

G Suite 레코드는 아래와 같습니다.

@		3600	IN      MX      1       ASPMX.L.GOOGLE.COM.
@		3600	IN      MX      5       ALT1.ASPMX.L.GOOGLE.COM.
@		3600	IN      MX      5       ALT2.ASPMX.L.GOOGLE.COM.
@		3600	IN      MX      10      ALT3.ASPMX.L.GOOGLE.COM.
@		3600	IN      MX      10      ALT4.ASPMX.L.GOOGLE.COM.
webmails	3600	IN      CNAME	   ghs.googlehosted.com.

mx 레코드는 위의 2개만 있어도 된다고 합니다.

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

우체국에서 최신 우편번호 DB 파일을 다운로드 받으면 텍스트 형태로 되어 있습니다.

이를 mysql 에 데이터로 밀어넣는 방법입니다.

https://www.epost.go.kr/search/zipcode/areacdAddressDown.jsp
https://www.epost.go.kr/search/areacd/zipcode_DB.zip
여기에서 파일을 다운로드 받아서 압축을 풀고 서버로 업로드를 합니다.

우편번호|
시도|
시도영문|
시군구|
시군구영문|
읍면|
읍면영문|
도로명코드|
도로명|
도로명영문|
지하여부|
건물번호본번|
건물번호부번|
건물관리번호|
다량배달처명|
시군구용건물명|
법정동코드|
법정동명|
리명|
행정동명|
산여부|
지번본번|
읍면동일련번호|
지번부번|
구우편번호|
우편번호일련번호

파일을 열어서 보면 위에 같은 형태로 되어 있는데 똑같은 구조로 테이블을 만듭니다.

CREATE TABLE zipcode (
 zipcode        VARCHAR(5) NULL,
 sido           VARCHAR(25) NULL,
 sido_en        VARCHAR(20) NULL,
 sigungu        VARCHAR(30) NULL,
 sigungu_en     VARCHAR(30) NULL,
 eupmyun        VARCHAR(20) NULL,
 eupmyun_en     VARCHAR(25) NULL,
 doro_code      VARCHAR(12) NULL,
 doro           VARCHAR(40) NULL,
 doro_en        VARCHAR(50) NULL,
 under_yn       VARCHAR(1) NULL,
 buildno1       VARCHAR(5) NULL,
 buildno2       VARCHAR(4) NULL,
 buildnum       VARCHAR(25) NULL,
 multiple       VARCHAR(1) NULL,
 buildname      VARCHAR(70) NULL,
 dong_code      VARCHAR(10) NULL,
 dong           VARCHAR(20) NULL,
 ri             VARCHAR(20) NULL,
 dong_hj        VARCHAR(30) NULL,
 mount_yn       VARCHAR(1) NULL,
 jibun1         VARCHAR(4) NULL,
 eupmyundong_no VARCHAR(2) NULL,
 jibun2         VARCHAR(4) NULL,
 zipcode_old    VARCHAR(7) NULL,
 zipcode_seq    VARCHAR(3) NULL,
 idx            INT(10)    UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

이제 DB Text 파일을 ANSI 에서 UTF-8 로 변환 합니다.

iconv -c -f cp949 -t utf-8 강원도.txt > 강원도1.txt
iconv -c -f cp949 -t utf-8 경기도.txt > 경기도1.txt
iconv -c -f cp949 -t utf-8 경상남도.txt > 경상남도1.txt
iconv -c -f cp949 -t utf-8 경상북도.txt > 경상북도1.txt
iconv -c -f cp949 -t utf-8 광주광역시.txt > 광주광역시1.txt
iconv -c -f cp949 -t utf-8 대구광역시.txt > 대구광역시1.txt
iconv -c -f cp949 -t utf-8 대전광역시.txt > 대전광역시1.txt
iconv -c -f cp949 -t utf-8 부산광역시.txt > 부산광역시1.txt
iconv -c -f cp949 -t utf-8 서울특별시.txt > 서울특별시1.txt
iconv -c -f cp949 -t utf-8 세종특별자치시.txt > 세종특별자치시1.txt
iconv -c -f cp949 -t utf-8 울산광역시.txt > 울산광역시1.txt
iconv -c -f cp949 -t utf-8 인천광역시.txt > 인천광역시1.txt
iconv -c -f cp949 -t utf-8 전라남도.txt > 전라남도1.txt
iconv -c -f cp949 -t utf-8 전라북도.txt > 전라북도1.txt
iconv -c -f cp949 -t utf-8 제주특별자치도.txt > 제주특별자치도1.txt
iconv -c -f cp949 -t utf-8 충청남도.txt > 충청남도1.txt
iconv -c -f cp949 -t utf-8 충청북도.txt > 충청북도1.txt

변환된 파일을 mysql load data 를 이용해서 데이터로 밀어넣습니다.

LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/강원도1.txt'         INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/경기도1.txt'         INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/경상남도1.txt'       INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/경상북도1.txt'       INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/광주광역시1.txt'     INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/대구광역시1.txt'     INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/대전광역시1.txt'     INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/부산광역시1.txt'     INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/서울특별시1.txt'     INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/세종특별자치시1.txt' INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/울산광역시1.txt'     INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/인천광역시1.txt'     INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/전라남도1.txt'       INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/전라북도1.txt'       INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/제주특별자치도1.txt' INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/충청남도1.txt'       INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
LOAD DATA LOCAL INFILE '/home/ivps/www/zipcode/zipcode_DB/충청북도1.txt'       INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;

생각보다 빨리 처리가 되는군요~

idx 컬럼 때문에 warning 이 발생하긴 하지만 idx 컬럼이 없으면 로딩시 느려집니다.

load data 뒤쪽에 SET idx = NULL 을 넣어도 워닝은 발생하네요~

INSERT INTO TABLE (컬럼명, ...) 이렇게 지정하면 되긴 하지만 저 많은 컬럼을 다 나열하자니~ ㅎ

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

우체국의 우편번호 주소 DB 텍스트 파일을 열어보니 ANSI 로 나오는데 mysql 에 밀어 넣으려면 utf-8 로 변환해야 합니다.

ANSI 인데 한글인 경우 cp949 를 utf-8 로 변경하면 됩니다. ( euc-kr 로 하니까 샾아파트 같은 문자는 깨지네요~ )

AcroEdit 와 같은 편집기를 이용해서 변환해도 되지만 리눅스 명령어로 치환하는 방법입니다.

[root@ivps zipcode_DB]# file -bi 강원도.txt
text/plain; charset=iso-8859-1
[root@ivps zipcode_DB]# iconv -c -f cp949 -t utf-8 강원도.txt > 강원도1.txt
[root@ivps zipcode_DB]# file -bi 강원도1.txt
text/plain; charset=utf-8

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,