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

▶ 리스트 확인

tar ztvf 압축명.tar.gz

 

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

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

 

 특정 폴더만 풀기

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

 

 특정 파일만 풀기

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

 

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

 

 

블로그 이미지

iVPS 영은파더♥

가상서버호스팅 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; };
}

 

블로그 이미지

iVPS 영은파더♥

가상서버호스팅 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개만 있어도 된다고 합니다.

 

블로그 이미지

iVPS 영은파더♥

가상서버호스팅 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 (컬럼명, ...) 이렇게 지정하면 되긴 하지만 저 많은 컬럼을 다 나열하자니~ ㅎ

 

블로그 이미지

iVPS 영은파더♥

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

댓글을 달아 주세요

  • iVPS 영은파더♥ 2019.06.26 14:37 신고  댓글주소  수정/삭제  댓글쓰기

    LOAD DATA LOCAL INFILE '/강원도1.txt' INTO TABLE zipcode.zipcode CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' IGNORE 1 LINES;
    Query OK, 343756 rows affected, 8 warnings (14.34 sec)
    Records: 343756 Deleted: 0 Skipped: 0 Warnings: 8

    MariaDB [(none)]> show warnings;
    +---------+------+----------------------------------------------------+
    | Level | Code | Message |
    +---------+------+----------------------------------------------------+
    | Warning | 1265 | Data truncated for column 'buildno2' at row 22660 |
    | Warning | 1265 | Data truncated for column 'buildno2' at row 71625 |
    | Warning | 1265 | Data truncated for column 'mount_yn' at row 172116 |
    | Warning | 1261 | Row 172116 doesn't contain data for all columns |
    | Warning | 1265 | Data truncated for column 'buildno1' at row 210646 |
    | Warning | 1265 | Data truncated for column 'buildno1' at row 210649 |
    | Warning | 1265 | Data truncated for column 'mount_yn' at row 256448 |
    | Warning | 1261 | Row 256448 doesn't contain data for all columns |
    +---------+------+----------------------------------------------------+
    8 rows in set (0.00 sec)

우체국의 우편번호 주소 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

 

블로그 이미지

iVPS 영은파더♥

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

댓글을 달아 주세요

CPU 온도를 체크 하려고 스트레스 프로그램을 설치하여서 확인해 보았습니다.

# yum install stress

# stress -c 4
stress: info: [1930] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd

CentOS CPU 부하 프로그램

[root@ivps ~]# stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
stress: info: [1960] dispatching hogs: 8 cpu, 4 io, 2 vm, 0 hdd
stress: info: [1960] successful run completed in 10s

 

블로그 이미지

iVPS 영은파더♥

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

댓글을 달아 주세요

라즈베리파이와 안드로이드 폰에서 리눅스 명령어로 CPU 온도가 궁금해서 찾아봤습니다.

lm_sensors 유틸을 설치하고 sensors 명령어를 실행하면 됩니다.

# yum install lm_sensors

sensors-detect
# sensors-detect revision 3.4.0-6 (2016-06-01)
# DMI data unavailable, please consider installing dmidecode 2.7
# or later for better results.
# Kernel: 4.14.111-v7.1.el7 armv7l
**********
Your processor's architecture is not yet supported. Beware that sensors-detect might not work properly!
**********

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): YES
  계속 yes 를 입력합니다.

# sensors
...
pm8921_tz-virtual-0 

Adapter: Virtual device
temp1:        +35.5 C  (crit = +145.0 C)

pm8821_tz-virtual-0
Adapter: Virtual device
temp1:        +37.0 C  (crit = +145.0 C)

pm8821 이 CPU 온도로 보여집니다.

위 값은 안드로이드 폰에 설치된 CentOS 에서 가져온 온도입니다.

라즈베리파이에서는 위 유틸로 측정이 안되는군요~

# cat /sys/devices/virtual/thermal/thermal_zone0/temp
37932 ( 아이들 상태 )

44388 ( CPU 부하 상태 )

위 값에서 1000 을 나누면 온도 값인 듯 합니다.

 

블로그 이미지

iVPS 영은파더♥

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

댓글을 달아 주세요

ARM 용 CentOS 7 을 설치했더니 epel-release 가 그냥으로는 설치가 안되는군요~

[root@localhost android]# yum install epel-release
...
No package epel-release available.
Error: Nothing to do

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
주소를 직접 입력해서 설치가 가능합니다.

File /var/cache/yum/armhfp/7/epel/metalink.xml does not exist 같은 에러가 발생할 겁니다.

삭제하고 아래 처럼 repo 를 추가합니다.

cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Epel rebuild for armhfp
baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/
enabled=1
gpgcheck=0
EOF

cat > /etc/yum.repos.d/php72-testing.repo << EOF
[php72-testing]
name=Remi php72 rebuild for armhfp
baseurl=https://armv7.dev.centos.org/repodir/community-php72-testing/
enabled=1
gpgcheck=0
EOF

cat > /etc/yum.repos.d/remi.repo << EOF
[remi]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch
mirrorlist=http://cdn.remirepo.net/enterprise/7/remi/mirror
enabled=1
gpgcheck=1
gpgkey=https://rpms.remirepo.net/RPM-GPG-KEY-remi
EOF

epel-release 를 지원했으면 좋겠군요~

 

 

 

블로그 이미지

iVPS 영은파더♥

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

댓글을 달아 주세요

티스토리에 개인 도메인을 적용하려면 blog.tistory.com 을 CNAME 으로 설정을 하여야 합니다.

$TTL    3600
@       IN      SOA     ns.example.kr.    root (
                                        2019041510      ; serial
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expire
                                        1D )            ; minimum
        IN      NS              ns.example.kr.
        IN      MX      10      mail.example.kr.
        IN      A               192.168.1.2
ns      IN      A               192.168.1.2
mail    IN      A               192.168.1.2
www     IN      A               192.168.1.2
blog    IN      CNAME           blog.tistory.com.

뒷쪽에 점(.) 을 꼭찍어야 합니다.

 

블로그 이미지

iVPS 영은파더♥

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

Tag cname, DNS

댓글을 달아 주세요

Let's Encrypt 로 무료 인증서를 발급 받을려고 했더니 "DNS problem: SERVFAIL looking up CAA for ..." 에러 메시지가 뜨면서 더 이상 진행이 안되네요~

직접 네임서버 운영으로 해결했습니다.

# certbot certonly --standalone --agree-tos -m email@address -d www.example.kr
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.example.kr
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. www.example.kr (http-01): urn:ietf:params:acme:error:dns :: DNS problem: SERVFAIL looking up CAA for www.ivps.kr

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: www.example.kr
   Type:   None
   Detail: DNS problem: SERVFAIL looking up CAA for www.example.kr

CAA 레코드를 지정하고 난 뒤에 인증서 발급이 되네요~

 

www.example.kr.        CAA 0   issue   "letsencrypt.org"

/var/named/example.kr.zone 파일에 위의 필드를 추가하고 named 재시작 하고 인증서 발급해보세요~

 

블로그 이미지

iVPS 영은파더♥

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

댓글을 달아 주세요