이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
리눅스 시스템 관리 완벽 가이드
박재호
에이콘출판사 2009.10.21.
베스트
IT 모바일 top100 1주
가격
50,000
10 45,000
YES포인트?
2,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 본 도서의 개정판이 출간되었습니다.

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

에이콘- 오픈소스 프로그래밍 시리즈

책소개

목차

1부 기초 관리

1장 시작하기
1.1 배경 지식
1.2 리눅스와 유닉스의 관계
1.3 역사적인 맥락에서 리눅스
1.4 리눅스 배포판
어느 배포판이 최고인가?
배포판별 관리 도구
1.5 기호와 용어 규칙
시스템별 정보
1.6 어디에서 정보를 얻을 수 있나
매뉴얼 페이지 구성
man: 매뉴얼 페이지 읽기
기타 리눅스 정보 출처
1.7 소프트웨어를 찾아서 설치하는 방법
1.8 시스템 관리자가 꼭 해야 하는 작업
사용자 계정 추가, 삭제, 관리
하드웨어 추가, 제거
백업하기
소프트웨어 설치와 업그레이드
시스템 감시
문제 해결
로컬 문서 관리
철저한 보안 감시
사용자 지원
1.9 강요된 시스템 관리
시스템 관리 성격 증후군
1.10 참고 문헌
1.11 연습문제

2장 부팅과 종료
2.1 부트스트래핑
자동 부팅과 수동 부팅
부팅 절차
커널 초기화
하드웨어 설정
커널 스레드
운영자 작업(수동 부팅에만 해당)
시동 스크립트 실행
다중 사용자 모드로 동작
2.2 PC 부팅하기
2.3 부트 로더 이용하기: LILO와 GRUB
GRUB: 야심찬 통합 부트 로더
LILO: 전통적인 리눅스 부트 로더
커널 옵션
PC에서 멀티부팅하기
GRUB 멀티부트 설정
LILO 멀티부트 설정
2.4 단일 사용자 모드로 부팅
GRUB에서 단일 사용자 모드
LILO에서 단일 사용자 모드
2.5 시동 스크립트 다루기
init과 실행 단계
레드햇과 페도라의 시동 스크립트
수세 시동 스크립트
데비안과 우분투 시동 스크립트
2.6 재시동과 종료
전원 끄기
shutdown: 우아하게 시스템을 종료하는 방법
halt: 좀 더 간단하게 종료하는 방법
reboot: 빠르지만 정석은 아닌 재시동
telinit: init의 실행 단계 변경
poweroff: 리눅스에게 전원을 끄라고 명령하기
2.7 연습문제

3장 루트의 권한
3.1 파일과 프로세스에 대한 소유 권한
3.2 슈퍼유저
3.3 루트 패스워드 고르기
3.4 루트되기
su: 사용자 ID 변경
sudo: 제한된 su
3.5 기타 가상의 사용자
bin: 시스템 명령에 대한 상속자
daemon: 권한이 없는 시스템 소프트웨어에 대한 소유주
nobody: 일반적인 NFS 사용자
3.6 연습문제

4장 프로세스 제어
4.1 프로세스의 구성 요소
PID: 프로세스 ID 번호
PPID: 부모 프로세스의 PID
UID와 EUID: 실사용자 ID와 유효사용자 ID
GID와 EGID: 실그룹 ID와 유효그룹 ID
나이스 값
제어 터미널
4.2 프로세스의 생명주기
4.3 시그널
4.4 kill과 killall: 시그널 전달
4.5 프로세스 상태
4.6 nice와 renice: 프로세스 우선순위 조정
4.7 ps: 프로세스 감시
4.8 top: 더 상세한 프로세스 감시
4.9 /proc 파일 시스템
4.10 strace: 시그널과 시스템 호출 추적
4.11 프로세스 폭주
4.12 참고 문헌
4.13 연습문제

5장 파일 시스템
5.1 경로명
5.2 파일 시스템 마운트와 언마운트
5.3 파일 트리의 구성
5.4 파일 형식
일반 파일
디렉토리
문자 장치 파일과 블록 장치 파일
로컬 도메인 소켓
명명된 파이프
심볼릭 링크
5.5 파일 속성
접근 허가 비트
setuid와 setgid 비트
sticky 비트
파일 속성 확인하기
chmod: 접근 허가 변경
chown: 소유권과 소유 그룹 변경
umask: 기본 접근 허가 할당
보너스 플래그
5.6 접근 제어 목록
ACL 개요
기본 항목
5.7 연습문제

6장 새로운 사용자 추가
6.1 /etc/password 파일
로그인명
암호화된 패스워드
UID(user ID) 번호
기본 GID 번호
GECOS 항목
홈 디렉토리
로그인 셸
6.2 /etc/shadow 파일
6.3 /etc/group 파일
6.4 사용자 추가
passwd와 shadow 파일 편집
/etc/group 파일 편집
초기 패스워드 설정하기
사용자 홈 디렉토리 생성
기본적인 시작 파일 복사
사용자 메일 홈 설정
새로운 로그인 확인
사용자의 상태와 연락처 정보 기록
6.5 사용자 제거
6.6 로그인 금지
6.7 계정 관리
6.8 연습문제

7장 디스크 추가
7.1 디스크 인터페이스
PATA 인터페이스
SATA 인터페이스
SCSI 인터페이스
SCSI와 IDE 중 누가 더 나은가?
7.2 디스크 구조
7.3 리눅스 파일 시스템
ext2와 ext3
ReiserFS
XFS와 JFS
7.4 디스크 설치 과정 미리 보기
디스크 연결
디스크 초기화하기
레이블 지정과 디스크 분할
디스크 파티션에 파일 시스템 생성
파일 시스템 마운트
자동 마운트 기능 설정
스왑 활성화
7.5 hdparm: IDE 인터페이스 매개변수 설정
7.6 fsck: 파일 시스템 확인과 수리
7.7 디스크 추가: 단계별 가이드
7.8 고급 디스크 관리: RAID와 LVM
리눅스 소프트웨어 RAID
논리 볼륨 관리
LVM과 RAID 설정 예
파손된 디스크 다루기
저장 공간을 다시 할당하기
7.9 USB 드라이브 마운트하기
7.10 연습문제

