Linux scratch на русском

Linux From Scratch

Внимание: с момента выхода Linux From Scratch 6.0, произошло много изменений в современных дистрибутивах Linux, и эти изменения вскрыли ошибки в методе сборки, применяемом в LFS. Иными словами, ни у кого сейчас не получится пройти дальше раздела «5.5. GCC-3.4.1 — Шаг 1» (сборка gcc завершится ошибкой из-за несовместимости системного gcc и только что собранной версии binutils).

Сообщения об этих ошибках регулярно всплывают в форумах, и правильный ответ на них — пользоваться новейшей версией LFS (на данный момент — LFS 6.3). Русского перевода LFS-6.3 в настоящее время не существует.

Версия 4.0

Gerard Beekmans

Перевод: Денис Каледин, Ник Фролов, Алекс Казанков.

Copyright ╘ 1999-2002 by Gerard Beekmans

Эта книга описывает процесс создания Linux системы с нуля, используя лишь исходные коды необходимого программного обеспечения.

Посвящение

Эта книга посвящается моей любящей и заботливой жене Беверли Бикманс.

Оглавление Пролог Предисловие Кому эта книга будет интересна Кому эта книга будет неинтересна Организация Часть 1 — Вступление Часть 2 — Установка базовой системы LFS Часть 3 — Приложения I. Часть 1 — Вступление 1. Вступление Благодарности Как мы будем работать Условные обозначения,используемые в книге Версия книги Зеркала Changelog Списки рассылки и архивы Сервер новостей FAQ Как с нами связаться 2. Важная информация Про $LFS Про SBUs Где хранить загруженные программы Как инсталлировать программы Поддерживаемые платформы Как попросить по помощи II. Часть II — Установка системы LFS 3. Необходимые пакеты Вступление Необходимые пакеты 4. Готовим новый раздел Вступление Создаем новый раздел Создаем файловую систему на новом разделе Монтируем новый раздел 5. Подготовка системы LFS Вступление Почему мы используем статические ссылки? Создаем директорию $LFS/static Установка всех компонентов в режиме непривилегированного пользователя Установка Bash-2.05a Установка Binutils-2.13 Установка Bzip2-1.0.2 Установка Diffutils-2.8.1 Установка Fileutils-4.1 Установка Findutils-4.1 Установка Gawk-3.1.1 Установка GCC-3.2 Установка Grep-2.5 Установка Gzip-1.2.4a Установка Make-3.79.1 Установка Patch-2.5.4 Установка Sed-3.02 Установка Sh-utils-2.0 Установка Tar-1.13 Установка Texinfo-4.2 Установка Textutils-2.1 Установка Util-linux-2.11u 6. Установка основных компонентов системы Introduction About debugging symbols Entering the chroot environment Changing ownership Creating directories Mounting the proc file system Creating the mtab symlink Creating the bash and sh symlinks Creating the passwd and group files Creating devices (Makedev-1.7) Установка Linux-2.4.19 Установка Man-pages-1.52 Установка Glibc-2.2.5 Установка GCC-3.2 Установка Zlib-1.1.4 Установка Findutils-4.1 Установка Gawk-3.1.1 Установка Ncurses-5.2 Установка Vim-6.1 Установка Bison-1.35 Установка Less-374 Установка Groff-1.18 Установка Textutils-2.1 Установка Sed-3.02 Установка Flex-2.5.4a Установка Binutils-2.13 Установка Fileutils-4.1 Установка Sh-utils-2.0 Установка Gettext-0.11.5 Установка Net-tools-1.60 Установка Perl-5.8.0 Установка Linux threads-2.2.5 man pages Установка M4-1.4 Установка Texinfo-4.2 Установка Autoconf-2.53 Установка Automake-1.6.3 Установка Bash-2.05a Установка File-3.39 Установка Libtool-1.4.2 Установка Bin86-0.16.3 Установка Bzip2-1.0.2 Установка Ed-0.2 Установка Kbd-1.06 Установка Diffutils-2.8.1 Установка E2fsprogs-1.27 Установка Grep-2.5 Установка Gzip-1.2.4a Установка Man-1.5k Установка Lilo-22.2 Установка Make-3.79.1 Установка Modutils-2.4.19 Установка Netkit-base-0.17 Установка Patch-2.5.4 Установка Procinfo-18 Установка Procps-2.0.7 Установка Psmisc-21 Установка Shadow-4.0.3 Установка Sysklogd-1.4.1 Установка Sysvinit-2.84 Установка Tar-1.13 Установка Util-linux-2.11u Установка LFS-Bootscripts-1.10 Конфигурация основных программ 7. Конфигурация загрузочных скриптов Введение Как проходит процесс загрузки с этими скриптами? Конфигурация скрипта setclock Нужен ли скрипт loadkeys? Насторйка sysklogd Настройка сети localnet Создание файла /etc/hosts Настройка дополнительных сетевых скриптов 8. Делаем систему LFS загрузочной Введение Cоздание файла /etc/fstab Установка Linux-2.4.19 Делаем систему LFS звгрузочной 9. Конец Заключение Впиши себя в пользователи LFS Перезагрузка системы III. Часть III — Приложения A. Описания пакетов и зависимостей Введение Autoconf Automake Bash Bin86 Binutils Bison Bzip2 Diffutils E2fsprogs Ed File Fileutils Findutils Flex Gawk GCC Gettext Glibc Grep Groff Gzip Kbd Less LFS-Bootscripts Libtool Lilo Linux (ядро) M4 Make MAKEDEV Man Man-pages Modutils Ncurses Netkit-base Net-tools Patch Perl Procinfo Procps Psmisc Sed Shadow Sh-utils Sysklogd Sysvinit Tar Texinfo Textutils Util-linux Vim Zlib B. Ресурсы Вступление Книги HOWTO и руководства Прочее

Читайте также:  What linux is zorin
Вперед
Пролог

Источник

Знакомьтесь — Linux From Scratch

Tux Construction.

С самого раннего детства я интересовался компьютерами. Интерес этот произрастал из игр под MS-DOS в детсадовском возрасте, заканчивая всевозможными олимпиадами по программированию к окончанию школы. Не удивительно, что после школы пошел учиться в технический институт на программиста. Самое странное, что все эти годы я был абсолютно далек от такой замечательной операционной системы, как GNU/Linux. Но полтора года назад, в самом начале первого семестра, я познакомился с парнем (он был незначительно старше меня и поступил в институт уже после техникума — имея опыт работы), который во время одного из разговоров сказал:

Единственный бумажный дистрибутив

LFS (здесь и далее аббревиатура от Linux From Scratch) – книга, написанная Герардом Бикмансом, описывающая процесс сборки минимального рабочего варианта GNU/Linux из исходных кодов. Почему бумажный? В свое время книгу можно было купить в твердом переплете, что делает «дистрибутив» несколько необычным, не правда-ли? Помимо самой книги, для сборки конечно-же понадобится интернет (или заранее загруженные исходные коды), свободный раздел на жестком диске, и любая операционная система на базе ядра Linux, имеющая компилятор. Лично я всегда использую либо уже собранный дистрибутив LFS, либо полную установку Slackware – в нем есть все необходимое, чего не скажешь про (например) Ubuntu. Конечно, всегда можно загрузить нехватающие пакеты, но ведь мы хотим только-только научиться линуксу? А Slackware даже в своей базовой установке и без конфигурирования предоставляет требуемый инструментарий.

Следует сказать сразу — дистрибутив собранный по книге LFS не умеет толком ничего. Вернее, ничего такого, что потребуется неискушенному пользователю. Он умеет включаться, выключаться, перезагружаться, использовать Ethernet подключение, но что самое главное — компилировать. Так существуют другие книги, теперь уже поддерживаемые сообществом — Beyond LFS позволяет собрать те самые, интересные пользователю, программы. От браузера и графической среды, до систем управления базами данных и DHCP сервера. Книга имеет свойство отставать в версии от базовой книги, но полученный от LFS опыт обычно достаточен, для самостоятельного разрешения конфликтов версий. Три другие книги — Automated LFS, Cross LFS и Hardened LFS полностью соответствуют названиям и выходят за пределы этой статьи. Впрочем, всегда можно почитать в интернете, правда?

Читайте также:  Github desktop linux kali

Но почему начинать с него?

Все очень просто, если не сказать — до смешного. Помимо инструкций, в книге много теоретического (но крайне сжатого и как следствие — не заунывного) материала. Установите Ubuntu. Вы знаете что делает пакет Libtool? Или Gawk? После пары успешных сборок LFS, вы будете знать каждый пакет в своей системе и что самое главное — представлять, как они взаимодействуют. Да, состав системы минимальный, но это постоянно подогревает интерес к ее усовершенствованию. Приучит частенько обращаться за помощью к Google и читать англоязычную документацию. Поначалу вы не будете понимать и половины своих действий, внимательно перепечатывая или копируя блоки кода в консоль. Но в самом конце, осознание того, что эту неказистую, без поддержки графики и вашей мощной видеокарты, без новомодного Aero и сенсорных экранов, операционную систему вы собрали сами, придаст вам такой запас сил и гордость, что вы сами потянитесь за новыми знаниями и новыми победами. Я немного утрирую, но ощущения после первой перезагрузки в новую систему сложно забыть даже сейчас.

Цифры и суровая правда жизни

LFS вовсе не минимальный по своему весу дистрибутив. Для сборки потребуется порядка 3 свободный гигабайтов на диске (это помимо уже рабочей Linux-Based системы) — тем не менее, после определенных танцев, систему можно будет превратить в Live-CD. Если у меня будет такая возможность, я расскажу как это делается, в последствии. Компиляция всего и вся (с учетом необходимости создания конфигурационных файлов и прочего) занимает около двух дней. Это если с перерывами на сон, питание и отключение компьютера на ночь. С другой стороны, это зависит от производительности компьютера, на котором собирается система. Моей первой жертвой был ноутбук MSI X-340 — процессор Intel Core 2 Solo с тактовой частотой 1.2 гигагерца (вообще говоря, LFS рекомендуется собирать на одноядерной системе). Оперативная память — 2GB DDR2. Вполне достаточно даже более низких характеристик, а на быстром процессоре сборка пойдет значительно быстрее.

Читайте также:  Filezilla astra linux orel

Кстати, приблизительное время сборки каждого из пакетов указано в учебнике. За единицу времени, принимается время сборки пакета Binutils — ассемблера, линкера и ряда других, более мелких утилит для работы с объектными файлами. На вышеуказанной системе это заняло три минуты.

Состав дистрибутива

Перечислять все входящие в LFS пакеты не имеет большого смысла. Список получится длинным, и практически ни о чем не говорящим новичку; избыточным для человека разбирающегося. В этом небольшом разделе я лишь хотел дать несколько общих советов. Во-первых, собирая пакет, не описанный в книге, загляните в репозиторий патчей — возможно его уже адаптировали для использования в LFS. Во-вторых, BLFS почти полностью состоит из опциональных пакетов — просто выбирайте те, которые вам нужны и смело добавляйте в свою сборку LFS. И третье: с самого начала используйте пакетный менеджер. В книге этому уделяется глава, но практические инструкции отсутствуют чуть менее, чем полностью. Я лишь могу порекомендовать Guarded Installation Tool – написанный на Bash’е скрипт, обеспечивающий минимальный набор команд, для управления пакетами, зависимостями и версиями. В LFS этого будет достаточно. В последствии вы можете скомпилировать из исходных кодов APT или DPKG — это неплохо освещено на форумах сообщества.

Вместо заключения

За прошедшие полтора года я сильно продвинулся в своем изучении. Продвинулся со стадии «Есть такая операционная система» до уровня «Подниму сервер под Gentoo за трое суток». Я еще очень далек от идеала и вряд ли могу даже называть себя настоящий линуксоидом — на домашнем компьютере уживаются старенькая Windows XP и Xubuntu 10.10, но знаете что я отвечаю, когда меня спрашивают с чего начать изучать линукс? Начните с Linux From Scratch.

Литература

P.S. Спасибо написавшим в личку. Поправил ошибки, немного подвинул хабракат.

Источник

Оцените статью
Adblock
detector