Введение
Тип установки Linux
Linux From Scratch (LFS) — это тип установки Linux и название книги, написанной Жераром Бикмансом, а с мая 2021 года в основном поддерживаемой Брюсом Даббсом. Книга предоставляет читателям инструкции по созданию Linux-системы из исходного кода. Книга доступна бесплатно на сайте Linux From Scratch. Чтобы LFS оставался небольшим и сфокусированным, была создана книга Beyond Linux From Scratch (BLFS), которая содержит инструкции по дальнейшей разработке базовой Linux-системы, созданной в LFS. Она знакомит читателя с дополнениями к системе, включая X Window System, среды рабочего стола (KDE, GNOME, Xfce, LXDE), программное обеспечение для повышения производительности, веб-браузеры, языки и инструменты программирования, мультимедийное программное обеспечение, а также инструменты управления сетью и системного администрирования. Начиная с выпуска 5.0, версия книги BLFS соответствует версии книги LFS. Книга Cross Linux From Scratch (CLFS) посвящена кросс-компиляции, включая компиляцию для бездисковых или встраиваемых систем, способных запускать Linux, но не имеющих ресурсов, необходимых для его компиляции. CLFS поддерживает широкий спектр процессоров и рассматривает продвинутые методы, не включенные в книгу LFS, такие как цепочки инструментов для кросс-сборки, поддержка мультибиблиотек (32- и 64-битные библиотеки параллельно) и альтернативные архитектуры наборов инструкций, такие как Itanium, SPARC, MIPS и Alpha. Проект Linux from Scratch, как и BitBake, также поддерживает кросс-компиляцию Linux для встраиваемых систем ARM, таких как Raspberry Pi и BeagleBone. Книга Hardened Linux From Scratch (HLFS) фокусируется на улучшениях безопасности, таких как усиленные патчи ядра, обязательные политики контроля доступа, защита от переполнения стека и рандомизация расположения адресного пространства. Помимо основной цели — создания операционной системы, ориентированной на безопасность, HLFS преследовала второстепенную цель — служить инструментом обучения безопасности. Она не обновлялась с 2011 года. Automated Linux From Scratch (ALFS) — это проект, предназначенный для автоматизации процесса создания системы LFS. Он ориентирован на пользователей, которые неоднократно проходили книги LFS и BLFS и хотят уменьшить объем работы. Вторичная цель — выступать в качестве теста для книг LFS и BLFS путем непосредственного извлечения и выполнения инструкций из XML-источников книг LFS и BLFS.
Требования и процедура
Для создания LFS необходимы чистый раздел и работающая система Linux с компилятором и некоторыми основными библиотеками программного обеспечения. Вместо установки из существующей системы Linux можно также использовать Live CD для создания системы LFS. Ранее проект поддерживал Linux From Scratch Live CD. LFS Live CD содержит все исходные пакеты (только в полной версии Live CD), книгу LFS, автоматизированные инструменты сборки и (за исключением минимальной версии Live CD) графическую среду Xfce для работы. Официальный LFS Live CD больше не поддерживается и не может использоваться для сборки LFS версии 7 или более поздней. Сначала необходимо скомпилировать инструментарий, состоящий из инструментов, используемых для компиляции LFS, таких как GCC, glibc, binutils и другие необходимые утилиты. Затем корневой каталог необходимо изменить (с помощью chroot) на раздел инструментария, чтобы начать сборку окончательной системы. Одним из первых пакетов для компиляции является glibc; после этого линковщик инструментария должен быть настроен на использование вновь скомпилированной glibc, чтобы все остальные пакеты, из которых будет состоять готовая система, также могли быть с ней связаны. Во время фазы chroot функция хеширования bash отключается, а каталог bin временного инструментария перемещается в конец переменной PATH. Таким образом, вновь скомпилированные программы оказываются в начале PATH, и новая система собирается на основе своих собственных новых компонентов.
Стандартная конструкция
"Стандартный блок сборки" ("SBU") — термин, используемый на начальном этапе загрузки системы, обозначающий время, необходимое для сборки первого пакета в LFS на конкретном компьютере. Его введение было обусловлено длительным временем сборки системы LFS и желанием многих пользователей заранее узнать, сколько времени займет сборка исходного tar-архива. Начиная с версии 10.1 Linux From Scratch, первым собираемым пакетом является GNU binutils. При его сборке пользователям рекомендуется измерять процесс с помощью команд оболочки и присваивать полученное время значению "стандартного блока сборки" для данной системы. Зная это значение, можно оценивать время сборки последующих пакетов относительно известного SBU. Некоторые пакеты, собираемые в процессе компиляции, требуют значительно больше времени, чем binutils, например, библиотека GNU C (оценивается в 4,2 SBU) и коллекция компиляторов GNU (оценивается в 11 SBU). Следует понимать, что это значение является приблизительным, поскольку на фактическое время сборки пакета влияет множество факторов.
Прием
ЛВН.net рассмотрели LFS в 2004 году: Linux From Scratch – прекрасный проект. Он должен стать обязательным для изучения во всех курсах обучения Linux, и каждый энтузиаст Linux должен пройти его хотя бы раз. Это также имело бы интересный побочный эффект: люди, склонные быстро выражать недовольство в списках рассылки и на форумах, вероятно, стали бы проявлять больше уважения к разработчикам. Установка готового дистрибутива – тривиальная задача. А вот создание набора из 4 CD с стабильной, безопасной и надежной операционной системой, а также тысячами приложений – задача совсем иного уровня. Tux Machines написал обзор Linux From Scratch 6.1 в 2005 году: Теперь о BLFS. К сожалению, Beyond Linux From Scratch всегда отстает на книгу. Для меня установка не считается завершенной, пока не удастся войти в оконный менеджер. На Tux Machines также есть вторая и третья части обзора.
Linux From Scratch is a wonderful project. It should become a compulsory reading material for all Linux training courses, and something that every Linux enthusiast should complete at least once. This would also create another interesting side effect: people who tend to be quick in expressing dissatisfaction on the distributions' mailing lists and forums would probably show a lot more respect for the developers. Installing a ready made distribution is a trivial task. Building up a set of 4 CDs containing a stable, secure and reliable operating system, plus thousands of applications, is most definitely not. Tux Machines wrote a review about Linux From Scratch 6.1 in 2005:
Now on to BLFS. Unfortunately Beyond Linux From Scratch is always a book behind it seems. To me it's not a real install until one can log into a window manager. Tux Machines also has a second and a third part of the review.