i. 머리말

리눅스를 배우고 이해하기 위한 나의 여정은 1998년에 시작되었다. 나는 내 첫 리눅스 배포판을 설치하자마자 리눅스 이면에 숨겨진 전체적인 개념과 철학에 매료되었다.

한 가지 일을 해내는 데는 항상 많은 방법이 있다. 리눅스 배포판도 마찬가지라 할 수 있다. 수년에 걸쳐 훌륭한 배포판들이 많이 존재해왔다. 어떤 것은 여전히 존재하고, 일부는 다른 무언가로 변화했지만 나머지는 기억 너머로 사라졌다. 그것들은 모두 각각의 사용자의 수요에 맞도록 다르게 동작한다. 같은 최종 목표를 달성하기 위한 다양한 방법들이 존재하기 때문에, 나는 더는 누군가의 배포판에 종속될 필요가 없다는 것을 깨닫기 시작했다. 리눅스를 만나기 전까지 우리는 그저 다른 운영 체제의 문제점들을 선택의 여지 없이 참아왔다. 당신이 좋든 싫든 늘 그래 왔다. 리눅스와 함께 선택의 개념이 생겨나기 시작했다. 무언가가 마음에 들지 않으면 자유롭게 수정할 수 있었으며, 심지어 그렇게 하도록 권장받았다.

나는 여러 배포판을 써봤지만 그 무엇으로도 결정할 수 없었다. 그것들은 그 자체로 훌륭한 시스템이었다. 더 이상 옳고 그름의 문제가 아닌 개인의 취향에 달린 것이었다. 그 많은 선택지를 보니 어느 배포판도 내게 완벽한 배포판이 될 것 같지 않았다. 그래서 나는 완벽하게 내 입맛에 맞는 나만의 리눅스 시스템을 만들기 시작했다.

나만의 시스템을 만들기 위해, 컴파일된 바이너리 패키지를 사용하는 대신 모든 것을 소스 코드부터 컴파일하기로 결정했다. 이 완벽한 리눅스 시스템은 여러 배포판들의 단점을 제외하고 장점만 취할 것이었다. 처음엔, 이 계획이 다소 어려워 보였다. 나는 그러한 시스템을 구축할 수 있다는 생각에 계속 전념했다.

종속성 순환이나 컴파일 에러같은 문제들을 겪고나서, 마침내 커스텀 리눅스 시스템을 구축했다. 당시의 다른 리눅스 배포판과 마찬가지로 완벽하게 작동하고 완벽하게 사용할 수 있었다. 그러나 이것은 내가 직접 만든 것이었다. 그런 시스템을 스스로 구성해보니 매우 만족스러웠다. 이보다 더 나은 것은 각각의 소프트웨어마저 직접 만드는 것이었을 것이다. 이것은 차선책이었다.

리눅스 커뮤니티의 다른 구성원들에게 나의 목표와 경험을 공유하면서, 이러한 아이디어에 지속적인 관심이 있다는 것이 분명해졌다. 이 맞춤형 리눅스 시스템은 사용자별 요구 사항을 충족시킬 뿐만 아니라 프로그래머와 시스템 관리자가 (기존) 리눅스 기술을 향상시킬 수 있는 이상적인 학습 기회가 된다는 것이 분명해졌다. 이렇게 넓어진 관심으로부터 Linux From Scratch 프로젝트가 탄생했다.

이 Linux From Scratch 책은 그 프로젝트의 핵심이다. 이것은 당신이 자신만의 시스템을 설계하고 구축하는 데 필요한 배경과 지침을 제공한다. 이 책은 올바르게 작동하는 시스템을 만들어 낼 수 있는 템플릿을 제공하지만, 당신은 자유자재로 지시를 변경할 수 있다. 이것이 바로 이 프로젝트의 중요한 부분이다. 당신은 통제권을 가지고 있다; 우리는 단지 당신만의 여행을 시작할 수 있도록 도움의 손길을 뻗어줄 뿐이다.

여러분만의 Linux From Scratch 시스템에서 즐거운 시간을 보내고, 진정한 자신만의 시스템을 가짐으로써 얻을 수 있는 수많은 혜택을 누리길 진심으로 바란다.

--
Gerard Beekmans
gerard@linuxfromscratch.org