반응형

 

 rsync : 컴퓨터 시스템 상에서 파일을 효율적으로 전송하고 동기화하기 위한 유틸리티

rsync[options][source][target]

옵션

-v : 복사하는 과정을 자세하게 보여줌

-z : 파일을 복사할 때 압축해서 복사함

-h : 읽기 쉬운 형태로 복사 결과들을 출력

-r : 디렉토리 복사할 때 사용

-l : symlink 형태로 복사

-p : 파일과 디렉토리들의 권한 수정

-t : 수정시간 유지

-g : 그룹 속성 유지

-o : 소유자 속성 유지

--devices : root권한이 필요하며 Device 관련된 파일들을 복사해서 생성

--specials : named socket이나 fifo와 같은 특수한 파일들도 복사

데이터 동기화

서버설정

 
 

vi /etc/xinetd.d/rsync 실행

disable = no 로 변경

[rsync_test] => 사용할 rsync 서비스 이름

path = /usr/local/test => 데이터원본 경로

comment = rsync_test => 코멘트

uid = root => 권한 사용자

gid = root => 권한 그룹

hosts allow = => rsync 클라이언트 IP

/etc/init.d/xinetd restart => xinetd 서비스 재시작

rsync -avz[IP]::[서비스명][저장디렉토리]

--delete 옵션 : 원본 소스에 없는 파일은 백업 서버에서 삭제

--dry-run : 실제 파일 복사를 하는것이 아니라 처리될 대상 파일 목록만 출력

 

 

 

7. 커널파라미터란

리눅스 시스템의 커널 변수의 값을 제어하며 시스템을 최적화 할 수 있는 방식 (/proc/sys 디렉터리에 존재)

 

 커널파라미터 설정

 

 

sysctl - 커널 변수의 값을 제어하여 시스템을 최적화할 수 있는 명령

sysctl 명령어

-a :  현재 커널 매개변수와 값을 보여줌

 

-p : sysctl  환경변수파일  (default : /etc/sysctl.conf) 의 설정 상태 표시

 

-n :  특정키에 대한 값을 보여줌                                    -w variable=value :  변수에 값을 설정

 

 

8. tar  테입 아카이브를 위해 고안된 파일 형식과 이런 형식의 파일을 다루는데 사용되는 프로그램

많은 파일을 디렉토리 구조, 파일 속성들을 보존하면서 하나의 큰 파일로 묶는 데 사용

 

명령어

압축

 

압축 해제
분할압축

 

리스트만 확인

 

 그외 명령어

tar [OPTION] [FILE]

-f : 대상 tar 아카이브 지정. (기본 옵션)

-c : tar 아카이브 생성. 기존 아카이브 덮어 쓰기. (파일 묶을 때 사용)

-x : tar 아카이브에서 파일 추출. (파일 풀 때 사용)

-v : 처리되는 과정(파일 정보)을 자세하게 나열.

-z : gzip 압축 적용 옵션.

-j : bzip2 압축 적용 옵션.

-t : tar 아카이브에 포함된 내용 확인.

-C : 대상 디렉토리 경로 지정.

-A : 지정된 파일을 tar 아카이브에 추가.

-d : tar 아카이브와 파일 시스템 간 차이점 검색.

-r : tar 아카이브의 마지막에 파일들 추가.

-u : tar 아카이브의 마지막에 파일들 추가.

-k : tar 아카이브 추출 시, 기존 파일 유지.

-U : tar 아카이브 추출 전, 기존 파일 삭제.

-w : 모든 진행 과정에 대해 확인 요청. (interactive)

-e : 첫 번째 에러 발생 시 중지.

 

 

9. awk - 패턴 탐색과 처리를 위한 명령어

간단하게 파일에서 결과를 추려내고 가공하여 원하는 결과물을 만들어내는 유틸리티

 

=> value  가 포함된 줄 보여주기

 

=> 액션을 사용하여 지정된 파일 내용 출력

=>액션을 통해 첫 번째 필드 값 출력

 

 

=>필드값에 임의 문자열 같이 출력

 

 

=> 지정된 문자열을 포함하는 레코드만 출력

 

 

 xargs - 서버를 운영할 때 다양한 파일을 목록으로 추출하여 삭제, 복사 를 할때 작업을 진행할 수 있게 도움을 주는 명령어

 

=> /etc 속한 r로 시작하는 이름을 가진 .conf 파일 목록 찾아서 출력

 

 

 ps - 리눅스 OS관리시 프로세스를 확인하는 명령어

프로세스 목록을 보여준다.

 

옵션

