[SPLIT ]

하나의 큰파일을 나누기 -----------------------------------------------------

   - 덩치 큰 백업(tgz)파일을 특정용량으로 나누기
      ( CD 제작  또는  용량이 큰 파일를 ftp, wget 전송시 사용)

ex)  split   -b   사이즈   백업된화일   머릿말
ex)  split -b 650m  bigsize.tgz small_
      - 설명 bigsize.tgz 파일를 650Mb 크기의 small_aa,small_ab,small_ac
        식으로 생성한다            
     

나워기 파일을 합치기 -------------------------------------------------------

ex)  cat  나뉜화일1  나뉜화일2   >   화일이름
ex)  cat  small_aa small_ab small_ac  >   bigsize.tgz
      - 나뉘어진 small_aa small_ab등의 파일를 bigsize.tgz의 하나의 파이로
        생성한다      




==========================================================  
[응용] 큰 용량의 디렉토리를 특정 사이즈의 화일로 나눠 압축하기

==========================================================

/home/test 디렉토리를 100단위로 backupfile_xx 형태로 압축하신다면..

tar czvf - /home/bbs | split -b 100m - backupfile_

 주의) /home/bbs 를 압축하는 것이 아니고 /home 속에 있는 모든것을
       압축한다...(압축대상의 경로에서 작업하기바람...옵션이 있다는데 모르겠씀.)


압축해제는

ex) cat backupfile_* | tar zxvf -
ex) cat backupfile_* | (cd /;tar -xzvpf - )

풀 때 (cd /;tar -xzvpf - ) 중의 /; 하면 / 디렉으로 옮겨 가서 풀리게 됩니다.
다른 방법으론

 ex) cat backupfile_* | tar xzvfC -  /home/tmp  )
가 있다.

'배워서 남주자 > Linux 명령' 카테고리의 다른 글

[find] find 명령어  (0) 2020.05.10
[명령어] 기타 잡동사니  (0) 2020.05.10
[SSL] 생성  (0) 2020.05.10
CentOS7 - 네트워크 명령  (0) 2020.05.10
CentOS7 - 사용자  (0) 2020.05.10

현장에 나가면 제일 많이 쓰는 장비(?)가 윈도xp깔린 컴퓨터이고 명령프롬프트인데, 그에 관해 정리된 부분이 없는거 같아서 함 정리해봤습니다. 틀린 점이나 수정/추가할 부분 있으시면 리플 달아주세요.

 

1.ping
2.ipconfig
3.nslookup
4.route
5.tracert
6.pathping
7.arp
8.netstat
9.nbtstat
10.hostname
11.ftp
12.telnet
13.tftp
14.getmac
15.ipxroute
16.netsh
17.proxycfg

 

 

 


1. ping
Packet Internet Groper의 약자로서, ip기반 유틸리티이고 icmp프로토콜을 이용합니다. ping에서 보내는 icmp패킷의 data영역은 소문자 abcdefghijklmnopqrstuvw를 반복해서 보냅니다. 핑의 경우, 상대 호스트에 icmp_reply가 열려 있어야 응답이 옵니다. 요즘은 보안상의 이유로 icmp_reply를 막아 놓은 경우가 많습니다.

 

예1) 아래의 경우, icmp_reply가 막혀 있어서 응답이 없습니다.
c:\>ping naver.com

 

예2) 아래의 경우엔 열려있어서 응답이 옵니다.
c:\>ping kr.yahoo.com

 

옵션을 예제로 보여드리겠습니다. 옵션 설명문은 ping /?로 알 수 있습니다.

 

예3)사용자가 ctrl-c로 멈추기 전 까지 무한정 핑을 날립니다.
c:\>ping -t kr.yahoo.com

 

예4)ip주소를 호스트이름으로 바꿔서 핑 날립니다. reverse dns가 설정되어 있는 ip만 가능합니다.

c:\>ping -a 211.115.101.150 (home.vip.krs.yahoo.com의 ip)

 

예5)핑을 10개만 날립니다.

c:\>ping -n 10 kr.yahoo.com

 

예6)보내는 버퍼 사이즈를 정합니다. 최대값은 65500입니다.
c:\>ping -l 2800 kr.yahoo.com
c:\>ping -l 65500 127.0.0.1

최대값은 주로 1hop 거리인 gateway나 루프백 테스트에서만 되는거 같습니다. 호스트마다 받아들이는 최대값이 다르게 되어있어서 그런 것이라 생각하고 있습니다.

 

-l옵션은 외부로 나가는 망이 로드밸런싱 구성이 되어 있을 때, mtu보다 큰 사이즈 (예:2800)를 보내서 정상적으로 되나 테스트 하는 용도로 많이 쓰입니다.

 

예7)보내는 패킷을 분할하지 않습니다. -l옵션과 함께 많이 쓰이는데, 보통 mtu는 1500이므로 icmp헤더 8바이트, ip헤더 20바이트를 뺀 1472이 최대값이 됩니다.
c:\>ping -l 1472 -f 127.0.0.1

 

예8)보내는 패킷의 ttl값을 변경합니다. 예제에서는 hop이 10개 이하인 경로에 대해서만 응답이 올 겁니다.
c:\>ping -i 10 ping.test.com

 

예9)TOS값을 정합니다. ip헤더에서 tos는 4비트만 할당되어 있는데, ping 에러메세지에서는 0~255의 값을 넣으라고 하네요. +_+ 0000,1000,0100,0001등 많이 쓰이는 값을 넣고 이더리얼로 돌려봐도 특별한 변화가 없습니다. 아직 뭔지 모르겠다는 뜻입니다. ^^
c:\>ping -v 1 ping.test.com

 

예10)traceroute처럼 경로를 보여줍니다. 1부터 9까지.
c:\>ping -r 9 ping.test.com

 

예11)경로별 응답온 시간을 보여줍니다. 1부터 4까지.
c:\>ping -s 4 ping.test.com

 

예12)응답이 없을 경우, 다음 시간(밀리초)까지만 기다리고 재시도합니다.
c:\>ping -w 100 null.test.com

 

예13)각 옵션은 짬봉해서 쓸 수 있습니다. 사실 -t옵션과 -l옵션이 제일 많이 쓰이죠. ^^
c:\>ping -t -l 2500 -s 4 test.com

 

 

 

 

 

2.ipconfig
unix계열의 ifconfig와는 달리 그냥 보여주는 기능밖에 못 합니다. dns와 dhcp에 관련된 조작만 조금 할 수 있구요. ㅎㅎ

 

예1)nic별로 nic이름, ip, netmask, gateway정보를 보여줍니다.
c:\>ipconfig

 

예2)wins서버, dns서버, mac주소등 몇 가지 정보를 더 보여줍니다.
c:\>ipconfig /all

 

예3)dhcp 설정일 때, dhcp서버에게 ip 임대 기간을 갱신요청 합니다. 어댑터 미지

정시, 모든 어댑터가 대상합니다.
c:\>ipconfig /release

 

예4)dhcp 설정일 때, dhcp서버에게 ip반납 후 새롭게 요청합니다. 어댑터 미지정시, 모든 어댑터가 대상합니다.
c:\>ipconfig /renew

 

예5)dns캐시 목록을 보여줍니다.
c:\>ipconfig/displaydns

 

예6)dns캐시 목록을 지웁니다. 주로 dns관련 문제로 dns서버를 바꿨을 때, 이 명령 후 테스트합니다.
c:\>ipconfig /flushdns

 

예7)ip주소를 갱신하고 ddns에 레코드를 등록합니다.
c:\>ipconfig /registerdns

dhcp갱신은 ipconfig말고도 시작->제어판->네트워크연결->nic우클릭->사용 안 함->사용. 이런 식으로 갱신해도 됩니다.

 

 

 

 

3.nslookup
name server lookup의 약자이고, dns질의를 해 보는 udp53포트 기반 유틸리티입니다. 네트워크 문제의 상당수가 dns관련 문제이니까 dns서버 동작원리에 대해서 알아두면 많은 도움이 됩니다.

 

예1)도메인에 대한 ip를 질의합니다.
c:\>nslookup www.test.com

 

예2)ip에 대한 reverse도메인 질의를 합니다.
c:\>nslookup 192.168.0.1

 

예3)옵션을 줘서 질의합니다.
c:\>nslookup
>www.test.com
server: 168.126.63.1
address:168.126.63.1

name:www.test.com
address:192.168.0.1

>192.168.0.1
server: 168.126.63.1
address:168.126.63.1

name:www.test.com
address:192.168.0.1

>server 10.0.0.1 (기본 질의 서버를 바꿉니다)
Default Server: ns.test.com
address: 10.0.0.1

>set all
(현재 설정되어 있는 기본 질의 옵션들을 보여줍니다)
>set type=any(기본 질의 타잎을 A(호스트)에서 ANY(도메인에 해당하는 모든 정보)

로 바꿉니다)
>test.com
test.com   internet address=192.168.0.1 (루트도메인 정보입니다)
test.com   MX preference = 10, mail exchanger = mail.test.com (메일서버가 이

중화되어 있을 경우, 여러 개의 값이 나옵니다.
test.com   nameserver = ns1.test.com (1차 네임서버)
test.com   nameserver = ns2.test.com (2차 네임서버)
test.com
      primary name server = ns1.test.com
      responsible mail addr = root.test.com
      serial = 2007010101 (임의의 숫자.보통 도메인 존 수정한 날짜로 합니다. yyyymmddhh)
      refresh = 28800 (초단위.갱신주기)
      retry = 14400 (초단위.갱신 실패시 재시도 주기)
      expire = 360000 (초단위.갱신 실패시 만료일)
      default TTL = 0

test.com   text =
      "v=spf1 ip4:192.168.0.10 -all" (화이트 도메인 관련 정보입니다. 메일서버 정책에 따르겠다는 설정)


test.com   nameserver = ns1.test.com
test.com   nameserver = ns2.test.com
mail.test.com internet address=192.168.0.10
ns1.test.com internet address=192.168.0.1
ns2.test.com internet address=192.168.0.2

>set type=mx (메일서버 질의)
>test.com
test.com   MX preference = 10, mail exchanger = mail.test.com
test.com   nameserver = ns1.test.com
test.com   nameserver = ns2.test.com
mail.test.com internet address=192.168.0.10
ns1.test.com internet address=192.168.0.1
ns2.test.com internet address=192.168.0.2

>set type=A (기본값. 호스트 질의)
>test.com
server: ns1.test.com
address:192.168.0.1

name:www.test.com
address:192.168.0.1

>?
가능한 옵션들이 다 나옵니다.

 

 

 

 

4.route
현재 호스트의 라우팅 보여주기 및 경로 재설정하는 유틸입니다. 라우팅이라고 하면 의아해 하시겠지만 ip프로토콜이 탑재된 호스트는 기본적으로 라우팅 기능을 할 수 있습니다.

 

예1)현재 라우팅 목록을 보여줍니다.
c:\>route print

 

예2)192로 시작하는 목록, 100이 포함되어 있는 목록을 보여줍니다.
c:\>route print 192*
c:\>route print *100*

 

예3)10.0.0.0/16을 목록에 추가합니다.
c:\>route add 10.0.0.0 mask 255.255.0.0 192.168.0.1 metric 10

 

예4)10.0.0.0/16의 메트릭을 변경합니다.
c:\>route change 10.0.0.0 mask 255.255.0.0 192.168.0.1 metric 20
(메트릭 변경은 윈도 네트워크정보의 tcp/ip설정 고급란에서도 가능합니다)

 

예5)기본 경로를 목록에 추가합니다.
c:\>route add 0.0.0.0 mask 0.0.0.0 192.168.0.1
(메트릭을 지정하지 않으면 기본메트릭20이 적용됩니다)
(기본 경로가 2개일 경우 기본 게이트웨이 산정은 메트릭에 의존하고, 메트릭이 동

일할 경우 랜덤하게 결정됩니다^^)

 

예6)추가된 목록 10.0.0.0/16을 지웁니다.
c:\>route delete 10.0.0.0 mask 255.255.0.0 192.168.0.1 metric 20

 

예7)추가된 라우팅 정보와 기본경로를 지웁니다. 라우터가 아니라 호스트일 경우,

이 명령어 후에는 반드시 기본 경로를 지정해줘야 합니다.
c:\>route -f

 

예8)추가 라우팅 목록이 재부팅 후에도 남아있도록 합니다.
c:\>route -p add 10.0.0.0 mask 255.255.0.0 192.168.0.1 metric 10

 

 

 

5.tracert
상대방 호스트까지 가는 경로를 보여줍니다. icmp를 쓰므로, 역시 ip기반 유틸리티입니다.
원리는 ttl(time to live)값을 1에서부터 1씩 늘려가면서 목적지에게 icmp type 8 echo request를 보내서 라우터마다 ttl값이 만료됐다는 메시지를 받음으로써, 각 hop마다의 라우터를 확인할 수 있습니다. 가끔 라우터-라우터 구간의 사설ip로도 응답이 오는 것도 이 때문입니다.

 

이것도 역시 보안상의 이유로 icmp type 0 echo reply나 icmp type 11 ttl exceeded를 비활성화 해 놓은 구간에서는 응답이 없어서 그 구간은 * 혹은 request time out으로 표시됩니다.

 

예1)www.test.com까지의 경로 확인
c:\>tracert www.test.com

 

예2)주소를 호스트이름으로 바꾸지 않는 옵션입니다. 처리속도가 엄청나게 늘어나므로 꼭 사용해주세요. ^^
c:\>tracert -d 192.168.0.1

 

예3)최대 홉 수를 10으로, 각 구간의 응답대기 시간을 500ms로 설정합니다.
c:\>tracert -h 10 -w 500 192.168.0.1

 


 

6.pathping
traceroute와 ping의 짬봉+통계치입니다. ^^ icmp를 쓰므로, 역시 ip기반 유틸리티입니다.

 

예1)이름변환 없이 진행합니다. (tracert의 -d옵션과 같음)
c:\>pathping -n 192.168.0.1

 

예2)최대 홉 수를 10으로, 각 구간의 응답대기 시간을 500ms로 설정합니다.
c:\>pathping -h 10 -w 500 192.168.0.1

 

예3)각 ping사이의 대기시간을 100ms로, 보내는 패킷의 source ip를 192.168.0.10으로 합니다
c:\>pathping -p 100 -i 192.168.0.10 192.168.0.1

 

예4)각 구간 사이의 layer-2 priority tag를 검사합니다. (802.1p QoS on the mac level)
c:\>pathping -t 192.168.0.1

 

 

 


7.arp
arp 캐시 테이블을 보여주고, 조정하는 유틸입니다.

 

예1)현재의 arp 캐시 테이블을 보여줍니다. 기본 저장기간은 5분이니까, 보여지는 목록은 5분동안의 통신된 내역입니다.
c:\>arp -a

 

예2)특정 호스트의 arp 테이블을 지우거나 전부 지웁니다.
c:\>arp -d 192.168.0.100
c:\>arp -d 192.168.*
c:\>arp -d 192.168.0.1*
c:\>arp -d *

 

예3)수동으로 arp 테이블에 호스트를 올립니다.
c:\>arp -s 192.168.0.200 aa-bb-cc-dd-ee-ff

 


 

 

8.netstat
소켓 인터페이스를 통해 연결되어진 내용을 보여줍니다. 아주 중요한 명령어 중에 하나죠.

 

예1) 주소 및 포트번호를 이름변환 없이 숫자로 보여주면서 모든 연결 및 대기 포트를 표시합니다. 제일 많이 쓰이죠. ^^
c:\>netstat -na

 

예2) 이더넷 통계를 보여줍니다. 물리계층 에러도 확인할 수 있어서 좋습니다
c:\>netstat -e

 

예3) 사용되는 프로토콜별로 통계를 보여줍니다. 보통 tcp,ip,udp,icmp를 보여줍니다.
c:\>netstat -s

 

예4) 연결을 만드는데 주관한 프로세스의 실행 프로그램을 모두 보여줍니다.
c:\>netstat -ba


예5) 모든 연결 중에 특정 프로토콜만 보여줍니다.
c:\>netstat -a -p TCP
c:\>netstat -a -p UDP

 

예6) route print와 같은 결과물을 보여줍니다.
c:\>netstat -r

 

 

 

9.nbtstat
NetBIOS인터페이스와 관련된 정보를 보여줍니다.

 

예1)Netbios 이름으로 ip와 mac정보등을 보여줍니다.
c:\>nbtstat -a 테스트서버

 

예2)ip주소로 NetBIOS이름, mac정보등을 보여줍니다.
c:\>nbtstat -A 192.168.0.1

 

예3)현재 시스템의 NetBIOS 이름 캐시와 해당IP를 보여줍니다.
c:\>nbtstat -c

 

예4)현재 시스템의 NetBIOS 이름들을 보여줍니다.
c:\>nbtstat -n

 

예5)arp -d *처럼 모든 넷바이오스 이름 캐시를 지웁니다.
c:\>nbtstat -R

 

예6)네트워크를 통한 이름처리 통계를 보여줍니다. 여기서 나오는 Name Server는 WINS서버를 뜻합니다.
c:\>nbtstat -r

 

 

 

 

10.hostname
현재 시스템의 호스트 이름을 보여줍니다. 리눅스에서는 호스트 이름도 바꾸는 기능이 있지만, 윈도에선 걍 보여주기만 합니다. ^^

예)주로 키보드 만지다가 마우스 잡기 귀찮을 때 쓰는 명령어입니다. ㅋㅋ
c:\>hostname

 

 


11.ftp
어떠한 이유에 의해서 윈도우 유틸리티를 사용 못 할 때가 있습니다. 그런 때를 대비해서 텍스트 모드의 사용법도 알아두면 요긴하게 사용됩니다. tcp20,21 포트 기반 유틸리티입니다.

 

c:\>ftp
ftp>open 192.168.0.1 (해당 호스트로 접속합니다. 불행히도 21번 포트를 제외한 다른 포트 지정은 안됩니다)
user: anonymous (익명연결의 경우)
password: 패스워드 혹은 익명일 경우 아무 문자나.
ftp>ls 혹은 dir (원격지 디렉토리 목록을 보여줍니다)
ftp>cd temp (원격지의 하위 디렉토리로 이동합니다)
ftp>get test.exe (파일을 다운로드합니다)
ftp>lcd \data (로컬 시스템의 경로를 바꿉니다)
ftp>put upload.exe (파일을 업로드합니다)
ftp>mget test1.exe test2.exe test3.exe (파일을 여러 개 다운합니다)
ftp>mput upload1.exe upload2.exe (파일을 여러 개 업로드합니다)
ftp>ascii (파일 전송 기본 모드를 ascii로 바꿉니다)
ftp>binary (파일 전송 기본 모드를 binary로 바꿉니다)
~윈도는 기본이 binary이고, 리눅스는 기본이 ascii입니다. 참고하세요~
ftp>bye (접속종료)

 

 

 


12.telnet
핑과 더불어 네트워크 엔지니어들이 제일 많이 쓰는 유틸리티라 잘 아시겠죠. ^^ 보통은 tcp25포트 기반입니다.

예1)해당 호스트에 포트 50으로 접속
c:\>telnet 192.168.0.1 50

 

예2)웹브라우저 접속을 못 하는 상황에서 해당ip의 정보 조회를 할 때

c:\>telnet ipwhois.nic.or.kr 43

엔터후에 화면이 clear되는데, 조회하고자 하는 ip를 입력 후 엔터치면 해당 ip에 대한 정보가 화면에 나오고 텔넷접속은 종료됩니다. 웹페이지에 보여지는 내용 기준으로 <br>되기 때문에 텔넷 윈도우를 크게 키운 후 사용하시면 좋습니다.

 


13.tftp
시시한(?) ftp입니다. ^^ udp 67 기반입니다.

 

예1)해당 호스트의 test.exe파일을 binary형식으로 다운로드
c:\>tftp -i 192.168.0.1 GET test.exe

 

예2)현재 시스템의 test.exe파일을 binary형식으로 원격지에 test10.exe으로 업로드.
c:\>tftp -i 192.168.0.1 PUT test.exe test10.exe

 

 


14.getmac
rpc프로토콜을 이용하여 원격지에 있는 호스트의 mac주소를 얻어내는 명령어입니다. 해당 호스트의 계정정보가 필요합니다.

출력 결과는 mac주소와 nic의 디바이스 정보가 나오고, tcp135와 tcp2041으로 통신합니다.

 

예) 원격지 호스트가 test.com(ip나 netbios이름으로 해도 됨) 이고, id:test pw:testpw이라면,
c:\>getmac /S test.com /U test /P testpw
c:\>getmac /S 192.168.10.1 /U test /P testpw

 

 

15.ipxroute
제 pc에 ipx프로토콜도 없구, ipx쪽은 잘 모르는데 이런 명령어가 있길래 그냥 적어만 봤습니다. ^^

 

 


16.netsh
네트워크 관련 설정 등을 해 주는 유틸리티입니다. 윈2003의 RRAS와 연계된 많은 기능들이 있지만, 일반적으로는 노트북 사용자처럼 ip주소를 여러 번 변경하는 상황에 응용해서 많이 쓰입니다.

 

예1) 아래와 같이 만들고 static1.bat만 실행해주면 ip가 바뀝니다.
c:\>copy con static1.bat
netsh interface ip set address "로컬 영역 연결" static 192.168.0.10 255.255.255.0 192.168.0.1
netsh interface ip set dns name="로컬 영역 연결" source=static 168.126.63.1 register=PRIMARY
^Z


예2) 아래와 같이 만들고 dhcp.bat만 실행해주면 dhcp로 바뀝니다.
c:\>copy con dhcp.bat
netsh interface ip set address "로컬 영역 연결" source=dhcp
netsh interface ip set dns name="로컬 영역 연결" source=dhcp
^Z

 

예3)도움말 윈도 창이 뜨면서 gui환경으로 기본적인 네트워크 자가진단을 하고 결과를 알려줍니다.
c:\>netsh diag gui

 

 


17.proxycfg
웹 브라우저의 프록시 설정을 바꿔줍니다. 웹 브라우저에서 프록시 서버가 사용 가능으로 체크되어 있어야 동작합니다.

 

예1) 프록시 서버가 proxy.test.com. ip는 192.168.100.1이라면,
c:\>proxycfg -p proxy.test.com
c:\>proxycfg -p 192.168.100.1

 

예2) 웹 브라우저의 프록시 설정값대로 바꿔줍니다.
c:\>proxycfg -u

'기타 > windows' 카테고리의 다른 글

윈도우10 - 사용자 ID 및 폴더이름 변경.  (0) 2019.10.09

AB 사용법 - Apache Benchmarking

 

ab는 "Apache HTTP server Benchmarking tool"의 약어로서 아파치 서버의 응답속도를 측정하는 벤치마킹툴이다.

도메인이나 특정 페이지의 응답속도를 측정할 수 있다.

 

 

$./ab -V
This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/


 

$./ab -h

Usage: ./ab 【options】 【http://】hostname【:port】/path
Options are:
    -n requests  Number of requests to perform : 벤치마킹을 위한 요청수
    -c concurrency Number of multiple requests to make : 하나의 요청당 체크할 다중 요구수 (기본값 : 1)
    -t timelimit Seconds to max. wait for responses : 제한시간
    -p postfile  File containg data to POST : POST 할 파일 지정
    -T content-type Content-type header for POSTing
    -v verbosity    How much troubleshooting info to print : 자세한 헤더정보 출력 (유용함)
    -w              Print out results in HTML tables : HTML 형태로 출력 (유용함)
    -i              Use HEAD instead of GET
    -x attributes   String to insert as table attributes
    -y attributes   String to insert as tr attributes
    -z attributes   String to insert as td or th attributes
    -C attribute    Add cookie, eg. 'Apache=1234' (repeatable) : 쿠키 사용시
    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: zop'
                       Inserted after all normal header lines. (repeatable)
    -A attribute    Add Basic WWW Authentication, the attributes
                       are a colon separated username and password. : 사용자 인증을 요하는 페이지 체크시 아이디:비밀번호
    -P attribute    Add Basic Proxy Authentication, the attributes
                       are a colon separated username and password.
    -X proxy:port   Proxyserver and port number to use
    -V              Print version number and exit
    -k              Use HTTP KeepAlive feature : 하나의 세션을 맺은 상태에서 여러개의 요구가 하나의 세션으로 인식
    -d              Do not show percentiles served table.
    -S              Do not show confidence estimators and warnings.
    -g filename     Output collected data to gnuplot format file.
    -e filename     Output CSV file with percentages served
    -h              Display usage information (this message)

 

실행방법은  ./ab "http 주소"

* 주의 : 여기서 주의해야 할것은 위와같이 도메인명만 입력할때는 뒤에 "/"를 꼭 붙여야 한다.

 

그럼 실제로 네이버의 응답속도를 체크해자.

출력되는 내용은 아래와 같다.

 

【】# ab http://www.naver.com/
This is ApacheBench, Version 1.3d <$Revision: 1.69 $> apache-1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.naver.com (be patient).....done


; 아파치 버전

Server Software:        Apache                                            


; 도메인명

Server Hostname:        www.naver.com


; 웹서비스 사용 포트

Server Port:            80

 

; 초기문서가 위치하는 웹문서 root(서버내의 절대경로가 아님)

Document Path:          /


; 초기문서의 용량

Document Length:        72226 bytes

 

Concurrency Level:      1


; 응답속도(사실 이값만 확인하면 된다.)

Time taken for tests:   0.016 seconds


; 요구에 응답한 세션수

Complete requests:      1


; 요구에 응답실패한 세션수

Failed requests:        0


; 실패한 에러수

Broken pipe errors:     0


; 총 전송 바이트수

Total transferred:      72539 bytes


; 총 전송한 HTML 바이트수

HTML transferred:       72226 bytes


; 초당 응답요구수

Requests per second:    62.50 【#/sec】 (mean)


; 요구에 응답한 시간 (이값도 중요하다)

Time per request:       16.00 【ms】 (mean)


; 요구에 응답한 시간

Time per request:       16.00 【ms】 (mean, across all concurrent requests)

; 초당 전송 가능한 용량

Transfer rate:          4533.69 【Kbytes/sec】 received

 

=> 응용

1. 1회의 전송을 믿지 못하겠다는 분은 여러번 시도하여 그에대한 평균치를 얻을수 있다.

  ab -n 1 http://www.naver.com/

 

