HOME > 상세정보

상세정보

리눅스 : 문제 분석과 해결 : 아무도 가르쳐주지 않았던 리눅스 실전 노하우

리눅스 : 문제 분석과 해결 : 아무도 가르쳐주지 않았던 리눅스 실전 노하우 (25회 대출)

자료유형
단행본
개인저자
Wilding, Mark Behman, Dan , 저 박재호 , 역 이해영 , 역
서명 / 저자사항
리눅스 : 문제 분석과 해결 : 아무도 가르쳐주지 않았던 리눅스 실전 노하우 / Mark Wilding ; Dan Behman 지음 ; 박재호 ; 이해영 옮김.
발행사항
의왕 :   에이콘 ,   2006.  
형태사항
xxⅲ, 447 p. : 삽도 ; 25 cm.
총서사항
에이콘 오픈소스 프로그래밍 시리즈 ; 8
원표제
Self-service Linux : mastering the art of problem determination
ISBN
8989975999
일반주기
찾아보기 : p. 421-433  
비통제주제어
리눅스 , Linux ,,
000 01085camccc200325 k 4500
001 000045345262
005 20100806123429
007 ta
008 061031s2006 ggka 001c kor
020 ▼a 8989975999 ▼g 93560: ▼c \28,000
024 3 ▼a 9788989975991
035 ▼a (KERIS)BIB000010692323
040 ▼a 225007 ▼c 225007 ▼d 244002
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.432 ▼2 22
090 ▼a 005.432 ▼b 2006i
100 1 ▼a Wilding, Mark
245 1 0 ▼a 리눅스 : ▼b 문제 분석과 해결 : ▼b 아무도 가르쳐주지 않았던 리눅스 실전 노하우 / ▼d Mark Wilding ; ▼e Dan Behman 지음 ; ▼e 박재호 ; ▼e 이해영 옮김.
246 1 9 ▼a Self-service Linux : mastering the art of problem determination
260 ▼a 의왕 : ▼b 에이콘 , ▼c 2006.
300 ▼a xxⅲ, 447 p. : ▼b 삽도 ; ▼c 25 cm.
440 0 0 ▼a 에이콘 오픈소스 프로그래밍 시리즈 ; ▼v 8
500 ▼a 찾아보기 : p. 421-433
653 ▼a 리눅스 ▼a Linux
700 1 ▼a Behman, Dan , ▼e
700 1 ▼a 박재호 , ▼e
700 1 ▼a 이해영 , ▼e
740 ▼a 아무도 가르쳐주지 않았던 리눅스 실천 노하우
900 1 ▼a 윌딩, 마크

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.432 2006i 등록번호 121149513 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.432 2006i 등록번호 121149514 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 세종학술정보원/과학기술실/ 청구기호 005.432 2006i 등록번호 151225068 도서상태 대출가능 반납예정일 예약 서비스
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.432 2006i 등록번호 121149513 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.432 2006i 등록번호 121149514 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.432 2006i 등록번호 151225068 도서상태 대출가능 반납예정일 예약 서비스

컨텐츠정보

책소개

고급 사용자, 관리자, 개발자, 지원 부서를 위한 구조적이며 실질적인 리눅스 문제 해결사다. 오류, 비정상 종료, 정지, 성능 저하, 기대하지 않은 행동 양식, 기대하지 않은 결과를 시스템적으로 파헤치며, strace, gdb, kdb, SysRq, /proc 등 핵심적인 리눅스 문제 해결 도구에 통달하는 방법을 알려준다.


정보제공 : Aladin

저자소개

마크 윌딩(지은이)

현재 유닉스와 리눅스 편의성 기술을 전문적으로 연구하는 선임 개발자로 IBM에서 근무하고 있다. 15년 이상 소프트웨어 개발 경험을 토대로, 운영체제, 네트워크, C/C++ 개발, 편의성, 품질 공학, 컴퓨터 하드웨어 부문에서 다양한 경험을 쌓아왔다.

댄 버만(지은이)

토론토 IBM 소프트웨어 연구실에서 리눅스 플랫폼 개발을 위한 DB2 UDB 개발팀 일원으로 근무하고 있다. 리눅스 10년 이상 경력을 자랑하며, x86-64, z시리즈, 파워 플랫폼을 포함한 리눅스가 지원하는 최신 아키텍처에 DB2 UDB를 이식하고 동작하는 작업에 참여했다.

이해영(옮긴이)

