4 장 . 서버구축을 위해 알아야할 최소한의 것들

25
4 장 . 장장장장장 장장 장장장장 장장장장 장장 리리리리 리리리리리 리 리리리리리리 리리리 . 리리리리리 리 리리리리리 리리리 리리리리 . 리리리 리리리리리리 리리리 리리 .

description

4 장 . 서버구축을 위해 알아야할 최소한의 것들. 리눅스의 기본명령어 및 관리명령어를 익힌다 . 사용자관리 및 서버데몬에 대해서 살펴본다 . 간단한 커널컴파일을 수행해 본다. 4 장 . 서버구축을 위해 알아야할 최소한의 것들. 시스템 종료 X 윈도우 바탕화면의 [ 데스크탑 ] >> [ 로그아웃 ] >> [ 컴퓨터 끄기 ] 명령어 shutdown -h now (-h 는 “ halt ” 를 의미 ) halt init 0 그외의 종료 - PowerPoint PPT Presentation

Transcript of 4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 1: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

4 장 . 서버구축을 위해 알아야할 최소한의 것들

리눅스의 기본명령어 및 관리명령어를 익힌다 .사용자관리 및 서버데몬에 대해서 살펴본다 .간단한 커널컴파일을 수행해 본다 .

Page 2: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

2Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

시스템 종료 X 윈도우

바탕화면의 [ 데스크탑 ] >> [ 로그아웃 ] >> [ 컴퓨터 끄기 ] 명령어

shutdown -h now (-h 는 “ halt” 를 의미 ) halt init 0

그외의 종료 # shutdown -h +10m

10 분 후에 종료 (h : halt) # shutdown -r 22:00

오후 10 시에 재가동 (r : reboot) # shutdown -c

진행중인 shutdown 을 취소 (c : cancel) # shutdown -k now

현재 접속된 사용자에게 종료된다는 메시지만 보내고 , 실제로 종료하지는 않음

4 장 . 서버구축을 위해 알아야할 최소한의 것들

런레벨 (runlevel) 0 번 – 종료모드 1 번 – 싱글유저모드 ( 시스템 복구시에 사용 ) 2 번 – 사용안함 3 번 – 멀티유저 모드 ( 텍스트 로그인 ) 4 번 – 사용안함 5 번 – 멀티유저 모드 (X 윈도우 로그인 ) 6 번 – 재가동모드 ( 리부팅 )

Page 3: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

3Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

시스템 재가동 X 윈도우

바탕화면의 [ 데스크탑 ] >> [ 로그아웃 ] >> [ 컴퓨터 다시 시작 ] 명령어

shutdown -r now (-h 는 “ reboot” 를 의미 ) init 6 reboot

로그아웃 X 윈도우

바탕화면의 [ 데스크탑 ] >> [ 로그아웃 ] >> [ 로그아웃 ] 키보드의 “ Ctrl” + “Alt” + “Backspace”

텍스트모드 logout 명령어

가상콘솔 가상의 모니터가 있다고 생각하면 됨 “Ctrl” + “Alt” + “F1” ~ “F6” 까지 6 개의 가상 모니터 “Ctrl” + “Alt” + “F7” 은 원래의 X 윈도우 화면

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 4: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

4Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

자동완성과 도스키 자동완성

파일명 또는 디렉토리명의 일부만 입력한후 “ Tab” 키를 눌러 나머지를 자동으로 완성시키는 기능

도스키 기존에 사용한 명령어를 “↑” 또는 “↓”키를 눌러 다시

사용하는 기능 에디터

gedit 윈도우즈의 메모장과 비슷한 그래픽 에디터

vi 유닉스 또는 리눅스 계열의 전통적인 에디터 간단한 사용법 : 실행 후에 “ i” 또는 “ a” 키 입력 내용 작성

“ Esc” 키 “ :wq” 입력 임시 ( 스왑 ) 파일명 : “.” + 파일명 + “.swp”

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 5: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

5Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

도움말 (man) 명령어의 사용법에 대한 도움말을 제공 사용법 : man < 명령어 >

마운트 및 CD-RW 활용 mount

CD 장치나 하드디스크등의 물리적 장치를 특정 디렉토리에 연결하는 명령어

형식 : mount -t 파일시스템타입 장치파일 마운트포인트 예

mount -t iso9660 /dev/hdc /media/cdrom mkisofs

ISO 파일을 생성하는 명령어 예

mkisofs -r -J -input-charset UTF-8 -o /root/test.iso /boot cdrecord

cd 레코딩 명령어 growisofs

dvd 레코딩 명령어

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 6: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

6Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

기본명령어 ls

해당 디렉토리의 파일목록을 보여줌 “-a” 및 “ -l”( 엘 ) 옵션을 가장 많이 사용

cd 디렉토리 이동 명령

pwd 현재 디렉토리의 이름을 보여주는 명령

rm 파일 또는 디렉토리 삭제 명령 예

rm –rf abc : abc 디렉토리와 그 하부를 강제로 전부 삭제 cp 명령어

파일이나 디렉토리 복사 명령어

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 7: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

7Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

기본명령어 ( 계속 … ) touch

빈 파일을 생성 mv

파일과 디렉토리의 이름변경이나 위치이동 mkdir 명령어

새로운 디렉토리를 생성 rmdir

디렉토리 삭제 명령 디렉토리는 비어 있어야 함

cat 텍스트로 작성된 파일을 화면에 출력

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 8: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

8Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

사용자 관리 사용자와 그룹

리눅스는 멀티유저시스템 root 사용자만이 사용자 또는 그룹을 생성할 수 있음

관련파일 /etc/passwd

형식 사용자이름 : 비밀번호 : 사용자 ID: 사용자가 소속된 그룹 ID:

전체이름 : 홈디렉토리 : 기본쉘 /etc/group

형식 그룹명 : 비밀번호 : 그룹 id: 그룹에속한사용자명

/etc/shadow 사용자별 비밀번호가 암호화 되어 있는 파일

명령어 adduser : 사용자 생성 명령 addgroup : 그룹 생성 명령 userdel : 사용자 제거 명령 system-config-users : X 윈도우상에서 사용자 관리 명령

4 장 . 서버구축을 위해 알아야할 최소한의 것들

/etc/skel 디렉토리는 사용자 생성시 사용자 홈디렉토리에 복사될 파일이 들어 있는 디렉토리임

Page 9: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

9Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

파일과 디렉토리의 소유권 / 허가권

4 장 . 서버구축을 위해 알아야할 최소한의 것들

- r w - r - - r - - 1 root root 73288 6월 14 11:26 install.log

파일이름

마지막 변경 날짜 / 시간

파일크기 (Byte)

파일소유 그룹이름

파일소유자 이름

링크수

파일허가권

파일유형

Page 10: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

10Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

파일과 디렉토리의 소유권 /허가권 ( 계속 … ) 파일 유형

디렉토리 “ d”, 일반파일 “ -“, 블록디바이스“ b” (블록디바이스 ), “c” (문자디바이스 ), l (링크 )

파일 허가권 파일 허가권

“r”은 “ read”, “w” 는 “ write”, “x” 는 “ execute” 첫번째 “ rw-“ 는 소유자 (user) 에 파일접근 권한 , 두번째의 “ r-

-"는 그룹 (group) 의 파일접근 권한 , 세번째의 “ r--"는 그 외의 사용자 (other) 에 대한 파일접근 권한

소유자의 허가권인 6 이라는 숫자는 2 진수 110 이므로 ‘ rw-‘ 로 표현

관련명령 chmod 사용예 : chmod 777 install.log

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 11: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

11Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

파일과 디렉토리의 소유권 /허가권 ( 계속 … ) 파일 소유권

파일을 소유한 사용자와 그룹 관련명령

chown 새로운사용자명 [. 새로운그룹명 ] 파일명 사용예 : chown fedora.fedora install.log

링크

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Inode 블럭 Data 블럭

Inode1

Inode2

원본파일데이타

원본파일포인터원본 파일

하드링크 파일

심볼릭 링크 파일

디렉토리

Page 12: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

12Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

관리명령어 RPM (Redhat Package Manager)

윈도우즈의 “ setup.exe” 와 비슷하게 프로그램을 설치한 후에 바로 실행할 수 있는 설치파일

파일명 : 패키지이름 - 버전 -릴리즈번호 . 아키텍처 .rpm 사용법

설치 : rpm –Uvh <패키지파일 > 삭제 : rpm –e <패키지파일 > 질의 : rpm –qa <패키지이름 >

YUM (Yellowdog Update Manager) “rpm” 명령의 패키지 의존성문제를 해결 인터넷을 통하여 Fedora 의 rpm 파일이 저장된 저장소 (Repository)

에서 , 자동 다운로드 하여 설치 사용법

설치 : yum install <패키지명 > 삭제 : yum remove <패키지명 > 정보확인 : yum info <패키지명 >

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 13: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

13Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

관리명령어 ( 계속 … ) 파일압축

gzip 확장명 gz 으로 압축을 하거나 풀어줌 사용 예

gzip 파일명 “파일명”을 압축파일인 “파일명 .gz” 으로 만들어 줌

gzip -d 파일명 .gz “ 파일명 .gz” 압축파일을 일반파일인 “파일명”으로 만들어 줌

bzip2 확장명 bz2 로 압축을 하거나 풀어줌 (압축율 좋음 ) 사용 예

bzip2 파일명 “파일명”을 압축파일인 “파일명 .bz2”으로 만들어 줌

bzip2 -d 파일명 .bz2 “ 파일명 .bz2” 압축파일을 일반파일인 “파일명”으로 만들어 줌

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 14: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

14Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

관리명령어 ( 계속 … ) 파일묶기 (tar)

확장명 tar 로 묶음 파일을 만들어 주거나 묶음을 풀어줌 사용 예

tar cvf xinetd.tar /etc/xinetd.d/ 생성 tar cvfz xinetd.tar.gz /etc/xinetd.d/ 생성 + gzip압축 tar cvfj xinetd.tar.bz2 /etc/xinetd.d/ 생성 + bzip2압축 tar xvf xinetd.tar 풀기 tar xvfz xinetd.tar.gz gzip압축해제 + tar풀기 tar xvfj xinetd.tar.bz2 bzip2압축해제 + tar풀기

파일위치검색 (find) 원형 : find [ 경로 ] [ 옵션 ] [조건 ] [action] 사용예

find /etc –name “*.conf” find /home -user fedora find ~ -perm 644

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 15: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

15Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

관리명령어 ( 계속 … ) 시스템재설정 (system-config-xxxx)

예 system-config-display X 윈도우 환경설정 system-config-bind 네임서버 설정 system-config-httpd 웹서버 설정 system-config-network 네트워크 환경 설정 system-config-nfs NFS 서버 설정 system-config-packages 패키지 추가 설치 system-config-printer 프린터 설정 system-config-samba Samba 서버 설정 system-config-securitylevel 보안수준 설정 system-config-users 사용자 관리

설치를 위해서 “ yum –y install system-config-xxxx” 를 사용

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 16: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

16Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

관리명령어 ( 계속 … ) cron

주기적으로 반복되는 일을 자동적으로 실행될 수 있도록 설정 관련된 데몬 ( 서비스 ) 는 “ crond” 이며 , 관련 파일은 “ /etc/crontab”

at 일회성 작업을 예약 한번만 실행된 후에 소멸됨 사용법 : at < 예약시간 >

4 장 . 서버구축을 위해 알아야할 최소한의 것들

/etc/cron.hourly/

/etc/crontab 파일

시간별

/etc/cron.daily/ /etc/cron.weekly/ /etc/cron.monthly/

일별 주별 월별

Page 17: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

17Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

네트워크 관련 필수용어

IP 주소 , 네트워크 주소 , 브로드캐스트 , 게이트웨이 (라우터 ), DNS, 서브넷마스크

네트워크 장치이름 /dev/eth0 , /dev/eth1 …

네트워크 관련 필수 명령어 system-config-network 네트워크 설정 service network restart 변경된 내용을 시스템에 적용 ifconfig < 장치이름 > 장치의 IP주소 설정정보를 출력 nslookup DNS 서버의 작동을 테스트어 . ping 해당 컴퓨터가 네트워크상에서 응답하는지를 테스트

네트워크 관련 주요 설정파일 /etc/sysconfig/network 네트워크의 기본적인 정보가 설정 /etc/sysconfig/network-scripts/ifcfg-eth0 eth0 장치에 설정된 네트워크

정보 /etc/resolv.conf DNS 서버정보 및 호스트이름이 설정

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 18: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

18Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

파이프 , 필터 , 리다이렉션 파이프 (pipe)

두 개의 프로그램을 연결해주는 연결통로의 의미 “|”문자를 사용함 ( \키를 Shift 와 함께 누른 글자 ) 사용 예

ls -l /etc | more

필터 (filter) 필요한 것만 걸러주는 명령어 주로 파이프와 같이 사용 사용 예

ps -ef | grep bash

리다이렉션 (redirection) 표준 입출력의 방향을 바꿔줌 표준 입력은 키보드 , 표준출력은 모니터이지만 이를 파일로 처리할 때 사용 예

ls -l > aa.ls soft < aa.lst > bb.lst

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 19: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

19Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

프로세스 , 데몬 , 서비스 프로세스 (Process)

하드디스크에 저장된 실행코드 (프로그램 ) 이 , 메모리에 로딩되어 활성화된 것

필수 용어 포그라운드 프로세스 (Foreground Process) 백그라운드 프로세스 (Background Process) 프로세스 번호 작업 번호 부모프로세스와 자식프로세스

관련 명령어 ps , kill ,pstree

데몬 (Daemon) 서비스 (service)라고도 하며 , 주로 서버프로세스를 지칭함 . 데몬은 눈에는 보이지 않지만 , 현재 시스템에서 활동중인 프로세스이므로 백그라운드 프로세스의 일종

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 20: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

20Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

서버데몬의 유형 Standalone 타입의 데몬

시스템에 독자적으로 프로세스가 구동되어서 서비스를 제공하는 데몬

예 : 웹서버 (httpd), DB서버 (mysqld), 센드메일서버 (sendmail) 등 실행 및 종료는 대개 “ service 데몬이름 start/stop/restart” 로 사용 Standalone 타입 데몬의 실행 스크립트 파일은 “ /etc/init.d/”

디렉토리에 주로 들어 있음 inetd 타입의 데몬

일명 “슈퍼데몬”이라고도 부름 자신이 직접 서비스를 하지 않고 , 외부에서 특정 서비스를 요청할

경우에 자신에게 종속된 데몬을 구동시킨 후에 해당 데몬에게 서비스를 하도록 연결시켜줌

xinetd 타입의 데몬 설정파일은 /etc/xinetd.d/ 디렉토리에 들어 있음

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 21: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

21Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

응급복구 root 사용자의 비밀번호를 잊어버렸을 경우의 실습 순서

Grub 를 편집하여 런레벨 1 로 부팅 비밀번호 없이 로그인 됨 현 사용자를 확인하면 root 사용자임 “passwd” 명령으로 현 사용자 (root) 의 비밀번호 변경 재가동

GRUB 부트로더 전통적으로 LILO 가 사용되었지만 , 페도라에서는 기본적으로 GRUB

부트로더를 제공 특징

부트 정보를 사용자가 임의로 변경하여 부팅 가능 다른 여러가지 운영체제와 멀티 부팅이 가능 대화형 설정을 제공해 줘서 , 커널의 경로 및 파일명만 알고 있으면 부팅이

가능 설정파일

/boot/grub/grub.conf 파일 ( /etc/grub.conf 는 링크된 파일 )

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 22: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

22Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

커널 컴파일 커널과 모듈의 개념

4 장 . 서버구축을 위해 알아야할 최소한의 것들

하드웨어

커널

셸응용프로그램

모듈

/lib/modules/커널버전 /부팅시에는 꼭 필요하지 않거나 ,언제 사용할지 유동적인 정보

/boot/vmlinuz-커널버전 파일이 부팅시 메모리에 로딩부팅시 꼭 필요한 부분만 포함 (권장 )

필요시로딩 /언로딩

Memory영역

Page 23: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

23Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

커널 컴파일 ( 계속 … ) 커널 컴파일 ( 업그레이드 ) 순서

4 장 . 서버구축을 위해 알아야할 최소한의 것들

커널소스 다운로드 커널 소스 압축풀기현 커널 버전 확인

#uname -r #finger @ftp.kernel.org

커널설정 초기화

#make clean

#make xconfig

#cd /usr/src 에 다운로드 # tar xvfj linux-2.6.13.1.tar.bz2# cd linux-2.6.13.1

#make mrproper

커널 환경 설정

이전 정보삭제 커널 컴파일 및 설치

# make# make modules_install# make install# ls –l /boot

부트로더 확인

#cat /etc/grub.conf

추가 패키지 설치

# yum install qt-devel

Page 24: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

24Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

정 리 시스템의 시작과 종료 자동완성 , 도스키 , 가상콘솔 , 에디터 사용 마운트 , 사용자 및 그룹 관리 파일의 소유권과 허가권 RPM 및 YUM 파일 압축 및 묶기 Cron, At, 시스템재설정 명령어 네트워크 개념과 관련명령어 서버데몬과 부트로더 커널 컴파일

4 장 . 서버구축을 위해 알아야할 최소한의 것들

Page 25: 4 장 .  서버구축을 위해 알아야할  최소한의 것들

25Fedora Core 4 Redhat Fedora 리눅스 서버 & 네트워크

추가 학습

GRUB 부트로더를 사용하지 말고 , LILO 부트로더를 사용해서 리눅스가 부팅되도록 설정

커널컴파일을 하기 위한 설정 옵션을 상세히 조사

4 장 . 서버구축을 위해 알아야할 최소한의 것들