Главная
Главная Руководства FreeBSD › Обновление портов в FreeBSD 10.1+



Автор:

Статья опубликована: 2015-05-04 15:24:47
Последние правки: 2023-02-07 10:35:39

Применимо к FreeBSD 10.X - FreeBSD 13.X. С апреля 2021 года появилась возможность качать дерево портов из git.

  • Получение дерева портов

    Для этого можно использовать утилиту portsnap.
    Первоначальная установка дерева портов
    # portsnap fetch extract
    
    Обновление уже установленного дерева портов
    # portsnap fetch update
    
    Обновление через cron
    # portsnap fetch cron
    


  • Получение дерева портов из git

    С апреля 2021 года появилась возможность качать дерево портов из git. Из svn получать порты ещё можно, но, подозреваю, что рано или поздно это закончится. Получаем порты:

    - предварительно удаляем старую коллекцию портов, которую качали из svn:
    # rm -rf /usr/ports/* && rm -rf /usr/ports/.*
    
    - закачиваем порты из git:
    # git clone ssh://anongit@git.FreeBSD.org/ports.git --branch main /usr/ports/
    
    - скачиваем индекс портов и их зависимостей:
    # cd /usr/ports
    # make fetchindex
    

    После получения, коллекцию портов обновляем так:
    # cd /usr/ports
    # git pull
    # make fetchindex
    


  • Обновление

    Для обновления нужно установить portupgrade
    # cd /usr/ports/ports-mgmt/portupgrade
    # make install clean
    
    Обновляем установленные порты
    # portupgrade -arR
    
    Удаляем старые инсталлянты
    # portsclean -D
    


  • Ошибки

    После обновления FreeBSD до нового релиза (например, 11 -> 12) и перестроения всех портов, pkg ver начинает показывать, что установленная версия порта новее:
    Лечение:
    # cd /usr/ports
    # make fetchindex
    # make index