Удивите друзей возможностями RPM

15.4. Удивите друзей возможностями RPM

RPM представляет собой полезный инструмент для управления системой, а также для выявления и исправления проблем. Лучше всего понять его возможности можно, взглянув на несколько примеров.

  • Возможно, вы случайно удалили несколько файлов, но не знаете, какие именно. Чтобы проверить всю систему и найти утраченное, выполните следующую команду:

    rpm -Va

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

  • Вы также можете случайно наткнуться на неизвестный вам файл. Чтобы выяснить, к какому пакету он относится, выполните:

    rpm -qf /usr/bin/ggv

    На экране появится примерно следующее:

    ggv-2.6.0-2
  • Можно объединить оба примера в следующем сценарии. Скажем, у вас возникли проблемы с программой /usr/bin/paste. Вы хотели бы проверить пакет, в который она включена, но не знаете, в какой пакет включена программа paste. Введите следующую информацию,

    rpm -Vf /usr/bin/paste

    и соответствующий пакет будет проверен.

  • Вы хотите получить дополнительную информацию о конкретной программе? Вы можете выполнить следующую команду, чтобы найти документацию, поставляемую с пакетом, включающим эту программу:

    rpm -qdf /usr/bin/free

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

    /usr/share/doc/procps-3.2.3/BUGS
    /usr/share/doc/procps-3.2.3/FAQ
    /usr/share/doc/procps-3.2.3/NEWS
    /usr/share/doc/procps-3.2.3/TODO
    /usr/share/man/man1/free.1.gz
    /usr/share/man/man1/pgrep.1.gz
    /usr/share/man/man1/pkill.1.gz
    /usr/share/man/man1/pmap.1.gz
    /usr/share/man/man1/ps.1.gz
    /usr/share/man/man1/skill.1.gz
    /usr/share/man/man1/slabtop.1.gz
    /usr/share/man/man1/snice.1.gz
    /usr/share/man/man1/tload.1.gz
    /usr/share/man/man1/top.1.gz
    /usr/share/man/man1/uptime.1.gz
    /usr/share/man/man1/w.1.gz
    /usr/share/man/man1/watch.1.gz
    /usr/share/man/man5/sysctl.conf.5.gz
    /usr/share/man/man8/sysctl.8.gz
    /usr/share/man/man8/vmstat.8.gz
  • Возможно, вы нашли новый RPM-пакет, но не знаете, что он делает. Чтобы найти информацию о нём, выполните следующую команду:

    rpm -qip crontabs-1.10-7.noarch.rpm

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

    Name        : crontabs                     Relocations: (not relocatable)
    Version     : 1.10                              Vendor: Red Hat, Inc.
    Release     : 7                             Build Date: Mon 20 Sep 2004 05:58:10 PM EDT
    Install Date: (not installed)               Build Host: tweety.build.redhat.com
    Group       : System Environment/Base       Source RPM: crontabs-1.10-7.src.rpm
    Size        : 1004                             License: Public Domain
    Signature   : DSA/SHA1, Wed 05 Jan 2005 06:05:25 PM EST, Key ID 219180cddb42a60e
    Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
    Summary     : Root crontab files used to schedule the execution of programs.
    Description :
    The crontabs package contains root crontab files. Crontab is the
    program used to install, uninstall, or list the tables used to drive the
    cron daemon. The cron daemon checks the crontab files to see when
    particular commands are scheduled to be executed. If commands are
    scheduled, then it executes them.
  • Возможно, вы захотите узнать, какие файлы устанавливает RPM-пакет crontabs. Выполните следующую команду:

    rpm -qlp crontabs-1.10-5.noarch.rpm

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

    /etc/cron.daily
    /etc/cron.hourly
    /etc/cron.monthly
    /etc/cron.weekly
    /etc/crontab
    /usr/bin/run-parts

Здесь приведены всего несколько примеров. По мере использования RPM вы найдете множество новых вариантов его применения.