포항공과대학교 컴퓨터공학과 학부와 퍼듀대학교 전자계산학과 대학원을 졸업했다. 현재 프리랜서 번역가다. 『English for Developers : IT 트렌드로 배우는 개발자 영어 독해』를 저술했고, 『The Art of Project Management : 마음을 움직이는 프로젝트 관리』, 『Rapid Development : 프로젝트 쾌속 개발 전략』(이상 한빛미디어), 『조엘 온 소프트웨어』(에이콘), 『프로젝트가 서쪽으로 간 까닭은 : 프로젝트 군상의 86가지 행동 패턴』, 『피플웨어(3판)』, 『Clean Code 클린 코드 : 애자일 소프트웨어 장인 정신』(이상 인사이트)을 번역했다.

박재호(옮긴이)

전 ICON 치프 아키텍트(Chief Architect). 임베디드 시스템 개발, 기업용 백업 소프트웨어 개발, 방송국 콘텐츠 수신제한 시스템 개발과 운영 지원, 클라우드에서 동작하는 서비스 개발에 이르기까지 다양한 실무 경험을 토대로 고성능 고가용성 시스템을 설계하고 있다. 집필 및 번역한 책이 40여 권에 이른다. - 『English for Developers』(한빛미디어, 2015) 공저 - 『조엘 온 소프트웨어』(에이콘출판, 2005) 공역 - 『Clean Code 클린 코드』(인사이트, 2013) 공역

정보제공 : Aladin

목차


목차
추천의 글 = ⅳ
아마존 독자서평 = ⅴ
저자에 대하여 = ⅵ
옮긴이 서문 = ⅶ
들어가며 = xviii
1장 문제 해결 우수 기법과 초반 조사 = 1
 1.1 시작 = 1
 1.2 효과적으로 문제를 분석하기 위한 시스템 준비 = 2
 1.3 네 단계 조사 과정 = 3
  1.3.1 1단계: 자기 힘으로 초반 조사 수행 = 5
  1.3.2 2단계: 효과적인 인터넷 검색 = 9
  1.3.3 3단계: 심도 있는 조사 수행(우수한 문제 조사 기법) = 12
  1.3.4 4단계: 도움/아이디어 얻기 = 21
 1.4 기술적 조사 = 28
  1.4.1 증상과 원인 = 28
 1.5 상용제품 문제해결 방법 = 39
 1.6 결론 = 40
2장 strace와 시스템 호출 추적 = 41
 2.1 개요 = 41
 2.2 strace란? = 41
  2.2.1 커널 측면에서 이해하기 = 45
  2.2.2 언제 strace를 사용할까? = 48
  2.2.3 간단한 예제 = 49
  2.2.4 동일한 예제를 정적으로 빌드한 경우 = 53
 2.3 주요 strace 옵션 = 54
  2.3.1 자식 프로세스 추적 = 54
  2.3.2 시스템 호출 활동 시간 측정 = 55
  2.3.3 상세 출력 모드 = 58
  2.3.4 실행 중인 프로세스 추적 = 60
 2.4 strace 영향과 고려 사항 = 60
  2.4.1 strace와 EINTR = 61
 2.5 디버깅 실례 = 62
  2.5.1 LD_LIBRARY_PATH 경로를 수정하여 시작 시간 줄이기 = 62
  2.5.2 PATH 환경 변수 = 65
  2.5.3 inetd 또는 xinetd(수퍼 서버) 추적하기 = 66
  2.5.4 통신 오류 = 68
  2.5.5 strace로 정지 상태 조사하기 = 69
  2.5.6 역공학(strace 도구가 동작하는 방식) = 71
 2.6 시스템 호출 추적 예제 = 75
  2.6.1 예제 코드 = 75
  2.6.2 시스템 호출 추적 코드 설명 = 87
 2.7 결론 = 88
3장 /proc 파일시스템 = 89
 3.1 개요 = 89
 3.2 프로세스 정보 = 90
  3.2.1 /proc/self = 90
  3.2.2 /proc/〈pid〉 세부 사항 = 91
  3.2.3 /proc/〈pid〉/cmdline = 107
  3.2.4 /proc/〈pid〉/environ = 107
  3.2.5 /proc/〈pid〉/mem = 107
  3.2.6 /proc/〈pid〉/fd = 107
  3.2.7 /proc/〈pid〉/mapped_base = 108
 3.3 커널 정보와 조작 = 109
  3.3.1 /proc/cmdline = 109
  3.3.2 /proc/config.gz 또는 /proc/sys/config.gz = 109
  3.3.3 /proc/cpufreq = 110
  3.3.4 /proc/cpuinfo = 110
  3.3.5 /proc/devices = 110
  3.3.6 /proc/kcore = 111
  3.3.7 /proc/locks = 111
  3.3.8 /proc/meminfo = 111
  3.3.9 /proc/mm = 112
  3.3.10 /proc/modules = 112
  3.3.11 /proc/net = 112
  3.3.12 /proc/partitions = 112
  3.3.13 /proc/pci = 113
  3.3.14 /proc/slabinfo = 113
 3.4 시스템 정보와 조작 = 113
  3.4.1 /proc/sys/fs = 114
  3.4.2 /proc/sys/kernel = 115
  3.4.3 /proc/sys/vm = 120
 3.5 결론 = 120
4장 컴파일 = 121
 4.1 개요 = 121
 4.2 GCC = 121
  4.2.1 GCC의 간단한 역사 = 121
  4.2.2 GCC 버전 호환성 = 122
 4.3 기타 컴파일러 = 123
 4.4 리눅스 커널 컴파일 = 123
  4.4.1 커널 원시 코드 얻기 = 124
  4.4.2 아키텍처 관련 원시 코드 = 124
  4.4.3 커널 컴파일 오류 처리하기 = 125
  4.4.4 일반적인 컴파일 문제 = 128
 4.5 어셈블리 목록 = 134
  4.5.1 어셈블리 목록의 목적 = 134
  4.5.2 어셈블리 목록 생성하기 = 136
  4.5.3 어셈블리 목록 읽기와 이해하기 = 137
 4.6 컴파일러 최적화 = 140
 4.7 결론 = 150
5장 스택 = 151
 5.1 개요 = 151
 5.2 실생활에 비유한 예제 = 152
 5.3 x86/x86-64 아키텍처 스택 = 153
 5.4 스택 프레임이란? = 157
 5.5 스택 동작 방식 = 159
  5.5.1 BP와 SP 레지스터 = 159
  5.5.2 함수 호출 규약 = 162
 5.6 스택 자료 참조와 수정 = 171
 5.7 디버거로 스택 보기 = 173
 5.8 스택 이해하기 = 176
  5.8.1 직접 설계한 스택 역추적 기능 = 180
 5.9 결론 = 192
6장 GNU 디버거(GDB) = 193
 6.1 개요 = 193
 6.2 디버거를 사용하는 시점 = 194
 6.3 명령행 편집 = 195
 6.4 GDB로 프로세스 제어하기 = 196
  6.4.1 GDB 명령행에서 프로그램 실행하기 = 197
  6.4.2 GDB에 실행 중인 프로세스 붙이기 = 199
  6.4.3 core 파일 사용하기 = 201
 6.5 데이터, 메모리, 레지스터 확인하기 = 204
  6.5.1 메모리 맵 = 204
  6.5.2 스택 = 206
  6.5.3 메모리와 변수 확인하기 = 210
  6.5.4 레지스터 덤프 = 217
 6.6 실행 = 220
  6.6.1 기본 명령 = 221
  6.6.2 실행 제어 명령을 위한 환경설정 = 223
  6.6.3 정지점 = 228
  6.6.4 감시점 = 230
  6.6.5 정지 시 표현식 출력 = 234
  6.6.6 공유 라이브러리로 작업하기 = 235
 6.7 원시 코드 = 238
 6.8 어셈블리 언어 = 240
 6.9 팁과 기교 = 241
  6.9.1 프로세스 붙이기: 다시 한번 돌아보기 = 241
  6.9.2 변수와 함수의 주소 찾기 = 244
  6.9.3 디버그 심볼이 없는 프로그램에서 구조체 보기 = 246
  6.9.4 엔디언 방식 이해하고 다루기 = 250
 6.10 C++ 디버깅 = 252
  6.10.1 전역 생성자와 소멸자 = 252
  6.10.2 인라인 함수 = 256
  6.10.3 예외 = 257
 6.11 스레드 = 260
  6.11.1 스택 공간 부족 = 265
 6.12 DDD = 266
  6.12.1 데이터 표시 윈도우 = 268
  6.12.2 원시 코드 윈도우 = 273
  6.12.3 기계어 윈도우 = 273
  6.12.4 GDB 콘솔 윈도우 = 274
 6.13 결론 = 274
7장 리눅스 시스템 비정상 종료와 정지 = 275
 7.1 개요 = 275
 7.2 정보 수집 = 275
  7.2.1 syslog 설명 = 276
  7.2.2 직렬 콘솔 준비하기 = 278
  7.2.3 직렬 널 모뎀 케이블 연결하기 = 278
  7.2.4 컴퓨터 시작 과정에서 직렬 콘솔 활성화하기 = 279
  7.2.5 SysRq 커널 마법 키 활용하기 = 281
  7.2.6 웁스 보고서 = 281
  7.2.7 수동 커널 트랩 추가하기 = 281
  7.2.8 웁스 보고서 검사하기 = 284
  7.2.9 실패한 코드 행 찾아내기 = 289
  7.2.10 커널 웁스와 하드웨어 = 293
  7.2.11 cscope로 커널 원시 코드 색인하기 = 294
 7.3 결론 = 296
8장 KDB를 사용한 커널 디버깅 = 297
 8.1 개요 = 297
 8.2 KDB 활성화하기 = 298
 8.3 KDB 활용하기 = 299
  8.3.1 KDB 시작하기 = 299
  8.3.2 일반 동작으로 복귀하기 = 300
  8.3.3 기본적인 명령어 = 301
 8.4 결론 = 306
9장 ELF = 307
 9.1 개요 = 307
 9.2 개념과 정의 = 309
  9.2.1 심볼 = 309
  9.2.2 목적 파일, 공유 라이브러리, 실행 파일, 코어 파일 = 311
  9.2.3 링킹 = 314
  9.2.4 런타임 링킹 = 318
  9.2.5 프로그램 인터프리터/런타임 링커 = 318
 9.3 ELF 헤더 = 318
 9.4 세그먼트와 섹션 개괄 = 324
 9.5 세그먼트와 프로그램 헤더 테이블 = 325
  9.5.1 텍스트와 데이터 세그먼트 = 329
 9.6 섹션과 섹션 헤더 테이블 = 331
  9.6.1 문자열 테이블 형식 = 335
  9.6.2 심볼 테이블 형식 = 335
  9.6.3 섹션 이름과 유형 = 338
 9.7 재배치와 위치 독립 코드 = 363
  9.7.1 PIC와 PIC가 아닌 경우 비교 = 363
  9.7.2 재배치와 위치 독립 코드 = 366
  9.7.3 재배치와 링킹 = 367
 9.8 ELF 목적파일에서 디버깅 정보 제거하기 = 371
 9.9 프로그램 해석기 = 372
  9.9.1 링크 지도 = 376
 9.10 심볼 결정 = 377
 9.11 문제 분석을 위한 약한 심볼 활용 = 382
 9.12 GOT를 활용한 고급 가로채기 = 386
 9.13 원시 파일 = 390
 9.14 ELF API = 392
 9.15 기타 정보 = 392
 9.16 결론 = 392
부록 A 디버깅 도구 상자 = 393
 A.1 개요 = 393
 A.2 프로세스 정보와 디버깅 = 393
  A.2.1 도구: GDB = 393
  A.2.2 도구: ps = 394
  A.2.3 도구: strace(system call tracer) = 394
  A.2.4 도구: /proc 파일시스템 = 394
  A.2.5 도구: DDD(Data Diplay Debugger) = 394
  A.2.6 도구: lsof(List Open Files) = 395
  A.2.7 도구: ltrace(library call tracer) = 395
  A.2.8 도구: time = 395
  A.2.9 도구: top = 396
  A.2.10 도구: pstree = 396
 A.3 네트워크 = 396
  A.3.1 도구: traceroute = 396
  A.3.2 File: /etc/hosts = 396
  A.3.3 File: /etc/services = 397
  A.3.4 도구: netstat = 397
  A.3.5 도구: ping = 397
  A.3.6 도구: telnet = 397
  A.3.7 도구: host/nslookup = 398
  A.3.8 도구: ethtool = 398
  A.3.9 도구: ethereal = 398
  A.3.10 File: /etc/nsswitch.conf = 398
  A.3.11 File: /etc/resolv.conf = 399
 A.4 시스템 정보 = 399
  A.4.1 도구: vmstat = 399
  A.4.2 도구: iostat = 399
  A.4.3 도구: nfsstat = 400
  A.4.4 도구: sar = 400
  A.4.5 도구: syslogd = 400
  A.4.6 도구: dmesg = 401
  A.4.7 도구: mpstat = 401
  A.4.8 도구: procinfo = 401
  A.4.9 도구: xosview = 402
 A.5 파일과 목적 파일 = 402
  A.5.1 도구: file = 402
  A.5.2 도구: ldd = 402
  A.5.3 도구: nm = 402
  A.5.4 도구: objdump = 403
  A.5.5 도구: od = 403
  A.5.6 도구: stat = 403
  A.5.7 도구: readelf = 403
  A.5.8 도구: strings = 404
 A.6 커널 = 404
  A.6.1 도구: KDB = 404
  A.6.2 도구: KGDB = 404
  A.6.3 도구: ksymoops = 405
 A.7 기타 = 405
  A.7.1 도구: VMWare 워크스테이션 = 405
  A.7.2 도구: VNC 서버 = 405
  A.7.3 도구: VNC 뷰어 = 406
부록 B 자료 수집 스크립트 = 407
 B.1 개요 = 407
  B.1.1 -thorough = 409
  B.1.2 -perf, -hang〈pid〉, -trap, -error〈cmd〉 = 409
 B.2 스크립트 돌리기 = 410
 B.3 스크립트 소스코드 = 411
 B.4 면책 조항 = 419
찾아보기 = 421
옮긴이 주 = 434
베타리더 한 마디 = 444


관련분야 신착자료

Ramamurthy, Bina (2021)
윤관식 (2020)