카테고리 보관물: Linux

CentOS 4 yum Install

  • CentOS 4.X 버전은 이미 EOS 상태이므로 사용을 권장하지 않지만 사용할 수 밖에 없는 경우가 간혹 있을 수 있습니다.
  • 초기 설치 후 장기간 yum update를 하지 않을 경우 변경된 미러 리스트로 repository가 갱신되지 않아 yum을 사용할 수 없게 됩니다.
  • 다음과 같이 /etc/yum.repos.d 파일을 수정 후 yum을 실행해야 합니다.
# vi /etc/yum.repos.d

[base]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  <-- 주석처리
baseurl=http://vault.centos.org/4.7/os/i386 #<-- 추가

[update]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  <-- 주석처리
baseurl=http://vault.centos.org/4.7/os/i386 #<-- 추가

[addons]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  <-- 주석처리
baseurl=http://vault.centos.org/4.7/os/i386 #<-- 추가

[extras]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  <-- 주석처리
baseurl=http://vault.centos.org/4.7/os/i386 #<-- 추가

[centosplus]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  <-- 주석처리
baseurl=http://vault.centos.org/4.7/os/i386 #<-- 추가

[contrib]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  <-- 주석처리
baseurl=http://vault.centos.org/4.7/os/i386 #<-- 추가
# yum update

vi editor

What is vi?

  • Unix 계열에서 사용되는 text 편집기
  • 최근의 Redhat 계열 Linux에서는 vim을 vi로 alias 처리(vim 패키지 미설치시 미적용)
  • UNIX와 Linux의 Terminal CLI 환경에서는 가장 기본적인 편집기이기 때문에 기본적인 사용키 정도는 익혀두는 것이 좋습니다.

3 modes of vi

  • Command Mode(명령) : esc 입력 상태, 기본값
  • Insert Mode(입력) : 편집 상태
  • Last Line Mode(명령) : Command Mode상 : “shift + ;” 입력 상태, 파일 또는 vi 상태 제어

Commande Mode Control

InputFunction
h왼쪽 이동
j위로 이동
k아래로 이동
l오른쪽 이동
^ or 0행의 가장 처음으로 이동
$행의 가장 끝으로 이동
gg제일 첫 행으로 이동
G제일 끝 행으로 이동
b왼쪽 특수문자 혹은 한단어의 처음으로 이동
B왼쪽 한단어의 처음으로 이동
x현재 커서 위치 삭제
X현재 커서가 위치한 앞 글자 삭제
dw현재 커서 위치 한단어 삭제
d$현재 커서 위치 행 삭제
dd현재 커서부터 마지막 행까지 삭제
CTRL+b한페이지 위로 이동
CTRL+f한 페이지 아래로 이동
숫자+G해당 숫자의 행으로 이동
w오른쪽 특수문자 혹은 한단어의 처음으로 이동
W오른쪽 한단어의 처음으로 이동
i현재 커서 앞쪽에 입력
I현재 커서 행의 맨 앞에서 입력
a현재 커서 뒤쪽에 입력
A현재 커서 행의 마지막에 입력
o현재 커서 행의 아래 줄에 입력
O현재 커서 행의 위쪽 줄에 입력현재 커서 행의 위쪽 줄에 입력
s현재 커서의 한 글자를 지우고 입력
S현재 커서의 행을 지우고 입력
r현재 커서의 한 글자를 교체
cw현재 커서의 한 단어 교체
uUndo(입력시 마다 이전 작업으로 이동)
숫자+yy현재 커서부터 숫자만큼의 행을 복사(1은 생략 가능)
yw현재 커서의 한 단어 복사
Y$현재 커서부터 마지막 행까지 복사
숫자+p복사한 내용을 현재 커서 다음에 붙여넣기(숫자 횟수 만큼)
숫자+P복사한 내용을 현재 커서 전에 붙여넣기(숫자 횟수 만큼)
/커서의 위치에서 아래로 검색
?커서의 위치에서 위로 검색
n검색 결과에서 아래 행 이동
N검색 결과에서 위 행 이동
모든 제어는 커서의 위치 기준

