이미 소장하고 있다면 판매해 보세요.
|
01장 모르면 손해 본다! 꼭 알아두면 좋은 Linux 내부 구조
1.1 Linux의 기초는 디스크, 프로세스, 메모리 1.2 디스크와 파일에 관련된 이것저것 1.2.1 디스크의 기하학 1.2.2 오래됐지만 새로운 파티션 테이블 1.2.3 파일 시스템과 I/O 서브시스템을 생각하다 1.3 프로세스를 정복하는 자가 Linux를 정복하리라 1.3.1 fork와 exec는 프로세스의 분신과 변신 1.3.2 작업 제어의 이것저것 1.3.3 파이프라인으로 하는 빠른 데이터 처리 1.4 메모리 관리의 세계로 한 발 더 나아가자 1.4.1 물리 메모리의 분류 1.4.2 메모리 할당과 릴리즈 1.4.3 컨텍스트 스위치와 페이지 테이블 02장 장치가 없다고 변명하지 말자! 가상화를 이용한 인프라 환경 구축 2.1 인프라 엔지니어의 성장은 혼자 하는 연습에서부터 2.2 Linux KVM으로 가상 네트워크 삼매경 2.2.1 가상 네트워크 구성과 가상 머신의 구축 2.2.2 DNS 서버의 구축 2.2.3 메일 서버 구축 2.3 가상 머신으로 HA 클러스터도 혼자 연습해 보자! 2.3.1 HA 애드온의 이해 2.3.2 호스트 Linux 준비와 가상 머신의 구성 2.3.3 HA 애드온 도입과 구성 2.3.4 HA 애드온 도입과 구성 03장 열 번 승부! 스스로 만든 스크립트를 이용한 커맨드의 활용 3.1 간단하고 효과적인 쉘 스크립트 3.2 쉘 스크립트의 기본 룰 3.2.1 쉘 스크립트의 동작 확인 3.2.2 인용부의 사용법 3.2.3 조건 판단을 작성하는 법 3.2.4 배열과 위치 파라미터의 사용법 3.2.5 커맨드 치환과 수치 연산 3.3 쉘 스크립트로 승부! 3.3.1 [첫 번째 승부] 경유 서버로 배우는 핵심: 기본 파라미터 + 예외 처리 3.3.2 [두 번째 승부] 분산 쉘로 배우는 핵심: 기본 패턴과 파이프라인 3.3.3 [세 번째 승부] 프로세스 감시로 배우는 핵심: 상태 이동 다루기 3.3.4 [네 번째 승부] 핵심 번외편: 일괄 작업(batch)은 make에게 맡기자 3.3.5 [다섯 번째 승부] 스냅샷으로 배우는 핵심: 파이프라인으로 로그를 다루자 3.3.6 [여섯 번째 승부] 클라우드 백업으로 배우는 핵심: 사고 실험으로 처리의 흐름을 생각하자 3.4 Perl 스크립트로 승부! 3.4.1 [일곱 번째 승부] 자동 집필로 Perl을 즐기자 3.4.2 [여덟 번째 승부] 자동 트윗으로 Perl의 편리함을 체험 3.4.3 [아홉 번째 승부] 프로세스 감시로 fork를 마스터하자 3.4.4 [열 번째 승부] 마지막 필살기: Perl과 파이프라인의 연동 04장 최후의 보루, 커널 소스를 읽자! 4.1 소스 코드를 책을 읽듯이 읽자 4.2 커널 소스가 걷는 법 4.2.1 LIinux 커널의 빌드 순서 4.2.2 커널 소스 탐색 입문 4.2.3 구조체와 포인터 완전 분석 4.3 주요 서브시스템을 탐색하자 4.3.1 프로세스 관리 서브시스템 4.3.2 메모리 관리 서브시스템과 만나다 4.4 커널 소스 분석의 예 4.4.1 커널 내부의 시스템 시각 4.4.2 윤초 발생의 시간 4.4.3 더 깊은 탐구를 위한 가이드 05장 한 걸음 더 나아가자! RHEL6 신기능 총집합 5.1 코모디티화되는 하드웨어를 지탱하는 ‘진화하는 OS’ 5.1.1 ex4 파일 시스템의 채용 5.1.2 NetworkManager 서비스의 도입 5.1.3 dracut에 따른 초기 RAM 디스크의 작성 5.1.4 anacron에 따른 정기 작업 실행 5.2 서버 가동 처리를 바꾸는 Upstart 5.2.1 Upstart의 개요 5.2.2 Upstart 작업의 작성 예 5.3 Control Group으로 리소스 배분 컨트롤 5.3.1 Control Group의 개요 5.3.2 각 서브시스템의 주요 파라미터 5.3.3 cg 커맨드 그룹을 이용한 관리 5.3.4 가상 머신에 대한 cggroup의 조작 5.4 LXC로 컨테이너형 가상화 기술 체험 5.4.1 컨테이너형 가상화 기술의 개요 5.4.2 컨테이너에 따른 웹 서버의 가동 5.4.3 기타 컨테이너 설정 찾아보기 |
|
파이프라인 처리의 기초는 표준 입출력이다. 먼저, 프로그램의 출력처가 되는 표준 출력(stdout)과 표준 에러 출력(stderr)을 소개하겠다. 한편으로, 프로그램에 대한 데이터 입력의 대상이 되는 것은 표준 입력(stdin)이라고 한다. 표준 입력은 터미널에서 키보드로 입력하는 것이 기본이다. 예를 들어, cat 커맨드는 보통 파일명을 지정하여 그 내용을 화면에 출력하지만, 파일명을 지정하지 않은 경우는 표준 입력에서 전달받은 내용을 그대로 표준 출력에 1행씩 출력한다(그림 1.19의 상단).
--- p.43 그러면 실제로 가상 네트워크를 구성해 보자. 여기서는 RHEL6.2로 KVM이 디폴트로 설정되어 있다고 가정한다. 이후의 가상 네트워크 설정 순서는 RHEL6.2의 KVM 환경을 전제로 하고 있지만, RHEL5의 KVM 환경도 같은 방법으로 준비하면 된다. --- p.87 쉘 스크립트의 실제 예를 들기 전에 먼저 쉘 스크립트의 기본 룰을 설명하겠다. 쉘 스크립트에는 다른 프로그램 언어와 미묘하게 다른 독자적인 기법이 많기 때문에 시간이 가면 잊어버리기 쉬운 문법이 많다. 그러므로 이번 장은 쉘 스크립트를 작성할 때 쉽게 참조할 수 있는 레퍼런스로 활용하길 바란다. --- p.166 이번 장에서는 Linux 커널의 주요 기능을 소스 코드를 읽어가며 배워 보도록 하자. 물론, 막무가내로 진행할 수는 없으므로 ‘프로세스 관리 서브시스템’과 ‘메모리 관리 서브시스템’으로 나누어서 알아보도록 하자. 그리고 주요 데이터를 저장하는 구조체에 대해 더 알아보도록 한다. --- p.276 |
|
“리눅스를 완전 분석한다 - 리눅스 정복의 왕도”
쉘 스크립트를 쓰고, 소스 코드를 읽고, 시스템을 직접 만들자! 디스크/프로세스/메모리의 비밀을 파헤친다. 실전형 쉘 스크립트 예제 10회 제공! 커널, 소스 코드 리딩의 비법 전수, 그리고 가상화까지 RHEL6 완전정복! 이 책은 업무 시스템으로서의 리눅스 서버 구축/운용에 관한 책이다. 리눅스에 관한 기술적 이해를 한 번 더 하고 싶다거나 더욱 자신 있게 일하고 싶은 엔지니어를 대상으로 하고 있다. 리눅스의 내부 구조부터 스크립트 작성 기술, 커널 소스 읽는 방법 등 일반 리눅스 서적에서 얻을 수 없는 '근본적인 부분을 다루는 기술'을 전하려고 한다. 이 책의 기술을 디딤돌 삼아 엔지니어로서의 새로운 도약을 할 수 있기를 바란다. 이 책의 주요 내용 제1장 모르면 손해 본다! 꼭 알아두면 좋은 리눅스 내부 구조 리눅스 서버의 적절한 운용과 문제 해결에 기초가 되는 '디스크 관리', '프로세스 관리', '메모리 관리'에 대해 설명한다. 리눅스의 내부 구조에서부터 실전에 도움이 되는 정보를 제공하고 있다. 제2장 장치가 없다고 변명하지 말자! 가상화를 이용한 인프라 환경 구축 IT 인프라를 다루는 데 기초가 되는 '시스템 전체 구조의 이해'를 위해서는 전체 시스템을 스스로 구축해 볼 필요가 있다. 메일 서버와 HA 클러스터 환경 구축을 위해 Linux KVM 가상 머신 환경을 이용하여 ‘셀프 개발환경’ 만드는 법을 소개한다. 제3장 열 번 승부! 스스로 만든 스크립트를 이용한 커맨드의 활용 서버 관리 작업의 효율을 높이기 위한 쉘 스크립트와 Perl 스크립트의 작성법에 대해 설명한다. 쉘 스크립트에 대해서는 단순히 기본 룰이나 샘플 소개가 아니라 현장에서 바로 활용할 수 있는 실제 코드를 소개한다. 그리고 텍스트 분석이나 fork의 이용 등 Perl 특유의 기능과 데이터 구조를 설명함으로써 Perl 스크립트에 대해서도 더욱 잘 알 수 있도록 하였다. 제4장 최후의 보루, 커널 소스를 읽자! 리눅스 내부 구조를 더욱 깊이 알기 위해서는 리눅스 커널의 소스 코드를 분석할 필요가 있다. 실제로 동작하는 커널의 빌드 순서를 소개한 후 그 소스 코드를 읽어가는 순서로 진행한다. 소스 코드를 변경하여 자신만의 커널을 만드는 간단한 예도 소개한다. 제5장 한 걸음 더 나아가자! RHEL6 신기능 총집합 리눅스 서버 관리자로서 알고 있어야 할 Red Hat Enterprise Linux 6(RHEL6)의 달라진 점과 새로운 기능인 Upstart, Control Groups LXC(Linux 컨테이너)에 대해 자세히 설명한다. 앞으로 리눅스의 기초 지식이 될 신기술을 먼저 익히자. |