Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Linux From Scratch ( LFS ) - это типустановки Linux и название книги, написанной Джерардом Бикмансом и в настоящее время по состоянию на март 2021 года, в основном поддерживаемой Брюсом Даббсом. Книга дает читателям инструкции о том, как собрать систему Linux из исходных текстов . Книгу можно бесплатно загрузить с сайта Linux From Scratch. [1]

Проекты под LFS [ править ]

Linux From Scratch - это способ установить работающую систему Linux путем сборки всех ее компонентов вручную. Это, естественно, более длительный процесс, чем установка предварительно скомпилированного дистрибутива Linux . Согласно сайту Linux From Scratch , преимущества этого метода заключаются в компактности, гибкости и безопасности системы и в лучшем понимании внутренней работы операционных систем на базе Linux. [4]

Чтобы LFS оставалась небольшой и целенаправленной, была создана книга Beyond Linux From Scratch (BLFS), в которой представлены инструкции по дальнейшему развитию базовой системы Linux, созданной в LFS. Он знакомит читателя с дополнениями к системе, включая поддержку сети, X , звука, принтера и сканера, и направляет его . Начиная с версии 5.0 книжная версия BLFS соответствует книжной версии LFS. [5]

Книга Cross Linux From Scratch (CLFS) посвящена кросс-компиляции , включая компиляцию для автономных или встроенных систем, которые могут работать под Linux, но не имеют ресурсов, необходимых для компиляции Linux. CLFS поддерживает широкий спектр процессоров и обращается к передовым методам, не включенным в книгу LFS, таким как инструментальные цепочки кросс-сборки , поддержка нескольких библиотек (32- и 64-разрядные библиотеки параллельно) и альтернативные архитектуры наборов инструкций, такие как Itanium , SPARC. , MIPS и Alpha .

Проект Linux from Scratch, как и BitBake , также поддерживает кросс-компиляцию Linux для встроенных систем ARM, таких как Raspberry Pi и BeagleBone . [6] [7]

Книгу Закаленного 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. [8] LFS Live CD содержит все исходные пакеты (только в полной версии Live CD), книгу LFS, автоматизированные инструменты сборки и (за исключением минимальной версии Live CD) среду графического интерфейса Xfce для работы. LFS Live CD больше не поддерживается и не может использоваться для сборки LFS версии 7 или более поздней. [8] Однако есть две неофициальные сборки, которые можно использовать для сборки 32-битного или 64-битного ядра и пользовательского пространства соответственно для LFS 7.x. [9]

Во-первых, необходимо скомпилировать набор инструментов , состоящий из инструментов, используемых для компиляции LFS, таких как GCC , glibc , binutils и других необходимых утилит. Затем необходимо изменить корневой каталог (с помощью chroot ) на раздел инструментальной цепочки, чтобы начать сборку окончательной системы. Один из первых компилируемых пакетов - это glibc; после этого компоновщик инструментальной цепочки должен быть настроен для связи с недавно созданной glibc, чтобы все другие пакеты, составляющие законченную систему, также могли быть связаны с ней. Во время фазы chroot , bashфункция хеширования отключена, а каталог bin временной цепочки инструментов перемещен в конец PATH. Таким образом, недавно скомпилированные программы попадают в PATH первыми, а новая система строится на собственных новых компонентах.

Список пакетов в LFS версии 10.1 [ править ]

[17] Это список пакетов, включенных в CLFS версии 1.1.0. Если не указано иное, этот список применим ко всем поддерживаемым архитектурам.

Стандартный строительный блок [ править ]

«Стандартный модуль сборки» («SBU») - это термин, используемый во время начальной загрузки системы, и представляет количество времени, необходимое для сборки первого пакета в LFS на данном компьютере. Его создание было вызвано долгим временем, необходимым для построения системы LFS, и желанием многих пользователей заранее знать, сколько времени потребуется для сборки архива с исходным кодом.

Начиная с Linux From Scratch версии 10.1, первым созданным пользователем пакетом является GNU binutils. При его создании пользователям предлагается измерять процесс сборки с помощью конструкций оболочки и дублировать это время как «стандартную единицу сборки». Как только это число известно, оценка времени, необходимого для создания более поздних пакетов, выражается относительно известного SBU.

