저는 매일 잠들기 전 최소 30분씩 독서하는 습관을 들이고 있습니다. 항상 기술 서적 한 권과 비기술 서적 한 권을 읽을 목록에 담아 두는데, 시스템 관리자(sysadmin), DBA, 네트워킹, 스토리지처럼 인프라 관련 도서를 특히 즐겨 읽습니다. 물론 유명 인사의 전기나 자기계발서, 가끔은 스릴러 소설도 빠짐없이 챙깁니다.
여기서 소개하는 12권의 리눅스 도서가 리눅스 서적 전체를 대표하는 정석적인 목록이라고 할 수는 없습니다. 하지만 이 12권은 제가 지난 몇 년간 읽으며 큰 재미와 도움을 얻었던 애독서들이며, 아직 읽지 않으셨다면 리눅스 기술 역량을 한층 높여줄 것이라고 확신합니다.
※ 참고로 이 글은 2009년 1월에 작성된 리뷰로, 소개된 도서 상당수는 이후 개정판이 출간되었으니 구입 전 최신판 여부를 확인해 보시기 바랍니다.
리눅스 필독 도서 12권
1. Sed and Awk — Dale Dougherty, Arnold Robbins 지음
Sed와 Awk는 제가 리눅스 명령줄에서 일하는 방식 자체를 바꿔 놓았습니다. 이 책 하나면 Sed와 Awk에 대해 필요한 모든 것을 다룰 수 있습니다. 기본만 제대로 익혀도 복잡한 작업을 얼마나 빠르고 우아하게 처리할 수 있는지에 놀라게 될 겁니다. 실무에서 빠른 예시 참조용으로는 같은 저자가 쓴 『Sed and Awk Pocket Reference』를 활용합니다.
2. Learning the Vi and Vim Editors — Arnold Robbins 지음
저는 명령줄 매니아입니다. 그래서 Vi와 Vim 에디터의 열렬한 팬이기도 하죠. 몇 년 전 리눅스에서 C 코드를 많이 작성할 때는 Vi 에디터 포켓 레퍼런스를 늘 휴대하고 다녔습니다. Vi와 Vim을 이미 여러 해 사용해 왔다 하더라도 이 책을 읽지 않았다면 꼭 읽어 보시길 권합니다. Vim 에디터의 진짜 능력에 깜짝 놀라실 겁니다.
3. Bash Cookbook — Carl Albing, JP Vossen, Cameron Newham 지음
시스템 관리자든 DBA든 개발자든 어느 시점에는 반드시 셸 스크립트를 작성하게 됩니다. 현명한 시스템 관리자는 셸 스크립팅 기법을 마스터하면 반복적인 잡무를 셸 스크립트에 맡겨 서버를 오토파일럿(자동 조종) 모드로 운영할 수 있다는 사실을 잘 알고 있습니다. 시장에 Bash 관련 서적이 몇 종 있지만, 상세한 예제가 풍부한 이 책이 단연 으뜸입니다.
4. SSH, The Secure Shell — Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes 지음
SSH 분야에서 단연코 최고의 책입니다. 이론과 실무 양면을 모두 다룹니다. 최종 사용자 입장에서 SSH를 쓰는 것은 비교적 간단하지만, 관리자가 SSH를 설정하는 일은 복잡하고 깊이 있는 이해를 요구합니다. 시스템 관리자라면 반드시 읽어야 할 필독서입니다. SSH1, SSH2, OpenSSH 등 각 계열별로 무엇을 어떻게 다르게 구성해야 하는지 예제를 통해 정확히 보여줍니다.
5. Essential System Administration — Æleen Frisch 지음
유닉스 시스템 관리자를 꿈꾸는 사람에게 더없이 훌륭한 책입니다. 일반적인 시스템 관리 업무를 폭넓게 다루며, AIX, FreeBSD, HP-UX, 리눅스, Solaris, Tru64 등 여러 유닉스 계열을 동시에 다룰 때 완벽한 동반자가 되어 줍니다. 저도 여러 유닉스 시스템을 함께 관리하던 시절 포켓판인 『Essential System Administration Pocket Reference』를 유용하게 활용했습니다.
6. Linux Server Hacks, Volume One — Rob Flickenger 지음
100가지 훌륭한 실전 팁(hack)을 한 권에 담았습니다. 리눅스 테스트 환경을 구축한 뒤 하나씩 직접 적용해 보세요. 서버 기본, 버전 관리, 백업, 네트워킹, 모니터링, SSH, 스크립팅, 정보 서버 등 주제별로 깔끔하게 분류되어 있습니다. 1권을 마스터했다면 인증, 모니터링, 보안, 성능, 연결성에 초점을 맞춘 100가지 팁을 담은 William von Hagen과 Brian Jones의 2권도 반드시 읽어 보세요.
7. DNS and BIND — Cricket Liu, Paul Albitz 지음
몇 년 전 온라인 문서만 참고해 첫 DNS를 구축한 뒤, DNS와 BIND의 동작 원리를 제대로 이해하기 위해 이 책을 구입했습니다. 개정판이 나올 때마다 두 번이나 새로 샀을 정도로 믿고 보는 책입니다. 진지한 시스템 관리자라면 서재에 반드시 꽂아 둬야 할 한 권입니다.
8. Understanding the Linux Kernel — Daniel Bovet, Marco Cesati 지음
리눅스 환경에서 진지하게 개발하는 개발자나 시스템 관리자라면 필독서입니다. 리눅스 커널 2.6의 내부 동작을 체계적이고 논리적으로 설명합니다. 커널이 메모리 관리, 프로세스 스케줄링, I/O 아키텍처, 블록 디바이스를 어떻게 처리하는지 상세히 다룹니다. 리눅스의 겉모습 너머를 들여다보고 싶은 호기심 많은 개발자에게는 그야말로 별미 같은 책입니다.
9. Linux Cookbook — Carla Schroder 지음
일반 사용자와 시스템 관리자 양쪽의 관점에서 리눅스 기능을 다룹니다. RPM 기반 시스템과 데비안에서 소프트웨어를 설치하고 관리하는 방법을 각각 다룬 두 개의 장이 별도로 마련되어 있습니다. RedHat 계열을 사용한다면 Daniel J. Barrett의 『Linux Pocket Guide』도 훌륭한 추가 선택지입니다. 필수 리눅스 명령어와 사용 예제를 함께 담고 있습니다.
10. Linux Firewalls — Michael Rash 지음
안전한 리눅스 시스템을 구축하려면 반드시 읽어야 할 책입니다. iptables 관련 서적은 여러 권 있지만, 이 책은 iptables, psad, fwsnort를 활용해 침입 탐지 시스템(IDS)을 구축하는 기본 원리를 집중적으로 다룹니다. iptables로 할 수 있는 모든 기능을 구체적인 예제와 함께 훑어보고 싶다면 Gregor N. Purdy의 『Linux Iptables Pocket Reference』가 가장 좋습니다.
11. Linux Administration Handbook — Evi Nemeth, Garth Snyder, Trent R. Hein 지음
제 시스템 관리 경력 초창기에 가장 자주 찾았던 책입니다. 거의 1,000페이지에 30개 장으로 구성된 방대한 분량으로, 기본 관리(Basic Administration), 네트워킹(Networking), 기타 주제(Bunch O' Stuff)라는 세 개의 상위 섹션으로 깔끔하게 묶여 있어 필요한 내용을 빠르게 찾기 좋습니다.
12. Beginning Ubuntu Linux — Keir Thomas, Jaime Sicam 지음
윈도우에서 리눅스로 갈아타고 싶은 분들은 오래된 노트북이나 데스크톱에 우분투 리눅스를 설치하고 이 책을 펴 보세요. 저는 아직 리눅스를 사용하지 않는 사람들에게 리눅스의 매력을 알리는 일을 무척 중요하게 생각합니다. 가족이나 친구에게 리눅스를 알려주고 싶다면 오래된 노트북에 우분투를 설치하고 이 책을 선물해 보세요. 분명 고마워할 겁니다.
마무리하며
추천 리눅스 도서를 더 살펴보고 싶다면 Amazon의 The Geek Stuff 서점을 둘러보세요.
리눅스 관련 서적은 수백 광종에 이릅니다. 이 목록에 없는 여러분의 최애 리눅스 도서는 무엇인가요? 댓글로 공유해 주세요.