Менеджер бинарных пакетов FreeBSD, * pkg *, может использоваться для простого управления установкой предварительно скомпилированных приложений, эквивалентных FreeBSD Debian и RPM-пакетов. По сравнению с другим распространенным методом установки программного обеспечения во FreeBSD, компиляция * ports * с коллекцией портов, использование пакетов обеспечивает более простую и быструю альтернативу, которая работает во многих ситуациях. Пакеты, однако, не так гибки, как порты, потому что установки пакетов не могут быть настроены — если вам нужно настроить параметры компиляции ваших установок программного обеспечения, используйте https://www.digitalocean.com/community/tutorials/how-to -install-and-manage-ports-on-freebsd-10-1 [порты] вместо пакетов.
В этом руководстве мы покажем вам, как управлять пакетами во FreeBSD 10.1. Это включает в себя установку и удаление пакетов, среди других связанных задач.
Предпосылки
Чтобы использовать команды из этого руководства, вы должны иметь * root * доступ к серверу FreeBSD. То есть вы должны иметь возможность войти на сервер как пользователь root или другой пользователь с привилегиями суперпользователя с помощью команды sudo. Если вы планируете использовать root, вы можете пропустить часть + sudo + команд примера.
FreeBSD: Installation & First Look
Как установить новые пакеты с помощью Pkg
Если вам известно имя пакета, который вы хотите установить, вы можете установить его с помощью команды + pkg + , например:
sudo pkg install
Вы также можете указать несколько пакетов для установки, разделенных пробелами, например:
sudo pkg install
В качестве примера, давайте установим Nginx, популярный веб-сервер, с + pkg + :
sudo pkg install nginx
Выполнение этой команды инициирует установку указанного вами пакета. Сначала ваша система проверит наличие обновлений каталога репозитория пакетов. Если он уже полностью обновлен, ищите указанный пакет. Если пакет найден, будет указан пакет и пакеты, от которых он зависит.
Затем появится запрос подтверждения.
В этом случае будет установлен только пакет + nginx + . Ответьте на приглашение с помощью + y + для подтверждения:
New packages to be INSTALLED: nginx: 1.6.2_1,2 The process will require 654 KB more space. 244 KB to be downloaded. Proceed with this action? [y/N]:
После подтверждения установки пакета перечисленные пакеты будут загружены и установлены в системе. Некоторые пакеты будут отображать важную информацию после установки или инструкции, касающиеся использования приложения, после установки обязательно следуйте всем примечаниям после установки.
Если вы используете оболочку по умолчанию + tcsh + или + csh + , вы должны перестроить список двоичных файлов в вашем + PATH + с помощью этой команды:
rehash
Также важно отметить, что приложения, которые являются services, не запускаются автоматически и не включаются в качестве службы после установки. Давайте посмотрим, как запустить сервисы сейчас.
Как запускать сервисы
Во FreeBSD сервисы, которые устанавливаются с пакетами, предоставляют скрипт инициализации сервисов в + / usr / local / etc / rc.d + . В примере Nginx, который запускается как служба, сценарий запуска называется + nginx + . Обратите внимание, что при запуске команд вместо имени выделенного «nginx» следует заменить имя соответствующего служебного скрипта.
A Quick Installation Of FreeBSD 13.0
Чтобы продемонстрировать, что происходит, если вы пытаетесь запустить службу, которая не включена, попробуйте использовать команду + service + , чтобы запустить ваше программное обеспечение сразу после его установки:
sudo service start
Служба не запустится, и вы увидите сообщение, которое выглядит следующим образом:
Cannot ‘start’ . Set _enable to YES in /etc/rc.conf or use ‘onestart’ instead of ‘start’.
Чтобы включить службу, следуйте инструкциям в сообщении и добавьте следующую строку в + / etc / rc.conf + :
_enable=»YES»
Вы можете либо открыть + / etc / rc.conf + в редакторе и добавить строку, либо использовать утилиту + sysrc + для обновления файла следующим образом:
sudo sysrc _enable=yes
Теперь сервис включен. Он запустится, когда ваша система загрузится, и вы можете использовать подкоманду + start + , которая была предпринята ранее:
sudo service start
Если вы хотите запустить сервис один раз, без его включения, вы можете использовать подкоманду + onestart + . Запуск службы таким способом немедленно запустит скрипт запуска, но он не будет запущен при загрузке системы. Попробуй это сейчас:
sudo service onestart
Использование подкоманды + onestart + полезно, если вы хотите проверить конфигурацию своих сервисов перед их включением.
Как просмотреть информацию о пакете с помощью Pkg
Чтобы просмотреть информацию об * установленных * пакетах, вы можете использовать команду + pkg info + , например:
pkg info
Это напечатает различную информацию об указанном пакете, включая описание программного обеспечения, опций, с которыми оно было скомпилировано, и список библиотек, от которых он зависит.
Как обновить установленные пакеты с помощью Pkg
Вы можете установить последние доступные версии установленных пакетов вашей системы с помощью этой команды:
sudo pkg upgrade
Выполнение этой команды сравнит ваши установленные пакеты с версиями в каталоге репозитория и выведет список пакетов, которые можно обновить до более новой версии:
Updating FreeBSD repository catalogue. FreeBSD repository is up-to-date. All repositories are up-to-date. Checking for upgrades (2 candidates): 100% Processing candidates (2 candidates): 100% The following 2 packages will be affected (of 0 checked): Installed packages to be UPGRADED: python27: 2.7.8_6 -> 2.7.9 perl5: 5.18.4_10 -> 5.18.4_11 The process will require 2 MB more space. 23 MB to be downloaded. Proceed with this action? [y/N]:
Ответьте + y + на приглашение перейти к обновлению перечисленных пакетов.
Как удалить пакеты с помощью Pkg
Если вам известно имя пакета, который вы хотите удалить, вы можете удалить его, используя команду + pkg + , например:
sudo pkg delete
Вы также можете указать несколько пакетов для удаления, разделенных пробелами, например:
sudo pkg delete
Давайте удалим пакет Nginx, который мы установили ранее:
sudo pkg delete
Вы увидите сообщение, подобное следующему, с запросом подтверждения:
Checking integrity. done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: nginx-1.6.2_1,2 The operation will free 654 KB. Proceed with deinstalling packages? [y/N]:
Ответьте на приглашение с помощью + y + , чтобы подтвердить действие удаления пакета.
Как удалить неиспользуемые зависимости
Если вы удалите пакет с установленными зависимостями, они все равно будут установлены. Чтобы удалить пакеты, которые больше не требуются никакими установленными пакетами, выполните эту команду:
sudo pkg autoremove
Список пакетов, которые будут удалены, будет напечатан с последующим предложением. Ответьте + y + на запрос подтверждения, если вы хотите удалить перечисленные пакеты.
Как найти пакеты с Pkg
Чтобы найти двоичные пакеты, доступные в репозитории, используйте команду + pkg search + .
По имени пакета
Самый простой способ поиска — по имени пакета. Если вы хотите выполнить поиск по имени пакета, используйте следующую команду:
pkg search
Например, чтобы найти пакеты с «nginx» в имени, используйте эту команду:
pkg search nginx
Это напечатает список пакетов, включая номера версий, с «nginx» в имени:
nginx-1.6.2_1,2 nginx-devel-1.7.8 p5-Nginx-ReadBody-0.07_1 p5-Nginx-Simple-0.07_1 p5-Test-Nginx-0.24
Если вы хотите прочитать подробную информацию о перечисленных пакетах, используйте опцию + -f + , например:
pkg search -f
Это напечатает информацию о пакете для каждого пакета, который соответствует указанному имени пакета.
По описанию
Если вы не уверены в названии пакета, который хотите установить, вы можете также искать описания пакетов, которые доступны в репозитории, указав опцию + -D + . По умолчанию при сопоставлении с образцом регистр не учитывается:
pkg search -D
Например, чтобы найти все пакеты с «java» в описании, используйте следующую команду:
pkg search -D java
При этом будут напечатаны имена всех доступных пакетов с указанным шаблоном в поле описания вместе с описанием.
Как узнать больше об использовании Pkg
Pkg — это очень гибкая утилита, которую можно использовать многими способами, которые не описаны в этом руководстве. К счастью, он предоставляет простой способ узнать, какие опции и подкоманды доступны, и что они делают.
Чтобы напечатать доступные опции и подкоманды, используйте эту команду:
pkg help
Чтобы прочитать справочные страницы для различных подкоманд, используйте + pkg help + и укажите команду, о которой вы хотите узнать, например, так:
pkg help
Например, если вы хотите узнать больше об использовании + pkg search + , введите эту команду:
pkg help search
Это откроет страницу справочника, которая детализирует, как использовать + pkg search + .
Теперь вы должны знать достаточно об использовании + pkg + для управления бинарными пакетами на вашем сервере FreeBSD.
Источник: www.codeflow.site
Как устнанавливать программы на FreeBSD?
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+pkg.FreeBSD.org/FreeBSD:11:amd64/quarterly, please wait.
pkg: Error fetching pkg.FreeBSD.org/FreeBSD:11:amd64/quarterly/Latest/. : Forbidden
A pre-built version of pkg could not be found for your system.
Consider changing PACKAGESITE or installing it from ports: ‘ports-mgmt/pkg’.
При этом доступ по сети вроде есть:
host google.com
google.com has address 173.194.222.113
google.com has address 173.194.222.102
google.com has address 173.194.222.139
google.com has address 173.194.222.101
google.com has address 173.194.222.138
google.com has address 173.194.222.100
google.com has IPv6 address 2a00:1450:4010:c0b::66
google.com has IPv6 address 2a00:1450:4010:c0b::65
google.com has IPv6 address 2a00:1450:4010:c0b::71
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
host pkg.freebsd.org
pkg.freebsd.org is an alias for pkgmir.geo.freebsd.org.
pkgmir.geo.freebsd.org has address 139.178.72.201
pkgmir.geo.freebsd.org has IPv6 address 2604:1380:2000:9501::50:2
В чем может быть проблема?
- Вопрос задан более двух лет назад
- 2348 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2
Прекратил отвечать после 24.02.2022
самая правильная установка программ из портов (https://rtfm.co.ua/freebsd-ustanovka-portov/)
сначала можно установить portupgrade, а потом с его помощью устанавливать, что нужно
Ответ написан более двух лет назад
Нравится 1 16 комментариев
Все равно не совсем понятно:
1. portupgrade — это ведь вроде не для установки, а для обновления уже установленных портов?
2. Я вообще хотел Zabbix агент на FreeBSD установить (https://www.zabbix.com/ru/download_agents?version=. )
Скачал архив, пробовал в ручную, просто распаковать его и распихать по нужным папкам (пользуясь информацией из интернета), но что то в итоге zabbix агент не стартанул(
3. Затем попробовал по этой инструкции https://sysadmin-note.ru/ustanovka-zabbix-3-2-na-f.
но споткнулся на первой же команде) pkg update
4. Я правильно понимаю, что у FreeBSD нет какого-то обширного репозитория программ как в Linux? Пробовал читать оф. документацию, там использует тоже pkg для установки программ.
portupgrade — это название ПО, используется для установки и апдейта ПО из исходников
или если без portupgrade
cd /usr/ports
make search name=zabbix
cd /usr/ports/папка с заббиксом
make install clean
вот и все
правильно собирать из исходников с нужными опциями, а не то, что собрал ктото в бинарник
рипозиторий на фре называется — порты, в генте — портажи
Установить Portupgrade не удается
Ports Collection support for your FreeBSD version has ended, and no ports are
guaranteed to build on this system. Please upgrade to a supported release.
No support will be provided if you silence this message by defining
ALLOW_UNSUPPORTED_SYSTEM.
Stop.
make[3]: stopped in /usr/ports/ports-mgmt/dialog4ports
*** Error code 1
Stop.
make[2]: stopped in /usr/ports/ports-mgmt/dialog4ports
===> Options unchanged
/! ERROR: /!
Ports Collection support for your FreeBSD version has ended, and no ports are
guaranteed to build on this system. Please upgrade to a supported release.
No support will be provided if you silence this message by defining
ALLOW_UNSUPPORTED_SYSTEM.
Stop.
make[1]: stopped in /usr/ports/ports-mgmt/portupgrade
*** Error code 1
Это что получается версия ОС у меня «не той системы»?
2. По второму не понятно, откуда возьмется эта папка cd /usr/ports/папка с заббиксом?
Или подразумевается, что я должен в ней распаковать архив, который скачал с оф. сайта Zabbix?
Ports Collection support for your FreeBSD version has ended,
— порты старые, нужно обновить
portsnap fetch
portsnap update
и еще раз устанавливаем portupgrade
Или подразумевается, что я должен в ней распаковать архив, который скачал с оф. сайта Zabbix?
нет, после запуска make в порте происходит скачивание исходников в /usr/ports/distfiles, распаковка и сборка (самому исходники скачивать не нужно, в этот удобство source-based систем)
make install — это когда make завершился без ошибок — инсталируем ПО. В это время конфиги отправляются как правило в /usr/local/etc, а бинарники или скрипты в /usr/local/bin, /usr/local/sbin
p.s.
на фре есть четкое разделение пользовательских программ от системных. В /usr/local/etc — пользовательские конфиги, в /etc — системные. Аналогично с папками для бинарников/скриптов /usr/local/bin, /usr/local/sbin — ПО пользователя, /usr/bin, /usr/sbin/, /bin, /sbin — ПО системы
Александр Черных, portsnap fetch
portsnap update
Выполняется
Но cd /usr/ports/ports-mgmt/portupgrade make install clean, продолжает выдавать ошибки(
Ports Collection support for your FreeBSD version has ended, and no ports are
guaranteed to build on this system. Please upgrade to a supported release.
No support will be provided if you silence this message by defining
ALLOW_UNSUPPORTED_SYSTEM.
Stop.
make[3]: stopped in /usr/ports/ports-mgmt/dialog4ports
*** Error code 1
Stop.
make[2]: stopped in /usr/ports/ports-mgmt/dialog4ports
===> Options unchanged
/! ERROR: /!
Ports Collection support for your FreeBSD version has ended, and no ports are
guaranteed to build on this system. Please upgrade to a supported release.
No support will be provided if you silence this message by defining
ALLOW_UNSUPPORTED_SYSTEM.
Stop.
make[1]: stopped in /usr/ports/ports-mgmt/portupgrade
*** Error code 1
Stop.
make: stopped in /usr/ports/ports-mgmt/portupgrade
Источник: qna.habr.com
pkg – Утилита управления пакетами во FreeBSD
На только что установленной системе, при первом запуске утилиты pkg, система попросит её скачать и установить. Нажимаем “y” и устанавливаем.
После этого необходимо обновить репозиторий
pkg update
После этого можно полноценно пользоваться утилитой. Первая и наверно самая главная команды – это поиск необходимого софта. Для этого можно воспользоваться соответствующей командой.
Поиск пакетов
pkg search имя_пакета
К примеру, чтобы найти пакет nginx, нужно выполнить:
pkg search nginx
На экране увидите список пакетов с именем nginx и номерами версий:
Чтобы получить подробную информацию о пакете, используем флаг –f.
pkg search -f имя_пакета
К примеру, выводим информацию о nxinx. Тут видно что вводит в собранный пакет, и при отсутствии необходимого, вам лучше самостоятельно собрать пакет
Поиск по описанию
Если вы не знаете название пакета или хотя бы его часть, то есть возможность найти пакет по описанию. К примеру, чтобы найти все пакеты, содержащие в описании proxy, используйте:
pkg search -D proxy
Справка по командам
Чтобы получить список всех доступных опций pkg, используйте:
pkg help
К примеру, чтобы получить подробности о команде search, вводим:
pkg help search
После того как необходимый пакет был найден, переходим к его установке.
Установка пакетов
Так как нам уже известно имя пакета, который нужно установить, используем команду:
pkg install имя_пакета
Можно сразу установить несколько пакетов, разделив их только при помощи пробела:
pkg install package1 package2
Для примера установим mc
Для продолжения установки, подтверждаем , нажав “Y” и “ENTER”. После этого перечисленные на экране пакеты будут загружены и установлены. Некоторые предоставят важную после установочную информацию или инструкции, которые обязательно необходимо выполнить. В нашем случае с midnight commander инструкций не будет, поэтому выполняем команду ‘mc’ и запускаем файловый менеджер
Если в оболочке tcsh или csh, с запуском возникнет проблема, необходимо восстановить список бинарных пакетов в PATH при помощи команды
rehash
Также важно помнить, если вы устанавливаете приложения, которые работают как сервисы, то необходимо дополнительно конфигурировать, например добавить в автоагрузку.
Запуск сервисов
Во FreeBSD, установленные через пакеты сервисы, предоставляют скрипт инициализации , которые можно найти в /usr/local/etc/rc.d
Для примера, запустим nginx
service nginx start
Сервис не будет запущен, а на экране появится сообщение:
Cannot ‘start’ nginx. Set nginx_enable to YES in /etc/rc.conf or use ‘onestart’ instead of ‘start’.
Чтобы включить сервис в автозагрузку, необходимо добавить строку в /etc/rc.conf . Это можно сделать двумя способами:
echo ‘apache24_enable=»YES»‘ >> /etc/rc.conf
и второй способ
sysrc nginx_enable=yes
Теперь nginx запустится при загрузке системы, но при необходимости, можно запустить вручную:
service nginx start
Если есть необходимость запустить сервис без добавления в автозагрузку, можно воспользоваться onestart. В этом случае скрипт будет запущен сразу, без последующего автоматического запуска при загрузке системы.
service nginx onestart
Информации о пакете
Чтобы просмотреть информацию об установленном пакете
pkg info имя_пакета
Команда выведет информацию о пакете, описание, опции, использованные при его компиляции, и список библиотек и зависимостей.
Обновление пакета
Чтобы получить последние доступные версии установленных ранее пакетов, используйте команду:
pkg upgrade
Удаление пакета
pkg delete имя_пакета
Удаление зависимостей
После удаления пакета в системе могут остаться ненужные зависимости. Чтобы удалить пакеты, которые больше не нужны ни одному из оставшихся в системе пакетов, выполните следующую команду:
pkg autoremove
К какому пакету относится файл
Полный список файлов в пакете:
pkg info -l имя_пакета
Загружаем базу известных уязвимостей:
Проверяем установленные пакеты на предмет наличия известных уязвимостей, с ссылками на подробные отчеты:
pkg audit
Проверяем все установленные пакеты на предмет валидности контрольных сумм входящих в пакеты файлов:
Проверяем все установленные пакеты на предмет отсутствия требуемых зависимостей:
pkg check -d -a
Удаляем из кэша старые пакеты:
pkg clean
Запрещаем обновление конкретного пакета:
pkg lock имя_пакета
Разрешаем обновление конкретного пакета:
pkg unlock имя_пакета
Посмотреть список «залоченых» пакетов:
pkg lock -l
Откатиться к более старой версии пакета:
pkg remove mc pkg install /var/cache/pkg/mc-4.8.22_1-bbc5fee4ff.txz
Источник: osbsd.com