2007 wheel seminar #1 chap10. 시스템 관리 기본(1) 서 재 백 <mazorro 골뱅이 스팍스>
목 차 개요. (about chap10.) 10.1 시스템 관리하기. 10.2 파일시스템 관리하기. 목 차 개요. (about chap10.) 10.1 시스템 관리하기. 10.2 파일시스템 관리하기. 10.3 스왑 영역 관리하기. 10.4 /proc 파일시스템 10.5 장치 파일 2007 Wheel seminar #1
Introduce chap10. 시스템 관리의 기초 설명. (시스템 관리 작업, 소프트웨어 업그레이드 등) 시스템 관리의 기초 설명. (시스템 관리 작업, 소프트웨어 업그레이드 등) 시스템 관리에 필요한 수동적인 도구들 소개. (예외 상황을 위해서.) 여러 실험을 통해 자신에게 맞는 환경 구축 권유. (by 필자.) 시동 파일을 손봐서 진짜 필요한 서비스만 실행되도록 하라. (by 필자.) 2007 Wheel seminar #1
시동 파일이란? 시스템 환경을 제어하기 위한 파일로 유닉스의 주요 유틸리티, 즉 편집기, 메일러, 디버거, x 윈도우 시스템 클라이언트에서는 여러 가지 방식으로 기본 행동 방식을 변경할 수 있도록 해준다. 대부분의 파일들은 'resource configuration' 이라는 의미의 rc 라는 이름으로 끝나는 파일명을 가지고 있다. 시동 파일은 대개 사용자의 홈 디레토리에 있다. 이름은 도트(.)로 시작하여서 숨겨진 파일이다. Ex) .vimrc 2007 Wheel seminar #1
10.1 시스템 관리하기 대부분 root 계정으로 로그인하여 이뤄짐. (root의 말 = 법) 우분투 같은 일부 배포판은 root 계정 대신 sudo 명령어 사용. (1명령 / 1sudo) 유닉스 시스템은 보안을 첫째로 함. (grouping, permission 설정 등 가능) 2007 Wheel seminar #1
10.1 시스템 관리하기 보안 문제로 특정 명령어 호출 제한 (if server에 shutdown 명령어 허용 -> ㄱ- ) su 명령어로 다른 사용자 계정 로그인 가증 (su 사용자명, 그냥 su는 root로) su를 사용해 root로 로그인하면 /var/log/messages 같은 로그 파일에 기록됨. (ex. Nov 1 19:28:50 loomer su: mdw on /dev/ttype1 2007 Wheel seminar #1
10.1 시스템 관리하기. 그냥 su만 하면 설정 파일은 실행 안됨. (su – 사용자명, su – 를 사용.) root 권한으로 뭔가를 할 때는 항상 주의! (마음을 편안히 가다듬고 다시 한번 확인 바람!) ex. rm –rf / usr/src/oldp rm –rf Dir\ * dd if=/dev/had of=/tmp/stuff bs=1k count=1 => dd of=/dev/had if=/tmp/stuff bs=1k count=1 2007 Wheel seminar #1
10.1 시스템 관리하기. Tip alias rm=“rm –i” (-i는 interactive-“대화형”-, 이거도 실수로 –f –force “강제”- 를 쓴다면 가볍게 무시하고 다 지움) 결론. 실수로 손이 미끄러지지 않게 조심할 것. 2007 Wheel seminar #1
10.2 파일시스템 관리하기 파일 시스템이란? - 파일을 저장하도록 포맷된 어떤 장치. 하드 드라이브, 플로피, CD-ROM 등 random access를 지원하는 매체 (sequential access를 하면 파일 시스템을 갖지 못함.테이프 드라이브 등.) 시스템에서는 인식 가능한 모든 파일 시스템 타입에 공통된 인터페이스를 제공. 2007 Wheel seminar #1
10.2 .1 파일시스템 타입 ext2 vs ext3 & Reiserfs (journalling <- ibm’s jfs. 망가진 파일시스템 복구 시 쉽게 처리.) UMSDOS (기존 도스 <- 리눅스) DOS-FAT (MS-DOS 파일에 직접 접근 시 사용) VFAT (win 95/98) HPFS (OS/2) ISO 9660 (CD-ROM) 기타 N개 정도의 filesystem이 존재! 2007 Wheel seminar #1
10.2.2 파일시스템 마운트하기 파일시스템에 접근하려면 먼저 mount해야 함. (그래야 마치 그 디렉토리에 파일시스템의 파일들이 있는 거 같다.) mount –t (type) (device) (mount-point) (ex. mount –t ext3 /dev/hda2 /mnt) -o 를 사용해서 옵션을 준다. (ex. mount –o conv=auto –t msdos /dev/fd0 /mnt) -o ro (또는 –r) 2007 Wheel seminar #1
10.2.2 파일시스템 마운트하기 Mount –a -> /etc/fstab에서 noauto 옵션이 있는 거 빼고 모든 파일시스템을 마운트. mount <-> unmount (ex. unmount /dev/fd0, unmount /mnt) 이동형 매체의 경우 mount되어 있는 동안 꺼내거나 바꾸면 안 된다. 2007 Wheel seminar #1
10.2.2 파일시스템 마운트하기 사용자에게 mount/unmount 가능케 하는 2가지 방법. 1) /etc/fstab의 원하는 장치 옵션에 user를 넣는다. 2) mount 프런트엔드 사용.(setuid root로 작동) mount 명령은 서로 다른 문제에도 같은 에러 메시지를 냄. Ex. mount : wrong fs type, /dev/cdrom already mounted, /mnt busy, or other error mount할 type을 입력하지 않으면 … 2007 Wheel seminar #1
10.2.2 파일시스템 마운트하기 ‘mount-point busy’ – mount-point의 어떠한 활동 때문에 파일시스템이 그곳에 마운트하는 것을 방해 받고 있다. (예를 들어, 현재 사용 중이거나.) mkdir로 마운트 포인트를 만들어라! 부팅할 때 파일시스템을 자동으로 마운트 함. (/etc/fstab에 넣어 처리, option은 대부분 default로 해결, option 2개를 하려면 ‘,’로 구분) 2007 Wheel seminar #1
10.2.3 장치를 자동으로 mount하기 다양하고 많은 filesystem 접근 시(특히 network filesystem에 접근 시) 오토마운터(automounter) 사용. /etc/auto.master에 directory와 /etc/auto.misc를 추가한다. /etc/init.d/autofs start로 실행. (status, ps aux | grep automount) 2007 Wheel seminar #1
10.2.4 파일시스템 만들기 mkfs 명령을 사용해 파일시스템을 만들 수 있다. (파일시스템을 만든다. = 파일을 저장할 수 있도록 파티션이나 플로피를 ‘포맷’한다.) mkfs 프로그램 자체는 각 type에 맞는 mkfs 버전을 실행해 주는 프런트엔드일 뿐. -> mkfs.fs-type (프런트엔드가 없으면 mke2fs, mkfs.ext2를 직접사용. 있으면… mkfs –t type device ex. mkfs –t ext2 /dev/fd0) 2007 Wheel seminar #1
10.2.4 파일시스템 만들기 파일시스템 만들고 -> mount하여 접근. hard 파일시스템을 만들 때 주의! 플로피 filesystem을 만들 때는 우선 lowlevel 포맷! (ms-dos의 FORMAT, linux의 fdformat ex. Fdformat /dev/fd0 (-n)) -c 옵션(bad block) -> read the XXX manual !! 2007 Wheel seminar #1
10.2.5 파일시스템 점검 및 복구 fsck. 마찬가지로 파일시스템과 관련된 fsck.type의 프런트엔드일 뿐.( fsck.ext3, fsck.msdos … etc 단, fsck.ext2는 e2fsck의 simbolic link) fsck –t type device ex. fsck –t ext3 /dev/hda2 mount되어 있다면 복구 후 재부팅. (일반적으로 mount되어 있는 걸 복구하는 건 별로.) 2007 Wheel seminar #1
10.2.5 파일시스템 점검 및 복구 다른 filesystem은 unmount한 뒤에 fsck 가능. But root는?? Linux 배포판 설치에 사용했던 boot/root 플로피를 사용하는 방법 & root filesystem을 읽기 전용으로 마운트 (LILO 부트 프롬프트에 ro 옵션) /etc/rc.d/boot.localfs에서 fsck를 실행.(자동 점검) 그 담 root 파일시스템을 읽기 전용으로 하고 점검 후 mount –w –o remount / 2007 Wheel seminar #1
10.2.5 파일시스템 점검 및 복구 Option들 … man page 참고! (-a : fsck.type이 표시하는 모든 질문에 자동으로 대답. -c : bad block을 피해서. -v : 점검 중에 자세한 정보를 출력할 때 사용 fsck –t type [option …] ex. fsck –t type –v device 2007 Wheel seminar #1
10.2.6 암호화 파일시스템 loop-aes. AES로 디스크를 암호화(?) 커널 설정. Cryptoloop, Device Drivers Loopback .. I don’t know .. Orz .. 암호화 파일시스템 만들기. dd if=/dev/urandom of=file-or-partition bs=1k count=size-in-kb 파일시스템 마운트하기. 보안 이슈. 2007 Wheel seminar #1
10.3 swap 영역 관리하기 시스템에서 사용 가능한 메모리량을 늘리려고 디스크 저장 장치를 사용하는 영역. 스왑은 주로 물리적인 램에는 맞지 않는 수많은 프로그램을 동시에 실행하는 방법에 쓰인다. 임시적으로 스왑 파일 사용. 보통의 경우 미리 파티션 (ex. 물리적인 램과 스왑 영역이 부족해서 시스템이 버벅 -> 필요에 따라 스왑 파일을 추가해줌.) 스왑 영역은 약 2GB가 최대 크기, 8개 스왑 영역 가능. Free로 memory check! 2007 Wheel seminar #1
10.3.1 swap 공간 만들기 파티션을 먼저 만들어야 함(fdisk, see 2.3.3) dd if=/dev/zero of=/swap bs=1024 count=32768 (block size 1K의 block을 32768개(=32k) 만들어라. 32k * 1kbytes = 32MB, /dev/zero?? ) mkswap –c device size (size는 1kb의 block 수) Swap file을 쓰고 있다면 .. chmod 0600 /swap, mkswap, sync 명령 .. 2007 Wheel seminar #1
10.3.2 swap 영역 활성화 새로운 스왑 영역을 사용하려면 swapon 명령을 사용. (ex. swapon /swap swapon /dev/hda3) 부팅 과정에서 시동 파일 중 하나가 자동 활성화 해줌. (일반적으로 /etc/rc.d/rc.sysinit에서 swapon –a) /etc/fstab에서 option field에 sw라고 적혀 있으면 모두 swapon –a 명령으로 활성화된다. 2007 Wheel seminar #1
10.3.3 swap 영역 비활성화 하기 Swapoff device (device는 swap file이란 partition 명 스왑 파일을 비활성화시킬 때에는 swapoff한 뒤 rm 명령어로 파일을 지운다. 비활성화 전에 지우면 끔찍한 일 발생!) 2007 Wheel seminar #1
10.4 /proc 파일시스템 /proc은 cd, ls 등을 사용해서 다루는 다른 directory와 다를 게 없어보임. 그러나 그의 정체는 .. 실제로 하드디스크 공간을 차지하지 않고, /proc 파일시스템으로 가는 작업을 동적으로 만들어냄!! 즉, /proc 파일시스템의 디렉토리를 보거나 파일 내용을 볼 때마다 커널이 동적으로 만들어줌. 이 파일시스템은 파일과 프로세스를 통합하고 있다. 2007 Wheel seminar #1
10.4 /proc file system ls /proc 을 실행하면 process, memory 등의 정보를 볼 수 있다. Ex. ls /proc/pid, cat /proc/meminfo ... Etc /proc/ioports -> maybe .. cpu운영체제와 하드웨어 사이의 통신을 위한 i/o 주소. /proc/interrupts -> 현재 사용 중인 인터럽트 요청선 나열. /proc/dma -> 사용 중인 dma(direct memory access?) 채널을 나열. 2007 Wheel seminar #1
10.5 장치 파일 장치 = input + output. Unix는 이런 장치를 파일 형태로 지원함. 거의 /dev에 위치. ( ls –l 로 볼 수 있다. ) 장치 파일은 크게 두 가지로 나뉨. 블록 장치(랜덤 액세스) , 문자 장치(순차 접근, 직렬 포트) 2007 Wheel seminar #1
10.5 장치 파일 ls –l 실행하면 ... brw-rw---- 1 root disk 3, 0 2004-04-06 15:27 /dev/had b = block, 3 = major 장치 번호, -> 일반적으로 커널 내의 특정 드라이버를 가리킨다. 0 = minor 장치 번호, -> 드라이버 안에서 처리되는 개별 장치를 가리킨다. 커널은 major 번호를 사용해 i/o 요청을 적절한 드라이버에 전다. 드라이버는 minor 번호를 사용해 어떤 장치에 접근해야하는지 알아냄. 2007 Wheel seminar #1
10.5 장치 파일 /dev에 있는 파일의 명명 규칙은 뒤죽박죽 udev라 부르는 프로젝트? mknod –m permissions name type major minor name은 장치명의 완전한 경로명(ex. /dev/rft0) type은 c or b major = No of major minor = also -m은 선택적인 옵션. 새로운 장치 파일의 퍼미션 비트. 2007 Wheel seminar #1
수고하셨습니다. 디 엔드. By mazorro 2007 Wheel seminar #1