<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF131%3ADrBrown2</id>
		<title>LXF131:DrBrown2 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF131%3ADrBrown2"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF131:DrBrown2&amp;action=history"/>
		<updated>2026-05-13T03:53:21Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF131:DrBrown2&amp;diff=12011&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF131:DrBrown2&amp;diff=12011&amp;oldid=prev"/>
				<updated>2011-05-10T06:49:39Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Быстрое руководство по RPM==&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF131_51_1.jpg|300px]] Имена пакетов RPM-файлов содержат массу полезной информации, нужно лишь уметь ее прочесть. Здесь показано, что означает каждая секция.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
: Пользуйтесь RPM как профи, не читая ''man''-страницу.&lt;br /&gt;
&lt;br /&gt;
RPM – сокращение от Red Hat Package Manager (менеджер пакетов Red Hat). Название относится и к формату файлов пакетов, и к программе для управления ими. Данный формат определен в Linux Standard Base и используется (естественно) в Red Hat Linux, в производных Red Hat, таких как CentOS и Fedora, и в некоторых конкурирующих дистрибутивах, включая SUSE. По современным стандартам, RPM – примитивное средство, и большинство пользователей, наверное, предпочтут ему более высокоуровневые утилиты на основе репозиториев, которые поддерживают автоматическое разрешение зависимостей – типа ''Yum, apt-get, gpk-application'' или ''Synaptic''.&lt;br /&gt;
&lt;br /&gt;
Тем не менее, RPM сохраняет свое значение как основной инструмент сопровождения базы данных установленных пакетов, а также собственно их развертывания и опроса. И не помешает знать, как управлять им напрямую. Как и многие утилиты командной строки в Linux, ''rpm'' страдает излишком количества опций, и в нашем кратком руководстве я покажу, как выполнить основные задачи без необходимости нырять в ''man''. В таблице ниже приведены некоторые стандартные задачи и способ их решения.&lt;br /&gt;
&lt;br /&gt;
===RPM подробно===&lt;br /&gt;
&lt;br /&gt;
Большинство примеров в таблице очевидны; попробуйте их с какими-нибудь пакетами на ваш выбор, а на некоторые задачи взглянем более детально.&lt;br /&gt;
&lt;br /&gt;
Во-первых, рассмотрим случай, когда при попытке установки пакета ''RPM'' не удается разрешить зависимость:&lt;br /&gt;
&lt;br /&gt;
 #rpm -i agg-2.4-2.1.i386.rpm&lt;br /&gt;
 error: Failed dependencies:&lt;br /&gt;
 	 libSDL-1.2.so.0 is needed by agg-2.4-2.1.i386&lt;br /&gt;
&lt;br /&gt;
Здесь возможности ''RPM'' иссякают. Хотя ясно, что имеет место нехватка зависимостей, RPM не пытается установить их и хоть сколько-нибудь помочь. Например, какой пакет нужно установить, чтобы получить отсутствующую ''libSDL''?&lt;br /&gt;
&lt;br /&gt;
У ''RPM'' есть полезная функция проверки состояния имеющихся в системе файлов и сравнения их с содержимым базы данных установленных пакетов. Это похоже на запуск ''Tripwire'' для проверки, не изменилось ли что-нибудь, чему меняться не следует. Проверить это можно для одного пакета:&lt;br /&gt;
&lt;br /&gt;
 # rpm --verify initscripts&lt;br /&gt;
&lt;br /&gt;
Или для всех пакетов:&lt;br /&gt;
&lt;br /&gt;
 # rpm --verify --all&lt;br /&gt;
&lt;br /&gt;
Вот фрагмент вывода:&lt;br /&gt;
&lt;br /&gt;
 # rpm --verify --all&lt;br /&gt;
 ..5….T. c /etc/inittab&lt;br /&gt;
 S.5….T. /etc/cron.d/smolt&lt;br /&gt;
 S.5….T. с /etc/libuser.conf&lt;br /&gt;
 .M……. /usr/lib/pm-utils/sleep.d&lt;br /&gt;
 S.5….T. с /etc/ldap.conf&lt;br /&gt;
 .M….G.. /var/log/gdm&lt;br /&gt;
&lt;br /&gt;
Для каждого файла, который не совпадает в точности с содержимым базы данных, ''RPM'' выводит различия в последовательности из девяти символов, включающих:&lt;br /&gt;
* '''S''' – отличается размер файла;&lt;br /&gt;
* '''M''' – отличаются права доступа к файлу;&lt;br /&gt;
* '''5''' – отличается контрольная сумма MD5;&lt;br /&gt;
* '''D''' – отличается младший/старший номер устройства;&lt;br /&gt;
* '''U''' – отличается владелец файла;&lt;br /&gt;
* '''G''' – отличается группа файла;&lt;br /&gt;
* '''T''' – отличается время изменения.&lt;br /&gt;
&lt;br /&gt;
Так, мы видим, что, например, у файла '''/etc/ldap.conf''' размер, контрольная сумма и время изменения не те, что хранятся в базе данных ''RPM''. Для конфигурационных файлов это нормально, и более половины рассогласований касаются именно их.&lt;br /&gt;
&lt;br /&gt;
===Именование имен===&lt;br /&gt;
&lt;br /&gt;
У пакетов ''RPM'' ужасные названия – невольно радуешься, что есть на свете дополнение имени файла. Но эти имена следуют определенному шаблону, показанному на рисунке. Обратите внимание, что фрагмент имен перед расширением '''.rpm''' означает архитектуру, для которой собран пакет. Архитектуры '''i386''' и '''sparc''' предполагают пакеты из скомпилированных двоичных файлов для соответствующего семейства процессоров. '''Src''' означает, что в пакете исходный код, а '''noarch''' сообщает, что пакет «не зависит от архитектуры». Такие пакеты обычно пишутся на интерпретируемых языках, например ''Perl'' или ''Python'', или могут быть просто документацией.&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable border=1 cellpadding=5|-&lt;br /&gt;
! Чтобы...&lt;br /&gt;
! Воспользуйтесь командой:&lt;br /&gt;
|-&lt;br /&gt;
| Вывести список всех установленных пакетов&lt;br /&gt;
| rpm -qa &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt; Часто передается в ''grep'', чтобы найти заданные пакеты: rpm -qa | grep init&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Показать информацию об установленном пакете&lt;br /&gt;
| rpm -qi initscripts&lt;br /&gt;
|-&lt;br /&gt;
| Показать файлы, входящие в состав установленного пакета&lt;br /&gt;
| rpm -ql initscripts&lt;br /&gt;
|-&lt;br /&gt;
| Выяснить, из какого пакета файл&lt;br /&gt;
| rpm -qf /usr/sbin/sshd&lt;br /&gt;
|-&lt;br /&gt;
| Найти зависимости («Что еще нужно для того, чтобы этот пакет работал?»)&lt;br /&gt;
| rpm -qR openssh-server&lt;br /&gt;
|-&lt;br /&gt;
| Найти зависимые пакеты («Что сломается, если я удалю этот пакет?»)&lt;br /&gt;
| rpm --whatrequires initscripts &amp;lt;br&amp;gt; Одни зависимости выводятся как имена пакетов, другие – как имена файлов, часто библиотек&lt;br /&gt;
|-&lt;br /&gt;
| Вывести сведения о еще не установленном пакете&lt;br /&gt;
| rpm -qip bzip2-1.0.3-3.i386.rpm&lt;br /&gt;
|-&lt;br /&gt;
| Установить пакет&lt;br /&gt;
| rpm -ivh bzip2-1.0.3-3.i386.rpm&lt;br /&gt;
|-&lt;br /&gt;
| Удалить пакет&lt;br /&gt;
| rpm -e openssh-server&lt;br /&gt;
|-&lt;br /&gt;
| Выяснить, изменились ли какие-то файлы пакета с момента его установки&lt;br /&gt;
| rpm --verify openssh-server&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>