Как получить список файлов, установленных из пакета RPM или DEB в Linux
Вы когда-нибудь задумывались, где различные файлы, содержащиеся в пакете, установлены (находятся) в файловой системе Linux? В этой статье мы покажем, как составить список всех файлов, установленных или присутствующих в определенном пакете или группе пакетов в Linux.
Это может помочь вам легко найти важные файлы пакетов, такие как файлы конфигурации, документация и многое другое. Давайте рассмотрим различные методы перечисления файлов в пакете или установленных из пакета:
Как получить список всех файлов установленного пакета в Linux
Вы можете использовать yum-utils для вывода списка файлов, установленных в системе CentOS/RHEL из данного пакета.
Чтобы установить и использовать yum-utils, выполните следующие команды:
# yum update # yum install yum-utils
Теперь вы можете перечислить файлы установленного пакета RPM, например веб-сервера httpd (обратите внимание, что имя пакета чувствительно к регистру). Флаг —installed означает, что пакеты установлены, а флаги -l включают список файлов:
# repoquery --installed -l httpd # dnf repoquery --installed -l httpd [On Fedora 22+ versions]

Важно: в версии Fedora 22+ команда repoquery интегрирована с менеджером пакетов dnf для дистрибутива на основе RPM для отображения файлов, установленных из пакет, как показано выше.
Кроме того, вы также можете использовать приведенную ниже команду rpm для вывода списка файлов внутри или установленных в системе из пакета .rpm следующим образом, где -g и -l означает список файлов в пакете:
# rpm -ql httpd

Еще одна полезная опция — использовать -p для просмотра списка файлов пакета .rpm перед его установкой.
# rpm -qlp telnet-server-1.2-137.1.i586.rpm
В дистрибутивах Debian/Ubuntu вы можете использовать команду dpkg с флагом -L , чтобы получить список файлов, установленных в вашей системе Debian или ее производных, из заданного . пакет deb .
В этом примере мы перечислим файлы, установленные с веб-сервера apache2:
$ dpkg -L apache2