-f : 풀 포맷으로 보여준다(UID, PID

 

 

-e : 모든 프로세스 출력

 

 

-l : 긴 포맷으로 보여준다

 

 

p, -p : 특정 PID의 프로세스를 보여준다

 

 

 

 

-u : 특정 사용자의 프로세스를 보여준다.

 

 

 pstree

프로세스의 상관관계(부모-자식 관계)를 트리 형태로 출력해주는 명령어

관계를 트리 형태로 출력해주므로 계층 관계를 한 눈에 파악할 수 있음

경로 (/usr/bin/pstree)

옵션

 

-c : 중복된 프로세스도 모두 출력 (기본 값은 트리 내의 동일한 프로세스를 하나의 프로세스로 출력하고 중복된 개수를 출력함)

 

-h : 현재 프로세스와 부모 프로세스를 하이라이트 형태로 출력

 

-H pid : 지정한 pid(프로세스ID)의 프로세스와 부모 프로세스를 하이라이트 형태로 출력

 

-l : 긴 라인을 모두 출력

 

-n : pid를 기준으로 정렬하여 출력

 

-u : uid도 출력

 

-p : pid도 출력

 

-U : UTF-8(유니코드) 형태로 출력3

 

-V : pstree의 버전 정보를 출력

 

-a : 지정한 인수까지 출력

 

 

10. sed

 sed ?

- interactive 기능이 없는 간편한 편집기

- 원본의 수정된 내용을 표시하지만 원본은 변경되지 않음

- shell script 작성시 사용

- line 단위로 처리

 

 sed에서 사용되는 용어

 

pattern space

- sed command를 통해 처리될 라인을 임시로 저장하는 공간

- 해당 라인이 처리되면 스크린으로 출력하고 처리가 끝난 라인은 pattern space에서 제거됨

 

holding buffer

- sed command 'h' option 사용시 사용되는 특수 buffer

- 'h' option을 사용하면 pattern space의 내용을 holding buffer로 복사함

- holiding buffer의 내용은 'G' command에 의해 출력됨

- 라인 이동시 사용

 

address

- 라인의 번호

 

 옵션

 

 

-e : 다중편집

=> 해당 줄 1,2번째 출 출력

 

 

=> infile.txt 파일에서 파일 처음 부터 끝까지 regex  REGEXP 로 바꾸어서 출력

 

-p : 출력

=>2번째 줄 한번더 출력

 

 

-d : 삭제

=> 3번째 줄 을 지우고 출력

 

 

 

-s : 치환

=> infele.txt 파일 처음부터 끝까지 중 abb eff로 치환해서 출력

 

 

모든 줄마다 공백줄 추가

 

 

11. rename : 하나 혹은 하나 이상의 파일명을 일괄 변경할때 사용하는 명령어

 

rename [변경전파일명] [변경후파일명] [대상파일]

 

=> test0 으로 시작 하는 모든 파일을 test로 변경

=> aaa가 들어가는 모든 파일중에서 파일 이름 aaa xy로 변경

 

반응형
반응형

1. power

전원이 들어오면 CPU  ROM(Read Only Memory)  저장된 Bios (Bios Input Output System) 실행한다.

BIOS 프로그램은 전원공급과 함께 메모리의 특정번지에 자동 로드된다.

CPU 정원공급과 함께 특정번지의 BIOS프로그램을 자동 실행한다.

 

 

2. ROM BIOS에서 지정된 부트 드라이브로 부팅 시작

- 자체진단기능(POST) => Power On Self Test

 

- POST 과정

◇CPU TEST

기본 컨트롤러들의 초기화

키보드 초기화

◇ROM BIOS 테스트

◇CMOS RAM 테스트

메모리 테스트

캐시 초기화

◇INTERRUPT VECTOR TABLE(IVT) 초기화와 설치

◇CMOS RAM CHECKSUM 테스트

 

 CHECKSUM => 중복 검사의  형태, 오류 정정을 통해 공간이나 시간속에서 송신된 자료의 무결성을 보호하는 방법

키보드 테스트와 초기화

 

■ POST 과정이 이상 없이 진행 완료하면 검색된 부팅매체((하드디스크, CD_ROM, 플로피 디스크 )에서 부트로더(GRUB) 불러들인다.

 

■ BIOS  POST(Power On Self Test /자체진단기능)  수행하여 하드웨어 장치들을 인식하며 이상 유무를 확인

 

 하드디스크를 인식하며 첫번째 섹터에서 MBR(Master Boot Record) 읽어 들여 부트로더를 실행

 

■ MBR – 파티션  기억 장치의  번째 섹터에 위치하는 512 Byte 시동 섹터

 

■ Boot Code

=> 부팅 가능한 파티션을 찾아 해당 파티션의 부트 섹터를 호출해주는 역할

=> 부트코드가  생성되어있지 않거나 부팅이 가능한 파티션이 없으면 에러메세지 출력

 

■ Partition Table

=> 파티션의 정보가 포함된 부분

=> 16byte 나뉘어져서 4개의 파티션을 갖음

=> MBR 4개의 파티션을 가짐

=> MBR 앞의 파티션 세개는  파티션 이라 부르며 마지막 파티션은 확장 파티션이라 부름

 

■ Signature

=> 해당 섹터의 오류 유무를 확인하기 위한 

부트로더가 메모리에 적재되면 BIOS 종료되고, 시스템 제어권은 부트로더가 갖게 된다.

 

 

3. 부트로더(GRUB) 단계

운영체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마무리하고 최종적으로 운영체제를 시동시키기 위한 목적을 가진 프로그램을 말한다.

 

 리눅스에서 사용하는 부트로더는 LILO(Linux Loader) GRUB 있다.

GRUB 커널 이미지를 불러들이고 시스템 제어권을 커널에 넘겨준다.

 

※ 커널 이미지  커널이 하나의 파일로 디스크에 저장되어 있는 

 

■ GRUB(GRand Unified Bootloader)

환경 설정 파일 : /boot/grub/grub.conf(/etc/grub.conf)

실행 파일 : /sbin/grub

설정 옵션 : /boot/grub/grub.conf

 

default=0 =>기본 부팅 레이블

timeout=5 => 부팅시 타임아웃 설정

splashimage=(hd0,0)/grub/splash.xpm.gz => splashimage 위치

hiddenmeny => GRUB 메뉴 숨김

root (hd0,0)=>root 파티션 위치

=> 설정  grub2-mkconfig -o /boot/grub2/grub.cfg 명령어로 적용

 

 

 

4. 커널 단계

커널

=> 시스템에 존재하는 자원을 효율적으로 관리하는 자원 관리자

=> 프로세서와 메모리에 상주하면서 디바이스나 메모리 같은 하드웨어 자원을 관리하고 프로세스의 스케줄을 관리하여 다중 프로세스 구현

=> 시스템에 연결된 입출력을 처리하는 운영체제의 핵심 역할 수행

 

- /etc/grub/grub.conf 파일에 의해서 커널이 메모리상에서 실행되면, 하드웨어를 점검하고 /var/log/dmesg 파일에 기록

- 루트 파일시스템(/) 읽기 전용으로 마운트 한다(만약 마운트 실패시 "커널 패닉" 메세지를 출력)

- 커널은 swapper 프로세스(PID 0) 호출함

- swapper 커널이 사용할  장치드라이브들은 초기화하고 init 프로세스(PID 1) 실행하게 

- /sbin/init 프로세스가 실행되면서 /etc/inittab 파일을 읽어들여서  내용들을 차례대로 실행함

 

 

5. 부팅  파일 시스템 마운트

리눅스가 부팅과정  Init 프로세스 단계 /etc/inittab 파일에 정의된 순서에 따라서 시스템 초기화에서 /etc/fstab 파일에 정의된 모든 파일 시스템을 마운트 

[파일시스템장치명][마운트포인트][파일시스템종류][옵션][dump관련설정]
[파일점검옵션]

 

 

 

6. 시스템 초기화 프로그램(init) 작동

/etc/inittab 설정 파일에서 시스템 부팅레벨을 확인하여 부팅

 

name : [level-number]:[options]:[process -option]
name -  항목() 이름들(id, si, pr, pf, ca)
level-number - 해당행의 설정내용을 어떤 부팅레벨에서 실행할 것인가를 설정

=> 0 : 시스템 중지
=> 1 : 단일 사용자 모드, single 모드로 쉘로 바로 부팅
=> 2 : NFS 기능을 제외한 다중 사용자 모드
=> 3 : 모든 기능을 포함한 다중 사용자 모드
=> 4 : 사용하지 않음
=> 5 : X-Window 부팅
=> 6 : 시스템 리부팅(reboot)

시스템이 부팅되면 init 프로세스는 /etc/rc.d/rc.sysinit 스크립트를 실행시켜 네트워크 설정, 호스트 이름설정, 하드디스크 최적화 등의 작업을 수행하고 /etc/inittab 설정된 런레벨에 따라 해당하는 /etc/rc.d/rc[0-6].d 스크립트를 실행함

)/etc/rc.d/rc.3d

=> S08iptables 8번째 작업으로 /init.d/iptables 프로세스를 시작시킴

 

서버 부팅 시 마다 자동 스크립트 실행 => /etc/rc.d/rc.local 파일에 저장

/rc.local 99번째(마지막)이므로 부팅시 가장 나중에 적용

 

 

7. 로그인

부팅 과정의  부분으로 init 많은 텍스트모드 로그인 프롬프트를 실행함

유저네임과 패스워드를 입력하여 쉘로 들어감

 

 

 

반응형

+ Recent posts