Чтение онлайн

на главную - закладки

Жанры

Шрифт:

Последняя проверка: версия 2.11n.

Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chgrp, chmod, cp, install, ln, mv, rm Gettext: msgfmt, xgettext Gcc: cc, cc1, collect2, cpp, cpp0 Glibc: rpcgen Grep: grep Make: make Sed: sed Sh-utils: uname, whoami Textutils: cat

Глава 6. Установка основных компонентов системы

Вступление

В этой главе мы всерьез займемся

установкой системы LFS. Сначала мы войдем в созданную в предыдущей главе мини-систему Linux, создадим несколько вспомогательных вещей и перейдем к поочередной инсталляции всех пакетов.

Инсталляция программ довольно однообразна. Вероятно, можно было бы дать общие инструкции установки, а более подробно пояснять установку тех пакетов, которые требуют иного подхода. Однако мы решили предоставить полное руководство по установке для каждого пакета с целью минимизации возможных ошибок.

Если вы собираетесь воспользоваться оптимизациями компилятора в данной главе, см. соответствующее руководство по адресуОптимизации компилятора позволяют ускорить выполнение той или иной программы, однако иногда они создают трудности при компиляции. В случае если пакет не компилируется с использованием оптимизаций, попробуйте скомпилировать его без них.

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

Отладочные символы

Большинство программ и библиотек по умолчанию компилируются с символами отладки. ( с опцией gcc -g).

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

Однако включение символов отладки значительно увеличивает размер программы или библиотеки. Для того, чтобы получить представление о размере отладочных символов, взглянем на пример:

оболочка bash, скомпилированная с отладочными символами: 1200 KB

оболочка bash, скомпилированная без отладочных символов: 480 KB

файлы glibc и gcc (/lib и /usr/lib) с отладочными символами: 87 MB

файлы glibc и gcc скомпилированная без отладочных символов: 16 MB

Размеры могут различаться в зависимости от использованного компилятора Си и библиотеки. При сопоставлении размера программы, скомпилированной с отладочными символами и без них, разница составляет примерно 2 – 5 раз.

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

Для

удаления символов отладки из бинарного файла (файл a.out или бинарный файл ELF), выполните strip –strip-debug filename. Допускается использование символа * для обработки нескольких файлов (например, strip –strip-debug $LFS/static/bin/*).

Для удобства, в главе 9 описана программа, удаляющая отладочные символы со всех программ и библиотек системы. Для получения дополнительных сведений по оптимизации, см. руководство: http://hints.linuxfromscratch.org/hints/optimization.txt.

Вход в среду chroot

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

После перехода в режим пользователя root, выполните следующую команду для входа в среду chroot:

chroot $LFS /static/bin/env -i \

HOME=/root TERM=$TERM PS1='\u:\w\$ ' \

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/static/bin \

/static/bin/bash –login

Команда env с опцией – i очистит значения всех переменных среды chroot. Затем только переменные HOME, TERM, PS1 и PATH будут заданы. Конструкция TERM=$TERM устанавливает значение TERM для среды chroot равным значению TERM вне этой среды; эта переменная необходима для корректной работы программ типа vim и less. Если вы нуждаетесь в других переменных, например CFLAGS или CXXFLAGS, самое время задать их снова.

Отныне нет необходимости использовать переменную LFS, т.к. все действия выполняются в файловой системе LFS (то, что оболочка считает / , на самом деле является /mnt/lfs).

Обратите внимание, что все команды, начиная с данной главы, следует выполнять из среды chroot. Если по какой-то причине (например, перезагрузка системы) вы вышли из этой среды, прежде чем возобновить инсталляцию, заново войдите в нее и монтируйте файловую систему proc (см. далее).

Заметьте, что приглашение bash выглядит следующим образом: «I have no name!» Это нормально, т.к. пакет Glibc еще не был установлен.

Изменение прав

Первое что мы сделаем в режиме пользователя root – передадим права файлов и директорий, установленных в Главе 5, пользователю root. Это необходимо, т.к. когда в дальнейшем мы оставим директорию /static добавим несколько пользователей, один из них может оказаться владельцем программы со статическими ссылками, а это не самая лучшая идея.

Выполните следующую команду для передачи прав на все программы, скомпилированные с использованием статических ссылок:

Поделиться:
Популярные книги

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

На границе империй. Том 10. Часть 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 3

Сердце для стража

Каменистый Артем
5. Девятый
Фантастика:
фэнтези
боевая фантастика
9.20
рейтинг книги
Сердце для стража

Жандарм 3

Семин Никита
3. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Жандарм 3

Жена на пробу, или Хозяйка проклятого замка

Васина Илана
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Жена на пробу, или Хозяйка проклятого замка

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Отмороженный 11.0

Гарцевич Евгений Александрович
11. Отмороженный
Фантастика:
боевая фантастика
рпг
попаданцы
фантастика: прочее
фэнтези
5.00
рейтинг книги
Отмороженный 11.0

Неучтенный. Дилогия

Муравьёв Константин Николаевич
Неучтенный
Фантастика:
боевая фантастика
попаданцы
7.98
рейтинг книги
Неучтенный. Дилогия

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Бастард Императора. Том 4

Орлов Андрей Юрьевич
4. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 4

Кодекс Крови. Книга VII

Борзых М.
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VII

Идеальный мир для Лекаря 5

Сапфир Олег
5. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 5

Камень. Книга 3

Минин Станислав
3. Камень
Фантастика:
фэнтези
боевая фантастика
8.58
рейтинг книги
Камень. Книга 3

Матабар

Клеванский Кирилл Сергеевич
1. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар