Portupgrade

Материал из rrv-wiki
Перейти к навигации Перейти к поиску

В случае ошибки сборки пакетов читаем /usr/ports/UPDATING
Вот пример как это бывает [1]

Обновление базы данных портов:

# portsdb -Uu

Порежет какие порты требуют обновления:

# portversion -l "<"

Только скачать исходники для всех обнавляемых портов:

# portupgrade -aF

Апгрейд портов:

# portupgrade -arR

Апгрейд порта <myport> и всех от него зависящих с созданием пакетов:

# portupgrade -Rpv <myport>

Апгрейд порта <myport> и всех от него зависящих с сохранением старыех версий обнавляемых пакетов:

# portupgrade -Rbv <myport>

Пересборка порта:

# portupgrade -f <myport>

Пересборка всех портов, например после обновления системы:

# portupgrade -fa
На практике выяснилось, что после обновления системы, до тех пор пока вы не сделали portupgrade -fa
Не делать make delete-old-libs либо установить compat6x (если обновлялись с 6 на 7 версии)

Иногда требуется востановить базу:

# pkgdb -F
Если во время выполнения этой команды
произошла непредвиденная остановка выполните:
# pkgdb -fu

Удаление дубликатов библиотек:

# portsclean -L

Полезные ключи:

-n
--noexecute          Фактически не установливает и не модернизирует
                     никакие пакеты; только показывает, что было бы
                     сделано. Этот выбор подразумевает ключ -v и 
                     исключает -i и -y.  
-b 
--backup-packages    Сохраняют старые версии обнавляемых пакетов.
                     файлы сохраняются во временной директории
                     см. man на предмет PKG_TMPDIR, по умолчанию
                     "/var/tmp".
-l FILE
--results-file FILE  Вести лог.
-p
--package            Создает пакеты обнавляемых портов.
-P
--use-packages       Пакеты используются вместо портов всякий раз, когда доступно.
-PP
--use-packages-only  Никогда не использует порт, даже если пакет не доступен.
-x GLOB
--exclude GLOB       Исключите пакеты, соответствующие указанному образцу
                     при использовании ключей -r и/или -R.
                   
                     Например следующая команда модернизирует все пакеты
                     в зависимости от XFree86, но не ставит XFree86:
                     portupgrade -rx XFree86 XFree86
-y
--yes                Всегда ДА на все вопросы.