notby.NET Logo

Обновление портов FreeBSD 14

Отличительная особенность FreeBSD это использование коллекции портов. Они представляют список программ и библиотек в исходных кодах с возможностью сборки с любыми необходимыми опциями. Порты находятся /usr/ports/ каталоге. Покажу два метода развертывания и обновления портов, через репозиторий используя систему контроля версия Git (актуальный) и portsnap (старый, на FreeBSD 13.2 еще поддерживается).

1. Обновление портов через Git

1.1. Установка Git

Нужно установить Git (система управления версиями), если ранее не была установлена.

В системе раньше уже использовались порты, устанавливаем из портов

cd /usr/ports/devel/git/ && make install clean
FreeBSD установка git из коллекции портов, конфигурация параметров для сборки

Если в системе порты не использовались устанавливаем через пакеты pkg.

pkg install git

Достаточно поставить облегчённую версию git-lite или git-tiny (у этих версий меньше зависимостей). Используем команду: pkg install git-tiny

FreeBSD, установка git-tiny через pkg. Показан список необходимых зависимостей

1.2. Развертывание коллекции портов

Клонируем официальный репозиторий портов FreeBSD

git clone https://git.FreeBSD.org/ports.git /usr/ports

Если получаем сообщение: fatal: destination path '/usr/ports' already exists and is not an empty directory. Значит коллекция портов ранее использовалась и необходимо удалить содержимое каталога /usr/ports/ или сам каталог

rm -rf /usr/ports/

Порты клонированы из репозитория, перейдем в каталог /usr/ports/ и посмотрим содержимое каталога.

cd /usr/ports/ && ls
Клонирование репозитория портов FreeBSD через git. Успешное клонирование, содержимое каталога /usr/ports/

1.3. Обновление коллекции портов

Используем команду, где параметр путь до каталога портов

git -C /usr/ports pull

Или переходим в каталог портов и выполняем команду git pull

cd /usr/ports/
git pull
Обновление портов во FreeBSD использую git pull

Перед установкой программ и компонентов всегда нужно обновлять порты.

2. Обновление портов через portsnap (устаревший метод)

В FreeBSD 14 данный метод не поддерживает и утилита portsnap удалена. Устаревшим методом еще поддерживается в FreeBSD 13.2.

Переходим в каталог /usr/ports/

cd /usr/ports/

Если каталог нет, создаем

mkdir -p /usr/ports/

Скачиваем и извлекаем коллекцию портов

portsnap fetch extract

Для обновления используем команду

portsnap fetch update