вторник, 14 сентября 2010 г.

Перевод LFS 6.7-rc1 часть 2

Горя желанием всё-таки как-то перейти из разряда домохозяек хотя бы начинающие пользователи, я решил таки попробовать поставить на виртуальную машину дистрибутив линукса под названием Gentoo. И обосрался (в переносном смысле). Какой-то непонятный stage3, что это вообще такое, куда совать? Расплакался оттого, какой я балбес и слабак, и для самоуспокоения перевёл на русский язык вторую главу LFS 6.7-rc1. LFS - это Linux From Scratch, не дистрибутив даже, а всего лишь написанная простым и понятным (но иностранным) языком книга о том, как можно собрать свой собственный дистрибутив с нуля в образовательных целях. Ну то есть для тех, кто любит смотреть, как по экрану снизу вверх быстро-быстро бегут буковки вывода компилятора. Существует проект BLFS (Beyond LFS), который, тоже в виде книги, рассказывает о том, как превратить только что собранный голый каркас в какую-нибудь свою собственную убунту или мандриву.

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

Перевод.

Linux From Scratch 6.7-rc1

Часть 2. Подготовка нового раздела на жёстком диске.


2.1. Введение.

В этой части мы научимся создавать разделы, форматировать их и маунтить.

2.2. Создание нового раздела.

LFS, как и большинство других операционных систем, обычно размещается на отдельном разделе, так что лучше всего будет этот раздел ему предоставить.
Минимальные системные требования — порядка 1,3 Гб. Однако, если вы собираетесь использовать LFS и дальше, то отмерьте ещё гигабайта 2-3 под прочие программы. Стоит отметить, что сам по себе LFS не занимает много места, а в основном оно тратится на всякие временные хранилища; и много места может требоваться под всякий временный хлам при компиляции.
Так как оперативной памяти может не всегда хватать на нужды компилятора, имеет смысл завести своп. Своп — это отдельный раздел, куда линукс складывает всякую информацию из оперативной памяти. Если уже есть раздел под своп, используемый системой, в которой будет собираться LFS (системой-хостом), то можно оставить его, второй раздел под своп создавать не имеет смысла.
Разбейте жёсткий диск на разделы, используя утилиты cfdisk или fdisk. Понадобится по крайней мере один свободный раздел под LFS соответствующего размера, и своп. Запомните, какие разделы вы сделали (/dev/hda5, например) — это сильно пригодится позже.

2.2.1. Ещё про разделы.

Всякие просьбы помочь с разбиением жёсткого диска на разделы обычно удовлетворяются в списках рассылки. Это очень актуально, надо сказать. Обычно другие дистрибутивы линукса автоматически разбивают жёсткий диск по своему усмотрению, занимая его под себя целиком и оставляя маленький раздел под своп. Это не оптимально для LFS по некоторым причинам.
2.2.1.1. Корневой раздел.
Не надо путать / и /root, корневой раздел — это /, в английской литературе называется «root partititon», поэтому многие путают. Так вот, корневого раздела в 10 гигабайт вполне достаточно для построения базовой системы, тарболов, распакованных исходников и так далее, но может оказаться мало, если вы и дальше собираетесь в LFS жить.
2.2.1.2. Своп (раздел подкачки).
Большинство дистрибутивов создаёт раздел под своп, обычно где-то раза в два больше, чем всего оперативной памяти, хотя столько требуется очень редко. Если места мало, то можно оставить гигабайта два.
Своп это вообще нехорошо. Хотите увидеть, как система начинает тормозить, уходя в своп? Попробуйте начать редактирование пятигигового файлика.
Если система постоянно что-то свопит, лучшим способом это прекратить без потери производительности будет покупка ещё оперативной памяти.
2.2.1.3. Прочие разделы.
Следующие разделы прямо таки не необходимы, однако, рекомендованы.
/boot — сильно рекомендовано. Тут можно хранить ядра и всякую загрузочную пижню. Чтоб избежать потенциальных проблем с загрузкой с больших дисках, разместите этот раздел в самом начале. Размер в 100 Мб достаточен.
/home — домашние папки пользователей. Можно иметь одни и те же настройки и доступ к своим данным в разных дистрибутивах или сборках LFS. Размер не ограничен.
/usr — это в LFS обычно не надо выносить на отдельный раздел.
/opt — этот раздел может сильно пригодится потом. Здесь можно держать GNOME или KDE, чтоб они не засирали /usr своими файлами. 5-10 Гб вполне достаточно.
/tmp — это тоже обычно не требуется выносить отдельно.
/usr/src — тут можно хранить все исходники, которые могут быть доступны здесь изо всех одновременно установленных дистрибутивов или сборок LFS, а ещё прямо тут можно их собирать из исходников. 30-50 Гб для этого дела должно хватить.
* все разделы, которые бы вы хотели, чтоб монтировались автоматически во время загрузки, должны быть перечислены в /etc/fstab. Подробнее см. раздел 8.2.

2.3. Создание файловой системы на новом разделе.

Теперь, когда пустой раздел сделан, его нужно отформатировать, создав на нём файловую систему. Наиболее популярна (была когда-то) в линуксовом мире файловая система ext2, но теперь она, с появлением дисков больших объёмов, уступила место ext3, в которую добавили журналирование и прочие навороты. Ext3 совместима с утилитами e2fsprogs для ext2. Для примера мы сделаем ext3; как делать прочие файловые системы, можно почитать в других разделах руководства (тут была ссылка, по которой я прошёл и обнаружил информацию по XFS и ReiserFS, а по ext4 — нет).
Чтоб сделать файловую систему ext3 на только что созданном разделе, надо выполнить команду:
mke2fs -jv /dev/hda5
Соответственно, /dev/hda5 надо заменить на то, где у вас этот самый раздел.
Замечание. Некоторые дистрибутивы используют какие-то свои модификации E2fsprogs, поэтому вы можете внезапно, пытаясь загрузиться в LFS, получить сообщение об ошибке: «unsupported filesystem features, upgrade your E2fsprogs» или что-то подобное. Чтоб проверить, не использует ли ваша хостовая система всякие свои модификации, выполните команду:
debugfs -R feature /dev/sda5
Если результат выполнения отличается от «has_journal, ext_attr, resize_inode, dir_index, filetype, sparce_super, large_file, needs_recovery» наличием неперечисленных фич, то у вас вряд ли получится загрузиться в LFS. Вам придётся собрать стоковый немодифицированный вариант E2fsprogs из исходников и с его помощью создать разделы под LFS по-новой. При сборке E2fsprogs НЕ НАДО выполнять make install после make, а то вы поломаете нахер хостовую систему.

Если у хостовой системы уже есть раздел под своп, то вам беспокоиться не о чем. Если вы сделали новый раздел под своп, то форматировать его не надо, надо просто проинициализировать:
mkswap /dev/hda6

Ну или не /dev/hda6, а где у вас там своп.

2.4. Монтирование новой файловой системы.

Теперь у нас есть раздел и он отформатирован. Теперь его надо подмаунтить. В этой книге предполагается, что маунтить будем в /mnt/lfs, вы же у себя можете маунтить куда хотите.
Зададим значение переменной LFS для удобства:
export LFS=/mnt/lfs

А теперь сделаем нужную папку (если её ещё нет) и подмаунтим туда наш раздел:
mkdir -pv $LFS
mount -v -t ext3 /dev/hda5 $LFS
Если у вас приготовлено несколько разделов, то каждый надо подмаунтить отдельно, например, так:
mkdir -pv $LFS/usr
mount -v -t ext3 /dev/hdb2 $LFS/usr
Замените в этих примерах эти разделы, написанные для примера, на свои.
Убедитесь, что разделы подмонтированы с не слишком жестокими ограничениями. Для этого просто запустите команду mount без параметров и посмотрите, что там в оциях монтирования нашего раздела. Если там есть nosuid, nodev или noatime, перемаунтите без них.
Если у вас есть новый свап, включите его:
swapon -v /dev/hda6

Теперь типа всё ок и надо навострить интернет побыстрее, потому что пришло время скачивать пакеты.

Комментариев нет:

Отправить комментарий

Ублюдочный Гугл поломал форму комментариев. Извините.