Как управлять пакетами во FreeBSD 10.1 с помощью Pkg

Вступление

Менеджер бинарных пакетов 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].

Related