이것이 우분투 리눅스다
“이 책은 리눅스를 처음 접하거나, 또 접해 봤더라도 위의 사례와 같은 경험이 있는 독자가 리눅스 관리자 및 네트워크 서버 관리자의 역할을 할 수 있도록 훈련하는 데 목적을 둔 교재이다.”내가 처음 만난 리눅스는 ubuntu 14.04 LTS 였다. 편입하고 첫 학기에서 선배들은 C언어를 공부할 때, visual studio를 거의 죄악시 했다. 컴퓨터를 전공하는 학생이라면 당연히 vi로 c 코드를 작성하고 gcc로 컴파일 해야 한다고 했다. 그 때 60만원 짜리 노트북에다가 ubuntu를 몇번이나 지웠다 깔았다. 카페에 공부하러 가면 터미널이 간지라며, ubuntu에 터미널을 열어놓고 공부하기도 했다. 그러나 나는 ubuntu를 잘 몰랐다. 대충 c 코드 작성하고 gcc 컴파일해서 실행할 수 있는 정도였다.그 수준에서 나는 취업을 했고, 윈도우에서 자바 웹 개발을 했다. 가끔 서버에 접속해서 ps -ef | grep ‘어쩌고’ 하면서 서버 프로세스가 떠있는지 확인하고 죽이거나, crontab을 수정하거나, tail -f ‘log파일’로 로그를 보곤 했지만, 그냥 남들이 하길래 하는 정도였다. 회사 서버가 ubuntu 였는지 centOS 였는지도 사실 모른다. 뭔가 중요한 일은 무조건 시스템 엔지니어에게 회사 업무 프로토콜로 요청해야했다.작년인가 재작년 쯤에 devops라는 말을 처음 들었다. 의미는 잘 모르지만, 시스템 인프라가 점점 추상화 되고 개발자가 직접 인프라를 다루는 일이 많아지는 것 같았다. 공부를 해야겠다고 마음 먹고 aws 책을 몇권 샀지만, 재미가 없어서(어려워서) 읽다가 말았다. 리눅스 부터 공부해야겠다고 생각했다.그러던 차에 “이것이 우분투 리눅스다” 라는 책이 내 앞에 오게 되었다. 내가 시스템 인프라를 다루는데 조금 도움이 되주길 바라면서 읽게 되었다.이 책의 장점에 대해서 알아보자.첫째, 리눅스에 대한 궁금증을 다소 해결해준다. 이 책의 chapter4에서 나의 가려운 곳을 많이 긁어 주었다. 리눅스 기본에 대해서 부족한 점이 많았는데 이 부분에서 많이 배웠다. 내가 개인적으로 알게되어 좋았던 부분을 열거해보면 다음과 같다.둘째, 이 책은 정말로 친절하다. 이 책이 페이지 수가 많은 이유도 그 때문인것 같다. 디테일하게 스크린샷이 많다. 그대로 따라치면 잘 된다. 만약 실제로 서버를 구축해야할 경우 이 책이 하라는 대로 하면 쉽게 할 수 있을 것 같다.셋째, 이 책은 설명을 절제하고 있다. 개인적으로 새로운 내용을 설명할 때 중요한 부분은 절제이다. 설명을 하다보면 끝도 없을 때가 많기 때문이다. 이 책은 필요한 부분만 적절하게 잘 설명하고 있는 느낌이 들었다. 여기에서 저자의 노하우가 느껴졌다.
이 책과 동영상 강의로, 우분투 리눅스를 설치한 후 한달 뒤에도 지우지 않고 쓸 것을 보장한다! 그 동안 우분투 리눅스를 설치만 해놓거나 설치부터 막혀서 포기했던 독자라면, 이 책이 우분투 리눅스를 마스터할 마지막 기회다. ‘초보자도 리눅스의 실무 기능을 막힘 없이 실습 가능하도록’ 저자의 17년간의 생생한 강의 경험을 이 책과 동영상에 담아냈다. 특히 FTP 서버는 물론, NFS 서버, Samba 서버, DHCP 서버, 프록시 서버 등 실제 학생들이 어려워했던 네트워크 서버 실습 과정도 최대한 ‘현장의 눈높이에 맞춰, 현장의 목소리’를 담는 데 주력했다. 이제 필요한 것은 책과 동영상 강의뿐이다! 실제 네트워크 환경과 동일한 VMware 설치부터 서버&네트워크 관리까지 한 단계씩 차근차근 따라한다면 책의 마지막 페이지까지 중도 포기하지 않고 완성할 수 있을 것이다.
PART 1 성공적인 학습을 위한 준비 작업 및 우분투 리눅스 설치
CHAPTER 1 실습 환경 구축
__1.1 가상머신의 소개와 설치
__1.2 가상머신 생성
__1.3 VMware의 특징
__1.4 원활한 실습 진행을 위한 사전 준비
CHAPTER 2 우분투 리눅스 소개
__2.1 리눅스의 개요
__2.2 우분투 리눅스 배포판
CHAPTER 3 우분투 리눅스 설치
__3.1 3대의 우분투 리눅스 설치
__3.2 WinClient 설치
PART 2 우분투 리눅스의 기본 개념과 리눅스 관리자의 기본 역할
CHAPTER 4 서버를 구축할 때 알아야 할 필수 개념과 명령어
__4.1 리눅스 운영 전에 알아야 할 개념
__4.2 리눅스 기본 명령어
__4.3 사용자 관리와 파일 속성
__4.4 리눅스 관리자를 위한 명령어
__4.5 네트워크 관련 설정과 명령어
__4.6 파이프, 필터, 리디렉션
__4.7 프로세스, 데몬, 서비스
__4.8 서비스와 소켓
__4.9 응급 복구
__4.10 GRUB 부트로더
__4.11 간단한 커널 컴파일
CHAPTER 5 X 윈도를 사용해보자
__5.1 그놈 데스크톱 환경 설정
__5.2 X 윈도 응용프로그램
__5.3 우분투 소프트웨어 센터
__5.4 리눅스에서 Windows 응용프로그램 실행
__5.5 KDE 데스크톱의 사용
CHAPTER 6 하드디스크 관리와 사용자별 공간 할당
__6.1 하드디스크 한 개 추가하기
__6.2 여러 개의 하드디스크를 하나처럼 사용하기
__6.3 LVM
__6.4 RAID에 우분투 설치하기
__6.5 사용자별로 공간 할당하기
CHAPTER 7 셸 스크립트 프로그래밍
__7.1 셸의 기본
__7.2 셸 스크립트 프로그래밍 실습
PART 3 네트워크 서버 구축 실무
CHAPTER 8 원격지 시스템 관리하기
__8.1 텔넷 서버
__8.2 OpenSSH 서버
__8.3 VNC 서버
CHAPTER 9 네임 서버 설치와 운영
__9.1 네임 서버의 개념
__9.2 네임 서버의 구축
CHAPTER 10 메일 서버 설치와 운영
__10.1 메일 서버의 개념
__10.2 센드메일 서버의 구현
__10.3 웹 메일의 설치 및 사용
CHAPTER 11 데이터베이스 서버 구축과 운영
__11.1 DBMS의 개념과 간단한 SQL문
__11.2 MariaDB 설치와 운영
__11.3 Oracle Database Express의 설치와 운영
__11.4 Windows용 응용프로그램과 리눅스 DBMS의 연동
CHAPTER 12 웹 서버 설치와 운영
__12.1 APM 설치와 웹 서버의 응용 서비스
__12.2 웹 서버 설정 파일과 폴더
PART 4 네트워크 서버 구축 실무 Ⅱ
CHAPTER 13 FTP 서버 설치와 운영
__13.1 vsftpd의 설치와 운영
__13.2 proFTPD의 설치와 운영
CHAPTER 14 NFS 서버 설치와 운영
__14.1 NFS 서버 구현
CHAPTER 15 Samba 서버 설치와 운영
__15.1 리눅스에서 Windows의 폴더와 프린터 사용
__15.2 Windows에서 리눅스 폴더와 프린터의 사용
CHAPTER 16 DHCP 서버 설치와 운영
__16.1 DHCP 개념
__16.2 DHCP 구현
CHAPTER 17 프록시 서버 설치와 운영
__17.1 프록시 서버의 개념
__17.2 프록시 서버의 구현
CHAPTER 18 방화벽 컴퓨터를 만들자
__18.1 보안을 위한 네트워크 설계
__18.2 리눅스 방화벽 컴퓨터의 구축
CHAPTER 19 PXE 설치 서버
__19.1 PXE 설치 서버의 개념과 구현
__19.2 킥스타트
부록 외부 컴퓨터에서 VMware 가상머신으로 접속하기