저자: 박재호(jrogue at netian.com)
대상 독자층
이 책은 리눅스 서버를 운영하면서 실전 상황에서 필요한 각종 기교와 팁을 수록한 책이므로 병아리 티를 벗어난 시스템 관리자에게 적합하다. 독자는 책에 나온 Hack를 하나씩 따라 하는 과정에서 작업을 수행하는 의미가 무엇인지, 그리고 이런 작업이 향후 어떤 여파를 미칠지 정도는 알고 있어야 한다. 다시 말해, 무따기(무작정 따라하기)식으로 덤비다가는 큰 코 다친다.
또한, 리눅스에만 해당하는 명령어와 숨어있는 옵션도 소개하므로 리눅스로 전향하려는 일반 유닉스(솔라리스, HP-UX, AIX) 관리자에게도 많은 도움을 줄 수 있다.
이 책을 읽기 위해 필요한 기본 지식은 아래와 같다.
- 리눅스 시스템을 관리할 줄 알아야 한다. 즉, 리눅스 시스템을 관리하는 방법을 기초부터 배우기 위해 이 책을 열었다면 지금 바로 덮어라.
- RPM이나 tarball을 사용하여 필요한 소프트웨어를 설치할 수 있어야 한다.
- bash를 알고 있어야 한다. 기본적인 셸 스크립트를 작성할 수 있어야 한다.
- Perl을 알고 있어야 한다. 펄 모듈 설치와 활용법에 대해 기본적인 지식이 있어야 한다.
- 정규 표현식을 이해하고 있어야 한다.
- 네트워크 관리에 필요한 각종 개념 및 리눅스에서 필요한 기본적인 네트워크 설정을 알고 있어야 한다.
- LAMP(Linux, Apache, MySQL, PHP)를 어느 정도 관리할 수 있어야 한다.
이 책을 읽는데 필요한 요구사항이 제법 많다는 생각이 들 수도 있을 것이다. 그렇지만, 원래 시스템 관리라는 작업 특성상 광범위한 분야를 다룰 수 밖에 없다는 사실을 인정하면 다소간 이해가 될 것이다.
이 책의 주요 내용
리눅스를 쉽고 재미있게 관리하는데 도움을 주는 100가지 Hack 기법을 8개 그룹(장)으로 나누어 정리하고 있다. 기존 오라일리 도서들과는 달리 이 책은 완결된 예제만을 다루기 때문에, 실제 업무에 바로 적용할 수 있다는 장점이 있다. 대신에 명쾌하게 내부 구조를 밝힌다거나 시원하게 배경 이유를 설명한다거나 하는 내용은 약해질 수 밖에 없다. 아무래도 양자는 공생하기 어려운 모양이다.
주요 목차는 다음과 같다.
목차
How to Become a Hacker
해커 정의
Preface
서문
1장 Server Basics
잡동사니(하지만 알아두면 유용한) 트릭
2장 Revision Control
RCS/CVS
3장 Backups
ssh/rsync/CD-R(W) 백업
4장 Networking
간단한 방화벽/IP 마스커레이딩/터널링
5장 Monitoring
syslog/네트워크 트래픽 제어/포트
6장 SSH
ssh 기본기
7장 Scripting
bash/perl을 사용한 스크립팅 기법
8장 Information Servers
BIND(BIND9 새 기능), Apache(각종 유용한 모듈 사용법), MySQL(튜닝과 관리 기법), 인증서 발급
목차와 페이지 수(전체 222페이지)를 보면 알겠지만, 정말 다양한 분야를 다루기에, 이 책 한 권으로 모든 시스템 관리 방법을 익힐 수 있다는 생각은 버려야 한다. 대신에 기존에 어느 곳에서도 설명하고 있지 않던 희한한(그러면서도 재미있는) 시스템 관리 방법이 여기저기서 튀어나오므로 향후 시스템 관리 수준을 한 단계 높일 수 있도록 도와줄 것이다.
내용 평가
새벽에 일어나서 이 글을 쓰는 동안 SSH로 필자가 관리하는 리눅스 서버에 연결해서 미리 작성한 초고를 확인하고 있다. 벌써 이 책이 소개하는 SSH를 사용해서 하루를 여는 셈이다. 이와 같이 이 책은 독자들의 일상에 필요한 각종 테크닉을 시원스럽게 풀어내고 있다.
온라인 서점이나 오프라인 도서관을 한번 둘러보자. 유닉스 시스템 관리자를 위한 책은 제법 많이 눈에 들어오나, 리눅스는 온라인에 흩어져 있는 LDP등을 위시한 온라인 문서가 대부분을 차지한다. 물론 몇몇 훌륭한 리눅스 시스템 관리 책이 나오긴 했지만, 다른 운영체제와 비교하면 그야말로 빙산의 일각이다. 공개소스와 공개문서 정책이 좋은 점도 있지만, 초보자 입장에서는 누군가 체계적으로 자료를 정리하지 않는 이상 꿰지 않은 구슬로 존재할 뿐이다.
이런 맥락에서 이 책은 이런 모순점을 해결하기 위한 작은 시도로 볼 수 있다. 리눅스 시스템 관리자가 알아두면 유용한 팁과 기교로 무장하고 있으며, 여러 가지 신기한 옵션을 소개하면서 시스템 관리자의 흥미를 유발하는 미덕이 있다. 물론 책 한 권으로 시스템 관리에 도가 통하리라는 기대는 접어야 하지만, 초급을 막 벗어난 관리자 입장에서는 "세상에 이런 방법으로 일을 처리할 수 있구나"라는 감을 심어줄 수 있다는 점에서 무척 긍정적이다. 즉, 서문에서 소개하는 Hack이라는 단어가 주는 장점을 다시 한번 음미하게끔 하는 무엇이 있다.
하지만 짧은 지면에 많은 내용을 다루다 보니 난이도 조절에 실패한 경우도 있으므로, 주의 깊게 읽어야 한다. 초반은 너무 쉬워서 "별거 없구나…"라는 생각이 들 수도 있지만, 중반을 넘어서기 시작하면서 제법 복잡한 예제가 나오므로 정신 바짝 차려야 한다. 펄 스크립트나 배시 셸 스크립트를 모른다면 힘든 싸움이 될 수도 있으므로,
『배시 셸 시작하기』와
『Perl 제대로 배우기』 등을 미리 읽고 들어갈 것을 권장한다.
책이 얇으므로 전반적인 내용을 숙독한 다음 하나씩 실전에 적용해나가는 방법을 택하면 실력향상에 큰 도움이 된다. 본문에 있는 복잡한 스크립트 입력 수고를 덜기 위해 출판사 홈페이지에서 예제를 제공하므로 이를 시작점으로 삼아 하나씩 Hack을 즐겨보자.
예제 URL
-
http://examples.oreilly.com/linuxsvrhack/LSHcode.tgz
-
http://examples.oreilly.com/linuxsvrhack/LSHcode.zip
물론 이 책이 장점만 있는 것은 아니다. 단점도 있다. 요 근래 읽었던 원서 중에서 기술서적 치고는 제법 어려운 영어를 사용하고 있다. 따라서 이상한 영어 단어와 영어 문화권에서 사용하는 유머에 익숙한 사람이 아니라면 영어 때문에 고생할 수도 있다. 하지만 다행히도 책의 전반적인 구성이 예제 위주로 나가고 있기에 읽기에는 큰 문제가 없다(물론 난해한 펄 코드는 늘 어렵다).
기술적 정확성, 가독성, 편집 상태
저자가 직접 사용하던 예제를 풀어쓰고 있으므로 내용상으로는 검증이 끝났다고 볼 수 있다. 하지만 어느 책이나 마찬가지로 오탈자가 역시 문제이다. 특히 치명적인 오류가 존재하는데, 6장 SSH 도입부분과 Hack 66 앞부분이 아에 빠져있다. 다행히도 출판사에서 발표한 보충 파일이 존재하므로, 저작권 부분에 [3/03*]으로 나와있는 책을 구입한 독자들은 반드시 다음 PDF 파일을 추가적으로 읽어보기 바란다.
http://examples.oreilly.com/linuxsvrhack/ch06_chap_start.pdf
기타 몇몇 오탈자가 눈에 들어오므로 (특히 예제와 관련한) 정확성을 기하기 위해 주기적으로 다음에 소개하는 오탈자 페이지를 살펴보기 바란다.
http://www.oreilly.com/catalog/linuxsvrhack/errata/linuxsvrhack.confirmed
참고로, 가독성과 관련하여 불만스러운 부분이 하나 더 있다. 본문 중 예제를 보면 명령행에서 어떤 부분을 사용자 환경에 맞춰 변경해야 하는지 눈에 잘 들어오지 않는다. 물론 몇몇 Hack에서는 이런 문제점을 해결하기 위해 별도로 폰트를 달리하는 경우도 있지만, 전반적으로 일관성이 없기 때문에 더욱 혼란을 초래할 가능성이 크다. 급한 상황에서 책을 빨리 참조하면서 작업할 경우에는 특히 조심해야 하겠다.
편집상태를 놓고 보면 상당히 독자를 배려했다는 느낌이 든다. 판형이 작기 때문에 들고 다니기 쉽다는 점과 Hack마다 관련된 내부 Hack과 외부 LDP 문서/오프라인 책(일부 독자는 오라일리 책에 치중한다고 불평할지도 모르겠는데, 유닉스 관리 서적 분야에서 오라일리와 대적할만한 출판사가 과연 어디에 있는가?)에 대한 교차참조를 싣고 있다는 점은 상당한 장점으로 볼 수 있다. 좀더 욕심을 부리자면, 책 옆면에 장을 구분할 수 있도록 사전식으로 찾아보기를 구성했으면 더욱 좋을 뻔했다.
최종 검토 의견
한마디로 표현하자면, 관리자 관점에서 무척 흥미롭게 잘 쓰여진 책이라고 할 수 있다. 여기에 소개된 모든 내용이 독자들에게 필요하지는 않겠지만, 보험에 가입하는 기분으로(시스템 관리를 하다 보면 무슨 일이 터질지 아무도 예측하지 못한다) 시간을 투자해서 전반적인 내용을 숙지해두고, 짬을 내어 하나 둘씩 Hack 기법을 연습해놓으면 분명히 보상을 받을 때가 있을 것이다.
참고 기사
리눅스 전문가로부터 듣는 최고의 팁 !