Когда есть необходимость работать со множеством файлов rpm-пакетов, например, с пакетами, не установленными в систему, вы можете обнаружить, что вводите одни и те же команды вновь и вновь при переходе к следующему пакету. Стандартная задача - вам нужно знать, какие зависимости имеются у пакета. Можно, конечно, ввести команду rpm с соответствующими опциями несколько раз, а можно написать коротенький скрипт с нужными опциями:
|
#!/bin/sh
rpm -qp --requires $*
|
Этот скрипт принимает имя файла rpm-пакета в качестве параметра. Назовем скрипт rpmdepend и запустим таким образом:
|
$ rpmdepend vim-common-6.1-14.i386.rpm
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
/bin/sh
/usr/bin/awk
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
|
Смысл: мы получили список зависимостей пакета, не обращаясь к БД RPM, из самого пакета.
Другая часто встречающаяся задача - вывод листинга файлов пакета вместе с информацией о пакете. Это реально помогает в работе, поскольку многие пакеты имеют ничего не говорящие об их функциональности имена, например dia или anakonda.
|
#!/bin/sh
rpm -qilp $* | less
|
Этот скрипт (назовем его rpminfo) может вывести много строк, поэтому вывод перенаправлен в просмотрщик less. Например:
|
$ ./rpminfo perl-XML-Dumper-0.4-22.noarch.rpm
Name : perl-XML-Dumper Relocations: /usr
Version : 0.4 Vendor: Red Hat, Inc.
Release : 22 Build Date: Tue 06 Aug 2002 01:53:30 PM CDT
Install date: (not installed) Build Host: vegeta.devel.redhat.com
Group : System Environment/Libraries Source RPM: perl-XML-Dumper-0.4-22.src.rpm
Size : 10015 License: GPL
Signature : DSA/SHA1, Tue 06 Aug 2002 02:11:39 PM CDT, Key ID fd372689897da07a
Packager : Red Hat, Inc.
URL : http://www.cpan.org
Summary : Perl module for dumping Perl objects from/to XML
Description :
XML::Dumper dumps Perl data to XML format. XML::Dumper can also read XML data that was previously dumped by the module and convert it back to Perl. Perl objects are blessed back to their original packaging; if the modules are installed on the system where the perl objects are reconstituted from xml, they will behave as expected. Intuitively, if the perl objects are converted and reconstituted in the same environment, all should be well.
/usr/lib/perl5/vendor_perl/5.8.0/XML/Dumper.pm
/usr/share/man/man3/XML::Dumper.3pm.gz
|
Таким образом, мы узнали функции пакета и какие файлы он установит в систему.
Далее - Запросы к БД RPM
Назад - Передача параметров в скрипт
Содержание