Linux
Шрифт:
Система поддержки пакетов RPM
Во многом благодаря RPM, а так же удобной программе инсталляции Linux, дистрибутив Red Hat Linux завоевал огромнейшую популярность. Рассмотрим вкратце основные особенности RPM.
Для системного администратора RPM предоставляет следующие возможности:
• модернизировать отдельные компоненты системы или набора пакетов, сохраняя их конфигурацию;
• получать информацию об используемых пакетом файлах;
• получать информацию о зависимостях пакетов (необходимых библиотеках и т. д.);
• производить проверку пакетов;
• выдавать раздельно пакеты в авторском виде и сделанные к ним добавки;
• производить автоматизированное обновление пакетов (например, получение обновлений с FTP-сервера).
Благодаря этому с помощью RPM можно устанавливать, обновлять, удалять пакеты единственной командой в текстовом режиме или несколькими щелчками мышью в графическом менеджере пакетов. Пакет RPM содержит информацию о себе в заголовке пакета. Эта информация при установке пакета добавляется в базу данных установленных пакетов, где содержится информация о том, где находится пакет, какие дополнительные (supporting) пакеты ему необходимы и установлены ли они. Знатоки Windows
Принципы наименования пакетов
Имя пакета характеризует сам пакет, его версию, версию сборки исполняемых файлов (релиз) и архитектуру и задается в виде «имя_программы-версия-релиз.платформа» или «src.rpm».
Рассмотрим для примера пакет telnet-server-0.17–18.i386.rpm. По названию файла можно определить, что пакет содержит tclnct-ссрвср версии 0.17, версия сборки файлов (релиз) 18 для данной версии пакета Red Hat Linux, собрана для процессора Intel 80386 и выше, формат файла – RPM. Файл пакета, у которого вместо архитектуры (например, i586) стоит src, содержит в себе исходные тексты программы. Иногда встречается немного другая структура именования пакета, например, apache-1.3.3–1.src.rpm. Здесь версия пакета – 1.3.3 – состоит из трех цифр. На инсталляционных дисках Red Hat и на FTP скомпилированные пакеты хранятся в каталоге RPMS, а пакеты, содержащие исходный код, – в каталоге SRPMS.
Структура пакета RPM в данной главе описана не полностью. Вкратце можно сказать, что в пакете содержатся исполняемые файлы, конфигурационные файлы, документация, все дополнительные файлы, напрямую связанные с пакетом, а также информация о том, куда должны устанавливаться файлы пакета и какие другие пакеты необходимы для его функционирования. После успешной установки пакета информация о нем заносится в базу данных системы RPM.
Достоинства RPM
К основным достоинствам RPM относятся:
• удобная установка программ;
• возможность инсталляции по FTP;
• проверка системы на наличие компонентов, необходимых устанавливаемому пакету;
• простое удаление пакетов из системы. При этом осуществляется проверка зависимостей пакетов системы от удаляемого пакета;
• обновление (Upgrade) пакетов с контролем версии, запрет установки пакета с более ранней версией, чем установленный в системе (Degrade);
• просмотр информации о пакете: что делает, кто сделал, где взять, файлы, содержащиеся в пакете, и т. д.;
• наличие общей иерархии пакетов, с помощью которой просто определить, к какой категории программ относится пакет;
• обеспечение возможности определения принадлежности файла или каталога к пакету;
• комплексная проверка состояния пакетов в системе: что изменялось, что испортилось, что случайно удалили и т. д.;
• отсутствие необходимости производить перезагрузку системы после инсталляции нового пакета. Пакет готов к эксплуатации сразу после установки.
Недостатки RPM
Пакет RPM имеет и недостатки:
• многие программы пакета обновляются позже, чем официально выходят версии программного обеспечения;
• отсутствие RPM для некоторых программ;
• централизованная база установленных пакетов.
Информация, содержащаяся в пакете
Каждый пакет RPM содержит в себе стандартный набор полей, которые характеризуют содержание пакета. Наиболее интересные для пользователя поля приведены ниже.
• Build Host – имя хоста, на котором производилась сборка пакета;
• Build Date – время сборки пакета;
• Change Log – краткий список изменений в программе, по сравнению с предыдущими версиями;
• Copyright – копирайт владельца;
• Description – описание пакета, обычно 1–2 Кбайт текста;
• Group – группа/подгруппа программного обеспечения, к которому относится пакет. К примеру – Development/Languages;
• License – лицензия, по которой распространяется пакет. Для большинства программ, поставляемых в дистрибутиве, лицензия – GPL. Для большинства библиотек – LGPL;
• Name – имя программы, к примеру apache;
• Version – версия программы;
• Release – релиз (версия сборки);
• RPM version – версия пакета RPM: для Red Hat Linux 1 х версия 4, для более ранних – версия 3;
• Size – размер в байтах;
• Source RPM – пакет с исходными кодами, на базе которого собирался бинарный пакет. Например: gcc-2.96–85.src.ipm;
• Summary – краткое, в одно-два предложения описание пакета. Например: The С Preprocessor;
• URL – Web-адрес разработчика программы;
• Vendor – сборщик пакета, например: Red Hat, Inc.
Категории пакетов
Для удобства пользователей пакеты содержат в себе признак, указывающий, к какой категории программного обеспечения относится пакет (поле Group). Стандартная иерархия пакетов приведена на рис. 8.1.
Рис. 8.1. Стандартная иерархия пакетов
Ниже дана краткая расшифровка категорий пакетов.
• Amusements – развлечения. К этому разделу обычно относятся игры и всякие бесполезные, но веселые программки – глаза, которые следят за курсором, котенок, бегающий по экрану, и т. п.:
– Games – подраздел предназначен для игр;
– Graphics – всякие забавные графические программы, в том числе хранители экрана (screensavers).
• Applications – приложения. Раздел предназначен для
– Archiving – подраздел, посвященный программам и утилитам архивации;
– Communications – подраздел, содержащий все, что относится к связи. Здесь собраны разнообразные программы и утилиты для работы с модемами, факсами, ISDN, ATM, радиосвязью и многое другое;
– Databases – подраздел, посвященный базам данных и разнообразным утилитам для взаимодействия с базами данных;
– Editors – редакторы. В этом разделе хранятся разнообразные редакторы, от очень простых консольных редакторов до графических монстров;
– Engineering – подраздел, посвященный инженерным пакетам: редакторы схем, формул, химических соединений, чертежные пакеты и тому подобные приложения;
– File – подраздел, содержащий утилиты для работы с файлами;
– Internet – программы, предназначенные для работы в Интернете: Web-браузеры, почтовые клиенты, клиенты ICQ и новостей, чатов и FTP;
– Multimedia – все для мультимедиа: проигрыватели CD, MP3-файлов, программы для просмотра телепередач и приема радиостанций, микшеры и т. д.;
– Productivity – подраздел для программ, позволяющих увеличить производительность труда: органайзеры, напоминалки, картотеки и т. п.;
– Publishing – подраздел для программ подготовки документов к печати: программы верстки, разметки и т. п.;
– System – подраздел для системных программ. Здесь могут быть программы, предназначенные только для администратора, и программы, интересные только для пользователя;
– Text – подраздел для программ и утилит работы с текстом: поиск слов и фраз, замены и т. п.
• Development – раздел, полностью посвященный программированию и программистам: отладчики, компиляторы, библиотеки разработчика, различные утилиты:
– Debuggers – подраздел для программ-отладчиков;
– Languages – подраздел, посвященный языкам программирования, компиляторам, интерпретаторам;
– Libraries – подраздел для библиотек: по большей части библиотеки разработчика, не системные;
– System – подраздел для системных утилит;
– Tools – подраздел для различного инструментария программиста, не попавшего в предыдущие подразделы.
• Documentation – раздел для документации, поставляемой отдельно от программ.
• System Environment – раздел системного окружения, наиболее ориентированный на ядро системы:
– Base – подраздел для базовых пакетов;
– Daemons – подраздел исключительно для демонов (daemon, демон – программа, выполняющая некоторые системные функции или являющаяся сервером каких-то услуг, сервисов);
– Kernel – подраздел, предназначенный исключительно для ядра Linux как в двоичном виде, так и в исходных кодах;
– Libraries – подраздел для системных библиотек;
– Shells – подраздел для хранения разнообразных командных оболочек.
• User Interface – раздел пользовательского интерфейса. Вернее было бы назвать его разделом, посвященным X Window:
– Desktops – подраздел, посвященный различным оконным менеджерам;
– X – пакеты, относящиеся к X Window;
– X Hardware Support – подраздел содержит пакеты, ориентированные на конкретный тип видеокарт.
Команды консольного менеджера RPM
Раздел полностью посвящен консольному менеджеру RPM. Понятно желание пользоваться графическими менеджерами пакетов – красиво, наглядно, удобно, просто, в конце концов. Но не следует забывать, всегда может случится так, что у вас не будет возможности загрузить X Window (например, необходимо установить новую версию X Window), да и возможностей у RPM побольше, а ресурсов он потребляет несравненно меньше. Тем более, что еще никто не отменял дистанционное администрирование, при котором вообще невозможно воспользоваться графическими пакетами. Раздел практически полностью основывается на содержимом шап-страницы RPM.
Итак, использование RPM, Менеджера пакетов от Red Hat. Может быть выбран один из следующих основных режимов:
• инициализация базы данных;
• пересборка базы данных;
• сборка пакетов;
• рекомпиляция пакетов;
• сборка пакетов из tar-архивов;
• запрос;
• показ полей запроса;
• установка;
• обновление;
• удаление;
• верификация;
• проверка подписи;
• повторная подпись;
• добавление подписи;
• установка владельцев и групп;
• показ конфигурации.
Общие опции
Общие опции могут быть использованы во всех режимах работы:
• -vv – выводить много отладочной информации;
• -quiet – выводить как можно меньше сообщений: как правило, выводятся только сообщения об ошибках;
• -help – вывести более детальную, чем обычно, справку об использовании RPM;
• -version – вывести одну строку, содержащую номер версии используемого RPM;
• -rcfile <список_файлов> – каждый из файлов из разделенного двоеточиями <списка_файлов> последовательно читается RPM на предмет конфигурационной информации. По умолчанию <список_файлов> выглядит как /usr/lib/ipm/ipmrc:/etc/ipmrc:~/.ipmrc. В этом списке обязана существовать только первая строка; все тильды будут заменены значением $номе;
• -root <каталог> – использовать для всех операций файловую систему с корнем в <каталог>. Обратите внимание, это значит, что база данных также будет читаться и модифицироваться под <каталог> и все pre– и post-скрипты будут исполняться после chroot в <каталог>;
• -dbpath <путь> – использовать базу данных RPM в <путь>;
• -justdb – обновить только базу данных, не файловую систему;
• -ftpproxy <host> – использовать <host> как FTP-прокси (см. разд. «Опции FTP/HTTP»);
• -httpproxy <host> – использовать <host> как НТТР-прокси (см. разд. «Опции FTP/HTTP»);
• -ftpport <порт> – использовать <порт> как FTP-порт прокси-сервера (см. разд. «Опции FTP/HTTP»);
• -httpport <порт> – использовать <порт> как HTTP-порт прокси-сервера (см. разд. «Опции FTP/HTTP»);
• -pipe <cmd> – перенаправляет вывод RPM на вход команды <cmd>.
Опции установки и обновления
Общая форма команды установки новых RPM выглядит так: