Книга Gentoo Linux x86


По умолчанию: установка GRUB с помощью grub-install



Pdf просмотр
страница4/9
Дата16.11.2016
Размер0.93 Mb.
Просмотров2082
Скачиваний0
1   2   3   4   5   6   7   8   9
По умолчанию: установка GRUB с помощью grub-install
Для установки GRUB вам надо выполнить команду grub-install
. Однако, grub-install не заработает сам по себе, т.к. мы находимся в среде с измененным корневым каталогом. Нам нужно создать файл
/etc/mtab, перечислив в нем все смонтированные файловые системы. К счастью, для этого есть очень легкий способ: просто скопируйте содержимое /proc/mounts поверх /etc/mtab, исключив строку rootfs
, если вы не создавали отдельный загрузочный раздел. Следующая команда подойдет в обоих случаях:
# в этом примере Windows находится на /dev/hda6
title=Windows XP rootnoverify (hd0,5) makeactive chainloader +1
Листинг 2.4: grub.conf для тех, кто пользовался genkernel
default 0 timeout 30 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=Gentoo Linux 2.6.12-r10 root (hd0,0) kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192
initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10
# нужно только для двойной загрузки title=Windows XP rootnoverify (hd0,5) makeactive chainloader +1
Примечание: Параметр udev
, указанный в конце строки kernel, необходим для обхода ошибки в некоторых версиях genkernel, если вы вообще используете udev (по умолчанию — используется).
Примечание: Если вы разбили жесткий диск по-другому, или у вас другое ядро, внесите необходимые изменения.
При этом убедитесь, что все пути, следующие за упоминанием устройства GRUB (например (hd0,0)), приведены относительно точки подключения, а не корня файловой системы. Другими словами, (hd0,0)/grub/splash.xpm.gz
— на самом деле /boot/grub/splash.xpm.gz, так как (hd0,0) — это /boot.

