최신 Ubuntu 24.04 LTS 버전 반영! 실무형 실습 환경에서 경험하는 『이것이 우분투 리눅스다』 3판!
우분투 리눅스는 데비안 리눅스를 기초로 그놈(GNOME) 데스크톱 환경을 사용하는 리눅스 배포판이다. 우분투는 쉽고 편리한 프로그램 설치 및 이용 방법 덕분에 개인과 기업 모두에게 가장 높은 인기를 누리는 리눅스로 평가받고 있다. 우분투 리눅스를 학습하기에 가장 좋은 환경은 여러 대의 PC를 사용하여 실무와 동일한 네트워크 환경을 구축하는 것이다. 이 책은 VMware를 이용해 1대의 PC로 4대의 컴퓨터를 운영하는 실무형 실습 환경을 기반으로 하며, 설치부터 네트워크 서버 구축까지 우분투 리눅스와 관련된 개념을 폭넓게 다룬다. Ubuntu 24.04 LTS 버전으로 보강된 3판을 통해 다양한 실습을 따라 하다 보면 우분투 리눅스의 필수 기능을 제대로 학습하는 것은 물론, 현장에서 필요한 실무 능력을 직접 경험해 보는 기회가 될 것이다.
저자소개
서강대학교에서 정보시스템 전공으로 석사 과정을 마친 후 다양한 IT 관련 분야에서 실무를 경험했고, 대학에서 프로그래밍, 데이터베이스, 운영체제 등의 과목을 강의해 왔다. 현재는 디티솔루션의 공간데이터베이스 연구소장으로 재직 중이며, 공간 정보와 IT 융합 학문인 유시티 IT 분야의 공학박사 학위도 취득했다. 또한 한양사이버대학교 컴퓨터공학과와 삼성, LG, 현대, CJ, KT, SK, 대한상공회의소 등의 기업에서 인공지능 및 IT 전문 분야를 강의하고 있다. 다양한 IT 실무 경험과 지식을 최대한 쉽고 빠르게 독자와 수강생에게 전달하는 것을 집필과 강의의 모토로 삼고 있다. 지금까지 한빛미디어와 한빛아카데미에서 50권 이상의 책을 집필/번역했다.
목차
Part 01 성공적인 학습을 위한 준비 작업과 우분투 리눅스 설치Chapter 01 실습 환경 구축1.1 가상머신 소개와 설치__1.1.1 가상머신 소개 __1.1.2 가상머신과 가상머신 소프트웨어의 개념__1.1.3 VMware Workstation Pro 설치1.2 가상머신 생성 __1.2.1 가상머신의 겉모양 __1.2.2 가상머신 만들기 1.3 VMware의 특징 1.4 원활한 실습 진행을 위한 사전 준비 __1.4.1 VMware 핫 키(Hot Key) __1.4.2 VMware 종료 시 닫기 옵션 __1.4.3 전체 화면으로 사용하기 __1.4.4 여러 개의 가상머신을 동시에 부팅하기__1.4.5 네트워크 정보 파악과 변경 __1.4.6 호스트 OS와 게스트 OS 사이의 파일 전송 방법Chapter 02 | 우분투 리눅스 소개2.1 리눅스의 개요__2.1.1 리눅스의 탄생 __2.1.2 GNU 프로젝트__2.1.3 커널 2.2 우분투 리눅스 배포판__2.2.1 데비안 리눅스와 우분투 리눅스3__2.2.2 우분투 리눅스 배포판 __2.2.3 우분투 리눅스 버전 __2.2.4 우분투 24.04 LTS를 설치하기 위한 하드웨어 요구 사항 __2.2.5 우분투 24.04 LTS에서 사용되는 주요 패키지 Chapter 03 | 우분투 리눅스 설치3.1 3대의 우분투 설치 __3.1.1 Server 설치__3.1.2 Server(B) 설치 __3.1.3 Client 설치3.2 WinClient의 설치 및 설정 Part 02 우분투 리눅스의 기본 개념과 리눅스 관리자의 역할Chapter 04 | 서버 구축 시 알아야 할 필수 개념과 명령어4.1 리눅스 운영에서 먼저 알아야 할 개념 __4.1.1 시작과 종료 __4.1.2 시스템 재부팅__4.1.3 로그아웃 __4.1.4 가상 콘솔 __4.1.5 리눅스 디렉터리 구조와 명령어 __4.1.6 런레벨 __4.1.7 자동 완성과 히스토리__4.1.8 에디터 사용__4.1.9 도움말 사용법 __4.1.10 마운트와 CD/DVD, USB의 활용__4.1.11 리눅스에서 ISO 파일 생성 4.2 사용자와 그룹 관리__4.2.1 사용자와 그룹의 개념__4.2.2 사용자와 그룹 관련 명령어4.3 파일 속성 __4.3.1 파일과 디렉터리의 소유권과 허가권__4.3.2 링크 4.4 리눅스 관리자를 위한 명령어 __4.4.1 프로그램 설치를 위한 dpkg __4.4.2 편리한 패키지 설치를 위한 apt __4.4.3 파일 압축과 묶기 __4.4.4 파일 위치 검색__4.4.5 시스템 설정__4.4.6 cron과 at 4.5 네트워크 관련 설정과 명령어 4.6 프로세스 관련 개념과 명령어__4.6.1 파이프, 필터, 리디렉션__4.6.2 프로세스, 데몬, 서비스4.7 서비스와 소켓__4.7.1 서비스__4.7.2 소켓4.8 응급 복구 4.9 GRUB 부트로더 4.10 간단한 커널 컴파일 __4.10.1 모듈의 개념과 커널 컴파일의 필요성 __4.10.2 커널 컴파일 Chapter 05 | X 윈도우 시스템5.1 그놈 데스크톱 환경 설정 5.2 X 윈도우 응용 프로그램__5.2.1 파일 브라우저 - 노틸러스__5.2.2 인터넷 응용 프로그램 __5.2.3 사운드 설정 __5.2.4 멀티미디어 응용 프로그램__5.2.5 문서 편집기/뷰어 __5.2.6 CD/DVD 레코딩 - 브라세로__5.2.7 그래픽 프로그램 __5.2.8 LibreOffice __5.2.9 Visual Studio Code__5.2.10 구글 크롬5.3 앱 센터 __5.3.1 간편한 글쓰기 도구 - 포커스 라이터__5.3.2 팟캐스트 프로그램 - 지파더__5.3.3 간단한 프로그래밍 언어 편집기 - 블루피시__5.3.4 시각적 디스크 파티션 - 지파티드__5.3.5 편리한 패키지 관리 - 시냅틱 패키지 관리자__5.3.6 간단한 이미지 편집기 - 핀타 5.4 KDE 데스크톱 사용 Chapter 06 | 하드디스크 관리와 사용자별 공간 할당6.1 디스크 1개 추가하기__6.1.1 SATA 장치와 SCSI 장치 구성 __6.1.2 디스크 추가하기 6.2 디스크 여러 개를 하나처럼 사용하기__6.2.1 RAID의 정의와 개념__6.2.2 RAID 레벨 __6.2.3 RAID 0, RAID 1, RAID 5 구현__6.2.4 RAID 0, RAID 1, RAID 5에서의 문제 발생과 조치 방법__6.2.5 고급 RAID 레벨6.3 LVM .__6.3.1 LVM의 개념__6.3.2 LVM 구현6.4 사용자별로 공간 할당하기 __6.4.1 쿼터의 개념과 실습 Chapter 07 | 셸 스크립트 프로그래밍7.1 셸의 기본__7.1.1 우분투의 bash 셸__7.1.2 셸의 명령문 처리 방법__7.1.3 환경 변수 .7.2 셸 스크립트 프로그래밍 실습 __7.2.1 셸 스크립트 작성과 실행 __7.2.2 변수 __7.2.3 if문과 case문 __7.2.4 반복문__7.2.5 기타 알아 둘 내용Part 03 네트워크 서버 구축 실무 ⅠChapter 08 | 원격지 시스템 관리8.1 텔넷 서버__8.1.1 텔넷 서버의 개요 __8.1.2 텔넷 서버 구축8.2 OpenSSH 서버8.3 XRDP 서버Chapter 09 | 네임 서버9.1 네임 서버의 개념9.2 네임 서버 구축__9.2.1 도메인 이름 체계__9.2.2 로컬 네임 서버가 작동하는 순서__9.2.3 캐싱 전용 네임 서버__9.2.4 마스터 네임 서버__9.2.5 라운드 로빈 방식의 네임 서버 Chapter 10 | 메일 서버10.1 메일 서버의 개념10.2 센드메일 서버 구현10.3 웹 메일 설치 및 사용 Chapter 11 | 데이터베이스 서버11.1 DBMS의 개념과 간단한 SQL문 __11.1.1 DBMS 관련 용어와 역할__11.1.2 필수 SQL문11.2 MySQL의 설치와 운영__11.2.1 MySQL 서버 및 클라이언트 다운로드와 설치__11.2.2 Windows에서 리눅스 MySQL 서버로 접속__11.2.3 MySQL 데이터베이스 생성과 운영 11.3 Windows용 응용 프로그램과 리눅스 DBMS의 연동11.4 Oracle Database Express의 설치와 운영__11.4.1 Oracle Database Express 18c 설치__11.4.2 Oracle에서의 데이터베이스 구축Chapter 12 | 웹 서버12.1 APM 설치와 웹 서버 응용 서비스__12.1.1 apt로 쉬운 설치하기__12.1.2 워드프레스를 활용한 웹사이트 구축12.2 웹 서버 응용 서비스12.3 웹 서버 설정 파일과 폴더Part 04 네트워크 서버 구축 실무 ⅡChapter 13 | FTP 서버13.1 vsftpd의 설치와 운영13.2 보안이 강화된 SFTP의 설치와 운영Chapter 14 | NFS 서버14.1 NFS 서버 구현의 개요14.2 NFS 서버 구현Chapter 15 | Samba 서버15.1 리눅스에서 Windows의 폴더와 프린터 사용15.2 Windows에서 리눅스 폴더와 프린터 사용__15.2.1 Windows에서 리눅스로 접근 __15.2.2 Samba 서버 설정 파일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 Autoinstall Chapter 20 | 리눅스 가상화 기술20.1 리눅스에서의 Windows 응용 프로그램 실행20.2 도커의 개념과 실습__20.2.1 가상 컴퓨터와 컨테이너의 차이점__20.2.2 도커 컨테이너 실습20.3 WSL __20.3.1 WSL과 WSL 2의 짧은 역사 __20.3.2 Windows 11에 WSL 설치 Appendix A 외부 컴퓨터에서 VMware 가상머신으로 접속하기