Как устанавливать pkg linux

Содержание
  1. Основы управления пакетами: apt, yum, dnf, pkg
  2. Системы управления пакетами: краткий обзор
  3. Обновление списка пакетов
  4. Обновление установленных пакетов
  5. Поиск пакетов
  6. Информация о пакетах
  7. Установка пакетов из репозиториев
  8. Установка пакета из локальной файловой системы
  9. Удаление пакетов
  10. Получение справки
  11. Дополнительные ссылки
  12. Как устанавливать pkg linux
  13. Начало работы с pkgng
  14. Важно:
  15. Примечание:
  16. Настройка окружения pkgng
  17. Основные операции pkgng
  18. Получение информации об установленных пакетах при помощи pkgng
  19. Установка и удаление пакетов при помощи pkgng
  20. Обновление установленных пакетов при помощи pkgng
  21. Аудит безопасности пакетов при помощи pkgng
  22. Сложные вопросы работы с pkgng
  23. Автоматическое удаление неиспользуемых зависимостей при помощи pkgng
  24. Резервное копирование базы данных установленных пакетов pkgng
  25. Примечание:
  26. Подсказка:
  27. Удаление копий устаревших пакетов в системе pkgng
  28. Изменение метаданных пакетов pkgng
  29. Примечание:

Основы управления пакетами: apt, yum, dnf, pkg

Самые современные Unix-подобные операционные системы предлагают централизованные механизмы для поиска и установки пакетов. Программное обеспечение, как правило, распространяется в виде пакетов, которые хранятся в репозиториях. Пакеты содержат основные компоненты операционной системы, а также общие библиотеки, приложения, услуги и документацию.

Система управления пакетами, помимо установки программного обеспечения, предоставляет множество других функций и инструментов для модернизации уже установленных пакетов. Репозитории пакетов гарантируют, что код прошел необходимую проверку для использования в системе, и что установленные версии программного обеспечения были одобрены разработчиками.

При настойке сервера или окружения разработки лучше искать пакеты в официальных репозиториях. Пакеты в стабильной версии дистрибутива могут оказаться устаревшими, особенно если программное обеспечение быстро обновляется.

Управление пакетами является жизненно важным навыком для системных администраторов и разработчиков.

Это руководство охватывает основы управления пакетами: поиск, установку и обновление пакетов для различных дистрибутивов.

Системы управления пакетами: краткий обзор

Большинство систем управления пакетами строятся на наборах файлов пакетов. Файл пакета – это, как правило, архив, который содержит скомпилированные бинарные файлы, скрипты установки и другие ресурсы, составляющие программу. Также пакеты содержат ценные метаданные, в том числе их зависимости (список пакетов, необходимых для запуска программы).

Операционная система Формат
Debian .deb
Ubuntu .deb
CentOS .rpm
Fedora .rpm
FreeBSD порты, .txz

CentOS, Fedora и другие системы Red Hat используют файлы RPM. В CentOS для взаимодействия с пакетами и репозиториями используется менеджер yum. В последних версиях Fedora yum был заменён модернизированным менеджером dnf.В системе Debian и основанных на ней системах (Ubuntu, Linux Mint, Raspbian) используется формат .deb. Пакетный менеджер APT (Advanced Packaging Tool) предоставляет команды, используемые для наиболее распространенных операций: поиска репозиториев, управления обновлениями, установки набора пакетов и их зависимостей. Команды APT работают как фронтэнд утилиты нижнего уровня dpkg, которая обрабатывает установку индивидуальных пакетов .deb на локальную систему; при необходимости эту утилиту можно вызывать явно.

Системой бинарных файлов FreeBSD управляет команда pkg. Кроме того, FreeBSD предоставляет коллекцию портов, локальную структуру каталогов и инструментов, которые позволяют извлекать, компилировать и устанавливать пакеты из исходного кода с помощью make-файлов. Обычно удобнее пользоваться менеджером pkg, но иногда предварительно скомпилированные пакеты недоступны.

Обновление списка пакетов

Большинство систем содержит локальную базу данных пакетов, доступных в удаленных репозиториях. Перед установкой или обновлением пакета рекомендуется обновить эту базу данных. Частичным исключением из этого шаблона являются yum и DNF, которые проверяют наличие обновлений пакетов перед выполнением некоторых операций.

Операционная система Команда
Debian / Ubuntu sudo apt-get update
CentOS yum check-update
Fedora dnf check-update
FreeBSD Packages sudo pkg update
FreeBSD Ports sudo portsnap fetch update

