- Команда apt в Linux
- Обновление индекса пакета ( apt update )
- Обновление пакетов ( apt upgrade )
- Полное обновление ( apt full-upgrade )
- Установка пакетов ( apt install )
- Удаление пакетов ( apt remove )
- Удалить неиспользуемые пакеты ( apt autoremove )
- Листинг пакетов ( apt list )
- Поиск пакетов ( apt search )
- Информация о пакете ( apt show )
- Выводы
- Пакетный менеджер APT
- Содержание
- Настройки
- apt.conf
- apt.conf.d
- auth.conf
- sources.list
- sources.list.d
- Использование
- apt-get
- Починка базы пакетов
- apt-cache
- apt-key
- Альманах пакетных менеджеров Linux
- Debian и родственные
- Redhat и другие RPM дистрибутивы
- Zypper
- Pacman
- Gentoo emerge
- Популярные пакетные менеджеры Linux
- Теоретические основы
- Категории пакетных менеджеров
- Распространенные форматы пакетов
- Разрешение зависимостей
- Популярные пакетные менеджеры
- Особенности
- Оболочки APT
- Особенности
- Yum Extender
- Pacman
- Особенности
- Оболочки Pacman
- Portage
- Особенности
- Интерфейсы Portage
- Заключение
Команда apt в Linux
apt — это утилита командной строки для установки, обновления, удаления и иного управления пакетами deb в Ubuntu, Debian и связанных дистрибутивах Linux. Он сочетает в себе наиболее часто используемые команды из инструментов apt-get и apt-cache с различными значениями по умолчанию некоторых параметров.
apt разработан для интерактивного использования. Предпочитайте использовать apt-get и apt-cache в своих сценариях оболочки, поскольку они обратно совместимы между различными версиями и имеют больше параметров и функций.
Большинство команд apt необходимо запускать от имени пользователя с привилегиями sudo .
Это руководство служит кратким справочником по командам apt .
Обновление индекса пакета ( apt update )
Индекс пакетов APT — это в основном база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.
Чтобы обновить индекс пакета, выполните команду ниже. Это приведет к получению последних изменений из репозиториев APT:
Всегда обновляйте индекс пакета перед обновлением или установкой новых пакетов.
Обновление пакетов ( apt upgrade )
Регулярное обновление вашей системы Linux — один из наиболее важных аспектов общей безопасности системы.
Чтобы обновить установленные пакеты до последних версий, выполните:
Команда не обновляет пакеты, требующие удаления установленных пакетов.
Если вы хотите обновить один пакет, передайте имя пакета:
Полное обновление ( apt full-upgrade )
Разница между upgrade и full-upgrade заключается в том, что при последующем удаляются установленные пакеты, если это необходимо для обновления всей системы.
Будьте особенно осторожны при использовании этой команды.
Установка пакетов ( apt install )
Установить пакеты так же просто, как запустить следующую команду:
Если вы хотите установить несколько пакетов с помощью одной команды, укажите их в виде списка, разделенного пробелами:
Для установки локальных файлов deb укажите полный путь к файлу. В противном случае команда попытается получить и установить пакет из репозиториев APT.
Удаление пакетов ( apt remove )
Вы также можете указать несколько пакетов, разделенных пробелами:
Команда remove удалит указанные пакеты, но при этом могут остаться некоторые файлы конфигурации. Если вы хотите удалить пакет, включая все файлы конфигурации, используйте purge вместо remove :
Удалить неиспользуемые пакеты ( apt autoremove )
Каждый раз, когда в системе устанавливается новый пакет, который зависит от других пакетов, также будут установлены зависимости пакетов. Когда пакет будет удален, зависимости останутся в системе. Эти оставшиеся пакеты больше не используются ничем и могут быть удалены.
Чтобы удалить ненужные зависимости, используйте следующую команду:
Листинг пакетов ( apt list )
Команда list позволяет вывести список доступных, установленных и обновляемых пакетов.
Чтобы вывести список всех доступных пакетов, используйте следующую команду:
Команда напечатает список всех пакетов, включая информацию о версиях и архитектуре пакета. Чтобы узнать, установлен ли конкретный пакет, вы можете отфильтровать вывод с помощью команды grep .
Чтобы вывести список только установленных пакетов, введите:
Перед фактическим обновлением пакетов может быть полезно получить список обновляемых пакетов:
Поиск пакетов ( apt search )
Эта команда позволяет вам искать данный пакет в списке доступных пакетов:
В случае обнаружения команда вернет пакеты, имя которых соответствует поисковому запросу.
Информация о пакете ( apt show )
Информация о зависимостях пакетов, размере установки, источнике пакета и т. Д. Может быть полезна перед удалением или установкой нового пакета.
Чтобы получить информацию о данном пакете, используйте команду show :
Выводы
Умение управлять пакетами — важная часть системного администрирования Linux.
apt — это менеджер пакетов для дистрибутивов на основе Debian. Чтобы узнать больше о команде apt откройте терминал и введите man apt .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
Пакетный менеджер APT
Содержание
Advanced Packaging Tool – набор утилит для управления программными пакетами в операционных системах основанных на Debian. APT предоставляет дружественную надстройку над DPKG и позволяет:
APT является одной из базовых программ и включена в состав Ubuntu.
Настройки
Все файлы настроек APT хранятся в директории /etc/apt.
apt.conf
/etc/apt/apt.conf – основной файл настроек, используемый всеми инструментами из состава APT. Описание всех возможных настроек и опций можно прочитать в документации к нему:
apt.conf.d
Директория содержащая в себе файлы конфигурации, аналогичные по синтаксису apt.conf. При помощи этой директории можно быстро и удобно манипулировать настройками APT добавляя или удаляя подготовленные файлы с настройками.
auth.conf
Файл, содержащий ключи, для авторизации в репозиториях. Например, туда добавляются логины и пароли от репозиториев к купленным в Центре приложений программам.
sources.list
sources.list.d
Директория с файлами репозиторий, по назначению аналогичных sources.list. Каждый репозиторий описывается в отдельном файле.
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
Починка базы пакетов
apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:
apt-cache
apt-cache – утилита, позволяющая выполнять запросы к кешу APT.
apt-key
apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета. Подробнее смотрите в статье Репозитории.
Источник
Альманах пакетных менеджеров Linux
Иногда может возникнуть вопрос: чьих этот файл, откуда вообще взялась эта библиотека? Удобный менеджер пакетов решает очень многие проблемы ОС. Можно с уверенностью сказать, что если вы подружитесь с МП, то подружитесь и с дистрибутивом как таковым. Причем важно освоить именно набор основных команд, и знать где найти дополнительную информацию.
Далее следует джентльменский набор необходимых для повседневной рутины команд основных Linux дистрибутивов: установить, обновить и удалить пакет, накатить обновления, проверить зависимости, установить принадлежность файла пакету и пр.
Debian и родственные
Популярность и образ дружественного к пользователю Linux дистрибутива сыграли с Ubuntu злую шутку. Некоторым новичкам кажется, что можно на нем делать все, что угодно без помощи командной строки. Это заблуждение и лучше от него поскорее избавиться.
То, что в примерах aptitude не значит, что он правильнее, чем apt-get . Для меня это всего лишь дело привычки.
Некоторые функции доступны с дополнительным МП dpkg .
Есть еще такое чудо — wajig. Несмотря на странное звучание, вполне годный МП с человеко-читабельным выводом информации на экран.
Настройка репозиториев производится правкой файла /etc/apt/sources.list
В целом ПМ Debian один из лучших, с которыми мне доводилось иметь дело.
Redhat и другие RPM дистрибутивы
RPM нельзя назвать образцовым пакетным менеджером, скорее это был кактус, который мыши употребляли в пищу со слезами на глазах. Затем появились более или менее вменяемые МП: yum , dnf , zypper и другие. Только что на сервере RHEL 7.4 yum за раз обновил более 700 пакетов и ничего при этом не сломал, неплохой результат я считаю.
Команды rpm на те случаи, когда использовать yum не с руки.
Чтобы настроить репозитории Yum , откройте файл /etc/yum.repos.d/*.repo , или используйте команду yum-config-manager .
Zypper
На SuSE Linux используется Zypper / YaST для управления пакетами, движок ZYpp крутится поверх RPM.
Можно использовать операторы и регулярные выражения.
Управление репозиториями производится командой zypper mr .
Pacman
Этот МП используется в Арче и Manjaro.
Движок поиска в базе данных поддерживает регулярные выражения.
Настройка репозиториев и зеркал производится из файла /etc/pacman.conf
Gentoo emerge
Конечно же это скорее умозрительный сценарий, чем реальный, так как сложно предположить, что красноглазый пользователь Gentoo Linux не знает необходимых опций emerge . Тем не менее, без этого альманах был бы неполным.
С дополнительными утилитами можно получить больше информации о файлах, ненужных пакетах и т. д.
Источник
Популярные пакетные менеджеры Linux
Содержание:
На заре разработки Linux установить приложение можно было только путем скачивания и компиляции исходников программы. Из-за использования сразу нескольких утилит и ошибок, возникавших в процессе сборки, установка одной программы отнимала много времени.
Чтобы сделать систему дружелюбней к пользователю, были разработаны пакетные менеджеры, которые полностью автоматизировали установку программ. Инсталляция приложений в них производится из пакетов – архивов с файлами скомпилированной программы. Исключение — система Gentoo, где менеджер компилирует программы по подготовленным скриптам.
Большинство популярных дистрибутивов на базе Unix/Linux уже оснащены пакетными менеджерами, способными устанавливать любое программное обеспечение. Будь то внешнее приложение или компоненты ОС. В этом заключается основное различие между пакетным менеджером и инсталлятором. Последний нужен для установки только одной специфической программы, тогда как система управления пакетами — универсальный установщик ПО.
Все пакетные менеджеры Linux имеют свой список репозиториев – серверов с базой пакетов. Во время установки алгоритм менеджера находит необходимый пакет в базе и производит автоматическое скачивание, установку и настройку.
О типах пакетных менеджеров и наиболее популярных вариантах реализации данного ПО расскажем в этой статье.
Теоретические основы
Категории пакетных менеджеров
- Высокоуровневые менеджеры. Применяются для поиска и скачивания пакетов из репозиториев. В процессе работы могут задействовать низкоуровневые менеджеры для инсталляции загруженных программ.
- Низкоуровневые менеджеры. Используются для установки локальных пакетов, загруженных вручную пользователем, или высокоуровневым пакетным менеджером.
Распространенные форматы пакетов
- DEB (.deb). Самый популярный формат пакетов дистрибутива Debian и его ближайших родственников — Ubuntu, MX Linux, Pop!_OS, elementary OS и других.
- RPM (.rpm). Разработан компанией Red Hat и внедрен в дистрибутив RHEL. Также применяется в таких системах как Fedora и CentOS.
- TAR.XZ. Стандартный тип пакетов для дистрибутива ArchLinux и его производных — Manjaro, ARCOLINUX и других.
- Ebuild (.ebuild). Скрипт bash-сценария для компиляции программ в дистрибутивах Gentoo и Calculate Linux.
Разрешение зависимостей
Для корректного функционирования пакетных менеджеров необходимо корректное отслеживание пакетных зависимостей. Зависимости – список дополнительных пакетов и библиотек, участвующие в работе программы. Во время установки приложения пакетный менеджер или компилятор считывают специальный файл со списком зависимостей, а после проверяют их наличие в системе.
Если важная зависимость будет не удовлетворена при установке программы низкоуровневым менеджером, то будет выдана ошибка с названием отсутствующего пакета. В подобной ситуации проблема решается отдельной установкой недостающего пакета.
При использовании высокоуровнего пакетного менеджера для установки программы, зависимые пакеты будут установлены в автоматическом режиме, без вмешательства пользователя.
Популярные пакетные менеджеры
DPKG (Debian Package) – система управления пакетами в Debian и дистрибутивах на его основе, например Ubuntu.
Утилита DPKG появилась в дистрибутиве Debian в 1995 году. Низкоуровневый пакетный менеджер создан только для работы с локальными DEB пакетами и не может самостоятельно разрешать зависимости, а также скачивать пакеты из репозиториев.
Особенности
- Поддерживает добавление архитектур из других дистрибутивов Linux.
- DPKG выполняет работу только с локальными пакетами.
- Под архитектуру DEB выпущено более 55000 пакетов.
Пакеты DEB – это архивы с набором установочных файлов. Для установки в систему необходимой программы из репозиториев создан высокоуровневый пакетный менеджер APT, который параллельно работает с DPKG.
APT (Advanced Packaging Tool) – консольная утилита, выполняющая роль «поисковика» и загрузчика пакетов из репозиториев. Установка скачанных пакетов производится утилитой DPKG. Благодаря эффективному разрешению зависимостей, пакетный менеджер APT используется по умолчанию в дистрибутивах с архитектурой Debian и поддерживает систему в актуальном состоянии.
Список репозиториев хранится в файле «/etc/apt/sources.list» и может быть изменён пользователем в любой момент для установки или обновления программы, не входящей в базу дистрибутива. Установка скачанных пакетов производится утилитой DPKG.
Изначально APT разрабатывался только для работы с пакетами DEB, использующихся в Debian и родственных ОС (Ubuntu, Linux Mint). Позже в него была добавлена поддержка rpm-файлов. Благодаря этому, установить софт привычным образом можно даже в дистрибутивах RED HAT и его производных (Fedora, CentOS и др.).
Оболочки APT
Для упрощения работы с APT можно использовать консольные оболочки APTITUDE или Synaptic.
APTITUDE
APTITUDE — это утилита, выполняющая роль «надстройки» для APT. Разработчики программы добавили полезные функции, оптимизирующие систему поиска пакетов, а также исправили ошибки, касающиеся разрешения зависимостей.
APTITUDE доступен в нескольких вариантах интерфейса:
- Графический интерфейс (GUI) на базе фреймворка GTK. Привычный для пользователя оконный интерфейс с возможностью управления мышью.
- Текстовый пользовательский интерфейс. Оболочка, открывающаяся в консоли. Интерфейс снабжается минимальным количеством графических элементов и может запускаться через протокол SSH. Управление осуществляется с помощью одиночных или групповых нажатий клавиш клавиатуры. Например, для переключения строк чаще всего используются клавиши со стрелками.
- Интерфейс командной строки. Подразумевает управление программой с помощью команд. Вариант позволяет полноценно пользоваться функционалом утилиты и подходит для продвинутых пользователей.
Если в дистрибутиве APTITUDE отсутствует по умолчанию, то выполнить установку можно следующими командами:
Synaptic
Synaptic — графический менеджер пакетов, работающий на основе APT. Программа пригодится новичкам, плохо знакомым с командной строкой. Несмотря на простоту интерфейса, утилита предоставляет весь необходимый функционал пакетного менеджера APT (установка, удаление, обновление и поиск пакетов).
Установить Synaptic можно следующими командами:
Открыть программу можно, найдя ярлык в меню рабочего окружения, или введя « sudo synaptic » в терминале.
RPM (Red Hat Package Manager) – формат пакетов и низкоуровневый пакетный менеджер систем RED HAT (RHEL, CentOS, Fedora и др.) Как и DPKG, способен работать только с локальными файлами.
Пакетный менеджер выпущен в 1997 году. Он работает с пакетами RPM. В отличие от DEB, пакеты RPM архивируются утилитой cpio, сжимающий пакет алгоритмом gzip.
Особенности
- Обновление программ производится в ускоренном режиме, благодаря замене только отредактированных разработчиком элементов пакета.
- Для скачивания, обновления пакетов, а также разрешения зависимостей придётся использовать пакетные менеджеры более высокого уровня (YUM, DNF).
- Начиная с 2010 года, пакеты подписываются с хешем MD5. Это исключает вероятность изменения файла RPM злоумышленником для внедрения вирусного кода.
YUM (Yellowdog Updater, Modified) – высокоуровневый пакетный менеджер, написанный на языке Python для систем RED HAT (RHEL, CentOS, Fedora). Программа представляет собой своеобразную оболочку для утилиты RPM.
В задачу YUM входит скачивание и обновление пакетов из репозиториев, а также удовлетворение зависимостей во время установки программы.
DNF (Dandified YUM) – модифицированная версия пакетного менеджера YUM на языке на Python. Разработка утилиты начата в 2011 году. В 2015 году DNF стал основным менеджером пакетов для системы Fedora 22. В DNF были исправлены такие недостатки YUM, как некорректная установка зависимостей, низкая скорость работы, большое потребление оперативной памяти.
Yum Extender
Yum Extender – лёгкая графическая оболочка для менеджеров пакетов YUM и DNF.
Yum Extender устанавливается следующей командой:
Pacman
Pacman – высокоуровневый пакетный менеджер системы Arch Linux и его родственных дистрибутивов (Manjaro, EndeavourOS и др.). Программа написана на языке C# и совмещает высокую функциональность, легкость и производительность. В качестве пакетов используются архивы pkg.tar.xz.
Особенности
- В Pacman совмещены функции работы с репозиториями и установка пакетов в систему, в отличие от систем Debian или Red Hat.
- В систему устанавливается новейшее ПО, благодаря модели обновлений «плавающий релиз» (rolling-release).
- В репозиториях Pacman располагаются заранее собранные пакеты, что значительно ускоряет процесс инсталляции программ.
- Поддержка работы с репозиторием AUR.
Компиляция программы производится только в том случае, если пакет взят из репозитория AUR (Arch User Repository). Он содержит более 54000 пакетов и активно поддерживается обычными пользователями и администраторами ArchLinux.
Перед тем, как попасть в официальный репозиторий дистрибутива, пакеты проходят тщательный отбор в репозиториях AUR. Репозиторий AUR, в отличие от официального репозитория, содержит скрипты PKGBUILD для самостоятельной сборки пакета в системе пользователя. Для компиляции используется скрипт MakePKG.
Оболочки Pacman
MakePKG
Скрипт, объединяющий работу компилятора, линкера и других вспомогательных приложений для сборки пакета из PKGBUILD. MakePKG установлен по умолчанию в системе с пакетным менеджером Pacman. Компонент входит в пакет base-devel и ABS (Система автоматической сборки пакетов).
Установка или обновление всех компонентов производиться командами:
Для установки программы и зависимостей согласно скрипту PKGBUILD, нужно перейти в каталог с файлом и выполнить команду:
Важно. Запуск скрипта с помощью MakePKG должен проводится без предоставления прав администратора. Это делается для защиты системы от выполнения вредоносных команд, находящихся в файле «pkgbuild».
Программа написана на языке GO и используется для поиска и установки пакета из репозитория AUR. Управления Yay производится посредством командной строки.
Для установки утилиты в дистрибутив с Pacman нужно задать следующие команды:
Утилита Yay упрощает весь алгоритм установки до ввода одной простой команды в консоль. Например, запрос к терминалу для инсталляции пакета из AUR строится следующим образом:
Примечание. Для установки пакетов через Yay не требуется предоставлять административный доступ утилите (добавлять «sudo» перед командой).
Pamac
Графический менеджер пакетов Pamac разработан специально для Manjaro, но может быть установлен в любой дистрибутив на основе Arch Linux. Программа сочетает лёгкость с большим функционалом. В качестве источников используются официальные репозитории дистрибутивов AUR и Snappy.
Установка программы Pamac выполняется командой:
Portage
Portage – система управления пакетами Gentoo или Calculate Linux. Установка программ для данного дистрибутива несколько отличается от остальных систем Linux. В Gentoo пакетный менеджер использует исключительно исходный код, а не готовые пакеты для установки программ.
Особенности
- Программы собираются под пользовательскую систему и железо, что обеспечивает стабильную работу ОС.
- По сравнению с распаковкой программ у других пакетных менеджеров, компиляция в Portage занимает много времени. Например, полный пакет LibreOffice компилируется от 4 часов и более.
- Пользователь может гибко настроить параметры компиляции и полностью управлять процессом сборки. Например, поставить операцию на паузу и продолжить позже.
- Для обновления установленного ПО используется система rolling-release, благодаря которой в репозитории дистрибутива поставляются пакеты последней версии, опубликованные разработчиком в течение 1-2 дней.
Установка программ из репозиториев чаще всего производится с помощью интерфейса Emerge. Для добавления дружелюбности системе, также можно использовать графическую оболочку Kuroo.
Интерфейсы Portage
Emerge
Консольный интерфейс Emerge предназначен для сборки и обновления программ и их зависимостей. Инструмент доступен «из коробки» и используется для работы с системой Portage по умолчанию.
Для компиляции программ используются ebuild-скрипты. Они содержатся в локальных репозиториях Gentoo (overlay), а сам исходный код программ скачивается с GitHub. Настроить список репозиториев можно самостоятельно, в файле «/etc/portage/repos.conf».
Kuroo
Графический интерфейс Kuroo по принципу работы почти не отличается от Emerge. Утилита написана на языке C++ с использованием фреймворка Qt.
Kuroo установлен по умолчанию в систему с рабочим окружением KDE. В случае отсутствия программы, инсталляция выполняется по данной инструкции.
Заключение
Каждый пакетный менеджер имеет собственные преимущества и недостатки, чаще всего не заметные без реального опыта использования. Выбирать систему и дистрибутив стоит, исходя из собственных потребностей и преимуществ каждого ПО.
- DPKG и RPM больше подойдут пользователям, ожидающим от системы лёгкой настройки и стабильной работы.
- Pacman оперативно обеспечивает систему новейшим ПО, благодаря системе rolling-release.
- Portage совмещает преимущества предыдущих пакетных менеджеров, но требует от пользователя внимательности и желания глубоко осваивать систему.
Чтобы даже самый требовательный дистрибутив Linux работал как швейцарские часы — выбирайте VDS от Eternalhost с оперативной техподдержкой 24/7 и бесплатной защитой от DDoS.
Источник