서문 | 독자들에게 |
리눅스를 배우고 더 잘 이해하기 위한 저의 여정은 1998년에 시작되었습니다. 당시 저는 첫 리눅스 배포판을 설치한 지 얼마 되지 않았을 때였고, 금세 리눅스의 전체 개념과 철학에 흥미를 느꼈습니다.
하나의 작업을 수행하는 방법에는 항상 여러 가지가 있습니다. 리눅스 배포판도 마찬가지입니다. 수년에 걸쳐 수많은 배포판이 존재해 왔습니다. 일부는 여전히 존재하고 일부는 다른 형태로 변모했지만 다른 일부는 우리의 기억 속으로 사라졌습니다. 이들은 모두 대상 고객의 요구에 맞게 각기 다른 방식으로 작업을 수행합니다. 동일한 최종 목표를 달성하는 다양한 방법이 존재하기 때문에 저는 더 이상 한 가지 구현 방식에 얽매일 필요가 없다는 것을 깨닫기 시작했습니다. 리눅스를 발견하기 전에는 다른 운영 체제에서 발생하는 문제를 선택의 여지가 없었기 때문에 그냥 참았습니다. 좋든 싫든 어쩔 수 없는 것이었죠. 리눅스와 함께 선택의 개념이 등장하기 시작했습니다. 마음에 들지 않으면 자유롭게 변경할 수 있었고 심지어 권장되기도 했습니다.
저는 여러 배포판을 사용해 보았지만 어떤 배포판도 결정할 수 없었습니다. 그 자체로 훌륭한 시스템이었죠. 더 이상 옳고 그름의 문제가 아니었죠. 개인적인 취향의 문제가 되었습니다. 선택의 폭이 너무 넓다 보니 저에게 딱 맞는 시스템은 하나도 없다는 것이 분명해졌습니다. 그래서 저는 제 개인적인 취향에 완전히 부합하는 나만의 리눅스시스템을 만들기 시작했습니다.
진정으로 나만의 시스템을 만들기 위해 미리 컴파일된 바이너리 패키지를 사용하는 대신 모든 것을 소스 코드에서 컴파일하기로 결심했습니다. 이 “완벽한” 리눅스 시스템은 다양한 시스템의 장점은 살리고 단점은 없앨 수 있을 것입니다. 처음에는 이 아이디어가 다소 부담스러웠습니다. 저는 그런 시스템을 구축할 수 있다는 생각에 계속 전념했습니다.
순환 종속성 및 컴파일 타임 오류와 같은 문제를 해결한 후 마침내 맞춤형 리눅스 시스템을 구축했습니다. 이 시스템은 당시 다른 어떤 리눅스 시스템과 마찬가지로 완벽하게 작동하고 완벽하게 사용할 수 있었습니다. 하지만 제가 직접 만든 시스템이었죠. 그런 시스템을 직접 만들었다는 것은 매우 만족스러운 일이었습니다. 더 좋은 방법은 각 소프트웨어를 직접 만드는 것이었습니다. 이것은 차선책이었죠.
리눅스 커뮤니티의 다른 구성원들과 제 목표와 경험을 공유하면서 이러한 아이디어에 대한 지속적인 관심이 있다는 것을 알게 되었습니다. 이러한 맞춤형 리눅스 시스템은 사용자의 특정 요구 사항을 충족할 뿐만 아니라 프로그래머와 시스템 관리자가 (기존) 리눅스 기술을 향상시킬 수 있는 이상적인 학습 기회라는 것이 금방 분명해졌습니다. 이러한 폭넓은 관심에서 리눅스 프롬 스크래치 프로젝트가 탄생했습니다.
이 리눅스 처음부터 시작하기 책은 이 프로젝트의 중심이 되는 책입니다. 이 책은 사용자가 직접 시스템을 설계하고 구축하는 데 필요한 배경 지식과 지침을 제공합니다. 이 책은 올바르게 작동하는 시스템을 만들 수 있는 템플릿을 제공하지만, 여러분은 자신에게 맞게 지침을 자유롭게 변경할 수 있으며, 이것이 이 프로젝트의 중요한 부분입니다. 여러분은 여전히 통제권을 갖고 있으며, 저희는 여러분만의 여정을 시작할 수 있도록 도움을 드릴 뿐입니다.
리눅스 프롬 스크래치 시스템으로 즐거운 시간을 보내시고 진정한 나만의 시스템을 만드는 데 따른 수많은 혜택을 누리시길 진심으로 바랍니다.
Gerard Beekmans
gerard@linuxfromscratch.org