Теперь мы можем установить GRUB, используя grub-install
:
Если у вас есть вопросы о GRUB, пожалуйста, обратитесь к
GRUB FAQ (англ.)
или руководству по GRUB
(англ.)
Переходите к перезагрузке системы
Альтернатива: установка GRUB вручную
Для начала настройки, введите grub
. Вы увидите приглашение grub> — это командная строка grub.
Теперь потребуется набрать команды, нужные для установки загрузочной записи GRUB на ваш жесткий диск.
В приводимом примере мы хотим установить GRUB так, чтобы он считывал нужную информацию с загрузочного раздела /dev/hda1, а загрузочная запись GRUB находилась в MBR (Master Boot Record) жесткого диска, чтобы первое, что мы видели после включения компьютера — это приглашение GRUB.
Естественно, если вы при установке отклонялись от предлагаемой схемы, внесите необходимые поправки.
Находясь в GRUB, можно использовать автодополнение по клавише TAB. К примеру, если ввести «
root (
», а затем TAB, появится список устройств (таких как hd0). Если ввести «
root (hd0,
» и нажать TAB, появится список для выбора раздела из возможных (такого как hd0,0).
Благодаря автодополнению установка GRUB не так сложна. Теперь приступим к настройке GRUB.
С дополнительными вопросами о GRUB, пожалуйста, обращайтесь к
GRUB FAQ (англ.)
или руководству по
GRUB (англ.)
Переходите к перезагрузке системы
10.c.
Альтернатива: использование LILO
Листинг 2.5: Создание /etc/mtab
# grep -v rootfs /proc/mounts > /etc/mtab
Листинг 2.6: Выполнение grub-install
# grub-install /dev/hda
Листинг 2.7: Запуск оболочки GRUB
# grub
Примечание: Если у вас нет приводов для дискет, к приведенной команде добавьте
--no-floppy
, чтобы grub зря не опрашивал несуществующие дисководы.
Листинг 2.8: Установка GRUB в MBR
grub> root (hd0,0)
(указание расположения раздела с /boot)
grub> setup (hd0)
(установка GRUB в MBR)
grub> quit
(выход из оболочки GRUB)
Примечание: Если вы хотите установить GRUB в определенный раздел вместо MBR, команду setup потребуется исправить так, чтобы она указывала на нужный раздел. Например, команда для установки GRUB в /dev/hda3 — setup (hd0,2)
. Однако, так поступают немногие.
Примечание: В случае переустановки ядра в будущем, вам больше не потребуется копировать содержимое файлов. После компиляции ядра просто запускайте make install
: копирование файлов и изменение конфигурации
GRUB произойдет автоматически.

Установка LILO
LILO (сокращение от LInux LOader) — это проверенная временем рабочая лошадка среди загрузчиков
Linux-систем. Но ей недостает ряда возможностей, которые есть в GRUB (и в том числе в этом заключается причина растущей популярности GRUB). LILO все еще используется, потому что на некоторых системах он работает, а GRUB — нет. Конечно же, он используется еще и потому, что многие просто знакомы с LILO и сроднились с ним. Так или иначе, в Gentoo поддерживаются оба загрузчика, и вы, видимо, решили использовать LILO.
Установка LILO в систему проста как пробка: просто используйте emerge
Настройка LILO
Для настройки LILO нужно создать файл /etc/lilo.conf. Запустите свой любимый редактор (в руководстве мы для единообразия используем nano
) и создайте файл.
Несколькими разделами раньше мы попросили вас запомнить название созданного файла образа ядра. В следующем примере используется предложенная нами схема разделения диска. Пример разделен на две части: одна — для тех, кто не пользовался для сборки ядра genkernel другая — для тех, кто при сборке ядра пользовался genkernel
Удостоверьтесь, что у себя вы указываете имя своего файла образа ядра, и при необходимости имя
своего образа начального корневого диска (initrd).
Листинг 3.1: Установка LILO
# emerge lilo
Листинг 3.2: Создание /etc/lilo.conf
# nano -w /etc/lilo.conf
Примечание: Если ваша корневая файловая система — JFS, необходимо добавить «ro» в строку kernel
, поскольку
JFS «накатывает» свой журнал перед тем, как разрешить монтирование раздела на чтение-запись.
Листинг 3.3: Пример /etc/lilo.conf
boot=/dev/hda
# установка LILO в MBR
prompt
# предоставление шанса выбора другого варианта timeout=50
# ожидание пять секунд до загрузки варианта по умолчанию default=gentoo
# по истечении времени загрузка варианта gentoo
# для тех, кто не использует genkernel image=/boot/kernel-2.6.12-gentoo-r10 label=gentoo
# название этого варианта read-only
# запуск с корневой ФС только для чтения; не менять!
root=/dev/hda3
# расположение корневой файловой системы
# для тех, кто использует genkernel image=/boot/kernel-genkernel-x86-2.6.12-gentoo-r10 label=gentoo read-only root=/dev/ram0 append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev" initrd=/boot/initramfs-genkernel-2.6.12-gentoo-r10
# следующие две строки нужны только для двойной загрузки с Windows
# в этом примере Windows находится на /dev/hda6
other=/dev/hda6 label=windows
Примечание: Параметр udev
, указанный в конце строки kernel, необходим для обхода ошибки в некоторых версиях genkernel, если вы вообще используете udev (по умолчанию — используется).

Если нужно передать ядру дополнительные параметры, добавьте в соответствующий раздел файла выражение append
. Например, добавим параметр video для включения кадрового буфера:
Если вы используете ядро 2.6.7 или выше, а объем жесткого диска ограничили перемычками из-за того, что BIOS не в состоянии работать с дисками большого размера, вам потребуется добавить hdx=stroke
Тем, кто использует genkernel
, нужно помнить, что их ядро использует такие же загрузочные параметры, как на установочном компакт-диске. Например, если у вас есть устройства SCSI, следует передать ядру параметр doscsi
Теперь сохраните файл и выйдите из редактора. Для окончания установки нужно запустить
/sbin/lilo
, чтобы LILO смог отразить настройки, сделанные в /etc/lilo.conf, в вашей системе (т.е. записался на диск). Имейте в виду, что при каждой установке нового ядра или изменении меню вам потребуется выполнять
/sbin/lilo заново.
Переходите к перезагрузке системы
10.d.
Перезагрузка системы
Выйдите из изолированной среды и размонтируйте все смонтированные разделы. Затем введите ту самую волшебную команду, которую вы так заждались: reboot
Естественно, не забудьте вынуть загрузочный компакт-диск, иначе он загрузится сам вместо вашей новой системы Gentoo.
Загрузив вновь установленную систему, переходите к завершению установки Gentoo
11. Завершение установки Gentoo
11.a.
Управление учетными записями
Добавление учетной записи для повседневной работы
Работа в учетной записи root (администратора) в системе Unix/Linux опасна, и ее следует всячески избегать. Поэтому настоятельно рекомендуется добавить учетную запись пользователя для повседневной работы.
Примечание: Если вы разбили жесткий диск по-другому, или у вас другое ядро, внесите необходимые изменения.
Листинг 3.4: Использование append для добавления параметров ядра
image=/boot/kernel-2.6.12-gentoo-r10 label=gentoo read-only root=/dev/hda3 append="video=vesafb:mtrr,ywrap,1024x768-32@85"
Листинг 3.5: Завершение установки LILO
#
/sbin/lilo
Примечание: При переустановке ядра вам больше не придется копировать файлы. Просто запустите make install после компиляции ядра; копирование файлов и изменение конфигурации LILO выполнится автоматически.
Листинг 4.1: Размонтирование всех разделов и перезагрузка
# exit cdimage
# cd cdimage
# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo cdimage
# reboot

Членством пользователя в группах определяется, какие действия он сможет выполнять. В следующей таблице перечислено несколько важных групп, в которые вы, возможно, захотите включать пользователей.
Например, для создания учетной записи пользователя по имени john
, входящего в группы wheel
, users и audio
, сначала войдите в систему как root (только root может создавать учетные записи пользователей), а затем запустите useradd
:
Если пользователю потребуется выполнить задачу от имени root, для временного получения привилегий root можно использовать su -
. Другой способ — пользоваться пакетом sudo
, который при правильной настройке вполне безопасен.
12. Чем заняться дальше?
12.a.
Документация
Примите поздравления! У вас теперь появилась работающая система Gentoo. И что же делать дальше?
Какие у вас появились возможности? На что стоит взглянуть прежде всего? Gentoo дает своим пользователям богатый выбор возможностей, а следовательно — и множество документированных (или не очень) свойств.
Вам обязательно нужно прочитать следующую часть настольной книги Gentoo, работа в Gentoo
, в которой рассказывается, как поддерживать программное обеспечение в актуальном состоянии, как доустанавливать программы, что такое «USE-флаги», как происходит инициализация в Gentoo и т.д.
Если вас интересует оптимизация системы с точки зрения пользователя, или вы хотите узнать, как настроить полноценный «рабочий стол», обратитесь к более подробной документации по графической среде Gentoo
. Кроме того, вы, возможно захотите прочитать наше руководство по локализации (англ.)
, что бы чуствовать себя более уютно.
Также имеется настольная книга по безопасности в Gentoo (англ.)
, которую определенно стоит прочитать.
Полный список существующих материалов имеется на странице документации
12.b.
Gentoo в интернете
Естественно, мы всегда рады видеть вас на форумах Gentoo (англ.)
, как и на любом из множества
IRC-
Группа
Описание
audio
возможность доступа к аудиоустройствам
cdrom
возможность прямого доступа к оптическим накопителям
floppy
возможность прямого доступа к гибким дискам
games
возможность играть в игры
portage
возможность использования
emerge --pretend
с правами пользователя
usb
возможность доступа к устройствам USB
plugdev
возможность монтирования и использования подключаемых устройств типа камер и USB-брелков
video
возможность доступа к средствам видеозахвата и выполнения аппаратного ускорения видео
wheel
возможность использования команды
su

Листинг 1.1: Создание учетной записи на каждый день
Login: root
Password:
(ваш пароль root)
# useradd -m -G users,wheel,audio -s /bin/bash john
# passwd john
Password:
(введите пароль для john)
Re-enter password:
(повторно введите пароль для подтверждения)
Примечание: В настоящее время для русификации рекомендуется пользоваться альтернативными руководствами по локализации Gentoo. — прим. пер.
каналов Gentoo (англ.)
Кроме того, мы можем предложить вашему вниманию несколько списков рассылки
, открытых для всех наших пользователей. Сведения о порядке подписки находятся на той же странице.
На этом мы замолкаем, чтобы позволить вам в полной мере насладиться результатом установки :)
B. Работа с Gentoo
1. Введение в Portage
1.a.
Добро пожаловать в Portage
Система Portage — вероятно, самое известное нововведение Gentoo в управлении программным обеспечением. Благодаря высокой гибкости и чрезвычайно богатым возможностям, она зачастую считается лучшим средством управления программным обеспечением из существующих в Linux.
Portage полностью написана на
Python и
Bash
, и в результате полностью прозрачна для пользователей, поскольку оба — языки сценариев.
Большинство пользователей взаимодействует с Portage с помощью команды emerge
. Эта глава не призвана заменить страницу справки emerge. Для просмотра всех возможных параметров команды emerge, обращайтесь к странице справки:
1.b.
Дерево портежей
Сборочные файлы ebuild
Говоря о пакетах, мы часто имеем в виду программы, доступные пользователям Gentoo через дерево портежей. Дерево портежей — это набор сборочных файлов ebuild, содержащих всю информацию, необходимую Portage для управления программным обеспечением (установки, поиска, извлечения и т.п.)
По умолчанию сборочные файлы находятся в /usr/portage.
Когда Portage по вашему поручению выполняет любые действия над пакетами программ, эти действия опираются на сборочные файлы, имеющиеся в системе. Поэтому необходимо регулярно обновлять сборочные файлы, чтобы Portage знала о новых программах, обновлениях, связанных с безопасностью и т.д.
Обновление дерева портежей
Дерево портежей обычно обновляется с помощью rsync (англ.)
, средства быстрой разностной передачи файлов. Обновление выполнить довольно просто, так как запуск rsync обеспечивается командой emerge
:
Если rsync выполнить невозможно из-за ограничений межсетевого экрана, дерево портежей все-таки можно обновить из ежедневных «снимков», создаваемых нами. Для автоматического извлечения и установки в системе новейшего снимка служит утилита emerge-webrsync
:
Листинг 1.1: Чтение страницы справки emerge
$ man emerge
Листинг 2.1: Обновление дерева портежей
# emerge --sync
Листинг 2.2: Запуск emerge-webrsync
# emerge-webrsync

1.c.
Обслуживание программного обеспечения
Поиск программ
Для поиска программ в дереве портежей по названию можно использовать встроенные возможности команды emerge
. По умолчанию команда emerge --search выдает названия пакетов, соответствующих
(как полностью, так и частично) заданному условию поиска.
Например, чтобы найти все пакеты, содержащие «pdf» в названии:
Для поиска пакетов еще и по тексту описания можно использовать параметр
--searchdesc
(или
-S
):
Посмотрев на сообщения команды, вы отметите, что вам дается множество информации. Поля четко обозначены, поэтому мы не будем вдаваться в подробности их значения:
Установка программ
После того, как вы нашли нужное программное обеспечение, его можно легко установить с помощью команды emerge
. Вот пример установки пакета gnumeric
:
Так как множество приложений зависит друг от друга, любая попытка установить какой-либо пакет программ может повлечь за собой также установку дополнительных пакетов. Не беспокойтесь, Portage справится и с этим. Если вы захотите выяснить, что именно Portage собирается установить вместе с нужным вам пакетом, добавьте параметр
--pretend
. Например:
После команды на установку пакета, Portage загружает из интернета необходимый исходный код (при необходимости), и по умолчанию сохраняет его в каталоге /usr/portage/distfiles. После этого пакет распаковывается, компилируется и устанавливается. Если вы хотите, чтобы Portage только загрузила
Листинг 3.1: Поиск пакетов с pdf в названии
$ emerge --search pdf
Листинг 3.2: Поиск пакетов, связанных с pdf
$ emerge --searchdesc pdf
Листинг 3.3: Пример вывода emerge --search
* net-print/cups-pdf
Latest version available: 1.5.2
Latest version installed: [ Not Installed ]
Size of downloaded files: 15 kB
Homepage: http://cip.physik.uni-wuerzburg.de/
vrbehr/cups-pdf/
Description: Provides a virtual printer for CUPS to produce PDF files.
License: GPL-2
(
* net-print/cups-pdf
Последняя доступная версия: 1.5.2
Последняя установленная версия: [ не установлен ]
Размер загружаемых файлов: 15 kB
Веб-страница: http://cip.physik.uni-wuerzburg.de/
vrbehr/cups-pdf/
Описание: Снабжает CUPS виртуальным принтером для печати PDF-файлов.
Лицензия: GPL-2 )
Листинг 3.4: Установка gnumeric
# emerge gnumeric
Листинг 3.5: Проверка зависимостей пакета gnumeric
# emerge --pretend gnumeric
исходный код без его установки, добавьте к команде emerge параметр
--fetchonly
:
Обнаружение документации к пакету
Многие пакеты содержат собственную документацию. Иногда USE-флаг doc определяет, следует ли устанавливать документацию к пакету. Проверить наличие USE-флага doc можно командой emerge -vp
<название пакета>
USE-флаг doc можно включить или отключить как глобально в файле /etc/make.conf, так и для отдельных пакетов в файле /etc/portage/package.use. Также можно, создав каталог с названием
/etc/portage/package.use, указать флаг в файле внутри этого каталога. В главе
USE-флаги этот вопрос описывается более подробно.
Документация от вновь установленного пакета обычно находится в подкаталоге каталога /usr/share/doc
, соответствующем названию пакета. Кроме того, можно вывести список всех установленных файлов утилитой equery
, которая входит в пакет gentoolkit (англ.)
— app-portage/gentoolkit
Удаление пакета
Когда вы захотите удалить пакет из системы, используйте команду emerge --unmerge
. Это приведет к удалению из системы всех файлов, установленных пакетом, кроме конфигурационных файлов приложения, изменявшихся после установки. Сохранение конфигурационных файлов позволяет вернуться к работе с пакетом, если вы когда-нибудь решите снова его установить.
Внимание
: Portage не проверяет, зависят ли другие пакеты от удаляемого! Однако вы получите предупреждение, если удаление пакета приведет к неработоспособности системы.
После удаления пакета из системы, пакеты, установленные автоматически, потому что от них зависел удаленный пакет, остаются. Чтобы Portage выявила все когда-то нужные пакеты, которые теперь можно удалить, используйте команду emerge --depclean
. Мы вернемся к этому ниже.
Обновление системы
Листинг 3.6: Загрузка исходного кода пакета gnumeric
# emerge --fetchonly gnumeric
Листинг 3.7: Проверка наличия USE-флага doc
(alsa-lib - это всего лишь пример)
# emerge -vp alsa-lib
[ebuild N ] media-libs/alsa-lib-1.0.9_rc3 +doc -jack 674 kB
Листинг 3.8: Обнаружение документации пакета
# ls -l /usr/share/doc/alsa-lib-1.0.9_rc3
total 28
-rw-r--r-- 1 root root 669 May 17 21:54 ChangeLog.gz
-rw-r--r-- 1 root root 9373 May 17 21:54 COPYING.gz drwxr-xr-x 2 root root 8560 May 17 21:54 html
-rw-r--r-- 1 root root 196 May 17 21:54 TODO.gz
(или используйте для поиска интересных файлов команду equery :)
# equery files alsa-lib | less media-libs/alsa-lib-1.0.9_rc3
* Contents of media-libs/alsa-lib-1.0.9_rc3:
/usr
/usr/bin
/usr/bin/alsalisp
(выдача обрезана)
Листинг 3.9: Удаление пакета gnumeric из системы
# emerge --unmerge gnumeric

Чтобы система сохранялась в отличной форме (не говоря уже об установке свежайших обновлений, связанных с безопасностью), ее нужно регулярно обновлять. Так как Portage просматривает сборочные файлы только в локальном дереве портежей, сперва потребуется обновить его. Обновив дерево портежей, вы сможете обновить систему командой emerge --update world
. В следующем примере мы также пользуемся параметром
--ask
, который поручает Portage вывести список пакетов, которые она собирается обновить, и спросить вас, можно ли продолжать:
Portage будет искать более новые версии установленных приложений. Однако проверяется только версии приложений, явно установленных вами, а не тех, от которых они зависят. Если вы хотите обновить каждый пакет в системе, добавьте аргумент
--deep
:
Поскольку обновления, относящиеся к безопасности, случаются и в пакетах, явным образом не устанавливались (но были «подтянуты» из-за того, что он них зависят другие программы), рекомендуется изредка запускать эту команду.
Если вы меняли какие-либо из
USE-флагов
, возможно, потом вы также захотите добавить параметр
-- newuse
. Тогда Portage проверит, требует ли изменение установки новых пакетов или перекомпиляции существующих:
Метапакеты
У некоторых пакетов в дереве портежей нет содержимого как такового, и они используются для установки набора других пакетов. Например, пакет kde полностью устанавливает среду KDE в вашей системе, привлекая различные KDE-пакетов в качестве зависимостей.
Если вы когда-либо захотите удалить из системы такой пакет, запуск emerge--unmerge не возымеет должного эффекта, так как пакеты, от которых он зависит, останутся в системе.
В Portage существует возможность удаления остаточных зависимосей, но так как зависимости программ меняются со временем, доступность программного обеспечения, прежде всего требуется полностью обновить всю систему, включая реализацию изменений, произведенных путем модификации USE-флагов.
После этого можно запустить emerge --depclean
, чтобы удалить остаточные зависимости. Когда это сделано, вам потребуется пересобрать приложения, ранее динамически связанные с удаленными пакетами, в которых они теперь не нуждаются.
Со всем этим управляются следующие три команды: revdep-rebuild входит в пакет gentoolkit
; не забудьте сначала его установить:
1.d.
Когда Portage жалуется...
Листинг 3.10: Обновление системы
# emerge --update --ask world
Листинг 3.11: Обновление всей системы
# emerge --update --deep world
Листинг 3.12: Выполнение полного обновления
# emerge --update --deep --newuse world
Листинг 3.13: Удаление ненужных зависимостей
# emerge --update --deep --newuse world
# emerge --depclean
# revdep-rebuild
Листинг 3.14: Установка пакета gentoolkit
# emerge gentoolkit

Слоты, виртуалы, ветви, архитектуры и профили
Как уже сказано, Portage — чрезвычайно мощная система, поддерживающая множество возможностей, не хватающих другим системам управления программами. Чтобы это стало понятно, разберем несколько аспектов Portage, не вникая в подробности.
С помощью Portage разные версии отдельного пакета могут сосуществовать в одной системе. В то время, как другие системы управления стремятся называть пакеты в соответствии с версией (например freetype и freetype2
), в Portage используется технология слотов (SLOT), или областей. Пакет присваивает определенный слот своей версии. Пакеты с разными слотами способны сосуществовать в одной системе.
Например, у пакета freetype есть ebuild как со
SLOT="1"
, так и со
SLOT="2"
Существуют также пакеты, выполняющие одни и те же функции, но отличающиеся в реализации.
Например metalogd
, sysklogd и syslog-ng являются системными службами журналирования.
Приложения, использующие «системный журнал», не могут зависеть от одной конкретной программы, например от metalogd
, так как остальные программы ничем не хуже. В Portage предусмотрены
виртуальные пакеты: каждая служба журналирования предоставляет virtual/syslog
, и в результате в приложениях можно указывать зависимость от virtual/syslog
Программное обеспечение может располагаться в различных ветвях дерева портежей. По умолчанию в системе разрешено только использование стабильных пакетов. Большинство новых программ при поступлении включаются в тестовую ветвь, что указывает на необходимость дополнительного тестирования перед тем, как включить их в стабильные. Хотя в дереве портежей и видны сборочные файлы для таких программ, Portage не станет обновлять их до тех пор, пока они не будут помещены в стабильную ветвь.
Некоторые программы имеются не для всех архитектур. Либо они не работают в определенных архитектурах, либо требуют дополнительного тестирования, или у разработчика нет возможности проверить, работает ли пакет в различных архитектурах.
Каждая установка Gentoo придерживается определенного профиля
, который содержит, помимо прочего, список пакетов, необходимых для работоспособности системы.



Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал