Вступление
Менеджер бинарных пакетов 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 +
команд примера.
Как установить новые пакеты с помощью 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» следует заменить имя соответствующего служебного скрипта.
Чтобы продемонстрировать, что происходит, если вы пытаетесь запустить службу, которая не включена, попробуйте использовать команду + 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.
Если вы хотите больше узнать об управлении программным обеспечением на вашем сервере FreeBSD, прочитайте * порты * с этим руководством: https://www.digitalocean.com/community/tutorials/how-to-install-and-manage -ports-on-freebsd-10-1 [Как установить и управлять портами во FreeBSD 10.1].