Skip to content

Заявки към RPM база данни

Ivaylo Kuzev edited this page Aug 24, 2016 · 1 revision

RPM има мощна функция заявка (query) , която ви позволява да разберете инсталираните пакети в системата, файловете свързани с тях, или пакет към който принадлежи определен файл . За да направим заявки към базата данни, използваме опция -q или --query .

Заявки за пакети - Querying packages

Трябва да посочите името на пакета за заявка.

Например:

$ rpm -q foo-1.0-1

Командата трябва да върне името на пакета foo-1.0-1 ,ако е инсталиран. Ако пакета не е инсталиран ще получим следното съобщение package foo-1.0-1 is not installed .

  • Забележка: Може да бъде добавено само името foo на пакета .
  • Забележка: Може да се добавят повече от един пакет foo foo-devel .

Заявки на всичко - Querying everything

Използвайки опция -a или --all казваме на rpm да направи заявка за всички пакети .

Пример:

Тази команда връща всеки пакет инсталиран във системата.

$ rpm -qa | less
libXevie-1.0.3-7.1.el7.x86_64
libical-1.0.1-1.el7.x86_64
libnl-1.1.4-3.el7.x86_64
chrony-2.1.1-1.el7.centos.x86_64
rasqal-0.9.30-4.el7.x86_64
NetworkManager-wwan-1.0.6-29.el7_2.x86_64
perl-Test-Simple-0.98-243.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
aic94xx-firmware-30-6.el7.noarch
...

За да намерим всички инсталирани пакети съдържащи определена дума.

$ rpm -qa | grep foo
foo-1.0-1
foo-devel-1.0-1

Заявки за информация относно пакет - Query for package information

Понякога потребителя или системния администратор, има нужда да разбере повече детайли за определен пакет в системата . За тази цел ще използваме опцията -q и i с която ще получим детайли относно размер, дата на инсталацията , лиценз ... или почти всичко което някой би искал да знае.

$ rpm -qi vsftpd
Name        : vsftpd
Version     : 3.0.2
Release     : 11.el7_2
Architecture: x86_64
Install Date:  1.04.2016 (пт) 11,12,31 CEST
Group       : System Environment/Daemons
Size        : 355788
License     : GPLv2 with exceptions
Signature   : RSA/SHA256, 31.03.2016 (чт) 22,15,18 CEST, Key ID 24c6a8a7f4a80eb5
Source RPM  : vsftpd-3.0.2-11.el7_2.src.rpm
Build Date  : 31.03.2016 (чт) 17,12,03 CEST
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : https://security.appspot.com/vsftpd.html
Summary     : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.

Заявка за файлове - Query for files

Като пример, за да намерим файла /etc/vsftpd/vsftpd.conf на кой пакет принадлежи .

$ rpm -qf /etc/vsftpd/vsftpd.conf
vsftpd-3.0.2-11.el7_2.x86_64

От изхода на командата можем да разберем, че файлът /etc/vsftpd/vsftpd.conf принадлежи на пакета vsftpd . След като вече имаме име на пакет ,ще го използваме за да открием всички файлове свързани с този пакет .

Използваме опциите -q и c за да намерим всички файлове свързани с пакет .

$ rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

Изхода показва, че пакета vsftpd има пет конфигурационни файла . В случай ,че искате да прочете документацията използвайте опциите -q и d .

$ rpm -qd vsftpd
/usr/share/doc/vsftpd-3.0.2/AUDIT
/usr/share/doc/vsftpd-3.0.2/BENCHMARKS
/usr/share/doc/vsftpd-3.0.2/BUGS
/usr/share/doc/vsftpd-3.0.2/COPYING
/usr/share/doc/vsftpd-3.0.2/Changelog
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.conf

Или пък използвайте опциите -q и l за да получите всички файловете принадлежащи на пакета vsftpd .

$ rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/[email protected]
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-3.0.2
/usr/share/doc/vsftpd-3.0.2/AUDIT
/usr/share/doc/vsftpd-3.0.2/BENCHMARKS
/usr/share/doc/vsftpd-3.0.2/BUGS
/usr/share/doc/vsftpd-3.0.2/COPYING
/usr/share/doc/vsftpd-3.0.2/Changelog

Заявки за зависимости - Query for dependencies

Използвайте -q и R опция за да разберете всички зависимости от които се нуждае даден пакет .

$ rpm -qR vsftpd
/bin/bash
/bin/sh
/bin/sh
/bin/sh
config(vsftpd) = 3.0.2-11.el7_2
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcap.so.2()(64bit)
libcrypto.so.10()(64bit)
libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
libcrypto.so.10(libcrypto.so.10)(64bit)
libdl.so.2()(64bit)
libnsl.so.1()(64bit)
libpam.so.0()(64bit)
libpam.so.0(LIBPAM_1.0)(64bit)
libssl.so.10()(64bit)
libssl.so.10(libssl.so.10)(64bit)
libwrap.so.0()(64bit)
logrotate
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
...

Заявки за не инсталирани пакети - Query an (uninstalled) package .

Примерите които прегледахме до сега бяха за инсталирани пакети, ако искаме заявка от RPM за пакет, който не е инсталиран трябва да добавим опция -p или --package .

Пример:

$ rpm -qp libnfs-1.9.8-1.el7.centos.sos.x86_64.rpm
$ rpm -qip libnfs-1.9.8-1.el7.centos.sos.x86_64.rpm
$ rpm -qlp libnfs-1.9.8-1.el7.centos.sos.x86_64.rpm
$ rpm -qRp libnfs-1.9.8-1.el7.centos.sos.x86_64.rpm
....

FAQ


Инсталиране


Първи стъпки в терминала за команди


Първи стъпки в графична среда


Управление на пакети


Приложения


Хардуер


Сигурност


StotinkaOS Инструменти


Разни

Clone this wiki locally