Не забудьте ознакомиться со следующими полезными статьями по управлению пакетами в Linux.
- 20 полезных команд Yum для управления пакетами
- 20 полезных команд RPM для управления пакетами
- 15 полезных APT-команд для управления пакетами в Ubuntu
- 15 полезных команд Dpkg для Ubuntu Linux
- 5 лучших менеджеров пакетов Linux для новичков в Linux
Вот и все! В этой статье мы показали вам, как получить список/найти все файлы, установленные из данного пакета или группы пакетов в Linux. Поделитесь с нами своими мыслями, используя форму обратной связи ниже.
Все права защищены. © Linux-Console.net • 2019-2023
Как отличить rpm-based от deb-based?
Какой самый простой и надёжный способ отличить rpm-based систему от deb ? Для скрипта. Все отличия какие-то неоднозначные, след. не очень надёжны, каждый форк всё по своему делает. Вот например была рекомендация на просторах сети: for i in $( echo rpm dpkg pacman ); do which $i; done 2> /dev/null Вроде здорово, но что же я вижу:
lab@nb11:~$ for i in $( echo rpm dpkg pacman ); do which $i; done 2> /dev/null /usr/bin/rpm /usr/bin/dpkg lab@nb11:~$
вот прямо так, дистр на все случаи жизни… )
icarus
03.10.22 00:25:15 MSK
- Ответить на это сообщение
- Ссылка
Посмотри где больше пакетов установлено или в каком из пакетных менеджеров установлено ядро или например grep — тот и будет основным. А строгой границы и нельзя провести, можно при желании установить rpm в deb-дистр или dpkg в rpm-дистр и плавно удалять пакеты в одном и ставить в другом.
firkax ★★★★★
( 03.10.22 01:12:18 MSK )
- Ответить на это сообщение
- Ссылка
Возьми к примеру Альт Linux, менеджер пакетов там apt, но сами пакеты rpm, а не deb.
В deb-based дистрибутиве может стоять утилита rpm для возможности конвертации rpm пакета в архив и даже установки его сразу штатно.
Но в случае установки через rpm -i package.rpm в базе установленных rpm пакетов не будет пакетов зависимостей устанавливаемого пакета и установки прервётся.
Определить поэтому можно по наличию директории с базой установленных RPM или DEB пакетов.
Но в целом, по названию дистрибутива можно определить какой формат пакетов используется. Но тут тебе либо нужно вести самостоятельный список, либо искать готовый.
Определить дистрибутив можно по выводу lsb_release -a .
kostik87 ★★★★★
( 03.10.22 01:25:03 MSK )
- Ответить на это сообщение
- Показать ответы
- Ссылка
Ответ на: комментарий от kostik87 03.10.22 01:25:03 MSK
«директории с базой установленных RPM или DEB пакетов» — а где это?
icarus
( 03.10.22 02:05:57 MSK ) автор топика
- Ответить на это сообщение
- Показать ответ
- Ссылка
Как определить версию системы и ядра Linux
Иногда информация о том, какая версия Linux используется на компьютере, имеет большое значение. Например, периодически появляются новые угрозы, которые затрагивают только определенные выпуски операционной системы (ОС). Если проблемы уязвимости имеются лишь для некоторых дистрибутивов, ядер или пакетов, необходимо быстро получить все необходимые сведения.
Варианты релизов «Линукс»
Дистрибутивы этой свободной ОС подразделяются на фиксированные и скользящие. Они имеют значительные отличия между собой.
Скользящие платформы постоянно обновляются и работают с одной ветвью кода. Это происходит двумя способами. Первый и самый популярный – частый выпуск очень незначительных обновлений. С такой моделью развития дистрибутив постоянно совершенствуется и оснащается современным программным обеспечением.
Второй метод — заменить весь образ операционной системы новым, когда он станет доступен. Очевидно, что данный вариант подходит только для облачных развертываний (поскольку это предполагает переустановку дистрибутива).
Фиксированная версия довольно стандартна. Пользователь устанавливает выпуск на устройство, а затем обновления для безопасности и исправления для пакетов будут добавляться в репозитории распространения. Это продолжается весь период поддержки дистрибутива. Пользователь может не наблюдать обновления ежедневно (или даже еженедельно), но в конечном итоге они будут отображаться как доступные для компьютера или сервера. Преимущество фиксированного релиза ОС – стабильность. Для некоторых основным недостатком такой платформы является необходимость полной переустановки «оболочки», привязанной к графику выпуска нового дистрибутива (например, каждые 6 месяцев для Ubuntu).
Как узнать версию «Линукс»?
Первым делом, стоит определиться, какие данные требуется получить – версию самой операционной системы Линукс или ядра? В первом случае это номер выпуска и сборки платформы. С другой стороны, ядро Linux – это код, позволяющий программному обеспечению взаимодействовать с оборудованием.
Дистрибутив
Чаще всего пользователю нужно узнать номер выпуска, который он использует в данный момент. Существует удобная команда для поиска этой информации. Это делается так:

- следует открыть окно терминала;
- далее выполнить команду lsb_release –a;
- на экране появится нужная информация.
Windows при установке просит драйвера носителя
Через каталог

Еще один вариант – проверить файл os-release в каталоге etc. Это предоставит довольно подробный отчет о версии операционной системы Linux. Быстро проверить это можно с помощью команды cat (concatenate), которая используется для отображения или создания новых файлов. Оператор для командной строки выглядит так: cat/etc/os-release. На экране отобразится имя ОС, версия, ее идентификатор и кодовые имена.
Как узнать версию пакета выпуска

Для поиска определенного номера пакета релиза придется применить другие методы. В дистрибутиве на основе Debian (такого как Ubuntu) следует выполнить оператор dpkg -l openssl, который сообщит всю информацию о пакете, установленном в системе.
Через файл release

