Управления пакетами
Материал из Википедии - свободной энциклопедии.
- Вернутся в раздел советов
Содержание |
Введение
Для управления системой портeжей в Gentoo используйте пакет gentoolkit.
- emerge gentoolkit
В этот пакет входят следующие программы:
- euse
- Утилита редактирования флагов USE.
- equery
- Показывает различную информацию об установленных пакетах. Замена etcat и qpkg.
- revdep-rebuild
- Находит неработающие бинарники и устанавливает необходимые для их работы пакеты.
equery
Обзор
Утилита equery обладает следующими возможностями:
- Поиск файлов, принадлежащих пакету и проверка их целостности.
- Поиск пакета, которому принадлежит файл.
- Поиск пакетов, которые зависят от данного, и вывод дерева зависимостей данного пакета.
- Поиск пакетов, использующие USE-флаг.
- Вывод USE-флагов пакета и их описаний.
- Подсчет занимаемого места пакетом на диске.
Использование
Синтаксис команды equery таков:
- equery <глобальные опции> команда <локальные опции>
Утилита equery самодокументированая, то есть вы можете узнать о ее использовании с помощью ее самой. Для того, чтоб посмотреть список всех глобальных опций и команд наберите
- equery --help
Для того, чтоб прочитать что делает та или иная команда наберите
- equery команда --help
Под pkgspec помощи equery подразумевается полное имя пакета + категория и версия, причем категорию и версию указывать необязательно.
Ускорения поиска пакетов
Поиск пакетов с помощью
- emerge -s занимает довольно много времени.
А поиск с учетом описания пакетов
- emerge -S на Celeron 700Mhz занимает около 10 минут.
Поэтому, для таких целей лучше использовать утилиту esearch из одноименного пакета, которая создает индексный файл, который использует при поиске. Подобным образом работает утилита slocate.
- emerge esearch
Для создания индексного файла запустите команду eupdatedb под рутом:
- su - -c eupdatedb
После того как индексный файл создан, можно заниматся поиском.
- esearch <regexp>
- esearch -S <regexp>
Также, эта утилита позволяет конфигурировать формат вывода, поэтому ее можно использовать в sh-скриптах или просто для облегчения жизни. Например, можно легко установить все desklet'ы имеющиеся в дереве портежей
- emerge `esearch -o '%p ' ^desklet`
- man esearch подробно описывает как можно конфигурировать формат вывода.
Для того, чтоб индексный файл автоматически обновлялся во время синхронизации дерева портежей, используйте скрипт esync также из пакета esearch.
- esync
После окончания синхронизации индексный файл будет обновлен и вам будет показан список обновившхся пакетов.
Примеры использования
- Чтобы получить полный список установленных пакетов и версию
- qpkg -I -v
- Посмотреть дубликаты программ с версией
- qpkg --dups -v
- Узнать, какому пакету принадлежит /bin/ls
- equery b /bin/ls
- Команды equery и qpkg различаются информативностью результатов.
- Чтобы посмотреть с какими флагами был установлен пакет samba
- equery uses samba
- Чтобы узнать, какие файлы принадлежат пакету net-tools
- equery files net-tools | sort | less
- Посмотреть дерево зависимостей пакета
- equery depgraph bash
- Чтобы удалить пакет
- emerge -C пакет
- Чтобы удалить из системы все ненужные пакеты
- emerge depclean (ОЧЕНЬ ОПАСНАЯ ОПЕРАЦИЯ, которая может привести к удалению нужных пакетов)
- Чтобы собрать бинарный пакет, уже проинсталлированый на вашей системе, для переноса на другую систему или повторного инсталлирования
- quickpkg пакет