Для сборки нескольких пакетов, созданных во время компиляции, требуется гораздо больше времени, чем для binutils, включая библиотеку GNU C (рейтинг 4,2 SBU) и коллекцию компиляторов GNU (рейтинг 11 SBU). Единицу следует интерпретировать как приблизительную; различные факторы влияют на фактическое время, необходимое для сборки пакета.

Прием [ править ]

LWN.net рассмотрел LFS в 2004 году: [18]

Linux From Scratch - замечательный проект. Он должен стать обязательным материалом для чтения для всех учебных курсов по Linux, и каждый энтузиаст Linux должен пройти хотя бы один раз. Это также создало бы еще один интересный побочный эффект: люди, которые обычно быстро выражают недовольство в списках рассылки и на форумах дистрибутивов, вероятно, будут проявлять гораздо больше уважения к разработчикам. Установить готовый дистрибутив - задача нетривиальная. Создание набора из 4 компакт-дисков, содержащих стабильную, безопасную и надежную операционную систему, а также тысячи приложений, определенно не годится.

Tux Machines написал обзор Linux From Scratch 6.1 в 2005 году: [19]

Теперь о BLFS. К сожалению, «За пределами Linux с нуля», кажется, всегда стоит книга. Для меня это не настоящая установка, пока вы не войдете в оконный менеджер.

Tux Machines также имеют вторую часть обзора [20] и третью часть. [21]

См. Также [ править ]

Другие дистрибутивы Linux на основе исходного кода:

  • Gentoo Linux
  • Колдун
  • Источник Маг
  • Лунный Linux
  • GoboLinux
  • CRUX

Ссылки [ править ]

  1. ^ a b "Новости LFS" . www.linuxfromscratch.org . Проверено 5 марта 2021 года .
  2. ^ Beekmans, Gerard (2021). Linux с нуля, версия 10.1 (PDF) .
  3. ^ Предисловие: Целевые архитектуры LFS , Linux с нуля
  4. ^ Что такое Linux с нуля? , Домашняя страница проекта LFS
  5. ^ Gerard Beekmans: Beyond Linux From Scratch, версия 6.3 (август 2008)
  6. ^ «Кросс-скомпилированный Linux с нуля - встроенный» .
  7. ^ Брендан Хоран. «Практичный Raspberry Pi» . 2013. с. 105.
  8. ^ a b «Домашняя страница проекта LFS LiveCD» . www.linuxfromscratch.org . Проверено 25 мая 2018 .
  9. ^ "Индекс / ~ kb0iic / livecdupd" . clfs.org . Проверено 25 мая 2018 .
  10. ^ "Лицензии для справочных страниц" . www.kernel.org . Проверено 25 мая 2018 .
  11. ^ «НКУРСЫ - Лицензирование» . Проверено 9 июля 2013 года .
  12. ^ "Художественная лицензия" - dev.perl.org " . dev.perl.org . Проверено 25 мая 2018 .
  13. ^ Художественный - файл в репозитории Perl 5 git
  14. ^ «Лицензирование Perl» . dev.perl.org . Проверено 8 января 2011 года .
  15. ^ «Условия лицензирования Tcl / Tk» . Проверено 8 января 2011 года .
  16. ^ "Новая лицензия" , GitHub "facebook / zstd"
  17. ^ http://www.linuxfromscratch.org/lfs/downloads/stable/wget-list
  18. ^ «Изучение Linux с нуля [LWN.net]» . lwn.net . Проверено 28 марта 2020 .
  19. ^ "Linux From Scratch 6.1 (часть 1?) | Tux Machines" . www.tuxmachines.org . Проверено 28 марта 2020 .
  20. ^ "Linux From Scratch 6.1 - Часть 2 - BLFS | Tux Machines" . www.tuxmachines.org . Проверено 28 марта 2020 .
  21. ^ "Beyond Beyond Linux с нуля (lfs - part3) | Tux Machines" . www.tuxmachines.org . Проверено 28 марта 2020 .
  • "Домашняя страница проекта LFS" . Linux с нуля . Джерард Бикманс. 17 марта 2008 . Проверено 17 марта 2008 года .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Linux с нуля в DistroWatch
  • Интервью с Джерардом Бикмансом
  • Еще одно интервью с Джерардом Бикмансом