확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
리눅스 문제 분석과 해결

리눅스 문제 분석과 해결

: 아무도 가르쳐주지 않았던 리눅스 실전 노하우

에이콘- 오픈소스 프로그래밍 시리즈-008이동
첫번째 리뷰어가 되어주세요
정가
28,000
판매가
25,200 (10% 할인)
구매 시 참고사항
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2006년 09월 28일
쪽수, 무게, 크기 464쪽 | 954g | 190*255*30mm
ISBN13 9788989975991
ISBN10 8989975999

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 관련자료 보이기/감추기

저자 : 마크 윌딩
현재 유닉스와 리눅스 편의성 기술을 전문적으로 연구하는 선임 개발자로 IBM에서 근무하고 있다. 15년 이상 소프트웨어 개발 경험을 토대로, 운영체제, 네트워크, C/C++ 개발, 편의성, 품질 공학, 컴퓨터 하드웨어 부문에서 다양한 경험을 쌓아왔다.
저자 : 댄 버만
토론토 IBM 소프트웨어 연구실에서 리눅스 플랫폼 개발을 위한 DB2 UDB 개발팀 일원으로 근무하고 있다. 리눅스 10년 이상 경력을 자랑하며, x86-64, z시리즈, 파워 플랫폼을 포함한 리눅스가 지원하는 최신 아키텍처에 DB2 UDB를 이식하고 동작하는 작업에 참여했다.
역자 : 박재호
포항공과대학교 컴퓨터공학과 학부와 포항공과대학교 컴퓨터공학과 대학원을 졸업했다. 회사에서 임베디드 리눅스 관련 디바이스 드라이버와 커널 프로그래밍을 맡고 있다. 종종 컴퓨터와 책에 대한 재미있는 글을 블로그(http://jhrogue.blogspot.com)에 올리고 있다. 지은 책으로 "IT EXPERT, 임베디드 리눅스"(한빛미디어), 옮긴 책으로 "조엘 온 소프트웨어"(에이콘), "리눅스 디버깅과 성능 튜닝"(에이콘) 등이 있다.
역자 : 이해영
포항공과대학교 컴퓨터공학과 학부와 퍼듀대학교 전자계산학과 대학원을 졸업했다. 오랫동안 소프트웨어 개발에 종사하다가, 2006년 현재 미국에 있는 소프트웨어 개발 회사에서 지역화 전문가로 일하고 있다. 옮긴 책으로 "조엘 온 소프트웨어"(에이콘), "리눅스 디버깅과 성능 튜닝"(에이콘) 등이 있다.

책 속으로 책속으로 보이기/감추기

리눅스는 일반 가정과 사무실에서 사용하기에 최적인 운영체제이다. 강력하며, 여느 상용 운영체제 못지 않게 안정적이고, 보안이 뛰어나며, 무엇보다도 오픈 소스이다. 하지만 가정이나 사무실에서 리눅스를 사용할지 말지를 결정하는 가장 큰 요인 중 하나는 서비스와 지원이다. 리눅스는 세계 도처에 있는 자원 봉사자 수천 명이 개발하기 때문에 문제 발생 시 누구에게 도움을 청해야 할지가 분명하지 않다.

진정한 리눅스 정신에 의거하여, 리눅스는 상용 운영체제와는 다소 상이한 지원 방식을 채택하고 있다. 전대 미문의 전문가 커뮤니티가 존재하며, 최첨단 문제 진단 분석과 해결 도구를 제공할 뿐만 아니라, 당연히 제품 자체에도 소스 코드가 들어 있다. 이러한 자원 외에도 IBM과 같은 회사에서 내놓은 전문 리눅스 지원 서비스와 레드햇이나 노벨/수세와 같은 리눅스 판매업체가 여럿 존재한다. 하지만 전문 서비스나 판매업체를 거치지 않고 리눅스에서 제공하는 자원을 최대한 "스스로 활용하는" 방법을 이 책에서 주요 주제로 다룬다.

리눅스를 "스스로 활용한다"라는 의미는 사람마다 다르다. 가정에서 리눅스를 사용하는 사람에게는 리눅스 사용이 한층 즐거워진다는 뜻이다. 사무실에서 리눅스를 사용하는 사람에게는 리눅스 관련 문제를 신속하고 효과적으로 진단함으로써 조직 내 자신의 가치와 시장성을 높일 수 있다는 뜻이다. 기업 전략의 일부로 리눅스를 채택해야 할지를 고민하는 기업에게는 리눅스 채택 전략에 따른 운영 경비 감소와 투자 수익(ROI, Return of Investment) 증가를 뜻한다. 어느 유형에 속하는 사용자이든, 리눅스 사용 경험과 투자로부터 최대한 많은 이익을 얻어내야 한다는 점이 중요하다.
--- 저자 서문
*** 박재호 ***

전문적인 개발자라면 이구동성으로 코드를 쓰는 작업보다 읽는 작업에 더 많은 시간을 투입한다고 이야기한다. 다시 말해서, 코드 작성보다 작성 후 개선/검토/디버깅에 훨씬 많은 노력이 들어가며 이런 과정은 취미 생활이나 학교 과제로 프로그램을 작성하지 않는 이상 상용 제품을 만드는 과정에서 필수라고 보여진다. 하지만 유감스럽게도 대학교나 컴퓨터 학원에서 디버깅을 전문적으로 가르친다는 말은 한번도 들어보지 못했다. 가장 시간을 많이 쏟는 분야에 대한 체계적인 지식 습득 경로가 없다는 사실은 사뭇 충격적이기까지 하다.

과거 유닉스 시절에는 모든 시스템 프로그래머가 바로 시스템 관리자였고 시스템 관리자가 바로 시스템 프로그래머였는데, 요즘 들어와서 명확한 선이 그어지면서 갈수록 시스템 관리자와 프로그래머 업무가 분리되면서, 좀더 전문적으로 자신이 맡은 작업을 진행할 수 있다는 장점이 있는 반면에 학제간 연구를 통한 통합적인 문제 분석이 어렵다는 단점이 나타나고 있다. 시스템 관리자는 과연 스크립트 언어를 벗어난 본격적인 프로그램 분석 실력이 필요 없을까? 프로그래머는 기초적인 명령어 사용법 이외에 시스템 관리자의 전유물이라고 여기던 프로세스나 목적 파일에 대한 정보 확인 명령에 숨겨진 의미를 파악할 필요가 없을까?

이렇게 모순적이고 어려운 현실에 직면한 개발자들에게 도움을 주기 위해 올해 초에 에이콘 출판사를 통해 『리눅스 디버깅과 성능 튜닝』이라는 제목을 붙인 번역서를 출간했었다. 『리눅스 디버깅과 성능 튜닝』은 현장에서 바로 써먹을 수 있도록 리눅스에서 제공하는 다양한 도구 사용법과 활용 방안을 예를 통해 설명하고 있다. 하지만 『리눅스 디버깅과 성능 튜닝』은 방대한 도구를 한정된 지면에 다루고 있기에 아무래도 폭에 비해 깊이가 얕다는 문제점이 있었으며, 이런 단점을 보완할만한 다른 책에 대한 요구가 커지고 있다.

이와 같은 상황에서 마침 프렌티스 홀에서 출간한 『Self-Service Linux』를 접하게 되었고, 책 내용을 검토한 결과 『리눅스 디버깅과 성능 튜닝』과 비교해서 다루는 도구의 폭은 좁지만 아무도 가르쳐주지 않았던 비밀스러운 활용 방안을 충분한 깊이로 다루고 있다는 결론을 내려서 번역 작업을 서두르게 되었다.

이 책은 단순한 옵션 나열이나 피상적인 명령어 사용법을 다루는 책이 아니다. 마치 고급 시스템 관리자를 위한 문제 해결 서적이라고 착각하기 쉽지만, 실제로 리눅스 전문 개발자들이 반드시 알고 넘어가야 하는 핵심적인 지식을 담고 있는 알짜 서적이다.

하나같이 유익한 내용들이지만, 특히 1장, 5장, 6장, 9장을 눈여겨보기 바란다. 다른 책에서 쉽게 접하지 못하는 전반적인 문제 해결 전략을 1장에서 다루고 있으며, 스택에 대한 명쾌한 설명이 5장에서 전개된다. 심지어 원시 코드가 없을 경우에도 문제 원인을 gdb로 추적하는 방법을 6장에서 실제 예를 들고 있으며, 마지막으로 중요한 정보를 담고 있음에도 불구하고 개발자 사이에서 외면 받고 있는 ELF에 대한 설명이 9장에 나온다. 커널 단으로 내려가지 않고서도 리눅스 내부 구조를 이렇게 명쾌하게 그릴 수 있다는 사실이 놀라울 따름이다.

*** 이해영 ***

이 책에서 가장 감동적이고 핵심적인 장을 꼽으라면 1장 "우수 문제 해결 기법과 초반 조사"이다. 리눅스 환경에서 개발하는 사람이라면, 반드시 읽어야 할 장이다. 1장 내용만 충분히 숙지하여 머리와 가슴에 넣어도, 이 책 값어치 중에서 80%는 얻어냈다고 생각한다.

흔히 "실력 있는 사람"과 "사실을 많이 습득한 사람"을 혼동한다. 특히나 개발 분야에서는 더욱 그렇다. API를 좔좔 외우고 명령 옵션을 쫙 꿰고 있는 사람을 실력이 있다고 여긴다. 하지만 습득한 사실만으로 해결할 수 있는 문제에는 한계가 있다. 문제를 해결하는 능력, 즉 실력은 단순한 지식 이상이 필요하다. (참고로, 반드시 자신의 힘으로 문제를 해결해야 한다는 뜻은 아니다. 올바른 사람을 찾아서 원하는 답을 얻어내는 기술도 능력이고 실력이다.)

제목 그대로, 이 책은 리눅스 시스템을 스스로 운영하는 방법, 즉 리눅스 시스템이라는 영역에서 문제를 해결하는 능력을 키우는 방법을 소개한다. strace(2장)에서 GDB(6장)을 짚고, ELF(9장)에 이르기까지, 이 책에서 다루는 지식은 방대하다. 자칫하면, 여기에 묻혀 중요한 줄기를 놓칠 수 있다. 예를 들면, 이 책은 GDB 최적화 옵션도 설명하지만, 동시에 어떤 문제와 어떤 상황에서 GDB를 사용하는지도 설명한다. 리눅스 상에서 문제를 디버깅하려는 개발자라면, 어떤 도구가 어떤 상황에 적합한지 이해해야 한다. 하지만 최적화 옵션을 일부러 하나하나 암기할 필요는 없다고 생각한다. 최적화 옵션이 무엇인지 그리고 어떤 문제를 일으킬 수 있는지만 이해한다면, 각 옵션마다 내재된 있는 정확한 의미는 필요할 때 찾아보면 된다.

도서관에 있는 책 내용을 몽땅 암기하는 능력보다는 원하는 책과 정보를 빠르고 신속하고 정확하게 찾아낼 수 있는 능력이 더 유용하다. 책을 읽으면서 이런 점을 염두에 두었으면 한다. 그리고 가능하다면 서문과 1장에 충분한 시간을 할애하기 바란다. 좀 딱딱하다 싶을 내용이지만, 의외로 재미있고 활기차다. 이왕이면 독자 여러분이 즐겁게 읽었으면 좋겠다.
--- 역자 서평

줄거리 줄거리 보이기/감추기

이 책은 리눅스 환경에서 발생하는 문제를 효과적이면서도 효율적으로 진단하는 방법을 다룬다. 인터넷 상에 있는 정보와 자원을 활용하는 방법 등 우수한 조사 기법을 소개하고, 리눅스가 제공하는 가장 중요한 문제 진단 분석과 해결 도구의 사용법을 상세히 다룬다.

1장은 효과적인 문제 진단 분석과 해결 기법을 다루는 집중 강좌이다. 이 장을 익히고 나면 전문가처럼 문제를 진단할 수 있다. 흔히 발생하는 문제 유형을 조사하는 방법과 더불어, 인터넷 어디에서 어떻게 정보를 찾아야 하는지를 설명한다.

2장은 리눅스에서 문제 진단 분석과 해결 과정에 가장 흔히 사용하는 도구인 strace를 다룬다. 2장에서는 strace가 동작하는 방식을 상세히 소개할 뿐만 아니라 실용적인 사용법 정보도 다룬다. 또한 간단한 strace 도구의 소스코드를 소개하며, 기반 기능인 ptrace 인터페이스를 통해 커널과 동작하는 방식을 상세히 설명한다.

3장은 현재 시스템에서 실행 중인 하드웨어, 커널, 프로세스에 관련하여 방대한 정보를 포함하는 /proc 파일 시스템에 관한 내용이다. 주로 문제 진단 분석과 해결을 비롯하여 시스템 진단에 관련한 고급 기능과 기교를 소개하고 살펴본다. 예를 들어, /proc/sys/kernel/sysrq로 SysRq 커널 마법 키를 사용하는 방법을 다룬다.

4장은 컴파일을 다룬다. 디버깅 정보를 포함하도록 오픈 소스 응용 프로그램을 다시 컴파일해야 할지(대개는 다시 컴파일해야 한다), 어려운 문제일 경우 어셈블리 코드 목록을 생성해야 할지(이 방법으로 트랩이 걸린 코드 행을 찾는다), 리눅스 커널 자체를 다시 컴파일하는 과정에서 어떤 문제가 발생하는지 등에 관해 긴요한 정보를 제공한다.

5장은 컴퓨터 시스템에서 가장 중요하고도 기본적인 개념 중 하나인 스택을 속속들이 살펴본다. (리눅스 전문가라면 반드시 알아야 할) 스택 구조체를 상세히 설명하며, 또한 독자가 자신의 도구와 응용 프로그램에서 스택 추적을 생성하기 위해 사용할 수 있는 소스 코드를 소개하고 설명한다.

6장은 GNU 디버거인 GDB로 응용 프로그램을 디버깅하는 방법을 상세하고도 심도 있게 살펴본다. 또한 그래픽 유저 인터페이스인 DDD(Data Display Debugger)도 간략하게 소개한다. 또한 C++ 응용 프로그램 디버깅, 스레드 응용 프로그램 디버깅, 다양한 최고 디버깅 기법 등 흔히 접하기 어려운 정보를 상세히 다룬다.

7장은 시스템 충돌과 중단을 상세히 살펴본다. '직렬 콘솔을 연결하는 방법'부터 '커널 트랩("웁스 Oops")을 사용하여 코드 행을 찾는 방법'까지 필요한 내용을 다룬다.

8장은 커널 디버깅, 즉 커널 디버거 kdb를 사용한 디버깅을 좀더 상세히 다룬다. 시스템에서 kdb를 환경 설정하고 활성화하는 방법을 설명하며, 커널 전문가가 되지 않고도 대다수 리눅스 사용자가 활용할 수 있는 실용적인 명령을 소개한다.

9장은 ELF(Executable and Linking Format)를 상세하게 파헤친다. 기본적인 ELF 파일 형식에 관해 자세하고도 실용적인 정보를 제공하며, 극소수 개발자만이 알고 있는 비결과 기교를 소개한다. 심지어 LD_PRELOAD(으)로 함수를 재정의하는 법, GOT(global offset table)와 GDB 디버거로 함수를 직접 가로채서 디버그 버전으로 보내는 법 등을 예제 코드와 더불어 단계별로 설명한다.

부록 A는 리눅스에서 가장 유용한 도구, 기능, 파일을 개괄적으로 소개하는 디버깅 도구 상자이다. 각 도구마다 언제 사용하면 좋은지 그리고 어디서 최신 버전을 얻을 수 있는지를 설명하고 있다.

부록 B는 곧바로 사용할 수 있는 자료 수집 스크립트를 제공한다. 주요 핵심 업무를 다루는 시스템이나 리눅스 상에서 원격으로 고객을 지원하는 사용자에게 특히 유용하다. 자료 수집 스크립트만 있어도, 원격에서 발생한 문제를 디버깅하는 데 드는 시간을 크게 줄일 수 있다.

출판사 리뷰 출판사 리뷰 보이기/감추기

추천평 추천평 보이기/감추기

리눅스 운영체제와 관련 소프트웨어에서 나타나는 문제점과 버그를 스스로 찾아내어 문제를 해결해주는 길잡이를 하는 책이다. 소프트웨어나 하드웨어와 관련한 잠재적인 리눅스 문제를 디버깅하는 다양한 방법을 설명하고 있다.
- PC Burn 서평 / pcburn.com

이 책은 시스템 관리자, 컴퓨터 문제 해결사, 개발자에게 꼭 필요한, 구글조차도 풀어주지 못하는 난이도 높은 문제를 추적해나가는 첨단 기법을 풀어서 소개하고 있다.
- TechBookReport 서평 / www.techbookreport.com

이 책은 문제 진단과 해결을 위한 실질적인 접근 방법을 택하고 있으며, 복잡한 유행어를 최소로 사용하면서 간단하고 명료한 방법으로 개념을 설명한다.
- All about Linux / linuxhelp.blogspot.com

시스템 문제를 디버깅하기 위한 아주 잘 정리된 방법론에서 시작하는 첫 40페이지는 압권이며, 리눅스 프로그래머는 물론이고 다른 모든 시스템 개발자에게도 훌륭하게 적용이 가능한 내용을 담고 있다.
- Duffbert's Random Musings / hostit1.connectria.com

이 책은 하나 이상 시스템에서 매일 리눅스를 사용하는 누구에게나 적합한 책이다. 예제는 아주 상세해서 명령, 옵션, 출력, 예제 코드, 다양한 시나리오에 접하도록 만들어준다. 이 책은 현실적이면서도 실질적인 문제 해결 접근 방법을 택하고 있으며, 우리 모두를 위한 문제 해결사 구실을 할 것이다.
- 슬래시닷 / books.slashdot.org

<아마존 독자서평>

★★★★★ 저는 함부로 별을 다섯 개 주지 않습니다.
- 안토니 로렌스(유닉스, 리눅스, 맥OS X 전문가)

★★★★★ 고차원적인 소프트웨어 디버깅과 문제 해결사
- 닐스 발렌틴

★★★★★ 고급 사용자와 관리자를 위한 필수서적
- 해롤드 맥파랜드(상위 50 리뷰자)

★★★★★ GDB에 대한 멋진 참고서
- W 보바일(상위 50 리뷰자)

회원리뷰 (0건) 회원리뷰 이동

  등록된 리뷰가 없습니다!

첫번째 리뷰어가 되어주세요.

한줄평 (0건) 한줄평 이동

  등록된 한줄평이 없습니다!

첫번째 한줄평을 남겨주세요.

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  • 절판 상태입니다.
뒤로 앞으로 맨위로 공유하기