Эту информацию можно собрать и с помощью файла *release. Он отображает все данные в каталоге /etc / по следующей команде: cat/etc/*release.
Версия ядра
Иногда бывает необходимо узнать номер выпуска ядра. К счастью, разработчики сочли целесообразным включить удобный инструмент, который быстро отобразит эту информацию. Это делается так:
![]()
- необходимо открыть окно терминала;
- в командной строке выполнить команду uname –r;
- отображаемая информация – ответ на заданный вопрос.
С помощью hostnamectl

Команда hostnamectl может быть использована для изменения имени хоста системы, но если она используется отдельно, то отобразятся сведения о версии ядра Linux. При ее использовании отображается имя хоста устройства, а также идентификатор компьютера, архитектура, а также требуемые данные.
Через команду cat
![]()
Последний вариант проверить версию ядра Linux — это команда cat. Используется в следующей комбинации: cat/proc/version.
Все вышеуказанные способы позволяют быстро узнать версию Linux, чтобы максимально использовать все возможности системы. Добиться этого можно различными методами, каждый из которых выполняется довольно просто.
Отличия в версиях
Все вышеуказанные команды будут работать для «Линукс», разработанных на основе Debian (в том числе для Ubuntu и Astra Linux). Если ОС установлена в KDE-формате, выяснить точную версию системы еще проще. Такие платформы отображают номера своих выпусков при переходе в меню «Настройки» — «Сведения» — «Обзор».
Что делать, если windows загружается с временным профилем

Этот метод определения версии Linux имеет дополнительный бонус: он дает некоторые сведения об оборудовании, на которое установлена система (память, процессор, графика, тип ОС и размер диска).

Если на компьютере установлена «Линукс» на основе RPM (Fedora, CentosOS, Red Hat), то узнать ее версию можно при помощи следующего оператора: cat/etc/lsb-release.

Команда для определения версии пакета выпуска будет выглядеть так: rpm -qa | grep openssl.
Для отображения версии ядра в этих ОС используются те же команды, что и в Debian-подобных платформах.
Как определить версию Linux?
![]()
Линукс — как много в этом слове эмоциональной и смысловой нагрузки. А как много разных дистрибутивов входят в это семейство И частенько требуется понять, какая конкретно версия установлена и этому помогает пакет systemd, который в настоящее время имплементирован во многие дистрибутивы.
Самый простой способ проверить версию Linux это просто использовать hostnamectl команду без каких-либо аргументов. Эта команда возвращает название дистрибутива, версию и кодовое название вместе с конкретной версией ядра.
Довольно распространенной ошибкой является называть все семейство GNU/Linux систем просто Linux-ом. Важный момент в том, что Linux — это только ядро, а GNU — непосредственно сама система в виде набора скомпилированных библиотек и системных инструментов. GNU и Linux должны работать в тандеме для того, чтобы операционная система корректно работала. Так как одно не может существовать без другого, корректнее называть эту связку GNU/Linux или Lignux.
Дополнительные способы определения
Системы управления пакетами в Linux
Если команда выше вам не помогла, следующим шагом будет проверка установленного пакетного менеджера, так как вероятность, что один из трех пакетных менеджеров все-таки установлен крайне высока.
- rpm — пакетный менеджер для систем RedHat
- dpkg — пакетный менеджер для систем Debian
- pacman — пакетный менеджер для систем Arch
Таким образом, если система использует rpm, то скорее всего у вас используется RHEL, CentOS, Fedora и т.д. Если deb, то скорее всего это Ubuntu, Debian, Mint. И соответственно в случае pacman это будет Arch или Manjaro (и им подобные).Для определения пакетного менеджера нужно ввести команду
$ for i in $( echo rpm dpkg pacman ); do which $i; done 2 /dev/null
В случае deb и rpm она вернет следующее: /usr/bin/dpkg и /bin/rpm соответственно.

Проверка версии CentOS/RHEL
Самый простой способ проверки версии CentOS это чтение файла /etc/centos-release с помощью команды cat /etc/centos-release
В свою очередь для RHEL нужно будет прочитать файл /etc/redhat-release
Команду соответственно меняем:
cat /etc/redhat-release
Думаю логика здесь понятна, для Fedora нужно будет поменять команду на fedora-release — проще некуда.
Проверка версии Debian, Mint и Ubuntu
Для Debian — подобных систем нужно прочесть файл /etc/issue:
cat /etc/issue

Проверка версии Arch
Проверять версию Arch не имеет смысла, так как каждый раз при запуске команды pacman -Suy ваша система автоматически обновляется до последней версии.
Проверка системных параметров
Проверка системной архитектуры и версии ядра
Самый простой и популярный способ определения системной архитектуры и версии ядра Linux это использование команды uname с аргументом -a.
То есть команда будет выглядеть следующим образом:
uname - a
В выводе будет указана версия ядра и разрядность архитектуры.

Проверка архитектуры ЦПУ
Самым простым и распространенным способом является команда:
lscpu
Как видно из вывода, вместе с моделью процессора и его частотой также видна его разрядность и еще много различных параметров.