8장 주기적인 작업
8.1 cron: 작업 예약 명령
8.2 crontab 파일 형식
8.3 crontab 관리
8.4 대표적인 cron 사용 예
파일 시스템 정리
네트워크를 통한 설정 파일 배포
로그 파일 순환
8.5 기타 예약 프로그램: anacron과 fcron
8.6 연습문제

9장 백업
9.1 경험으로 얻은 교훈
한 기계에서 모든 덤프를 수행하자
매체에 라벨을 붙이자
합리적으로 백업 간격을 결정하자
파일 시스템을 주의 깊게 선택하자
매체 하나에 딱 맞는 일일 덤프를 만들자
덤프 장치 용량보다 파일 시스템을 더 작게 만들자
매체를 사이트 외부에 보관하자
백업을 보호하자
덤프하는 동안 사용을 제한하자
매체를 검증하자
매체 생명 주기를 정의하자
백업을 위한 자료를 설계하자
최악의 상황을 대비하자
9.2 백업 장치와 매체
광학 매체: CD-R/RW, DVD±R/RW, DVD-RAM
이동식 하드디스크(USB와 파이어와이어)
작은 테이프 드라이브: 8mm와 DDS/DAT
DLT/S-DLT
AIT와 SAIT
VXA/VXA-X
LTO
쥬크박스, 스태커, 테이프 라이브러리
하드디스크
매체 유형 요약
무엇을 사야 하나?
9.3 dump를 사용해서 증분 백업 설정
파일 시스템 덤프 뜨기
덤프 순서
9.4 restore를 사용한 덤프 복구
개별 파일 복구
전체 파일 시스템 복구
9.5 판올림을 위한 덤프와 복구
9.6 다른 보존 프로그램 활용
tar: 파일 묶기
cpio: 초기부터 내려오던 보존 유틸리티
dd: 비트 다루기
9.7 테이프 하나에 기록된 여러 파일 활용
9.8 바쿨라
바쿨라 모델
바쿨라 설정
데이터베이스와 바쿨라 데몬 설치
바쿨라 데몬 환경 설정
bacula-dir.conf: 디렉터 환경 설정
bacula-sd.conf: 스토리지 데몬 환경 설정
bconsole.conf: 콘솔 환경 설정
클라이언트 파일 데몬 설치와 환경 설정
바쿨라 데몬 시작하기
매체를 풀에 추가
수동으로 백업하기
복구 작업 수행
바쿨라 환경 설정 감시와 디버깅
바쿨라 대안
9.9 상용 백업 제품군
ADSM/TSM
베리타스
기타 대안
9.10 참고 문헌
9.11 연습문제

10장 syslog와 로그 파일
10.1 로그 기록 정책
로그 파일 폐기
로그 파일 순환
로그 파일 보관
10.2 리눅스 로그 파일
특수 로그 파일
커널 로그와 부팅 시 로그
10.3 logrotate: 로그 파일 관리
10.4 syslog: 시스템 이벤트 로그 기록기
syslog의 대안
syslog 구조
syslogd 설정
사이트 상황에 맞는 로그 정책 수립
설정 파일 예
syslog 출력의 예
syslog를 사용하는 소프트웨어
syslog 디버깅
프로그램에서 syslog 사용
10.5 로그 파일을 응축해서 유용한 정보 얻기
10.6 연습문제

11장 소프트웨어와 설정 관리
11.1 기본적인 리눅스 설치
넷부팅 PC
리눅스용 PXE 설치
PC가 아닌 시스템을 넷부팅하기
킥스타트: 엔터프라이즈 리눅스와 페도라를 위한 자동화된 설치 프로그램
AutoYaST: 수세에서 지원하는 자동화된 설치 도구
데비안과 우분투 설치 프로그램
마스터 시스템으로 설치
11.2 디스크 없는 클라이언트
11.3 패키지 관리
다양한 패키지 관리 시스템
rpm: RPM 패키지 관리
dpkg: 데비안 스타일로 패키지 다루기
11.4 고수준 패키지 관리 시스템
패키지 저장소
RHN: 레드햇 네트워크
APT: 어드밴스트 패키지 툴
apt-get 구성
/etc/apt/sources.list 예제 파일
apt-get 확장성을 높이는 프록시 활용
내부 APT 서버 설치
apt-get 자동화
yum: RPM을 위한 릴리즈 관리
11.5 리비전 컨트롤
백업 파일 만들기
공식적인 리비전 컨트롤 시스템
RCS: 리비전 컨트롤 시스템
CVS: Concurrent Versions System
서브버전: 제대로 만든 CVS
11.6 로컬리제이션과 구성
로컬리제이션 조직화하기
테스트
지역 컴파일
로컬리제이션 배포
일정 문제 해결하기
11.7 설정 관리 도구
cfengine: 컴퓨터 면역 시스템
LCFG: 대규모 설정 시스템
Arusha 프로젝트(ARK)
템플릿 트리 2: cfengine 도우미
DMTF/CIM: 공통 정보 모델
11.8 NFS로 소프트웨어 공유
패키지 이름 공간
의존성 관리
래퍼 스크립트
구현 도구
11.9 추천 소프트웨어
11.10 참고 문헌
11.11 연습 문제

2부 네트워킹

12장 TCP/IP 네트워킹
12.1 TCP/IP와 인터넷
개괄적인 역사
오늘날 인터넷은 어떻게 관리되나
네트워크 표준과 문서
12.2 네트워킹 로드맵
12.3 패킷과 캡슐화
링크 계층
패킷 주소 표시
포트
주소 종류
12.4 IP 주소: 시시콜콜한 얘기
IP 주소 클래스
IP 주소 재앙
CIDR: 클래스가 없는 도메인 내 라우팅
주소 할당
사설 주소와 NAT
IPv6 주소 체계
12.5 라우팅
라우팅 테이블
ICMP 방향 전환
12.6 ARP: 주소 결정 프로토콜
12.7 네트워크에 컴퓨터 추가하기
호스트명과 IP 주소 할당
ifconfig: 네트워크 인터페이스 설정하기
mii-tool: 자동 협상과 그 외 매체별 옵션 설정하기
route: 정적 경로 설정
기본 라우팅 경로
DNS 설정
리눅스 네트워크 스택
12.8 배포판별 네트워크 설정
레드햇과 페도라를 위한 네트워크 설정
수세용 네트워크 설정
데비안과 우분투용 네트워크 설정
12.9 12.9 DHCP: 동적 호스트 설정 프로토콜
DHCP 소프트웨어
DHCP 동작 원리
ISC에서 만든 DHCP 서버
12.10 동적 재설정과 튜닝
12.11 보안 문제
IP 포워딩
ICMP 리다이렉트
소스 라우팅
ping과 다른 형태로 방향성 있는 브로드캐스트를 브로드캐스트하기
IP 스푸핑
호스트 기반 방화벽
가상 사설 네트워크
보안 관련 커널 변수
12.12 리눅스 NAT
12.13 PPP: 점-대-점 프로토콜
PPP 성능 문제에 대한 이야기
PPP로 네트워크에 연결하기
호스트가 PPP를 사용할 수 있게 만들기
PPP 링크 조절하기
주소 할당하기
라우팅
보안 확인하기
chat 스크립트 사용하기
리눅스 PPP 설정하기
12.14 리눅스 네트워킹 쿼크
12.15 참고 문헌
12.16 연습문제

13장 라우팅
13.1 패킷 포워딩: 자세히 보기
13.2 라우팅 데몬과 라우팅 프로토콜
거리-벡터 프로토콜
링크-상태 프로토콜
비용 척도
내부 프로토콜과 외부 프로토콜
13.3 프로토콜 총정리
RIP: Routing Information Protocol
RIP-2: Routing Information Protocol, version 2
OSPF: Open Shortest Path First
IGRP와 EIGRP: Interior Gateway Routing Protocol
IS-IS: ISO 표준
MOSPF, DVMRP, PIM: 멀티캐스트 라우팅 프로토콜
라우터 탐색 프로토콜
13.4 routed: RIP 네가 문제야
13.5 gated: 뒤안길로 사라지다
13.6 라우팅 전략 선택 기준
13.7 시스코 라우터
13.8 참고 문헌
13.9 연습문제

14장 네트워크 하드웨어
14.1 LAN, WAN, MAN
14.2 이더넷: 일반적인 LAN
이더넷은 어떻게 동작하는가
이더넷 토폴로지
UTP
이더넷 간 연결과 확장

14.3 무선: 유목민의 LAN
무선 보안
무선 스위치
14.4 FDDI: 실망스럽고 비싸며 오래된 LAN
14.5 ATM: 약속된(그러나 좌절된) LAN
16.6 프레임 릴레이: 희생적인 WAN
14.7 ISDN: 토착 WAN
14.8 DSL과 케이블 모뎀: 일반인들의 WAN
14.9 네트워크 전망
14.10 네트워크 테스트와 디버깅
14.11 건물 배선
UTP 케이블 옵션
사무실로 연결
배선 표준
14.12 네트워크 디자인 쟁점
네트워크 구조와 건물 구조
기존 네트워크
확장
혼잡
유지 보수와 문서화
14.13 관리 쟁점
14.14 추천 업체
케이블과 커넥터
테스트 장비
라우터/스위치
14.15 참고 문헌
14.16 연습문제

15장 DNS: 도메인 네임 시스템
15.1 성질 급한 사람들을 위한 DNS: 장비 추가하기
15.2 DNS의 역사
BIND 구현
기타 DNS 시스템
15.3 DNS가 필요한 사람
15.4 DNS 이름 공간
도메인 관리자
도메인명 선택
도메인 팽창
차상위 도메인명 등록
하위 도메인 생성
15.5 DNS 작동 방식
위임
캐시와 효율성
확장 DNS 프로토콜
15.6 DNS의 새로운 기능
15.7 DNS 데이터베이스
자원 레코드
SOA 레코드
NS 레코드
A 레코드
PTR 레코드
MX 레코드
CNAME 레코드
CNAME을 이용한 변칙
LOC 레코드
SRV 레코드
TXT 레코드
IPv6 자원 레코드
IPv6 정방향 레코드
IPv6 역방향 레코드
보안 관련 레코드
존 파일이 지원하는 명령
연결 레코드: 존 사이를 연결
15.8 BIND 소프트웨어
BIND 버전
사용 버전 확인
BIND 구성 요소
named: BIND 네임 서버
공인 서버와 캐시 전용 서버
재귀적 서버와 비재귀적 서버
리졸버 라이브러리
DNS의 셸 인터페이스
15.9 DNS 환경 설계
이름 공간 관리
공인 서버
캐시 서버
보안
종합
DNS/BIND 작업의 분류
15.10 BIND 클라이언트 관련 문제
DNS 클라이언트 설정
클라이언트 테스트
나머지 시스템에 미치는 영향
15.11 BIND 서버 설정
하드웨어 요구 사항
설정 파일
include 구문
options 구문
acl 구문
key 구문
trusted-keys 구문
server 구문
masters 구문
logging 구문
zone 구문
controls 구문
DNS 분리와 view 구문
15.12 BIND 설정 예제
로컬 호스트 존
작은 보안회사
isc.org 인터넷 시스템 컨소시엄
15.13 named 시작
15.14 존 파일 갱신
존 전송
동적 갱신
15.15 보안 문제
접근 제한 목록 다시보기
named 제한
TSIG와 TKEY를 이용한 서버 간 통신 보안
DNSSEC
부정적 응답
마이크로소프트와 DNS
15.16 테스트와 디버깅
로그 기록
로그 설정 예제
디버그 수준
rndc를 이용한 디버그
BIND 통계
dig를 이용한 디버그
불완전한 위임
doc: 도메인 은폐 제어 도구
다른 DNS 상태 확인 도구
성능 문제
15.17 배포판별 주의 사항
15.18 참고 문헌
메일링 리스트와 뉴스그룹
책과 기타 문서
온라인 문서
RFC 문서
15.19 연습문제
1부 기초 관리

1장 시작하기
1.1 배경 지식
1.2 리눅스와 유닉스의 관계
1.3 역사적인 맥락에서 리눅스
1.4 리눅스 배포판
어느 배포판이 최고인가?
배포판별 관리 도구
1.5 기호와 용어 규칙
시스템별 정보
1.6 어디에서 정보를 얻을 수 있나
매뉴얼 페이지 구성
man: 매뉴얼 페이지 읽기
기타 리눅스 정보 출처
1.7 소프트웨어를 찾아서 설치하는 방법
1.8 시스템 관리자가 꼭 해야 하는 작업
사용자 계정 추가, 삭제, 관리
하드웨어 추가, 제거
백업하기
소프트웨어 설치와 업그레이드
시스템 감시
문제 해결
로컬 문서 관리
철저한 보안 감시
사용자 지원
1.9 강요된 시스템 관리
시스템 관리 성격 증후군
1.10 참고 문헌
1.11 연습문제

2장 부팅과 종료
2.1 부트스트래핑
자동 부팅과 수동 부팅
부팅 절차
커널 초기화
하드웨어 설정
커널 스레드
운영자 작업(수동 부팅에만 해당)
시동 스크립트 실행
다중 사용자 모드로 동작
2.2 PC 부팅하기
2.3 부트 로더 이용하기: LILO와 GRUB
GRUB: 야심찬 통합 부트 로더
LILO: 전통적인 리눅스 부트 로더
커널 옵션
PC에서 멀티부팅하기
GRUB 멀티부트 설정
LILO 멀티부트 설정
2.4 단일 사용자 모드로 부팅
GRUB에서 단일 사용자 모드
LILO에서 단일 사용자 모드
2.5 시동 스크립트 다루기
init과 실행 단계
레드햇과 페도라의 시동 스크립트
수세 시동 스크립트
데비안과 우분투 시동 스크립트
2.6 재시동과 종료
전원 끄기
shutdown: 우아하게 시스템을 종료하는 방법
halt: 좀 더 간단하게 종료하는 방법
reboot: 빠르지만 정석은 아닌 재시동
telinit: init의 실행 단계 변경
poweroff: 리눅스에게 전원을 끄라고 명령하기
2.7 연습문제

3장 루트의 권한
3.1 파일과 프로세스에 대한 소유 권한
3.2 슈퍼유저
3.3 루트 패스워드 고르기
3.4 루트되기
su: 사용자 ID 변경
sudo: 제한된 su
3.5 기타 가상의 사용자
bin: 시스템 명령에 대한 상속자
daemon: 권한이 없는 시스템 소프트웨어에 대한 소유주
nobody: 일반적인 NFS 사용자
3.6 연습문제

4장 프로세스 제어
4.1 프로세스의 구성 요소
PID: 프로세스 ID 번호
PPID: 부모 프로세스의 PID
UID와 EUID: 실사용자 ID와 유효사용자 ID
GID와 EGID: 실그룹 ID와 유효그룹 ID
나이스 값
제어 터미널
4.2 프로세스의 생명주기
4.3 시그널
4.4 kill과 killall: 시그널 전달
4.5 프로세스 상태
4.6 nice와 renice: 프로세스 우선순위 조정
4.7 ps: 프로세스 감시
4.8 top: 더 상세한 프로세스 감시
4.9 /proc 파일 시스템
4.10 strace: 시그널과 시스템 호출 추적
4.11 프로세스 폭주
4.12 참고 문헌
4.13 연습문제

5장 파일 시스템
5.1 경로명
5.2 파일 시스템 마운트와 언마운트
5.3 파일 트리의 구성
5.4 파일 형식
일반 파일
디렉토리
문자 장치 파일과 블록 장치 파일
로컬 도메인 소켓
명명된 파이프
심볼릭 링크
5.5 파일 속성
접근 허가 비트
setuid와 setgid 비트
sticky 비트
파일 속성 확인하기
chmod: 접근 허가 변경
chown: 소유권과 소유 그룹 변경
umask: 기본 접근 허가 할당
보너스 플래그
5.6 접근 제어 목록
ACL 개요
기본 항목
5.7 연습문제

6장 새로운 사용자 추가
6.1 /etc/password 파일
로그인명
암호화된 패스워드
UID(user ID) 번호
기본 GID 번호
GECOS 항목
홈 디렉토리
로그인 셸
6.2 /etc/shadow 파일
6.3 /etc/group 파일
6.4 사용자 추가
passwd와 shadow 파일 편집
/etc/group 파일 편집
초기 패스워드 설정하기
사용자 홈 디렉토리 생성
기본적인 시작 파일 복사
사용자 메일 홈 설정
새로운 로그인 확인
사용자의 상태와 연락처 정보 기록
6.5 사용자 제거
6.6 로그인 금지
6.7 계정 관리
6.8 연습문제

7장 디스크 추가
7.1 디스크 인터페이스
PATA 인터페이스
SATA 인터페이스
SCSI 인터페이스
SCSI와 IDE 중 누가 더 나은가?
7.2 디스크 구조
7.3 리눅스 파일 시스템
ext2와 ext3
ReiserFS
XFS와 JFS
7.4 디스크 설치 과정 미리 보기
디스크 연결
디스크 초기화하기
레이블 지정과 디스크 분할
디스크 파티션에 파일 시스템 생성
파일 시스템 마운트
자동 마운트 기능 설정
스왑 활성화
7.5 hdparm: IDE 인터페이스 매개변수 설정
7.6 fsck: 파일 시스템 확인과 수리
7.7 디스크 추가: 단계별 가이드
7.8 고급 디스크 관리: RAID와 LVM
리눅스 소프트웨어 RAID
논리 볼륨 관리
LVM과 RAID 설정 예
파손된 디스크 다루기
저장 공간을 다시 할당하기
7.9 USB 드라이브 마운트하기
7.10 연습문제

8장 주기적인 작업
8.1 cron: 작업 예약 명령
8.2 crontab 파일 형식
8.3 crontab 관리
8.4 대표적인 cron 사용 예
파일 시스템 정리
네트워크를 통한 설정 파일 배포
로그 파일 순환
8.5 기타 예약 프로그램: anacron과 fcron
8.6 연습문제

9장 백업
9.1 경험으로 얻은 교훈
한 기계에서 모든 덤프를 수행하자
매체에 라벨을 붙이자
합리적으로 백업 간격을 결정하자
파일 시스템을 주의 깊게 선택하자
매체 하나에 딱 맞는 일일 덤프를 만들자
덤프 장치 용량보다 파일 시스템을 더 작게 만들자
매체를 사이트 외부에 보관하자
백업을 보호하자
덤프하는 동안 사용을 제한하자
매체를 검증하자
매체 생명 주기를 정의하자
백업을 위한 자료를 설계하자
최악의 상황을 대비하자
9.2 백업 장치와 매체
광학 매체: CD-R/RW, DVD±R/RW, DVD-RAM
이동식 하드디스크(USB와 파이어와이어)
작은 테이프 드라이브: 8mm와 DDS/DAT
DLT/S-DLT
AIT와 SAIT
VXA/VXA-X
LTO
쥬크박스, 스태커, 테이프 라이브러리
하드디스크
매체 유형 요약
무엇을 사야 하나?
9.3 dump를 사용해서 증분 백업 설정
파일 시스템 덤프 뜨기
덤프 순서
9.4 restore를 사용한 덤프 복구
개별 파일 복구
전체 파일 시스템 복구
9.5 판올림을 위한 덤프와 복구
9.6 다른 보존 프로그램 활용
tar: 파일 묶기
cpio: 초기부터 내려오던 보존 유틸리티
dd: 비트 다루기
9.7 테이프 하나에 기록된 여러 파일 활용
9.8 바쿨라
바쿨라 모델
바쿨라 설정
데이터베이스와 바쿨라 데몬 설치
바쿨라 데몬 환경 설정
bacula-dir.conf: 디렉터 환경 설정
bacula-sd.conf: 스토리지 데몬 환경 설정
bconsole.conf: 콘솔 환경 설정
클라이언트 파일 데몬 설치와 환경 설정
바쿨라 데몬 시작하기
매체를 풀에 추가
수동으로 백업하기
복구 작업 수행
바쿨라 환경 설정 감시와 디버깅
바쿨라 대안
9.9 상용 백업 제품군
ADSM/TSM
베리타스
기타 대안
9.10 참고 문헌
9.11 연습문제

10장 syslog와 로그 파일
10.1 로그 기록 정책
로그 파일 폐기
로그 파일 순환
로그 파일 보관
10.2 리눅스 로그 파일
특수 로그 파일
커널 로그와 부팅 시 로그
10.3 logrotate: 로그 파일 관리
10.4 syslog: 시스템 이벤트 로그 기록기
syslog의 대안
syslog 구조
syslogd 설정
사이트 상황에 맞는 로그 정책 수립
설정 파일 예
syslog 출력의 예
syslog를 사용하는 소프트웨어
syslog 디버깅
프로그램에서 syslog 사용
10.5 로그 파일을 응축해서 유용한 정보 얻기
10.6 연습문제

11장 소프트웨어와 설정 관리
11.1 기본적인 리눅스 설치
넷부팅 PC
리눅스용 PXE 설치
PC가 아닌 시스템을 넷부팅하기
킥스타트: 엔터프라이즈 리눅스와 페도라를 위한 자동화된 설치 프로그램
AutoYaST: 수세에서 지원하는 자동화된 설치 도구
데비안과 우분투 설치 프로그램
마스터 시스템으로 설치
11.2 디스크 없는 클라이언트
11.3 패키지 관리
다양한 패키지 관리 시스템
rpm: RPM 패키지 관리
dpkg: 데비안 스타일로 패키지 다루기
11.4 고수준 패키지 관리 시스템
패키지 저장소
RHN: 레드햇 네트워크
APT: 어드밴스트 패키지 툴
apt-get 구성
/etc/apt/sources.list 예제 파일
apt-get 확장성을 높이는 프록시 활용
내부 APT 서버 설치
apt-get 자동화
yum: RPM을 위한 릴리즈 관리
11.5 리비전 컨트롤
백업 파일 만들기
공식적인 리비전 컨트롤 시스템
RCS: 리비전 컨트롤 시스템
CVS: Concurrent Versions System
서브버전: 제대로 만든 CVS
11.6 로컬리제이션과 구성
로컬리제이션 조직화하기
테스트
지역 컴파일
로컬리제이션 배포
일정 문제 해결하기
11.7 설정 관리 도구
cfengine: 컴퓨터 면역 시스템
LCFG: 대규모 설정 시스템
Arusha 프로젝트(ARK)
템플릿 트리 2: cfengine 도우미
DMTF/CIM: 공통 정보 모델
11.8 NFS로 소프트웨어 공유
패키지 이름 공간
의존성 관리
래퍼 스크립트
구현 도구
11.9 추천 소프트웨어
11.10 참고 문헌
11.11 연습 문제

2부 네트워킹

12장 TCP/IP 네트워킹
12.1 TCP/IP와 인터넷
개괄적인 역사
오늘날 인터넷은 어떻게 관리되나
네트워크 표준과 문서
12.2 네트워킹 로드맵
12.3 패킷과 캡슐화
링크 계층
패킷 주소 표시
포트
주소 종류
12.4 IP 주소: 시시콜콜한 얘기
IP 주소 클래스
IP 주소 재앙
CIDR: 클래스가 없는 도메인 내 라우팅
주소 할당
사설 주소와 NAT
IPv6 주소 체계
12.5 라우팅
라우팅 테이블
ICMP 방향 전환
12.6 ARP: 주소 결정 프로토콜
12.7 네트워크에 컴퓨터 추가하기
호스트명과 IP 주소 할당
ifconfig: 네트워크 인터페이스 설정하기
mii-tool: 자동 협상과 그 외 매체별 옵션 설정하기
route: 정적 경로 설정
기본 라우팅 경로
DNS 설정
리눅스 네트워크 스택
12.8 배포판별 네트워크 설정
레드햇과 페도라를 위한 네트워크 설정
수세용 네트워크 설정
데비안과 우분투용 네트워크 설정
12.9 12.9 DHCP: 동적 호스트 설정 프로토콜
DHCP 소프트웨어
DHCP 동작 원리
ISC에서 만든 DHCP 서버
12.10 동적 재설정과 튜닝
12.11 보안 문제
IP 포워딩
ICMP 리다이렉트
소스 라우팅
ping과 다른 형태로 방향성 있는 브로드캐스트를 브로드캐스트하기
IP 스푸핑
호스트 기반 방화벽
가상 사설 네트워크
보안 관련 커널 변수
12.12 리눅스 NAT
12.13 PPP: 점-대-점 프로토콜
PPP 성능 문제에 대한 이야기
PPP로 네트워크에 연결하기
호스트가 PPP를 사용할 수 있게 만들기
PPP 링크 조절하기
주소 할당하기
라우팅
보안 확인하기
chat 스크립트 사용하기
리눅스 PPP 설정하기
12.14 리눅스 네트워킹 쿼크
12.15 참고 문헌
12.16 연습문제

13장 라우팅
13.1 패킷 포워딩: 자세히 보기
13.2 라우팅 데몬과 라우팅 프로토콜
거리-벡터 프로토콜
링크-상태 프로토콜
비용 척도
내부 프로토콜과 외부 프로토콜
13.3 프로토콜 총정리
RIP: Routing Information Protocol
RIP-2: Routing Information Protocol, version 2
OSPF: Open Shortest Path First
IGRP와 EIGRP: Interior Gateway Routing Protocol
IS-IS: ISO 표준
MOSPF, DVMRP, PIM: 멀티캐스트 라우팅 프로토콜
라우터 탐색 프로토콜
13.4 routed: RIP 네가 문제야
13.5 gated: 뒤안길로 사라지다
13.6 라우팅 전략 선택 기준
13.7 시스코 라우터
13.8 참고 문헌
13.9 연습문제

14장 네트워크 하드웨어
14.1 LAN, WAN, MAN
14.2 이더넷: 일반적인 LAN
이더넷은 어떻게 동작하는가
이더넷 토폴로지
UTP
이더넷 간 연결과 확장

14.3 무선: 유목민의 LAN
무선 보안
무선 스위치
14.4 FDDI: 실망스럽고 비싸며 오래된 LAN
14.5 ATM: 약속된(그러나 좌절된) LAN
16.6 프레임 릴레이: 희생적인 WAN
14.7 ISDN: 토착 WAN
14.8 DSL과 케이블 모뎀: 일반인들의 WAN
14.9 네트워크 전망
14.10 네트워크 테스트와 디버깅
14.11 건물 배선
UTP 케이블 옵션
사무실로 연결
배선 표준
14.12 네트워크 디자인 쟁점
네트워크 구조와 건물 구조
기존 네트워크
확장
혼잡
유지 보수와 문서화
14.13 관리 쟁점
14.14 추천 업체
케이블과 커넥터
테스트 장비
라우터/스위치
14.15 참고 문헌
14.16 연습문제

15장 DNS: 도메인 네임 시스템
15.1 성질 급한 사람들을 위한 DNS: 장비 추가하기
15.2 DNS의 역사
BIND 구현
기타 DNS 시스템
15.3 DNS가 필요한 사람
15.4 DNS 이름 공간
도메인 관리자
도메인명 선택
도메인 팽창
차상위 도메인명 등록
하위 도메인 생성
15.5 DNS 작동 방식
위임
캐시와 효율성
확장 DNS 프로토콜
15.6 DNS의 새로운 기능
15.7 DNS 데이터베이스
자원 레코드
SOA 레코드
NS 레코드
A 레코드
PTR 레코드
MX 레코드
CNAME 레코드
CNAME을 이용한 변칙
LOC 레코드
SRV 레코드
TXT 레코드
IPv6 자원 레코드
IPv6 정방향 레코드
IPv6 역방향 레코드
보안 관련 레코드
존 파일이 지원하는 명령
연결 레코드: 존 사이를 연결
15.8 BIND 소프트웨어
BIND 버전
사용 버전 확인
BIND 구성 요소
named: BIND 네임 서버
공인 서버와 캐시 전용 서버
재귀적 서버와 비재귀적 서버
리졸버 라이브러리
DNS의 셸 인터페이스
15.9 DNS 환경 설계
이름 공간 관리
공인 서버
캐시 서버
보안
종합
DNS/BIND 작업의 분류
15.10 BIND 클라이언트 관련 문제
DNS 클라이언트 설정
클라이언트 테스트
나머지 시스템에 미치는 영향
15.11 BIND 서버 설정
하드웨어 요구 사항
설정 파일
include 구문
options 구문
acl 구문
key 구문
trusted-keys 구문
server 구문
masters 구문
logging 구문
zone 구문
controls 구문
DNS 분리와 view 구문
15.12 BIND 설정 예제
로컬 호스트 존
작은 보안회사
isc.org 인터넷 시스템 컨소시엄
15.13 named 시작
15.14 존 파일 갱신
존 전송
동적 갱신
15.15 보안 문제
접근 제한 목록 다시보기
named 제한
TSIG와 TKEY를 이용한 서버 간 통신 보안
DNSSEC
부정적 응답
마이크로소프트와 DNS
15.16 테스트와 디버깅
로그 기록
로그 설정 예제
디버그 수준
rndc를 이용한 디버그
BIND 통계
dig를 이용한 디버그
불완전한 위임
doc: 도메인 은폐 제어 도구
다른 DNS 상태 확인 도구
성능 문제
15.17 배포판별 주의 사항
15.18 참고 문헌
메일링 리스트와 뉴스그룹
책과 기타 문서
온라인 문서
RFC 문서
15.19 연습문제

저자 소개 1

포항공과대학교 컴퓨터공학과 학부와 대학원을 졸업했다. 임베디드 시스템 개발, 기업용 백업 소프트웨어 개발, 방송국 콘텐츠 수신 제한 시스템 개발 및 운영 지원, 클라우드 기반 서비스 개발에 이르기까지 다양한 실무 경험을 토대로 고성능 고가용성 시스템을 설계했다. 《클린 코드》, 《피플웨어》 등 40여 권의 책을 번역, 집필, 감수했다. 각종 기술 소식을 다루는 블로그 '컴퓨터 vs 책'(jhrogue.blogspot.com)과 개발자를 위한 유튜브 채널(youtube.com/@채널박재호)을 운영하며, 개발자들을 위한 각종 교육과 세미나도 지속적으로 진행하고 있다.

박재호의 다른 상품

품목정보

발행일
2009년 10월 21일
쪽수, 무게, 크기
1180쪽 | 2356g | 188*255*60mm
ISBN13
9788960771024

책 속으로

(5년 전) 첫 판을 쓸 때 리눅스가 기업 환경에 막 침투하고 있었다. 우리는 리눅스가 썬, HP, IBM에서 나온 상용 운영체제에 맞설 A급 운영체제라는 소식을 『리눅스 시스템 관리 완벽 가이드(Linux Administration Handbook)』가 널리 전파하기를 바랐다.

이제 IBM도 리눅스 편에 섰다. 리눅스가 안전하다는 사실을 확신하고 싶어하는 회사들에게 자사 전체 서버 라인에 리눅스를 지원하겠다는 IBM의 2004년 발표는 단비와 같았다. IBM 제품을 구입했다는 이유로 해고된 사람은 없었다. 마찬가지로 요즘 리눅스를 사용한다고 해고되는 사람은 없을 것이다.

우리는 전문적인 리눅스 시스템 관리자의 가장 좋은 친구가 되도록 이 책을 쓰기 시작했다. 우리가 쓴 유명한 책인 『Unix System Administration Handbook』에서 증명된 개념과 내용을 가져와 적절한 곳에 배치했다. 리눅스와 관련된 내용을 한 트럭 추가했으며, 나머지 부분도 갱신했지만 다루는 내용 상당수가 유사하다. 이런 노력의 결과, 과거 경험을 토대로 리눅스 관리자를 위한 고품질 지침서가 탄생했다는 사실에 독자 여러분들도 동의하면 좋겠다.

리눅스를 실제 엔터프라이즈 환경에서 효과적으로 사용할 만큼 폭넓은 내용을 제공하는 리눅스 시스템 관리 서적은 이제까지 없었다. 여기서 이 책을 다른 책과 구분하는 몇 가지 특징을 소개한다.

실용적인 접근 방법을 택했다. 우리 목표는 매뉴얼 내용을 다시 언급하는 대신 시스템 관리에 있어 습득한 경험을 요약하는 데 있다. 이 책은 수많은 실전 이야기와 풍부한 실용적인 조언을 담고 있다.
이 책은 집이나 창고나 PDA에서 리눅스를 운용하는 방법을 다루지 않는다. 기업체, 정부기관, 대학교 같은 실제 환경에서 리눅스를 사용하는 방법을 기술한다.
리눅스 네트워크를 상세히 다룬다. 시스템 관리에서 가장 어렵지만 가장 도움이 되리라고 생각하는 부문이다.
내용을 너무 단순하게 줄이지 않았다. 예제는 온갖 결점과 꼴사납게 복잡한 내용을 담은 실제 상황을 반영한다. 대다수 예제는 상용 시스템에서 직접 따왔다.
다섯 가지 주요 리눅스 배포판을 다룬다. --- '저자 서문' 중에서

리눅스라는 것을 처음 본 것이 거의 20년 전의 일입니다. 세상은 10년이면 변한다더니 그 동안 제곱은 더 변했고, 그에 못지않게 리눅스도 변했습니다. 주인을 떠난 개구리 뒷다리를 움찔거리는 것으로나 그 존재를 확인할 수 있었던 전기가 공기와 물처럼 생존의 필수 요소가 되었듯, 흑백 모니터에서 깜박이는 커서로나 자신이 살아 있음을 알리던 리눅스는 오늘날 세상을 움직이는 하나의 축이 됐습니다. 이제금 다시 스스로에게 물어봅니다. 리눅스는 무엇일까? 아니, 무엇이었던 걸까? 번역을 모두 마친 지금, 그런 리눅스와 무척 닮은 것이 이미 존재한다는 사실을 알게 됐습니다. 바로 자동차입니다.

자동차가 얼마 없던 시대의 사람들에게 자동차는 너무나 명확한 개념이었을 것입니다. 말이 필요 없는 마차. 그래서 말똥(!)을 유발하지 않는 마차, 그러면서 말만큼 빠른 운송 수단, 얼리어답터(early adopter)의 상징, 하지만 지금 우리에게 자동차는 무엇일까요?

"자동차 있습니까?"

더 이상 단순한 정의로 한정할 수 있는 대상이 아닙니다. 이는 우리의 삶이 많은 부분 영향을 받고 있기 때문입니다. 자동차가 일반화된 오늘날 그로 인해 누리는 혜택과 그에 상응하는 피해는 일일이 나열하기 쉽지 않습니다.

오늘날 리눅스는 더 이상 일부 전문가들만의 전유물이 아닙니다. 그로 인해 조금의 관심만 있다면 작은 원룸 안에도 절대 작지 않은 전산실을 꾸밀 수 있습니다. 또한 일상생활 중에도 리눅스가 탑재된 제품들을 쉽게 만날 수 있습니다.

"리눅스 잘 아십니까?"

이제 리눅스라는 단어는 단순한 운영체제를 의미하는 것이 아닙니다. 그보다는 리눅스의 일반화 덕택에 일상으로 성큼 다가오게 된 여러 작업까지 포함한 넓은 의미입니다. 거기에는 네트워크 관리나 계정 관리 같은 작업뿐만 아니라 사용자로부터 조직의 상급자까지를 대상으로 하는 정치도 포함됩니다.

