В терминологии RPM каждый пакет предоставляет некоторые возможности. "Возможность" представлена текстовой строкой, которая задана в секции Provides хэдера пакета. В большинстве случаев возможность - это имя файла или имя другого пакета. Но технологически это может быть любая текстовая строка.
Другие пакеты могут зависеть от определенной возможности. Каждый пакет содержит в себе информацию как о предоставляемых возможностях, так и о возможностях, от которых он зависит (секция Requires).
Когда вы устанавливаете пакет, информация о возможностях помещается в БД RPM. Когда вы удаляете пакет, утилита rpm проверяет БД. Если пакет для удаления должен быть удален вместе с некоторыми возможностями, от которых зависят другие пакеты, утилита сгенерирует ошибку и завершит работу. Например:
|
# rpm -e setup
error: Failed dependencies:
setup is needed by (installed) basesystem-8.0-1
setup >= 2.0.3 is needed by (installed) initscripts-6.95-1
setup >= 2.5.4-1 is needed by (installed) filesystem-2.1.6-5
setup is needed by (installed) xinetd-2.3.7-2
setup is needed by (installed) dump-0.4b28-4
|
Для проверки того обстоятельства, что пакет в действительности не был удален, можно запросить информацию о нем:
|
# rpm -q setup
setup-2.5.20-1
|
Этот пример показывает, что пакет setup не был удален из-за ошибок операции.
Многие возможности, от которых зависят другие пакеты - это системные библиотеки, особенно разделяемые библиотеки. Разделяемые библиотеки, файлы которых имеют обычно расширение .so (от shared object), предоставляют эффективный механизм экономии памяти и разделения кода. Поскольку множество программ зависит от разделяемых библиотек, система RPM умеет автоматически обрабатывать эти зависимости.
Для исследования вопроса об используемых программой библиотеках, применяется команда ldd. Например:
|
$ ldd /bin/grep
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
|
Другие зависимости могут содержать специфические требования к номерам версий.
Далее - Зависимости версий
Назад - Введение в концепцию зависимостей
Содержание