Insert Mode Control

  • i, a등의 Command Mode 제어키를 통해 입력 모드로 전환
  • 문서의 작성 또는 편집이 가능한 상태

Last Line Mode Control

InputFunction
:s/찾는문자열/치환문자열 현재 커서 행에서 검색, 치환
:1,10s/찾는문자열/치환문자열 1행에서 10행까지 검색, 치환
:%s/찾는문자열/치환문자열전체 행에서 검색, 치환
\+/특수문자를 검색하려면 해석방지를 위해 그 앞에 \를입력
:nohl검색등을 통해 하이라이트(Highlight)처리된 블럭을 해제
:set number행 번호 표시
:set nonumber행 번호 표시 취소
:set autoindent들여쓰기 설정
:set noautoindent들여쓰기 제거
:set list문단,조판부호 보기
:set nolist문단,조판부호 안보이게
:set ignorecase검색시 대소문자 구별 제거
:set noignorecase검색시 대소문자 구별
:set window=30한 화면당 행의 갯수 30개로 지정
:set all현재 설정된 vi 모든 설정값 보기
:q저장하지 않고 vi 종료
:q!읽기전용인 파일을 수정후 강제로 저장할때
:w현재내용을 저장
:w!읽기전용인 파일을 수정후 강제로 저장할때
:wq저장하고 종료
:wq!읽기전용인 파일을 수정후 강제로 저장하고 종료하기
:w “filename”새로운 파일명으로 저장
모든 제어는 커서의 위치 기준

tcpdump

  • NIC를 통해 주고 받는 패킷을 캡쳐하는 기능을 가진 명령어 입니다.
  • 평문으로 구성된 패킷의 분석이 가능하며 네트워크 종단간의 정상 통신 여부를 검증할 때도 사용이 가능합니다.
  • RHEL의 경우 기본 명령어가 아니므로 yum을 통해 설치 가능합니다.
  • 출처(https://ko.wikipedia.org/wiki/Tcpdump)
  • 옵션 및 사용 예시
-n : 주소를 십진수로 표시
-i : 어느 인터페이스를 경유하는 패킷을 캡쳐할지 결정
-t : 캡쳐 시간을 출력하지 않음
-c : 캡쳐할 패킷 수 지정
-a : 도메인 이름형식으로 주소 출력
-f : 로컬호스트는 도메인 이름, 원격호스트는 숫자로 표시
-e : 링크레벨 헤더를 출력
-N : 호스트 이름을 출력할 때 도메인 출력하지 않음
-P : 인터페이스를 promiscuous 모드로 하지 않음
-q(v) : 프로토콜정보를 간단히(자세히) 출력
-w(r) : 캡쳐한 패킷을 파일에 저장(로드)
-s : snap length를 변경 (기본 68바이트) -s0 무제한
-S : TCP순서번호를 상대적인 번호가 아닌 절대적 값으로 출력
-v : 더 많은 정보들을 출력
-vv : -v 보다 더 많은 정보들을 출력
-x : 패킷을 헥사코드로 출력

// eth0를 통해 인입되는 패킷 모니터링
# tcpdump -i eth0

// eth0를 통해 인입되는 패킷 모니터링 결과를 packet_log.txt에 저장
# tcpdump -i eth0 -w packet_log.txt

// 지정한 수 만큼만 저장
# tcpdump -i eth0 kj-c 50

// eth0을 통해 들어오는 패킷 중 지정된 포트와 IP로 들어오는 패킷에 대해서만 모니터링하여 packet_log에 저장
# tcpdump -i eth0 -w packet_log.txt -1 1500 tcp port 23 and host 218.38.71.24

// 저장된 파일을 확인
# tcpdump -r packet_log.txt

// 예시
# tcpdump -nns0 host 172.30.1.80 -i bond0 -w pcap_20150911_002.cap