기본적으로 이 책은 전문가로서 '리눅스를 잘 알아야 하는' 사람들을 위한 책입니다. 그리고 리눅스와 짝을 이뤄 서로에게 무책임하다 싶을 정도로 변화를 불어 일으킨 네트워크 관련 부분들도 당연히(!) 자세하게 다룹니다. 때문에 1000페이지가 넘는 분량이 살짝 아쉬워 보이기까지 합니다. 100kg가 넘는 아들을 보고, "요즘 살이 좀 빠진 것 같다"라고 말하는 부모의 심정이랄까요. 마지막 장인 30장을 읽어 보시고, '이런 내용까지…'라는 생각이 드신다면 충분히 이해하시리라 생각합니다.

책은 크게 세 부분으로 나뉩니다. 1부는 부팅 설정이나 사용자, 프로세스, 파일 시스템 관리 같이 개별 호스트에 대한 관리를 주로 설명합니다. 관리 업무의 기본이라 할 수 있겠습니다. 2부는 네트워크와 관련된 내용입니다. IP 설정과 라우팅, DNS, NFS, 이메일 관리와 네트워크 규모에 따라 그 중요성이 더욱 커지는 보안과 웹 호스팅 등에 대한 관리를 주로 설명합니다. 관리 대상 시스템의 규모가 일정 규모 이상인 관리자들은 반드시 잘 이해하고 있어야 하는 내용입니다. 실무 담당자로서의 전문성이 가장 잘 드러나는 영역이라 하겠습니다. 3부는 어떻게 보면 허드렛일로 보일 수도 있지만 대부분의 시스템이 안정화되고 나면 가장 많이 이슈화되는 부분입니다. 최고의 환경을 누리고픈 사용자들과 관리자들의 삶의 질이 결정되는 부분이기도 합니다. 또한 일반적인 관리 영역만을 설명하는 다른 책에서는 설명하지 않는, 어떻게 보면 '관리자를 위한 관리' 부분도 담았습니다.

아무쪼록 이 책을 통해 '운전만 할 줄 아는' 수준을 넘어 리눅스 전문가로서의 지적 외연을 넓히는 기회가 되시길 기원합니다.

--- '옮긴이의 말' 중에서

출판사 리뷰

예를 위한 예를 설명하기보다는, 현장과 실무에서 사용하는 각종 리눅스 시스템 관리 기법을 소개하는 완벽 가이드. 대규모 대학과 회사의 리눅스 시스템 환경에서 사용하는 실제 구성과 환경 설정 파일을 볼 수 있다.

초판이 2001년 출간된 『리눅스 시스템 관리 완벽 가이드』는 그간 기술적인 문제점을 효과적으로 해결하고, 상용 환경에서 안정성과 성능을 최대로 끌어 올려야 하는 시스템 관리자를 위한 바이블로 자리잡았다. 개정판에서 저자들은 체계적으로 고전 지침을 업데이트해서 오늘날 가장 중요한 여러 가지 배포판들과 새롭고 강력한 관리 도구를 소개한다.

저자들은 모범 사례를 들어가며 시스템 관리에 필요한 모든 측면을 상세하게 풀어 설명한다. 이 책은 저장소 관리, 네트워크 설계와 관리, 웹 호스팅, 소프트웨어 환경 설정, 성능 분석, 윈도우와 상호 운영 등을 다룬다. 시스템 관리자는 DNS, LDAP, 보안, IT 서비스 조직 관리 같은 복잡한 주제를 현실에 맞춰 다루는 이 책에서 큰 도움을 얻을 것이다.

『리눅스 시스템 관리 완벽 가이드』에서는 다음과 같이 주로 쓰이는 배포판 다섯 가지를 반영했다.

레드햇 엔터프라이즈 리눅스
페도라 코어
수세 리눅스 엔터프라이즈
데비안 GNU/리눅스
우분투 리눅스

저자들은 현장에서 분투하며 쌓아온 경험과 통찰력을 공유하기 위해 이상적인 환경이 아니라 실제 환경에서 리눅스 시스템의 동작 방식을 잡아낸다. 실무자들이 현장에서 맞닥뜨리는 복잡한 과업을 설명하고 이런 과업을 광범위한 실제 경험에서 이끌어낸 예제로 명쾌하게 정리한다.

이 책의 구성

이 책은 크게 기초 관리, 네트워킹, 알아두면 유용한 정보 등 세 부분으로 나뉜다.

1부. 기초 관리는 시스템 관리자 관점에서 리눅스를 개괄한다. 이 장은 단독으로 동작하는 리눅스 시스템을 돌리기에 필요한 사실과 기법 대부분을 다룬다.

2부. 네트워킹은 리눅스 시스템에서 사용되는 프로토콜과 네트워크 설정, 확장, 유지에 사용되는 기법을 설명한다. 고차원 네트워크 소프트웨어 역시 여기서 다룬다. DNS, NFS, 라우팅, sendmail, 네트워크 관리라는 고급 주제도 여기서 설명한다.

3부. 알아두면 유용한 정보는 다양한 보충 정보를 두루 다룬다. 일부 장은 리눅스 프린팅 시스템과 같은 추가 소프트웨어 패키지를 설명한다. 일부 장은 하드웨어 유지 보수에서 리눅스 배포판을 돌리기 위한 정책에 이르기까지 다양한 주제를 다룬다.

추천평

가장 훌륭한 시스템 관리자 책이다. 늘 도움이 되기 때문에!
릭 파로우(login지 편집자)
대규모 시스템을 관리하면서 얻은 수십 년 동안의 경험을 살려서 현재 사용하는 기술을 명쾌하게 설명하는 책이다.
조나단 코벳(LWN.net 공동 창립자)
저자들은 리눅스 관리 분야의 절대강자다. 똑똑하고 통찰력으로 가득 차 있으며, 개념 구현을 꿰뚫어본다.
피터 살러스(matrix.net 편집장)

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.