Правильная установка программ в FreeBSD.

Sam Jack

Капитан-Узурпатор
Команда форума
Созидатель
5 Май 2015
13.917
4.894
113
Россия
null-prog.ru
Желательно устанавливать программы в FreeBSD из портов, которые являются проверенными исходниками программ. Но минусом make в портах является невозможность штатно обновить в дальнейшем программу. Для примера, представим, что есть порт вымышленной программы VAV в /usr/ports/myth/vav/. В начале VAV версии 1.0. Вы устанавливаете VAV 1.0 с помощью cd /usr/ports/myth/vav/ && make install clean. Напомню, что установка из портов создаёт сначала бинарный пакет (package), который уже и устанавливается в систему и это можно проверить командой pkg_info.
Выходит новая версия VAV 2.0. Сопровождающий порта /usr/ports/myth/vav/ обновляет порт и делает его актуальным. Вы должны получить эту новую версию порта с помощью portsnap update. НО если вы снова сделаете make в новом порте, у вас будет установлена как VAV 1.0 так и VAV 2.0!
Выход? Использовать нужно portupgrade. После синхронизации ваших портов с новыми официальными, нужно вызвать команду portsdb -uU, которая обновит базу portupgrade. С помощью portupgrade вы должны устанавливать софт из портов и тогда получите нужную возможность - легко ОБНОВЛЯТЬ программу, вместе с её зависимостями.
Более подробно об портах и их минусах в Source Based FreeBSD против Package Based Linux.
Не работает fetch через прокси сервер.


Если прокси авторизирует по IP, то достаточно прописать в /etc/make.conf
FETCH_ENV=FTP_PROXY=http://адрес_прокси_сервера:порт/
FETCH_ENV=HTTP_PROXY=http://адрес_прокси_сервера:порт/
Если прокcи авторизирует по имени и паролю, то
FETCH_ENV=FTP_PROXY=http://имя:пароль@адрес_прокси_сервера:порт/
FETCH_ENV=HTTP_PROXY=http://имя:пароль@адрес_прокси_сервера:порт/
На нулевой терминал сыпятся сообщения системы.


что может мешать вам работать. Закоментируйте строку нулевого терминала
#ttyv0 "/usr/libexec/getty Pc" cons25r on secure
в файле /etc/ttys и работайте на других терминалах, отдав нулевой терминал системе.
Portsnap с отладкой.


В новых версиях FreeBSD порты принято обновлять утилитой portsnap. У неё есть недокументированная возможность выдавать на консоль больше информации при ошибках работы. Запускайте с параметром --debug и получите более информативный вывод.
portsnap --debug fetch update