Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 71
Текст из файла (страница 71)
RAM-диск, содержащий временную файловую систему, - этоспециальный файл устройства /dev/initrd.Прежде чем использование initrd станет возможным, необходимо пересобрать ядро с поддержкой RAM-дисков (CONFIG_BLK_DEV_RAM=y) и под-480Глава 4. Методы загрузкидержкой загрузки RAM-дисков (CONFIG_BLK_DEV_INITRD=y). Затем необходимо подготовить обычную корневую файловую систему и создать образRAM-диска. Возможно, ваш дистрибутив Linux включает утилиты, выполняющие некоторые установки за вас; например, в дистрибутив Red Hat входит утилита mkinitrd, предназначенная для создания initrd-образа.
Болееподробную информацию можно почерпнуть на страницах руководства (manpage) по initrd и в файле initrd.txt (путь может отличаться, но обычно этонечто вроде /usr/src/linux/'Documentation/initrd.txt).Если система Linux подготовлена к использованию initrd, то можно выполнить одно из следующих действий (в зависимости от применяемого загрузчика):•Если загрузчиком является LILO, добавьте параметр initrd в соответствующий раздел образа:image = /vmlinuzinitrd = /boot/initrdit Файл, загружаемый в качестве содержимого /dev/initrdВыполните команду /sbin/lilo и можете перезагружать систему с помощью initrd.•Если используется Loadlin, добавьте параметр initrd к командной строке:loadlin c:\linux\vmlinuz initrd=c:\linux\initrdГлава 5Менеджеры пакетов Red Hat и DebianВ этой главе описаны две распространенные системы управления программными пакетами для Linux: Red Hat Package Manager (RPM) и Debian GNU/Linux Package Manager.В большинстве случаев при установке приложения на Linux-системе пользователю доступен пакет с исполняемыми файлами или исходными текстамиэтого приложения вместо ,£аг.#2-архива (или вместе с ним).
Пакет - этофайл, который содержит файлы, необходимые для установки и работыконкретной программы. Обратите внимание, что несмотря на то что пакетсодержит файлы, требующиеся для установки приложения, для работы последнего могут потребоваться и другие файлы или пакеты, отсутствующие всистеме и не входящие в данный пакет, например, дополнительные библиотеки (или даже их конкретные версии). Такие требования называются зависимостями.Системы управления пакетами предоставляют много преимуществ. Какпользователь вы можете получить список пакетов, установленных в системе, и версии этих пакетов. Как системный администратор вы должны применять специальные инструменты для установки и управления пакетами всистеме.
А если вы еще и разработчик, то вам необходимо знать, как собирать пакеты для их распространения.Помимо этого, менеджеры пакетов:•Предоставляют средства для установки, обновления, удаления приложений и отслеживания версий программ в системе.• Позволяют устанавливать новые приложения или обновлять их по сети.•Позволяют определить, к какому пакету принадлежит тот или иной файлили какие файлы содержатся в пакете.482Глава 5. Менеджеры пакетов Red Hat и Debian• Ведут базу данных по пакетам, установленным в системе, и их состоянию, так что пользователь всегда может определить, какие версии пакетов у него установлены.•Обеспечивают автоматическую проверку зависимостей, чтобы предотвратить установку несовместимых пакетов.• Обеспечивают поддержку PGP, MD5 или других средств проверки подлинности пакетов.• Предоставляют инструментарий для создания пакетов.Каждый пользователь может получить список пакетов и делать запросы кбазе данных.
При этом установка, обновление и удаление пакетов обычнотребуют привилегий суперпользователя по той причине, что пакеты традиционно устанавливаются в области файловой системы, которые доступныдля записи только пользователю root. Иногда пользователь може;т указатьальтернативный каталог для установки пакета, например, свой домашнийкаталог или каталог проекта, права на запись в который у него есть.Как RPM, так и менеджер пакетов Debian создают резервные копии файловперед обновлением пакета.
Это позволяет не только совершать откат привозникновении проблем, но и восстанавливать конфигурационные файлыпакета, которые были изменены до обновления.Менеджер пакетов Red HatМенеджер пакетов Red Hat (RPM) является свободно распространяемымсредством управления пакетами для распространения и установки программного обеспечения. Помимо Red Hat и систем, основанных на Red Hat,RPM также используется в таких дистрибутивах Linux, как SuSE и Caldera.Работать с RPM достаточно просто. Все функции сосредоточены в однойкоманде - rpm. Например, для того чтобы узнать, установлен ли в системередактор Emacs, можно выполнить такую команду:% rpm -q emacsemacs-20.4-4Кроме того, существует графический интерфейс к RPM - Х-программа GNOME-RPM, которая может выполняться даже в отсутствие среды GNOME.
Вэтом разделе описано использование команды rpm и команды gnorpm, запускающей GNOME-RPM.Команда rpmПакеты RPM создаются, устанавливаются и опрашиваются командой rpm.Имена пакетов RPM обычно заканчиваются расширением .rpm. Эта командаимеет набор режимов работы, у каждого из которых есть свои параметры.Формат команды rpm следующий:Менеджер пакетов Red Hat483rpm [options] [packages]За несколькими исключениями (отмеченными в следующих списках параметров) первый параметр определяет режим работы rpm (а именно: установка, опрос, обновление, сборка пакета и т. д.), а все последующие параметрывлияют на этот режим.В описании параметров, относящихся к пакетам, мы будем иногда указывать package-name (имя пакета), а иногда package-file (файл пакета).
Имяпакета - это имя программы или приложения, например gif2png. Файл пакета - это имя файла RPM, т. е. gif2png-2.2.5-1.1386.rpm.В RPM доступен файл настройки, содержащий часто применяемые параметры. Общесистемным файлом обычно является /etc/rpmrc, а пользователи могут создавать собственные файлы $НОМЕ/.гртгс. Указав параметр —showre, можно просмотреть значения, которые используются RPM в работе и могут быть установлены в файле гртгс:rpm --showrcПрограмма rpm содержит реализацию FTP- и HTTP-клиентов, что дает возможность указания URL-адресов (ftp:// или http:/'/) пакетов для установкиих через Интернет.
URL может заменять любое вхождение параметра package-file в командах, описанных далее.Опрос базы данных может производиться любым пользователем. Большаячасть прочих функций требует привилегий суперпользователя.Общие параметрыСледующие параметры могут применяться во всех режимах:—dbpath pathpath задает путь к базе данных RPM.—ftpport portПорт port отводится для доступа по протоколу FTP.—ftpproxy hostУзел host выступает в качестве прокси-сервера при передаче данных. Параметр необходимо указывать при доступе по протоколу FTP из защищенной брандмауэром системы, в которой применяется прокси-сервер.—helpПолучить подробную справку по использованию (выполнение rpm без параметров приводит к получению краткой справки).—justdbОбновлять только базу данных; не изменять никакие файлы.—pipe commandПередать вывод rpm на ввод команды command.484Глава 5.
Менеджеры пакетов Red Hat и Debian—quietОтображать только сообщения об ошибках.—rcfile filenameИспользовать указанный файл в качестве файла настроек, заменяющегообщесистемный файл /etc/rpmrc или $НОМЕ/.гртпгс.—root dirВыполнять все операции в каталоге dir.—versionОтобразить номер версии rpm.-vvОтобразить отладочную информацию.Параметры install, upgrade и freshenУстановка или обновление RPM-пакета. Команда install имеет следующийформат:rpm -i [install-options] package_file . .
.rpm --install [install-options] package_file . . .Для того чтобы установить новую версию пакета и удалить при этом существующую, выполните команду upgrade:rpm -U [install-options] package__file . . .rpm --upgrade [install-options] package_file . . .При использовании —U, если пакет отсутствует в системе, rpm ведет себятак, как если бы был указан параметр —i и просто устанавливает пакет.
Обратного можно добиться с помощью команды freshen, rpm произведет обновление пакета только в том случае, если будет найдена предыдущая версия.Формат команды freshen:rpm -F [install-options] package_file . . .rpm --freshen [install-options] package^file . . .Следующие параметры доступны для установки и обновления:—allfilesУстановка или обновление всех файлов.—badrelocПрименяется совместно с —relocate, для того чтобы выполнить принудительное перемещение, даже если пакет не является перемещаемым.—excludedocsНе устанавливать файлы документации.—excludepath pathНе устанавливать файлы, имена которых начинаются с path.Менеджер пакетов Red Hat485—forceПринудительная установка.
Эквивалента использованию —replacepkgs,—replacefiles и —oldpackage.—h, —hashОтобразить 50 символов «#» в течение времени распаковки архива. Применяется совместно с —version для достижения наиболее эстетичногоотображения.—ignorearchПроизводить установку, даже если пакет с исполняемыми файлами предназначен для другой архитектуры.—ignoreosУстанавливать пакет с исполняемыми файлами, даже если он предназначен для другой операционной системы.—ignoresizeНе проверять наличие необходимого дискового пространства перед установкой.—includedocsУстанавливать файлы документации. Имеет смысл только в том случае,если в файле гртгс указан параметр excludedocs: 1.—nodepsНе производить проверку зависимостей данного пакета от других.—noorderНе упорядочивать пакеты в целях удовлетворения зависимостей при установке.—noscriptsНе выполнять никакие до- и пост-установочные сценарии.—notriggersНе выполнять никакие сценарии, вызываемые установкой пакета.—oldpackageРазрешить при обновлении заменять более новый пакет старым.—percentОтображать процентный прогресс при распаковке файлов.—prefix pathУстановить префикс установки в path для перемещаемых пакетов.—replacefilesУстанавливать пакеты, даже если произойдет замена файлов, принадлежащих другим пакетам.486Глава 5.