Встречайте Linux С Нуля



Вместо вступления

Встречайте Linux с нуля

С самого раннего возраста я интересовался компьютерами.

Этот интерес рос начиная с игр под MS-DOS в детском саду, заканчивая всевозможными соревнованиями по программированию к концу школы.

Неудивительно, что после школы я пошел учиться в технический институт на программиста.

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

«Хотите начать изучать GNU/Linux? Начните работу с Linux с нуля».



Единственная раздача бумаги

LFS (далее сокращение от Линукс с нуля ) — книга Джерарда Бикманса, описывающая процесс создания минимальной рабочей версии GNU/Linux из исходного кода.

Почему бумага? Одно время книгу можно было купить в твердом переплете, что делает «распространение» несколько необычным, не правда ли? Помимо самой книги, для сборки, конечно же, вам понадобится Интернет (или заранее скачанные исходники), свободный раздел на жестком диске и любая операционная система на базе ядра Linux с компилятором.

Лично я всегда использую либо готовый дистрибутив LFS, либо полную установку Slackware — в нем есть все необходимое, чего нельзя сказать о (например) Ubuntu. Конечно, вы всегда можете скачать недостающие пакеты, но мы ведь просто хотим изучить Linux, верно? А Slackware, даже в базовой установке и без настройки, предоставляет необходимые инструменты.

Сразу стоит сказать, что дистрибутив, составленный из книги LFS, толком ничего сделать не может. Вернее, ничего такого, что понадобится неопытному пользователю.

Он может включаться, выключаться, перезагружаться, использовать Ethernet-соединение, но самое главное — компилироваться.

Так же есть и другие книги, сейчас поддерживаемые сообществом — Beyond LFS позволяет собирать те самые программы, которые интересны пользователю.

От браузера и графической среды до систем управления базами данных и DHCP-серверов.

Книга имеет тенденцию отставать от базовой книги по версии, но опыта, полученного от LFS, обычно достаточно для самостоятельного разрешения конфликтов версий.

Три другие книги — Automated LFS, Cross LFS и Hardened LFS — полностью соответствуют своим названиям и выходят за рамки этой статьи.

Впрочем, вы всегда можете прочитать это в Интернете, верно?

Но зачем начинать с этого?

Все очень просто, если не сказать смешно.

Помимо инструкций, книга содержит много теоретического (но предельно лаконичного и как следствие не заунывного) материала.

Установите Убунту.

Знаете ли вы, что делает пакет Libtool? Или Гаук? После пары успешных сборок LFS вы будете знать каждый пакет в вашей системе и, самое главное, поймете, как они взаимодействуют. Да, состав системы минимален, но это постоянно подогревает интерес к ее совершенствованию.

Научит часто обращаться за помощью к Google и читать англоязычную документацию.

Поначалу вы не будете понимать и половины своих действий, тщательно переписывая или копируя в консоль блоки кода.

Но в самом конце осознание того, что эту неприглядную операционную систему вы собрали сами, без графической поддержки и своей мощной видеокарты, без новомодного Aero и сенсорных экранов, даст вам такой запас сил и гордости, что вы сами потянетесь за новыми знаниями и новыми победами.

Я немного утрирую, но ощущения после первой перезагрузки в новую систему сложно забыть даже сейчас.



Числа и суровая правда жизни

LFS вообще не является минимальным дистрибутивом.

Для сборки потребуется около 3-х свободных гигабайт на диске (это помимо уже работающей Linux-системы) — однако после определенных танцев систему можно превратить в Live-CD. Если у меня будет такая возможность, я позже расскажу, как это делается.

Компиляция всего (включая необходимость создания файлов конфигурации и прочего) занимает около двух дней.

Это если с перерывами на сон, еду и выключением компьютера на ночь.

С другой стороны, это зависит от производительности компьютера, на котором собрана система.

Первой моей жертвой стал ноутбук MSI X-340 — процессор Intel Core 2 Solo с тактовой частотой 1,2 гигагерца (вообще говоря, LFS рекомендуется собирать на одноядерной системе).

Оперативная память – 2 ГБ DDR2. Даже более низких характеристик вполне достаточно, и на быстром процессоре сборка пойдет гораздо быстрее.

Кстати, в туториале указано примерное время сборки каждого пакета.

За единицу времени принято время сборки пакета Binutils — ассемблера, компоновщика и ряда других, более мелких утилит для работы с объектными файлами.

В вышеуказанной системе это заняло три минуты.



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

Список все пакеты включены в LFS не имеет особого смысла.

Список будет длинным и новичку практически ничего не скажет; для знающего человека это слишком.

В этом коротком разделе я просто хотел дать несколько общих советов.

Во-первых, при сборке пакета, не описанного в книге, загляните в репозиторий патчей — возможно, он уже адаптирован для использования в LFS. Во-вторых, BLFS почти полностью состоит из дополнительных пакетов — просто выберите те, которые вам нужны, и смело добавляйте их в свою сборку LFS. И третье: с самого начала используйте менеджер пакетов.

В книге этому посвящена целая глава, но практические инструкции почти полностью отсутствуют. Я могу только рекомендовать Инструмент защищенной установки — скрипт, написанный на Bash, предоставляющий минимальный набор команд для управления пакетами, зависимостями и версиями.

В LFS этого будет достаточно.

Позже вы сможете скомпилировать APT или DPKG из исходного кода — это хорошо описано на форумах сообщества.



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

За последние полтора года я добился больших успехов в учебе.

Я продвинулся от этапа «Есть такая операционная система» до уровня «Настрою сервер для Gentoo за три дня».

Я еще очень далек от идеала и едва ли могу назвать себя настоящим пользователем Linux — на домашнем компьютере уживаются старенькая Windows XP и Xubuntu 10.10, но знаете, что я отвечаю, когда меня спрашивают, с чего начать изучение Linux? Начните работу с Linux с нуля.



Литература

P.S. Спасибо тем, кто написал в личку.

Исправил ошибки, немного передвинул хак.

Теги: #настройка Linux #linux с нуля #lfs #дистрибутив Linux #дистрибутив Linux

Вместе с данным постом часто просматривают: