понедельник, 25 апреля 2011 г.

Gentoo заметка менеджер пакетов

1. Основные утилиты для управления пакетами

gentoolkit # основные утилиты: euse, equery, eclean, quickpkg...
epm # аналог equery
esearch # быстрый индексированный поиск по базе пакетов

2. Полезные утилиты и комманды

revdep-rebuild # Находит неработающие бинарники и устанавливает
# необходимые для их работы пакеты

euses xinerama # Описание USE флага xinerama

epm -qa # список установленных пакетов

equery l # список установленных пакетов
equery list -d # дубликаты
equery l kde-base/ # список установленных пакетов из раздела kde-base
equery b /bin/ls # какому пакету принадлежит файл /bin/ls
equery uses samba # с какими флагами был установлен пакет samba
equery files mc # какие файлы принадлежат пакету mc
equery depgraph mc # показать дерево зависимостей пакета mc
equery -q d gtk+ # какие установленные пакеты зависят от gtk+
equery u mc # посмотреть значения USE флагов для mc

quickpkg mc # собрать бинарный пакет уже установленный в системе

eclean -p distfiles # какие исходные файлы устарели и не будут использоваться
eclean distfiles # удалить устаревшие исходники из /usr/portage/distfiles

emerge depclean # удалить из системы все ненужные пакеты
# может привести к удалению нужных пакетов
emerge info # вывести текущие настройки (в т.ч. USE)
emerge -s foo # поиск пакета по имени
emerge -p -v foo # какие USE флаги влияют на эту программу и
# сколько Kb еще нужно докачать исходников
emerge -p -f bar # вывод url откуда можно тянуть sources
emerge -p -e bar # показать все зависимости программы без glibc
emerge -p -u foo # показать, что будет обновляться
emerge -p depclean # вывести пакеты которых нет в world и от
# которых никто не зависит (для удаления)

emerge sync # обновление portage через rsync://
emerge -f foo # только выкачка sources без установки

emerge -p bar # вывод что нужно для установки программы
emerge -p -t foo # вывод что нужно для установки программы
# (зависимости выводятся в виде дерева)
emerge -a bar # то-же что и -p, но после вывода информации
# спрашивает продолжить ли выполнять emerge
emerge -k foo # установка прекомпилированной программы из
# /usr/portage/package/All/ __ЕСЛИ__ там есть
# нужная версия программы
emerge -K bar # как и -k, но если нужной прекомпилированной
# версии нет, то используется какая есть
emerge foo # установка программы
emerge -u bar # обновить пакет (возможно, на меньшую версию)
emerge -uDN world # полный апгрейд системы
emerge -C foo # удалить пакет (unmerge). зависимости при
# удалении __НЕ__ проверяются!!!

emerge --info # Посмотреть настройки portage

etcat -v bar # вывести все версии пакета ... в портаже
etcat -u ИМЯ # с какими настройками USE (только из влияющих
# на эту программу) была установлена программа

emerge system # Обновить всю систему
emerge -u system # Обновить всю систему

emerge -p --depclean # Показать какие неиспользуемые зависимости будут удалены

emerge -auvDN world # Пересборка всей системы после изменения USE флагов

emerge --depclean # Удалить условные зависимости, присутствующие в «старой»
# системе, но больше не нужные при новом составе USE-флагов.

Изменить USE флаг для одного приложения
echo "category/moo some flags" >> /etc/portage/package.use

emerge -e system # Обновить всю систему включая компилятор (новый компилятор и/или смене CHOST)

etc-update # Обновление конфигурационных файлов (история не сохраняется)
dispatch-conf # Обновление конфигурационных файлов (история изменений сохраняется)

emerge -a depclean # Удалить неиспользуемые зависимости
emerge -auvDN world # Обновить все