태그 보관물: untagged

untagged

Linux를 깊이 이해하기위한 최고의 리소스는 무엇입니까

나는 수년 동안 리눅스 사용자를 켜고 끌었다. 최근에는 매일 사용하고 있습니다. 미디어에 대한 제안을 찾고 있습니다. 상용 책, 무료 정보, 온라인 비디오 등을 통해 OS를 훨씬 더 깊이 이해할 수 있습니다. 당신의 제안을 부탁드립니다.



답변

Linux Documentation Project, guides page 에서 몇 가지 무료 안내서를 찾을 수 있습니다. 여기에서 내가 선택하는 짧은 목록이지만 필요한 것을 찾으려면 페이지를 스크롤해야합니다.

  • 리눅스 소개-실습 가이드; 2008 년 6 월
  • Linux on the Road; 2005 년 11 월
  • Linux 시스템 관리자 안내서 2005 년 7 월
  • 고급 배쉬 스크립팅 안내서; 2009 년 3 월 (예, 리눅스도 이해하기에 좋습니다)

관심있는 주제에 대한 특정 하우투 를 찾아야합니다 . 다른 날짜 정렬 된 하우투 목록 .

리눅스 리뷰 초보자 페이지 에는 초보자들이 있습니다.

마지막으로이 책은 온라인에서 제공되는 작은 책인 Linux Kernel in a Nutshell 입니다. 2007 년판 PDF 형식입니다.

필요한 것들에 대한 자신의 검색을 시작하기 위해 이러한 참고 자료를 느낌으로 만 사용해야합니다.


답변

리눅스를 이해하는 가장 좋은 방법은 리눅스를 깨뜨리고 나쁘게 한 다음 고치는 것입니다.


답변

“더 깊은 수준”이라고 말할 때 명령 줄에 더 많은 것을 이야기하는 경우 (일부 사람들은 자신의 배포판과 함께 GUI를 떠나지 않을 것입니다.) 커널 드라이버 작성과 같은 낮은 수준의 내용. 나는 후자보다 전자를 더 많이 가정 할 것입니다.

Linux 및 Linux에서 실행되는 응용 프로그램 (웹 서버 실행, Windows 호스트에 파일 제공, DHCP 제공, 그래픽 데스크탑 실행 등)을 사용하여 수행하려는 작업에 대해 합리적인 목표를 설정하는 것이 좋습니다. “할 때”만 배울 수 있다는 것이 나의 믿음입니다. 목표를 염두에두면 추구하십시오. 즉, 매뉴얼 페이지 (많은 매뉴얼 페이지), “HOWTO”설명서, 메일 링리스트 아치, 임의의 블로그 게시물, 그리고 설치하거나 컴파일 할 다양한 프로그램과 함께 제공되는 설명서를 읽어야합니다. 상자.

몇 년 동안 강의실 기반 IT 인증 과정을 강의 한 결과, 제가 가장 많이 발전시킨 학생들은 자신의 디자인에 대한 미친 프로젝트를 수행하고 좌석을 통해 배우는 사람들이라고 어느 정도 권위있게 말할 수 있다고 생각합니다 그들의 바지의.

앞에서 말했듯이 맨 페이지 “HOWTO”문서 ( http://tldp.org/docs.html 및 많은 ‘net의 다른 곳)와 메일 링리스트 아카이브는 친구입니다. 적어도이 단계에서 커널 내부에 대해 이야기하는 책은 피하려고합니다. 시작하기 위해 그런 종류의 깊은 지식이 필요하지 않습니다.

다른 사람들과 대화하십시오. 서버 결함은 좋은 조언을 얻을 수있는 좋은 장소로 판명되었습니다. 여기에서 질문을하고, 그렇게 멍청하게 보일 것이라고 생각하지 마십시오. 리눅스에 익숙한 사람들과 “얼굴 시간”을 가질 수 있다면 그것을 찾으십시오. (나는 당신이 사실과 의견을 분리하고 시도하는 것이 좋습니다. 리눅스 커뮤니티에는 다른 커뮤니티에서와 같이 일을하는 방법에 대한 다른 의견들에 대한 많은 “거룩한 전쟁”이 있습니다. .)

Linux의 Unix 유산에 대한 “심층적 인”지식을 얻으려면 일부 오래된 Unix 관련 관리 또는 참조 매뉴얼을 참조하십시오. 나는 초기에 이것들을 피하려고 노력했다 (적어도 유닉스에서 파생 된 일부 운영 체제와 비교할 때 리눅스에서 “취득되지 않은 경로”의 역사적 특성을 이해할 수있을 때까지).

당신의 전반적인 기술 수준이 무엇인지 알지 못하면 나는 책에 내 외설이 많지 않은 외침을 던질 것입니다. “TCP / IP Illustrated”( http://www.amazon.com/Illustrated-Volumes-Addison-Wesley-Professional-Computing/dp/0201776316 )를 적극 권장 합니다. 전혀 리눅스에 국한된 것은 아니지만 TCP / IP를 다루는 많은 것들을 “콜드 (cold)”라는 것은 매우 쉬운 일입니다.

요컨대, “마스터”가 배운 마법의 책이나 책, 초 비밀 비디오는 없지만, 당신이 그것을 고집하고 두려워하지 않으면 배울 수있는 것에 대한 제한은 전혀 없다고 생각합니다. 손이 더러워 지도록


답변

개별 구성 요소를 사용한 경험이 수 년에 지나지 않아서 깊이 이해할 수 있습니다. 말했듯이, Oreilly Press의 대다수의 책은 더미가 아니고 24 시간 이상이 없으면 실제로 잘 작성되고 완벽합니다. 🙂

Linux From Scratch 라는 프로젝트가 있는데 , 아무 것도없는 리눅스 배포판을 빌드하는 방법을 보여줍니다. 한 번 교육하는 것이 교육적 일 수 있습니다. 소스에서 모든 것을 컴파일해야하므로 시간이 많이 걸리고 결국에는 모두 버릴 것입니다.

내가 찾을 수 LWN.net 일을 높은 수준에서 커널에서 작동하는 방법을 함께 유지의 커널 페이지 매우 중요합니다.


답변

매일 사용하는 것 외에는 (나는 큰 일이라고 생각합니다!), 리눅스 박스에서 네트워크를 위해 구현 될 수있는 서비스에 대해 생각하기 시작하는 것이 좋습니다. Linux 서비스를 기반으로 설계를 시작하고 준비가되면 연구 및 구현하십시오. 프로세스에 실수가있을 수 있으며,이 경험을 통해 OS를보다 깊이 이해하는 데 도움이됩니다.


답변

일반적인 Unix 철학과 커맨드 라인에 대한 훌륭한 소개를 위해 Brian Kernighan과 Rob Pike의 고전 The Unix Programming Environment가 있습니다.

또한 IBM DeveloperWorks 웹 사이트의 Linux 섹션에는 900 개가 넘는 기사가 있습니다. 관심있는 주제에 대한 기사 목록을 찾아 볼 수 있습니다.

마지막으로, 핵심에 빠질 준비가되면 소스로 이동하십시오. kernel.org 에서 사용중인 커널 버전의 소스 코드를 잡고 (배포판에는 설치할 수있는 커널 소스 패키지도 있음) Documentation 디렉토리를 확인하십시오. 커널 내부 및 구성 설정에 대한 많은 참조 자료를 찾을 수 있습니다.


답변

학교. Linux 시스템을 실제로 이해하려면 다양한 컴퓨터 과학 시스템 배경이 필요합니다. 컴파일러, 컴퓨터 아키텍처 및 운영 체제. 그리고 당신은 당신이 가지고 있거나 오해하는 것이 중요하고 중요한 것을 보여줄 수있는 가이드가 필요합니다.

최신 프로세서의 작동 방식과 C 컴파일러가이를 활용하는 방법을 이해하면 Minix 3 과 같은 책으로 뛰어들 수 있습니다 .

이 책은 Linux 커널의 저자 인 Torvalds가 (거의) 그의 작업을 기반으로 한 최신 버전의 책입니다. 운영 체제의 기본 구성 요소 및 알고리즘과이를 정확히 구현하는 방법에 대해 배우게됩니다. 텍스트는 참조 및 교육 목적으로 소스 코드를 Minix에 거의 완벽하게 인쇄하여 제공됩니다. 시스템 작동 방식 및 제어 흐름 위치를 완전히 이해하려면 인터럽트 핸들러를 확인하십시오.

그리고 학교 및 컴퓨터 과학을 비웃기 전에 운영 체제에서 수행해야하는 작업은 일반적으로 NP- 완전하다는 점에 유의해야합니다. 따라서 최적의 알고리즘이 없을 수 있으므로 사용 가능한 다양한 알고리즘을 이해하는 것이 성능 조정에 중요합니다.

커널 외에도 여러 가지 다른 영역이 있습니다. 리눅스는 오픈 소스이기 때문에 이것은 학문적 인 금광입니다. 데비안 및 우분투와 같은 시스템은 소스를 사용할 수있게 해주 며, 매우 간단합니다.

apt-get source package-name

많은 업스트림도 개정 관리에서 코드를 호스팅하므로 프로그램 소스의 최신 버전을 읽거나 몇 년 전에 어떻게 빌드되었는지 확인할 수 있습니다.