LXF131:DrBrown2
|
|
|
Быстрое руководство по RPM
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
- Пользуйтесь RPM как профи, не читая man-страницу.
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.
Тем не менее, RPM сохраняет свое значение как основной инструмент сопровождения базы данных установленных пакетов, а также собственно их развертывания и опроса. И не помешает знать, как управлять им напрямую. Как и многие утилиты командной строки в Linux, rpm страдает излишком количества опций, и в нашем кратком руководстве я покажу, как выполнить основные задачи без необходимости нырять в man. В таблице ниже приведены некоторые стандартные задачи и способ их решения.
RPM подробно
Большинство примеров в таблице очевидны; попробуйте их с какими-нибудь пакетами на ваш выбор, а на некоторые задачи взглянем более детально.
Во-первых, рассмотрим случай, когда при попытке установки пакета RPM не удается разрешить зависимость:
#rpm -i agg-2.4-2.1.i386.rpm error: Failed dependencies: libSDL-1.2.so.0 is needed by agg-2.4-2.1.i386
Здесь возможности RPM иссякают. Хотя ясно, что имеет место нехватка зависимостей, RPM не пытается установить их и хоть сколько-нибудь помочь. Например, какой пакет нужно установить, чтобы получить отсутствующую libSDL?
У RPM есть полезная функция проверки состояния имеющихся в системе файлов и сравнения их с содержимым базы данных установленных пакетов. Это похоже на запуск Tripwire для проверки, не изменилось ли что-нибудь, чему меняться не следует. Проверить это можно для одного пакета:
# rpm --verify initscripts
Или для всех пакетов:
# rpm --verify --all
Вот фрагмент вывода:
# rpm --verify --all ..5….T. c /etc/inittab S.5….T. /etc/cron.d/smolt S.5….T. с /etc/libuser.conf .M……. /usr/lib/pm-utils/sleep.d S.5….T. с /etc/ldap.conf .M….G.. /var/log/gdm
Для каждого файла, который не совпадает в точности с содержимым базы данных, RPM выводит различия в последовательности из девяти символов, включающих:
- S – отличается размер файла;
- M – отличаются права доступа к файлу;
- 5 – отличается контрольная сумма MD5;
- D – отличается младший/старший номер устройства;
- U – отличается владелец файла;
- G – отличается группа файла;
- T – отличается время изменения.
Так, мы видим, что, например, у файла /etc/ldap.conf размер, контрольная сумма и время изменения не те, что хранятся в базе данных RPM. Для конфигурационных файлов это нормально, и более половины рассогласований касаются именно их.
Именование имен
У пакетов RPM ужасные названия – невольно радуешься, что есть на свете дополнение имени файла. Но эти имена следуют определенному шаблону, показанному на рисунке. Обратите внимание, что фрагмент имен перед расширением .rpm означает архитектуру, для которой собран пакет. Архитектуры i386 и sparc предполагают пакеты из скомпилированных двоичных файлов для соответствующего семейства процессоров. Src означает, что в пакете исходный код, а noarch сообщает, что пакет «не зависит от архитектуры». Такие пакеты обычно пишутся на интерпретируемых языках, например Perl или Python, или могут быть просто документацией.
Чтобы... | Воспользуйтесь командой: |
---|---|
Вывести список всех установленных пакетов | rpm -qa Часто передается в ''grep'', чтобы найти заданные пакеты: rpm -qa | grep init |
Показать информацию об установленном пакете | rpm -qi initscripts |
Показать файлы, входящие в состав установленного пакета | rpm -ql initscripts |
Выяснить, из какого пакета файл | rpm -qf /usr/sbin/sshd |
Найти зависимости («Что еще нужно для того, чтобы этот пакет работал?») | rpm -qR openssh-server |
Найти зависимые пакеты («Что сломается, если я удалю этот пакет?») | rpm --whatrequires initscripts Одни зависимости выводятся как имена пакетов, другие – как имена файлов, часто библиотек |
Вывести сведения о еще не установленном пакете | rpm -qip bzip2-1.0.3-3.i386.rpm |
Установить пакет | rpm -ivh bzip2-1.0.3-3.i386.rpm |
Удалить пакет | rpm -e openssh-server |
Выяснить, изменились ли какие-то файлы пакета с момента его установки | rpm --verify openssh-server |