Вопрос или проблема
Выполнил следующую команду, чтобы установить двоичные файлы клиента 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, вы можете решить ряд практических задач:
-
Управление ресурсами: Зная символьные ссылки, библиотеки и исполняемые файлы, вы можете создать необходимые переменные окружения. Например, можно добавить пути к Oracle Instant Client в переменную PATH или указать библиотечные пути в LD_LIBRARY_PATH.
-
Обслуживание и мониторинг: Если вы подозреваете, что какой-то файл или библиотека, установленная пакетом, вызывает проблему, вы легко можете проверить, где они расположены, и провести диагностику.
-
Удаление и очистка: При необходимости удаления пакета допустимо безопасное удаление всех связанных файлов, зная их точное расположение.
-
Инвентаризация и аудит: Если вы ведете учет программного обеспечения, установленного в системе (что важно в корпоративной среде), знание точного расположения файлов полезно для регулярного аудита и верификации соответствия корпоративным стандартам.
Кроме того, стоит отметить, что если в будущем вам нужно будет передать эту информацию коллегам или занести её в документацию, вы сможете легко это сделать с использованием вышеописанных методов.
Также важно помнить, что для некоторых специфичных операций может быть полезна команда rpm -q --list
, которая является синонимом rpm -ql
.
Таким образом, используя средства, предоставляемые RPM, вы сможете эффективно управлять установленными пакетами и контролировать ресурсное наполнение вашей системы. Это не только упрощает административные задачи, но и делает вашу работу системным администратором более предсказуемой и проверяемой.