2. 다중세션으로 벤치마킹하여 더욱 신뢰높은 값을 얻는 방법

 ab -c 30 http://www.naver.com/

 

3. 응답속도를 KeepAlive 속성을 활성화하여 테스트하기

 ab -k http://www.naver.com/

 

4. 측정 결과를 HTML 파일로 저장하기

 ab -n 1 -w http://www.naver.com/ > naver.com_test.htm

 

ab 명령어를 이용해서 조금 억지스럽지만 결과값으로 서버의 부하까지도 추측이 가능할 것이다.

 

* ab 실행파일은 아파치를 설치한 디렉토리/bin 에 있습니다.

#!/bin/sh

 


for A in `find . -type f -name '*.html' `;
do
     echo "$A "
     B="${A%.*}"
     C="$B.php"

     mv "$A"  "$C"

     echo "$A ..[ change ok!] ===> change Name :  $C"

done

간단하게 ssl csr파일 생성하기

 

보통 인증서를 발급해주는 업체에, 인증서 신청을 할 경우, 도메인에 대한 csr 파일을 요구하는 경우가 있습니다.
그럴경우, 서버에서 생성해주어야 하는데, 그 순서는 key 파일 생성, 생성된 key파일로 csr생성하는 순서입니다.
그리고, 최종적으로 인증업체에 넘겨준, csr로 생성된 crt(발급된 인증서) 파일을 적용하면 됩니다.

 

[첫번째  key 값 생성하기]

#자신이 원하는 디렉토리에 아래와 같은 형식으로 key 값을 생성.

key값 생성의 예 - openssl genrsa -des3 -out DOMAINNAME.key 1024

Generating RSA private key, 1024 bit long modulus
......................................++++++
..................++++++
e is 65537 (0x10001)
Enter pass phrase for DOMAINNAME.key:  #자신이 원하는 key값의 패스워드를 입력.

#생성된 key값의 상태를 확인할수있다.
key값 확인 - openssl rsa -noout -text -in DOMAINNAME.key


[두번째 csr 생성하기]

csr 생성의 예 - openssl req -new -key DOMAINNAME.key -out DOMAINNAME.csr

Enter pass phrase for DOMAINNAME.key:  # key값을 생성했을때 입력했던 패스워드를 입력.
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) GB:KR # 나라를 나타내는 2문자의 ISO약어.
State or Province Name (full name) Berkshire:Seoul # 조직이 있는 시도.
Locality Name (eg, city) Newbury:Gangnam-gu # 조직이 있는 구동.
Organization Name (eg, company) My Company Ltd:BlueWeb Co., Ltd. # 조직의 법률상의 정식명칭.
Organizational Unit Name (eg, section) :system # 조직의 부서명.
Common Name (eg, your name or your server's hostname) :blueweb.co.kr # 발급받을 정확한 FQDN의 도메인.
Email Address :bluedomain@blueweb.co.kr

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password : # 엔터로 다음로 넘어간다, 생략 가능
An optional company name : # 엔터로 다음로 넘어간다, 생략 가능

# 생성한 csr 확인.
csr 확인 - openssl req -noout -text -in DOMAINNAME.csr

[아래와 같이 나오면 csr 생성 성공.

Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=KR, ST=Seoul, L=Gangnam-gu, O=BlueWeb Co., Ltd., OU=system, 
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:ab:65:f6:a3:ec:91:f9:09:1c:a0:95:09:d2:f7:
                    9f:77:3d:35:19:00:82:f7:bb:da:9b:72:11:5d:87:
                    ee:ee:f5:23:f7:9d:30:94:0d:05:75:af:a9:21:fc:
                    18:24:c5:41:c5:a4:1c:4f:2d:ce:c8:e5:ed:86:70:
                    fc:47:7f:6e:41:37:ec:c3:4f:80:dc:99:98:fd:58:
                    c9:58:56:89:33:c8:03:e7:28:54:98:66:76:b3:ee:
                    7f:24:15:bc:91:8e:77:e8:06:04:fa:d3:7e:98:b2:
                    51:81:05:44:81:c3:76:84:2c:85:06:7d:e2:b1:9a:
                    52:79:cb:14:f7:cb:86:4c:59
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: md5WithRSAEncryption
        9f:be:d6:ee:4f:02:79:56:48:42:b0:79:be:98:24:dc:3b:85:
        37:95:75:9f:c9:4a:a7:03:10:96:84:c1:4b:ef:60:f5:3e:fe:
        e4:f1:d5:37:16:c8:77:0f:56:fd:99:71:e7:da:7c:c8:15:e7:
        00:51:90:81:67:e4:46:78:61:04:ca:24:0c:ee:fb:bd:46:04:
        09:85:c0:18:73:d4:27:c1:d2:7f:c2:8b:2a:38:f5:bc:00:25:
        d3:dd:ad:3f:8f:b2:39:ff:53:26:a3:3a:a1:f6:5e:9f:4d:28:
        7d:85:e3:ef:cc:c3:ce:80:ad:e6:43:91:cb:92:f8:1c:94:f3:
        df:8e

                     

[세번째 crt 생성하기]

마지막으로 crt를 발급하기이나, crt 파일은 보통 인증업체에서 발급해주므로
발급받은 인증서를 서버에 적용해주면 된다.
crt 생성의 예 - openssl req -new -x509 -days 365 -DOMAINNAME.key -out DOMAINNAME.crt

'배워서 남주자 > Linux 명령' 카테고리의 다른 글

[명령어] 기타 잡동사니  (0) 2020.05.10
[split] TAR 분할 압축  (0) 2020.05.10
CentOS7 - 네트워크 명령  (0) 2020.05.10
CentOS7 - 사용자  (0) 2020.05.10
YUM - (yellowdog updater modified)  (0) 2020.05.10

1. ip
    커널 2.4이후 리눅스 고급 네트워킹 기능을 사용하기 위한 유틸리티로 ip를 많이 사용한다.
    ip는 iproute 패키지로 기본 제공된다.
    많은 기능들이 ip 유틸리티로 통합되었다.

[네트워크 연결 확인 : ip link]
[root@vm-colt357 /]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:a3:5b:8c brd ff:ff:ff:ff:ff:ff


위와 같이 ip link 라고 입력하면 네트워크 연결상태를 알려준다. 여기서 중요한 것은 state UP이다. 네트워크에 연결되지 않았다면 state DOWN으로 나타난다.  여러 링크관련 고급 설정을 할 수 있는데 이 방법은 멘페이지(man ip-link)에서 확인할 수 있다.

[네트워크 연결 확인 : ip addr]
[root@vm-colt357 /]# ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.0.20/24 brd 192.168.0.255 scope global ens33
       valid_lft forever preferred_lft forever


위 결과는 네트워크 인터페이스에 할당된 IP 주소와 서브넷마스크, 브로드케스트 IP, 연결상태를 한눈으로 볼수 있는 결과이다. “-4”옵션을 사용한 것은 IPv4에 해당되는 내용만 보기 위함이다. ifconfig 명령어로 확인 가능한 정보이지만 좀더 깔끔하게 보여준다. ip 고급설정을 위해 사용할 수 있는데 그 방법은 멘페이지(man ip-address)를 확인하길 바란다.


2. ifconfig
    ifconfig는 현재 시스템에 장착되어 있는 네트워크 인터페이스를 설정하거나 확인하는 명령어이다. 서버가 통신을 하기 위해서는 네트워크 인터페이스(NIC, 흔히 랜카드)가 있어야 하는데, 이러한 네트워크 인터페이스의 네트워크 정보를 설정, 변경 및 확인하는 명령어가 ifconfig이다.

ifconfig로 확인 가능한 네트워크 인터페이스의 내용은 다음과 같다.

∙MAC 주소
∙eth0에 할당된 IP 주소
∙브로드케스트(BroadCast)
∙서브넷마스크(Subnet Mask)
∙MTU(Maximum Transfer Unit)
∙RX packets(부팅 후 현재까지 받은 패킷수)
∙TX packets(부팅 후 현재까지 보내진 패킷수)
∙Collisions
∙Interrupt 주소
∙현재 UP(사용가능) 되어 있는지 여부

3. netstat : 인터페이스 통계 및 기타 정보 확인
netstat는 현재 연결된 네트워크 연결과 라우팅 테이블, 인터페이스에 대한 통계, 마스커레이딩 연결, 멀티캐스팅 정보 등을 보여준다. 즉, netstat 명령으로 어떤 호스트(또는 서버)들과 어떤 서비스로 연결되어 있는지와 그 연결 상태는 어떠한가에 대한 정보들을 알 수 있다.

① 어떤 클라이언트와 연결되었는가?
② 어떤 서비스(www, ftp, mysql, ssh 등)로 연결되었는가?
③ 어떤 포트(port) 번호로 연결되어 있는가?(②의 서비스에 대한 포트 번호)
④ 연결상태(wait, listen, connect 등)는 어떠한가?
⑤ 네트워크 연결상태가 어떻게 되어 있는가?
⑥ 기본 게이트웨이의 설정이 제대로 되어 있는가?
⑦ route에서처럼 라우팅 경로는 어떠한가?

4. route : 라우팅 테이블 확인 및 설정
route는 라우팅 경로(다른 말로 “라우팅 테이블”)를 보거나 변경할 수 있도록 해주는 명령어이다. 주로 이더넷(Ethernet) 카드를 설정할 때 패킷들이 어떠한 경로로 외부로 나가야 하는지 알려주는 역할을 한다. 인터넷은 네트워크들이 게이트웨이를 통해 이리저리 연결되어 있는 커다랗고 복잡한 네트워크이다. 이러한 네트워크에서 지표가 되는 것은 오직 도메인 네임과 IP 주소 밖에는 없다. 따라서 호스트에 설정된 라우팅 테이블은 패킷들이 자유로이 이동할 수 있도록 한다. 

5. traceroute : 라우팅 경로 확인
어느 날 서버에 접속한 상태에서 다른 서버로 ssh 접속이 안 되는 것을 발견했다고 가정해 보자. 즉시 옆에 있는 166.104.50.152로 ping을 보내 보았으나 이것은 아무 문제가 없었다. 내부 네트워크가 잘 작동 중인데 외부로 연결이 안 된다면 외부로 연결된 어느 게이트웨이 중 하나가 잘못 됐을 가능성이 있다. 이를 확인해 보는 방법은 traceroute를 이용하는 것이다.
인터넷은 네트워크 하드웨어들이 게이트웨이를 통해서 서로 연결된 거대하고 복잡한 집합체이다. traceroute는 사용자가 원하는 호스트까지 패킷이 어떠한 경로로 전달이 되는지를 작은 ttl(time-to-live) 값과 돌아오는 'ICMP TIME_EXCEEDED' 응답을 통해 사용자에게 알려준다. 

6. tracepath : 경로 확인
tracepath는 패스를 가지고 있는 MTU를 통해서 목적 시스템까지의 경로를 알아내는 프로그램이다. 이 프로그램은 UDP 포트나 불규칙적으로(random) 몇몇의 다른 포트를 사용한다. 

7. ping : 원격 호스트 응답 테스트
컴퓨터의 네트워크가 정상적으로 동작중인지 확인해 볼 때 사용하는 도구이다. ping은 특정 호스트로 ICMP(Internet Control Message Protocol) 에코 메시지를 사용해서 원격 호스트가 다시 로컬 호스트로 응답하도록 한다.

8. arp : ARP 테이블 관리
arp는 “Address Resolution Protocol”의 약자로서 동일한 네트워크 내에 존재하는 호스트들의 IP 주소와 ethernet 주소(MAC 주소)를 확인하는 명령어이다. 즉, 특정 네트워크 내에 어떤 호스트들이 존재하는지를 확인할 수 있는 것이 바로 arp 명령어이다. arp는 이를 위해 리눅스의 /proc/net/arp에 기록된 ARP 관련 정보를 참조한다.

9. nslookup : 도메인 네임 서버 질의
nslookup은 인터넷 도메인 네임 서버에 사용자가 직접 도메인 이름을 질의할 수 있도록 해주는 프로그램이다. 이 프로그램을 통해 누구나 네임서버에 직접 질의하여 도메인 네임 서버가 가지고 있는 정보를 검색할 수 있는 것이다. 이를 통해 사용자는 도메인 네임 서버가 올바르게 설정되고 동작하고 있는지를 확인할 수 있다.

10. dig : 도메인 네임 서버 질의
dig(Domain Information Groper)는 지정한 DNS 서버의 설정 내용과 특정 도메인의 네임서버 설정 내용을 확인하는 명령이다. 즉, nslookup 명령과 거의 같은 역할을 한다. nslookup 명령과 host 명령과 마찬가지로 /etc/resolv.conf 파일에 정의되어 있는 네임서버를 기본 네임서버로 사용한다. 

11. host : 도메인 네임 서버 질
host는 도메인 네임 서버에서 도메인의 설정 정보를 찾기 위한 간단한 유틸리티이다. 이것은 보통 도메인 이름들을 IP 주소로 바꿔서 정보를 알려 주기 위해 사용된다. host 명령은 nslookup과 dig와 마찬가지로 /etc/resolv.conf 에 설정된 도메인 네임 서버를 기본 네임서버로 인식한다. 

'배워서 남주자 > Linux 명령' 카테고리의 다른 글

[split] TAR 분할 압축  (0) 2020.05.10
[SSL] 생성  (0) 2020.05.10
CentOS7 - 사용자  (0) 2020.05.10
YUM - (yellowdog updater modified)  (0) 2020.05.10
[RAID] 설정 정보 확인 및 mdadm 명령어로 Raid 구성하기  (0) 2019.11.17

Passwd 파일에서 사용자 계정만 확인하기
~] # cat /etc/passwd | awk -F: '{if($3>=1000 && $3<=60000)print $0}'
doly:x:1000:1000:doly:/home/doly:/bin/bash
wyjung:x:1001:1001:정우영:/home/wyjung:/bin/bash

cat 명령어를 사용하여 /etc/passwd 파일을 표준 출력(stdout)으로 출력하고 파이프(|)를 통해 awk(라인 단위 패턴 스캐닝 및 처리 언어) 명령의 표준 입력(stdin)으로 보낸다. -F 옵션을 사용하여 구분자를 “:”으로 지정한다. “:”으로 구분했을 때 3번째 항목($3)이 1000보다 크고 60000보다 적을 경우 라인의 모든내용($0)을 출력하라는 것이다. 
CentOS7 부터는 기본적으로 UID를 1000에서 60000까지 사용하도록 /etc/login.defs에 설정되어 있다



사용자 추가시 홈 디렉토리에 생성되는 파일
사용자 추가시 생성되는 홈디렉토리에는 다음과 같은 파일들이 생성되어 있을 것이다. 다음은 wyjung 사용자의 홈디렉토리를 확인해 본 것이다.


~] # ls -Al /home/wyjung/
합계 12
-rw-r--r--. 1 wyjung wyjung  18  6월 10 13:31 .bash_logout
-rw-r--r--. 1 wyjung wyjung 193  6월 10 13:31 .bash_profile
-rw-r--r--. 1 wyjung wyjung 231  6월 10 13:31 .bashrc
...
ls 명령어에 -Al옵션을 사용하여 wyjung 사용자의 홈디렉토리(/home/wyjung/)의 파일 및 디렉토리를 확인하였다. 다음 파일들이 있다.
.bash_logout : 로그아웃 할 때 실행되는 파일이다.
.bash_profile : 로그인시 실행되는 파일이다. 
.bashrc : .bash_profile에 의해 실행되며 주로 alias나 함수등을 설정한다.

위 3개의 파일은 사용자를 추가할 때마다 생성된다. 시스템에 따라 위 3개의 파일보다 더 많은 파일, 디렉토리가 생성될 수 도 있다. 이는 사용자 생성시 기본적으로 복사되는 파일 및 디렉토리이며, /etc/skel/ 디렉토리에 파일 및 디렉토리가 사용된다. 

~] # ls -Al /etc/skel/
합계 12
-rw-r--r--. 1 root root  18  6월 10 13:31 .bash_logout
-rw-r--r--. 1 root root 193  6월 10 13:31 .bash_profile
-rw-r--r--. 1 root root 231  6월 10 13:31 .bashrc
...

위 3개 또는 그 이상의 파일 및 디렉토리를 열어보면 사용자 홈디렉토리에 존재하는 파일과 내용일 동일한 것을 확인할 수 있다.
위 3개의 파일을 수정하면 사용자 생성시 수정된 파일을 복사해 사용하게 될것이다.


계정 정보 확인
~] # chage -l wyjung
마지막으로 암호를 바꾼 날                                       : 7월 16, 2014
암호 만료                                       :안함
암호가 비활성화 기간                                    :안함
계정 만료                                               :안함
...
chage 명령어에 -l 옵션을 사용하여 계정 만료일 등을 알 수 있다.

- 계정이 기간 만기되도록 함(E)
~] # usermod wyjung -e 2014-09-10
위와 같이 설정하면 wyjung 계정은 2014년 9월 10일에 만료되도록 하는 것이다.
- 계정을 잠금 / 해제
~] # passwd -l wyjung
wyjung 사용자의 비밀 번호 잠금
passwd: 성공
~] # passwd -u wyjung
wyjung 사용자의 비밀 번호 잠금 해제 중
passwd: 성공

위와 같이 passwd 명령어를 사용하여 -l 옵션으로 wyjung 사용자를 로그인 못하도록 잠금거나 -u 옵션을 사용하여 해제 할 수 있다.


[비밀번호 보안 정책]
많은 보안 권고사항을 보면 비밀번호는 적어도 3개월에 한번찍 변경하게 하고 있다. 여러 보안 점검에서 사용자 비밀번호를 3개월 마다 변경하게 강제하고 있고 모든 사용자에게 설정해야 한다. 앞에서 설명한 것은 사용자들 마다 비밀번호 강제 변경주기를 설정하였지만 다음과 같이 설정하여 기본적으로 적용할 수 있다.

/etc/login.defs 파일을 열어 다음과 같이 수정한다.

PASS_MAX_DAYS   90
PASS_MIN_DAYS   0
PASS_MIN_LEN    8
PASS_WARN_AGE   7

위 설정에 대한 의미는 다음과 같다.
PASS_MAX_DAYS : 암호를 변경하지 않고 사용할 수 있는 유효기간   기본 값은 99999일이며, 권장은 3개월(약 90일)이다. 
PASS_MIN_DAYS   : 암호를 변경할 수 있는 최소 기간이며   암호는 자주 변경해도 무관하니 제한이 없는 기본값 0으로 둔다.
PASS_MIN_LEN   : 암호 최소 길이이다.   암호 최소 길이는 기본 5자 이상이며, 권장은 8자 이상이다.
PASS_WARN_AGE   : 암호 유효기간이 끝나기 전에 경고 메시지를 보여줄  날수를 설정한다. 기본 7일이며 기본값을 유지한다.

그 밖에 /etc/login.defs 에는 메일관련(메일큐 디렉토리, 메일박스 디렉토리, 메일파일)설정과 사용자 UID범위, 시스템 사용자 UID범위, 그룹 GID범위, 시스템 그룹 GID범위, 사용자 삭제시 실행할 사용자 프로그램 지정, 사용자 생성시 사용자 홈디렉토리 생성 유무 및 UMASK등을 설정할 수 있다. 사용자 삭제시 사용자 그룹의 멤버가 없다면 그룹까지 삭제할지 유무도 여기서 설정한다. /etc/login.defs 파일을 열어보면 위 기능에 대해 상세히 설명되어 있다.

그룹(G) 탭을 확인해 보자.
시스템에 등록된 전체 그룹리스트가 나타나고 원하는 그룹을 선택하여 소속시킬 수 있다. 기본 그룹을 변경할 수 도 있다. 
위 설정을 명령어를 이용한다면 다음과 같이할 수 있다.

사용자가 속한 그룹 확인
다음 명령어로 특정 사용자가 속한 그룹을 확인할 수 있다.

~] # groups wyjung
wyjung : wyjung superuser

groups 명령어로 사용자가 속한 그룹을 확인하였다.

사용자가 속한 그룹 추가
다음 명령어로 사용자가 속한 그룹을 추가할 수 있다.

~] # usermod -a -G doly wyjung
~] # groups wyjung
wyjung : wyjung doly superuser

usermod의 -G 옵션을 사용하여 소속 그룹을 설정하였다. 만약 -G 옵션만 준다면 소속된 그룹이 “doly"로 변경될 것이다. -a (추가) 옵션을 주어 기존 그룹은 유지하면서 "doly"그룹에 추가하도록 한 것이다.


사용자가 속한 그룹 제거
사용자가 속한 그룹에서 특정 그룹만 제거하는 것은 아무리 찾아보아도 옵션을 제공하지 않았다. 다음과 같은 방법으로 제거할 수 있다.


~] # groups wyjung
wyjung : wyjung doly superuser wheel
~] # usermod -G superuser,wheel wyjung
~] # groups wyjung
wyjung : wyjung superuser wheel

위 예는 groups 명령어를 이용하여 소속된 그룹을 확인하였고 usermod의 -G옵션을 이용하여 사용자의 소속그룹을 재설정한다. groups명령으로 확인한 소속그룹중 제거하고자 하는 그룹만을 빼고 “,”로 구분하여 모두 입력한다. 이러한 방법으로 소속 그룹을 제거할 수 밖에 없다. 

사용자의 기본(primary) 그룹 변경
사용자의 기본그룹은 다음과 같이 변경할 수 있다.

~] # groups wyjung
wyjung : wyjung superuser
 ~] # usermod -g doly wyjung
 ~] # groups wyjung
wyjung : doly superuser

groups명령어 입력시 처음에 보여주는 것이 기본 그룹이다. 기본그룹을 바꾸기 위해 usermod의 -g 옵션을 사용하여 "doly"로 변경하였다. 변경된 기본그룹을 groups 명령어로 확인하고 있다.

 

RPM 기반 시스템용  패키지  "설치/삭제/업데이트"  도구

 

 

기능 명령어
패키지 설지 yum install 패키지명
패키지 삭제 yum remove 패키지명
패키지 업데이트 yum update 패키지명
패키지 정보확인 yum info 패키지명
패키지 검색 yum search 팰키지명
패키지 목록보기( 설치된 항목 + 설치가능 항목) yum list
설치된 패키지 목록 보기 yum list installed

1. 패키지  설치 확인

 

방법 1.   rpm 

rpm  -q  패키지명
rpm  -qa  | grep  패키지명

방법 2. yum

yum  list   installed   패키지명
yum  list   installed   |  grep  패키지명

2. YUM  저장소 - repository

base 설정이 있어 바꿀 필요는 없으나, 전송속도 또는  특별한 패키지를 설치하기위해 변경, 추가 할 수 있다.

[root@localhost log]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirror.cdnetworks.com
 * epel: mirror.premi.st
 * extras: centos.mirror.cdnetworks.com
 * ius: mirrors.kernel.org
 * updates: centos.mirror.cdnetworks.com
repo id                               repo name                                                                    status
!base/7/x86_64                     CentOS-7 - Base                                                             9,363
!epel/x86_64                        Extra Packages for Enterprise Linux 7 - x86_64                      11,904
!extras/7/x86_64                   CentOS-7 - Extras                                                               447
!ius/x86_64                          IUS Community Packages for Enterprise Linux 7 - x86_64            380
!mariadb                             MariaDB                                                                            16
!nginx/x86_64                      nginx repo                                                                          78
!updates/7/x86_64                 CentOS-7 - Updates                                                         2,090
repolist: 24,278

3. yum   epel   저장소 추가

yum  epel (Extra  Packages  Enterprise Linux ) 저장소 추가
엔터프라이즈 리눅스를 위한 추가 패키지

[확인]
 [root@localhost log]# yum repolist
  ~~  repo id 리스트 중   epel  정보 유무 확인.

[설치]
[root@localhost log]# yum install epel-release
~~
Updated:
  epel-release.noarch 0:7-10                                                                                          

Complete!

 

 

 

 

 

 

MariaDB Log 종류

 - 
 Error_log :  query 에러에 관련된 메시지를 포함한다.
 -  General_log :  실행되는 전체 쿼리에 대해 저장, 쿼리 요청 받을때 바로 저장한다.
 -  Slow query_log :  long_query_time에 설정된 시간 이상을 소요한 정상적인 쿼리를 기록한다.

 

현재 DB의 로그 활성화 상태 보기

show   variables  where  variable_name  in ('version','log','general_log');

1. 시스템의  설정 파일을 수정하여 영구적으로 적용하기. ( 설정 후 데몬 재실행 필요 )
  - /etc/my.cnf 파일을 수정한다.

[mysqld]
collation-server = utf8mb4_general_ci
character-set-server = utf8mb4
skip-character-set-client-handshake
max_allowed_packet = 32M
slow_query_log
long_query_time = 2

# 모든 쿼리 로그를 남깁니다..
general_log = 1
general_log_file =  /var/log/mysql/mysql_query.log   --->  해당 폴터의 권한을  mysql로 변경한다.(파일 자동생성)
expire_logs_days = 2
max_binlog_size = 10M

2. DB 에 접속하여  임시로 적용하기....( 데몬 재실행 필요없음 )
  - DB에 접속하여  명령으로 활성화 하였다.....사용 후  다시 명령으로 종료시킨다.

set  global  general_log = on;      --->   비활성화 할 경우 off
set  gloval  general_log = 1; 

 

 

 

 

기존 eth0으로 동작하던 vmware를  복사본을 재 사용할 경우 발생하는 네트웍 연결 문제는 

ifconfig -a 를 해보면  기존에 존재하지 않던 eth1이 보인다....eth1의 mac 어드레스를 eth0에 

적용한 후 리부팅하면 해결된다.

 

 

[ Vmware Copy 후 Network  세팅 ]

1. vmware network setting  설정 창에 드러가서 Mac 어드레스를 확인한다.
2. /etc/udev/rules.d/70-persistent-net.rules  파일을 편집
    #PCI device 0x8086:0x100f(e1000)
    SYBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0C:29:E5:A4:85", ATTR{type}=="1",       
    KERNEL=="eth*", NAME="eth0)"
3. /etc/sysconfig/network-scripts/ifcfg-eth0  파일의 HWADDR="00:0C:29:E5:A4:85" 값을 동일하게 수정한다.
4. 리부팅한다. (reboot)

+ Recent posts