Обновление установленных пакетов

Поддержка установленного программного обеспечения в актуальном состоянии без помощи системы управления пакетами – довольно трудоёмкое задание. Вам придется самостоятельно отслеживать обновления пакетов и извещения безопасности для сотен разных пакетов. Конечно, пакетный менеджер не решит всех проблем, которые могут возникнуть при обновлении программного обеспечения, но он поможет поддерживать большинство компонентов системы в актуальном состоянии при помощи всего нескольких команд.

В системе FreeBSD обновление установленных портов может потребовать ручной настройки. Прежде чем обновлять portmaster, рекомендуется ознакомиться с /usr/ports/UPDATING.

Система Команда
Debian / Ubuntu sudo apt-get upgrade
sudo apt-get dist-upgrade
CentOS sudo yum update
Fedora sudo dnf upgrade
FreeBSD Packages sudo pkg upgrade
FreeBSD Ports less /usr/ports/UPDATING
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a

Поиск пакетов

Большинство дистрибутивов предоставляет графический или управляемый в режиме меню интерфейс для наборов пакетов. Он позволяет просматривать категории и искать новое программное обеспечение. Однако чаще всего самым быстрым и самым эффективным способом поиска пакетов является поиск с помощью инструментов командной строки.

Система Команда
Debian / Ubuntu apt-cache search search_string
CentOS yum search search_string
yum search all search_string
Fedora dnf search search_string
dnf search all search_string
FreeBSD (пакеты) pkg search search_string
pkg search -f search_string
pkg search -D search_string
FreeBSD (порты) cd /usr/ports && make search name=package
cd /usr/ports && make search key=search_string

Информация о пакетах

Принимая решение, как пакет установить, обратитесь за помощью к подробному описанию пакетов. Этот удобочитаемый текст часто содержит полезные метаданные: номера версий, список зависимостей и т.п.

Система Команда
Debian / Ubuntu apt-cache show package
dpkg -s package
CentOS yum info package
yum deplist package
Fedora dnf info package
dnf repoquery –requires package
FreeBSD (пакеты) pkg info package
FreeBSD (порты) cd /usr/ports/category/port && cat pkg-descr

Установка пакетов из репозиториев

Зная имя необходимого пакета, его можно очень быстро установить при помощи одной команды. Также в одной команде можно перечислить все пакеты, которые нужно установить.

Система Команда
Debian / Ubuntu sudo apt-get install package
sudo apt-get install package1 package2 …
sudo apt-get install -y package
CentOS sudo yum install package
sudo yum install package1 package2 …
sudo yum install -y package
Fedora sudo dnf install package
sudo dnf install package1 package2 …
sudo dnf install -y package
FreeBSD (пакеты) sudo pkg install package
sudo pkg install package1 package2 …
FreeBSD (порты) cd /usr/ports/category/port && sudo make install

Установка пакета из локальной файловой системы

Иногда разработчики или поставщики предлагают пакетные файлы для скачивания, даже если приложение официально не упаковано для данной операционной системы.

Как правило, такие пакеты можно загрузить при помощи веб-браузера или утилиты curl в командной строке. После загрузки пакета его можно установить с помощью одной команды.

В Debian-подобных системах индивидуальными файлами пакетов управляет dpkg. Если пакет имеет зависимости, которых не установлены в системе, gdebi может загрузить их из официального репозитория.

В системах CentOS и Fedora для установки отдельных файлов и обработки необходимых зависимостей используется yum и dnf.

Система Команда
Debian / Ubuntu sudo dpkg -i package.deb
sudo apt-get install -y gdebi&& sudo gdebi package.deb
CentOS sudo yum install package.rpm
Fedora sudo dnf install package.rpm
FreeBSD (пакеты) sudo pkg add package.txz
sudo pkg add -f package.txz

Удаление пакетов

Менеджер пакетов знает, какие именно файлы предоставляет каждый конкретный пакет, потому с его помощью можно легко удалить все ненужные программы.

Система Команда
Debian / Ubuntu sudo apt-get remove package
sudo apt-get autoremove
CentOS sudo yum remove package
Fedora sudo dnf erase package
FreeBSD (пакеты) sudo pkg delete package
sudo pkg autoremove
FreeBSD (порты) sudo pkg delete package
cd /usr/ports/path_to_port && make deinstall

Получение справки

Кроме веб-документации системы Unix предоставляют удобный справочник, в котором можно найти информацию о большинстве команд оболочки. Чтобы открыть мануал, введите:

В справочнике можно перемещаться при помощи кнопок со стрелками. Нажмите /, чтобы искать по тексту страницы, и q, чтобы выйти.

Система Команда Примечания
Debian / Ubuntu man apt-get Обновление локальной базы данных пакетов и работа с пакетами.
man apt-cache Запрос локальной базы данных пакетов.
man dpkg Управление индивидуальными файлами пакетов и запрос установленных пакетов.
CentOS man yum
Fedora man dnf
FreeBSD пакеты man pkg Управление предварительно скомпилированными файлами пакетов.
FreeBSD порты man ports Управление коллекцией портов.

Дополнительные ссылки

Данное руководство знакомит с основами управления пакетами в Unix-подобных системах. Более подробную информацию по этой довольно сложной теме можно найти по следующим ссылкам:

Источник

Как устанавливать pkg linux

pkgng — это усовершенствованный инструмент, пришедший на смену традиционным утилитам управления пакетами FreeBSD. Он обладает множеством функциональных возможностей, ускоряющих и облегчающих работу с бинарными пакетами. Первый релиз pkgng состоялся в августе 2012 года.

pkgng не является заменой для утилит управления портами, таких как ports-mgmt/portmaster или ports-mgmt/portupgrade. В то время, как ports-mgmt/portmaster и ports-mgmt/portupgrade позволяют устанавливать приложения сторонних разработчиков как из бинарных пакетов, так и из Коллекции Портов, утилита pkgng дает возможность устанавливать приложения исключительно из бинарных пакетов.

Начало работы с pkgng

Во FreeBSD 9.1 и более поздние включена программа «самонастройки» («bootstrap») pkgng. Она скачивает и устанавливает основную утилиту pkgng.

Для запуска самонастройки, выполните:

Для более ранних версий FreeBSD утилиту pkgng необходимо установить из Коллекции Портов или из бинарных пакетов.

Для установки pkgng из порта, запустите следующее:

Для установки из бинарного пакета, выполните:

Действующие инсталляции FreeBSD требуют преобразования базы данных установленных пакетов утилиты pkg_install к новому формату. Для выполнения конвертирования, запустите:

Вышеприведенный шаг не требуется для новых инсталляций, в которых не было установлено программ сторонних разработчиков.

Важно:

Этот шаг необратим. После перевода базы данных установленных пакетов к формату pkgng утилитами pkg_install более пользоваться не следует.

Примечание:

В процессе конвертирования базы данных установленных пакетов могут возникать сообщения об ошибках. На данном этапе их можно игнорировать, так как перечень программ сторонних разработчиков, информация о которых не была преобразована, будет перечислен по завершении работы pkg2ng. Над этим перечнем придется поработать вручную.

Чтобы убедиться, что Коллекция Портов FreeBSD регистрирует новые программы при помощи pkgng, а не pkg_install, для версий FreeBSD, предшествующих 10. X, в файл /etc/make.conf необходимо внести следующую запись:

Настройка окружения pkgng

Система управления пакетами pkgng при выполнении большинства операций обращается к пакетному репозиторию. Адрес используемого по умолчанию репозитория указан в /usr/local/etc/pkg.conf или в переменной окружения PACKAGESITE. Последняя переопределяет адрес, указанный в конфигурационном файле.

Дополнительные опции конфигурации pkgng описаны в pkg.conf(5).

Основные операции pkgng

Информацию по работе с pkgng можно найти на странице справочника pkg(8), или в выводе утилиты pkg, запущенной без аргументов.

Каждый аргумент команды pkgng описан на соответствующей странице справочника. Например, чтобы ознакомиться со страницей справочника для pkg install, запустите любую из двух нижеследующих команд:

Получение информации об установленных пакетах при помощи pkgng

Информация об установленных в системе пакетах может быть отображена при помощи команды pkg info. Подобно до pkg_info (1) , в выводе перечисляются версии и описания всех установленных пакетов.

Если необходима информация о конкретном пакете, выполните:

Например, для получения версии pkgng, который установлен в системе, запустите:

Установка и удаление пакетов при помощи pkgng

В общем, бинарные пакеты устанавливаются при помощи:

Команда pkg install обращается к пакетному репозиторию, это упоминалось в Раздел 5.5.2, >. Команда pkg-add(8), напротив, не выполняет обращений к пакетному репозиторию, а также игнорирует переменную PACKAGESITE. Как следствие — зависимости не отслеживаются, и необходимые зависимые компоненты не скачиваются с удаленного источника. В этом разделе описана работа с pkg install. За подробностями работы с pkg add обратитесь к справочной странице по pkg-add(8). Утилита pkg install может устанавливать дополнительные бинарные пакеты. Например, для установки curl, выполните:

