|
|||
|
Порты FreeBSDПорты FreeBSD - это набор программ и утилит с разнообразным функционалом. Например HTTP-сервер Apache, PHP и другие программы можно и нужно устанавливать именно из портов. Если используется DirectAdmin или другие панели управления сервером - ПО, которое они устанавливают лучше обновлять встроенными утилитами. Все остальное - при помощи коллекции портов. Например, перед установкой DirectAdmin на вновь инсталлированную FreeBSD требуется сначала установить некоторые порты. Обновление дерева портовПервым делом, перед установкой или обновлением портов необходимо обязательно обновить дерево портов FreeBSD. Это можно выполнить при помощи утилиты portsnap, которая является рекомендуемой и изначально предустановленна в FreeBSD с шестой версии. Обновление или первоначальная загрузка портов FreeBSD выполняется так: Первый запуск # portsnap fetch extract Второй и все последующие запуски # portsnap fetch update Флаги extract и update выполняют практически одно и тоже - загружают коллекцию портов на сервер, за исключением того, что extract полностью перезаписывает все порты, а update лишь обновляет дерево. По этому разумно использовать extract только для того, чтобы первоначально получить все программы портов, а в дальнейшем использовать исключительно update - так будет быстрее и меньше нагружается сервер. Для полноценной работы portsnap не нуждается в конфигурировании, но для желающих все настроить под себя и в лучшем виде существует файл /etc/portsnap.conf (/usr/local/etc/portsnap.conf - portsnap был установлен из коллекции портов).
Как настроить автоматическое обновление портов по расписанию и связанные с этим скрытые, на первый взгляд, проблемы, хорошо описано в официальном руководстве по FreeBSD: " Поиск локальных дистрибутивов портовПорты можно искать как по ключу в описании, так и по символам названия (поиск работает только из директории /usr/ports/): # cd /usr/ports # make index # make search name=apache | more # make search key=apache | more Чтобы поиск производился по актуальным данным, нужно выполнить make index, но это действие производится очень долго - в процессе индексации может показаться, что система подвисла, но стоит все же подождать пол-часа или более (чем "древнее" сервер - тем больше время индексации). Поиск по имени (make search name) находит все порты, в имени которых найдены искомые символы. Поиск по ключу выдает результат с портами, в описании которых есть искомый ключ ("B-deps" - это зависимости для построения, "R-deps" - зависимости для запуска приложения). More после команды поиска позволяет выводить результат поиска постранично, а не все сразу. pkg_info - просмотр информации об уже установленных портахУтилита pkg_info позволяет получить данные об уже установленных портах и пакетах. Самые полезные ключи программы:
Примеры использования pkg_info: Просмотр кратких сведений обо всех установленных портах с постраничной разбивкой: # pkg_info -ac | more Просмотр кратких сведений о порте, содержащем в названии autoconf: # pkg_info -xc autoconf Просмотр путей к файлам, установленных портом autoconf-2.69: # pkg_info -L autoconf-2.69 Просмотр нескольких путей к файлам, установленных портом: # pkg_info -L autoconf-2.69 | head Просмотр занимаемого места каждым из установленных портов с записью информации в файл sizes # pkg_info -as > sizes pkg_version - сравнение версий установленных портов с доступнымиУтилита pkg_version сравнивает версии установленных в системе портов с существующими. Перед сравнением с локальным деревом портов необходимо обновить порты и пересобрать индекс (make index), чтобы отображаемые сведения были актуальными. # pkg_version | more После запуска pkg_version без параметров, будет выведен список всех установленных портов со значком, напротив каждого из портов:
Пример использования pkg_version: Просмотр тех поротов, которые можно обновить: # pkg_version -v | grep need Просмотр более подробных сведений о версиях портов с разбивкой на страницы: # pkg_version -v | more Определение установленных портов, для которых существуют более новые версии (отобразить все порты со статусом "<", флаг -l - маленькая английская литра L) и вывод подробных сведений (-v) (два приведенных варианта равнозначны): # pkg_version -l "<" -v # pkg_version -vl "<" Определение установленных портов, которые не соответствуют статусу "=": # pkg_version -L "=" Сравнение портов с удаленной базой: # pkg_version -v ftp://ftp.freebsd.org/pub/FreeBSD/branches/-current/ports/INDEX \ | more portupgrade - обновление портовВажная информация перед использованием portupgrade:
Запустить обновление только одного порта, например MC (Midnight Commander): # portupgrade -rR mc Флаг r - проверяет и пытается обновить все программы, которые зависят от обновляемого порта, R - проверяет и пытается установить/обновить всё ПО, от которого зависит порт. Чтобы обновить все устаревшие порты - можно запустить portupgrade с дополнительным флагом "a": # portupgrade -arR Ели добавить ключ -i, администратору, возможно, будут задаваться вопросы по ходу установки/обновления (yes/no). Необходимо внимательно следить за сообщениями, которые генерирует portupgrade во время обновления - там могут содержаться важные инструкции по решению проблем с отказами обновлений. Возможно во время использования portupgrade появится предложение запустить pkgdb -F. Стоит принять предложение системы - эта команда обновляет базу данных портов /var/db/pkg/pkgdb.db. Удаление портов
Команды make deinstall и make reinstall нужно запускать из директории удаляемого/восстанавливаемого порта, pkg_deinstall -КЛЮЧ [packagename] - из любой директории, где [packagename] - имя удаляемого порта. Если в pkg_deinstall добавить ключ -f - удаляемые порты не будут проверяться на их необходимость для других портов. Обновление: 2013/03/30 Опубликовано: 2012/09/19
HTML-код ссылки на эту страницу:
<a href="https://petrenco.com/freebsd.php?txt=151" target="_blank">Порты FreeBSD - установка, настройка и обновление.</a> 16980
Добавить комментарий
|