как быстро найти, куда rpm устанавливает файлы?

Вопрос или проблема

Выполнил следующую команду, чтобы установить двоичные файлы клиента Oracle на сервере. (Но вы могли бы установить и любое другое программное обеспечение тоже). Это не отвечает на вопросы “как называется установленный артефакт” и “где в файловой системе он был установлен”.

$ rpm -ivh  oracle-instantclient-basic-21.16.0.0.0-1.el8.x86_64.rpm
warning: oracle-instantclient-basic-21.16.0.0.0-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracle-instantclient-basic-21.16.################################# [100%]

Ответ или решение

При установке программного обеспечения в Linux с помощью RPM (Red Hat Package Manager), часто возникает необходимость узнать, какие файлы были установлены и в какие директории они были помещены. Это важно для последующего управления системными ресурсами, устранения неполадок или удаления пакета. Рассмотрим, как быстро и эффективно получить эту информацию, используя возможности RPM.

Теория

RPM – это система управления пакетами, которая широко используется в дистрибутивах Linux, таких как Red Hat, CentOS и Fedora. Основные операции, которые поддерживает RPM, включают установку, удаление, обновление и проверку пакетов. Когда вы устанавливаете пакет с помощью команды rpm -ivh, RPM распаковывает файлы из пакета и помещает их в соответствующие места файловой системы согласно конфигурации пакета. Однако по умолчанию эта команда не предоставляет информации о том, куда конкретно были установлены файлы.

Для того чтобы узнать, какие файлы были установлены и где они находятся, необходимо воспользоваться опцией -ql (query list) утилиты RPM, которая позволяет перечитать содержимое установленного пакета. Данная команда выводит список всех файлов, размещенных в вашей системе в результате установки пакета.

Пример

Рассмотрим реальный пример использования RPM для выяснения расположения файлов. Вы установили пакет oracle-instantclient-basic-21.16.0.0.0-1.el8.x86_64.rpm и хотите узнать, где находятся все его компоненты.

После установки пакета выполните следующую команду:

$ rpm -ql oracle-instantclient-basic-21.16.0.0.0-1.el8.x86_64

Эта команда выведет список всех файлов и их полные пути, которые были установлены на вашей системе этим пакетом. Например, вы можете увидеть что-то вроде:

/usr/lib/oracle/21/client64/bin/sqlplus
/usr/lib/oracle/21/client64/lib/libociei.so
/usr/share/doc/oracle-instantclient-basic-21.16.0.0.0/LICENSE

Эти пути укажут, где на файловой системе находятся исполняемые файлы, библиотеки и документация установленного пакета.

Применение

Зная, как получить информацию о файлах, установленных RPM, вы можете решить ряд практических задач:

  1. Управление ресурсами: Зная символьные ссылки, библиотеки и исполняемые файлы, вы можете создать необходимые переменные окружения. Например, можно добавить пути к Oracle Instant Client в переменную PATH или указать библиотечные пути в LD_LIBRARY_PATH.

  2. Обслуживание и мониторинг: Если вы подозреваете, что какой-то файл или библиотека, установленная пакетом, вызывает проблему, вы легко можете проверить, где они расположены, и провести диагностику.

  3. Удаление и очистка: При необходимости удаления пакета допустимо безопасное удаление всех связанных файлов, зная их точное расположение.

  4. Инвентаризация и аудит: Если вы ведете учет программного обеспечения, установленного в системе (что важно в корпоративной среде), знание точного расположения файлов полезно для регулярного аудита и верификации соответствия корпоративным стандартам.

Кроме того, стоит отметить, что если в будущем вам нужно будет передать эту информацию коллегам или занести её в документацию, вы сможете легко это сделать с использованием вышеописанных методов.

Также важно помнить, что для некоторых специфичных операций может быть полезна команда rpm -q --list, которая является синонимом rpm -ql.

Таким образом, используя средства, предоставляемые RPM, вы сможете эффективно управлять установленными пакетами и контролировать ресурсное наполнение вашей системы. Это не только упрощает административные задачи, но и делает вашу работу системным администратором более предсказуемой и проверяемой.

Оцените материал
Добавить комментарий

Капча загружается...