Новый пакет, как и любые дополнительные пакеты, которые были установлены как зависимости, перечисляются в списке установленных пакетов:

Пакеты, в которых более нет необходимости, могут быть удалены при помощи pkg delete. Например, если выяснится, что curl не нужен:

Обновление установленных пакетов при помощи pkgng

Пакеты, версии которых устарели, можно найти при помощи команды pkg version. Версии установленных пакетов сравниваются с версиями приложений из локального дерева портов, а в случае отсутствия портов pkg-version(8) обращается к удаленному репозиторию пакетов.

При помощи pkgng можно обновлять пакеты до новых версий. Предположим, вышла новая версия curl. Установленный пакет можно обновить к новой версии, выполнив:

Аудит безопасности пакетов при помощи pkgng

Изредка в приложениях из Коллекции Портов обнаруживаются уязвимости. В pkgng встроена возможность выполнять аудит безопасности, действующая подобно приложению из ports-mgmt/portaudit. Для выполнения аудита установленных в систему программ, выполните:

Сложные вопросы работы с pkgng

Автоматическое удаление неиспользуемых зависимостей при помощи pkgng

После удаления пакета в системе могут остаться неиспользуемые зависимости, наподобие security/ca_root_nss из примера выше. Такие пакеты остаются установленными, несмотря на то, что они более не требуются другим пакетам. Определить и удалить неиспользуемые пакеты, которые были установлены как зависимости, можно при помощи:

Резервное копирование базы данных установленных пакетов pkgng

В отличие от традиционной системы управления пакетами, pkgng располагает своим собственным механизмом резервного копирования базы данных. Для ручного создания резервной копии базы данных установленных пакетов, выполните:

Примечание:

Замените имя файла pkgng.db на более подходящее.

В дополнение, pkgng содержит скрипт periodic (8) , позволяющий выполнять ежедневное автоматическое копирование базы данных установленных пакетов. Для активации данной возможности задайте переменной daily_backup_pkgng_enable значение YES в файле periodic.conf (5) .

Подсказка:

Для предотвращения периодического запуска аналогичного скрипта системы pkg_install, также выполняющего резервное копирование базы данных установленных пакетов, задайте переменной daily_backup_pkgdb_enable значение NO в файле periodic.conf (5) .

Для восстановления содержимого базы данных установленных пакетов из резервной копии, выполните:

Удаление копий устаревших пакетов в системе pkgng

По умолчанию, pkgng сохраняет копии установленных бинарных пакетов в каталог, указанный переменной PKG_CACHEDIR в pkg.conf(5). При обновлении пакетов командой pkg upgrade старые версии обновленных пакетов автоматически не удаляются.

Для удаления устаревших версий бинарных пакетов из кеш-каталога, выполните:

Изменение метаданных пакетов pkgng

Со временем программы из Коллекции Портов могут претерпевать изменения старшего (major) номера версии. В отличие от pkg_install, pkgng располагает встроенной командой для обновления информации о происхождении (origin) пакета. Например, изначально порт lang/php5 был версии 5.3. Позже этот порт был переименован в lang/php53, а под именем lang/php5 был создан порт версии 5.4. Утилитам системы pkg_install для обновления информации о происхождении (origin) пакета в собственной базе данных установленных пакетов потребовалась бы помощь дополнительного программного обеспечения, такого как ports-mgmt/portmaster.

В отличие от ports-mgmt/portmaster и ports-mgmt/portupgrade для портов, порядок перечисления новой и старой версий отличаются. Для pkgng необходим следующий порядок:

Например, в вышеприведенном случае для замены информации о происхождении пакета, выполните:

Еще один пример: для изменения информации о происхождении пакета с lang/ruby18 на lang/ruby19, выполните:

И последний пример: для замены информации о происхождении пакета разделяемой библиотеки libglut с graphics/libglut на graphics/freeglut, запустите:

Примечание:

Выполняя замену информации о происхождении пакетов, в большинстве случаев также требуется переустановить пакеты, которые зависят от изменившегося пакета. Для принудительной переустановки зависящих пакетов, выполните:

Источник

Читайте также:  При обновлении до windows 10 ошибка 0хс1900101 0х40017
Оцените статью