Одна из самых сложных задач, возникающих в процессе установки Unix-программ — отслеживание зависимостей.
Любая более-менее сложная программа в своей работе использует возможности, предоставляемые другими модулями, системными библиотеками и т.д. Таким образом, появляется зависимость — если мы хотим установить программу «А», которая при работе использует библиотеки программы «Б», сначала необходимо установить программу «Б» (у которой, в свою очередь, могут быть свои зависимости). Таким образом, чем больше программ и зависимостей появляется на сервере, тем сложнее их отслеживать и управлять ими. Хорошая новость в том, что это можно делать с помощью пакетного менеджера APT (Advanced Packaging Tool).
Установка с помощью пакетного менеджера
Эволюция методов установки и управления программными пакетами со временем дошла до использования пакетных менеджеров, плотно интегрированных с репозиториями. В репозиториях содержатся упакованные файлы программ с данными об их зависимостях. После установки к операционной системе уже подключены системные репозитории: с их помощью можно обновлять ОС и устанавливать программные пакеты, которые были адаптированы и оптимизированы для работы с этой версией операционной системы.
Установка программ в Linux — apt и apt-get
Перед началом установки пакетов рекомендуется обновить данные о версиях и зависимостях в репозитории следующей командой:
sudo apt-get update

Если необходимо уточнить название пакета, который требуется установить — ищем в локальном кэше менеджер по ключевым словам, например, web server:
sudo apt-cache search web server
В результате получим большой перечень пакетов, где данное ключевое слово присутствует в описании:

Выбираем нужный нам пакет — в данном случае это apache2, и устанавливаем его:
sudo apt-get install apache2
Пакетный менеджер проверяет зависимости, версии, сравнивает их с уже установленными через apt-get пакетами, после чего выдает список необходимых для установки компонентов и запрашивает разрешение на продолжение операции:

Нажимаем y и дожидаемся окончания установки.
Часто используемые команды пакетного менеджера:
- apt-get update — обновление информации о пакетах и зависимостях в подключенных репозиториях;
- apt-get upgrade — обновление всех установленных пакетов до актуальной версии, имеющейся в репозитории;
- apt-get install имя_пакета — установка пакета;
- apt-get remove имя_пакета — удаление пакета;
- apt-get download имя_пакета — скачать deb-пакет в локальную папку;
- apt-cache search ключевые слова — поиск пакета по ключевым словам;
- apt-cache show имя_пакета — показать информацию о пакете;
- apt-cache depends имя_пакета — показать от каких компонентов зависит данный пакет;
- apt-cache rdepends имя_пакета — показать какие компоненты зависят от пакета;
- apt-mark hold имя_пакета — зафиксировать текущую версию пакета, прекратить обновление пакета;
- apt-mark unhold имя_пакета — разрешить обновление пакета.
Установка через Debian package
Программные пакеты могут распространяться и не через репозитории. Например, они могут быть доступны на сайтах разработчиков. В таком случае, пакет можно скачать и воспользоваться утилитой dpkg (debian package) для установки. При использовании dpkg не происходит автоматическое отслеживание зависимостей и скачивание дополнительных пакетов.
Linux для начинающих | Обновление, установка, удаление программ в Linux | sudo apt
В случае нехватки каких-либо программ или библиотек установка завершится ошибкой с указанием списка отсутствующих пакетов. Их придется установить отдельно, например, через apt-get, если они присутствуют в подключенных репозиториях, либо скачивать с сайтов разработчиков и устанавливать в нужном порядке через dpkg.
Для примера скачаем из системного репозитория установочный пакет веб-сервера Nginx командой:
sudo apt-get download nginx
и попробуем установить через dpkg –i имя_файла.deb:
sudo dpkg –i ./nginx_1.14.0-0ubuntu1.6_all.deb
В результате система выдает ошибку с перечнем отсутствующих пакетов:

Основные опции dpkg:
- dpkg –i имя_файла.deb — установка пакета; в качестве параметра указывается полное имя файла;
- dpkg –r имя_пакета — удаление ранее установленного пакета;
- dpkg –l — выведение списка установленных в системе пакетов.
Установка через файлы сценариев
Установка программы представляет собой распаковку архива, копирование файлов программы в системные директории и, при необходимости, внесение изменений в системные конфигурационные файлы. Все эти действия могут быть внесены в исполняемый файл сценария и выполнены при его запуске. Сейчас достаточно редко встречается подобный метод установки программы, но, тем не менее, некоторые разработчики его используют. Если возникла необходимость в установке такого пакета, необходимо скачать архив (обычно это файл с расширением .tgz или .tar.gz), распаковать его в отдельную директорию на сервере, изучить распакованные файлы, а также прочитать файл readme, если он имеется. Установка программы запускается, обычно, сценарием install.sh, поэтому нужно включить атрибут исполняемого файла командой:
sudo chmod +x ./install.sh
после чего запустить непосредственно сценарий:
Источник: serverspace.ru
Команда APT в системе Linux | Подробная Инструкция от А до Я
Если вы использовали Debian или основанные на Debian дистрибутивы, такие как Ubuntu или Linux Mint. То вы сталкивались с инструментом командной строки APT. И эта команда не нуждается в представлении.
APT (сокращенно от Advanced Package Tool) — это инструмент управления пакетами для систем семейства Debian. Утилита APT помогает пользователям выполнять различные задачи, например: обновление и удаление пакетов программного обеспечения. Утилита APT используется в интерактивном режиме, часто требуя от пользователя ввода » Y » для выполнения такой операции, как установка или удаление пакета.
В более старых дистрибутивах Debian / Ubuntu использовался apt-get. В более новых версиях, таких как Ubuntu 18.04/20.04, Debian 10 и Mint, команда apt заменяет старую утилиту apt-get. Хочу заметить что команда apt на старых дистрибутивах недоступна.
В этом инструкции мы выделим различные случаи использования команды apt в Linux.
Возможно вас заинтересует
1. Обновление индекса пакета APT в Linux
В системах Debian и Ubuntu репозитории указываются в /etc/apt/sources.list файле. Индекс пакета APT — это база данных всех пакетов, определенных в sources.list файле. Обычно рекомендуется обновить локальный индекс пакета APT, чтобы синхронизировать изменения, внесенные в репозитории. Это особенно важно после установки новой системы и перед установкой пакетов.
Возможно вам будет интересно: Настройка виртуальной машины virtualbox
Чтобы обновить базу данных APT ( файл индекса пакета) , выполните команду.

2. Обновление пакетов с помощью команды APT
Команда APT update упомянутая выше, не будет устанавливать или обновлять какие-либо пакеты.После выполнения apt update, команда apt узнает какие пакеты нуждаются в обновлении.
Теперь, чтобы обновить установленные пакеты до их последних версий, требуется использовать команду:

Для обновления отдельного пакета используйте синтаксис:
Эта команда только обновляет выбранный пакет, а остальные остаются в прежних версиях.
3. Полное обновление и dist-upgrade
Команда apt full-upgrade обновляет пакеты и удаляет некоторые из установленных пакетов. Это необходимо для полного обновление системы.
Команда dist-upgrade , помимо полного обновления вашей системы, также обрабатывает установку и удаление пакетов программного обеспечения Linux. Интеллектуальная функция dist-upgrade решает конфликты системы. Поэтому сначала обновляет наиболее важные пакеты и предоставляет более низкий приоритет менее критичным пакетам.
Также стоит упомянуть команду do-release-upgrade . Данная команда полезна когда вы хотите обновить систему с одного выпуска до другого. Например с Ubuntu 19.04 до Ubuntu 20.04. Однако сначала необходимо выполнить полное обновление, выполнив две вышеупомянутые команды, прежде чем вызывать do-release-upgrade .
То есть,sudo apt upgrade затем sudo apt dist-upgrade и, последнюю sudo apt do-release-upgrade.
4. Установка пакета
Для установки пакета в вашей системе используйте команду apt следующим образом:
Предположим, вы хотите установить Neofetch, которая является утилитой для печати системной информации, просто выполните команду:
Кроме того, вы можете установить несколько пакетов по одной команде, просто пишите пакеты один за другим, как показано ниже.
$ sudo apt install package1 package2 package3 …
Еще один часто задаваемый вопрос — что происходит когда вы пытаетесь установить уже установленный пакет?
Если так получится, то ничего плохого не произойдет, просто пакет будет обновлен до последней версии. Конечно если она доступна в репозиториях. Если ее нет, то ничего не произойдет.
5. Список установленных пакетов
Чтобы просмотреть все установленные пакеты в вашей системе, выполните команду apt list
Чтобы выполнить поиск определенной команды используйте код нже.
$ sudo apt list —installed | grep apache

6. Поиск пакета с помощью APT
Команда apt search позволяет искать и проверять доступность пакета в репозитории Ubuntu и Debian. В приведенном ниже примере мы ищем доступность пакета Neofetch в репозиториях Ubuntu.

7. Показать информацию о пакете с помощью команды APT
Перед установкой или удалением пакета можно получить дополнительную информацию о пакете с помощью команды apt show . Например для отображения дополнительной информации о пакете neofetch.
В выходных данных вы увидите детальную информацию о пакете (программе). Такую как имя пакета, версия, сопровождающее устройство, размер установки и т. д.
Возможно вам будет интересно: Установка GNS3 в Ubuntu

8. Удалите неиспользуемые пакеты после установки
Иногда при установке пакета устанавливаются и другие зависимости и библиотеки, которые требуются этому пакету. Однако после установки эти зависимости и библиотеки больше не требуются и просто находятся там, занимая ваше дисковое пространство.
Чтобы удалить эти зависимости и файлы. И освободить место на диске, выполните такую команду.
При появлении запроса просто нажмите «Y» и нажмите ENTER.
9. Удаление установленных пакетов
Вы можете удалить пакет, который установлен в вашей системе. Для этого введите команду как показано ниже.
Кроме того, вы можете указать несколько имен пакетов в одной команде, чтобы удалить пакеты одновременно.
$ sudo apt remove package1 package2 package3 …
Избавление от пакета с помощью команды apt remove оставляет после себя конфигурационные файлы пакета. Чтобы полностью удалить пакет вместе с его конфигурационными файлами, используйте purge вместо remove .
Заключение
APT package manager — это полезный инструмент для систем Debian и Ubuntu. Он позволяет вам легко управлять пакетами, используя различные способы описанные в этом руководстве, по использованию команды APT в Linux.
Источник: setiwik.ru
Команда apt в Linux
apt — это утилита командной строки для установки, обновления, удаления и иного управления пакетами deb в Ubuntu, Debian и связанных дистрибутивах Linux. Он сочетает в себе наиболее часто используемые команды из инструментов apt-get и apt-cache с различными значениями по умолчанию некоторых параметров.
apt разработан для интерактивного использования. Предпочитайте использовать apt-get и apt-cache в своих сценариях оболочки, поскольку они обратно совместимы между различными версиями и имеют больше параметров и функций.
Большинство команд apt необходимо запускать от имени пользователя с привилегиями sudo .
Это руководство служит кратким справочником по командам apt .
Обновление индекса пакета ( apt update )
Индекс пакетов APT — это в основном база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.
Чтобы обновить индекс пакета, выполните команду ниже. Это приведет к получению последних изменений из репозиториев APT:
sudo apt update
Всегда обновляйте индекс пакета перед обновлением или установкой новых пакетов.
Обновление пакетов ( apt upgrade )
Регулярное обновление вашей системы Linux — один из наиболее важных аспектов общей безопасности системы.
Чтобы обновить установленные пакеты до последних версий, выполните:
sudo apt upgrade
Команда не обновляет пакеты, требующие удаления установленных пакетов.
Если вы хотите обновить один пакет, передайте имя пакета:
sudo apt upgrade package_name
Полное обновление ( apt full-upgrade )
Разница между upgrade и full-upgrade заключается в том, что при последующем удаляются установленные пакеты, если это необходимо для обновления всей системы.
sudo apt full-upgrade
Будьте особенно осторожны при использовании этой команды.
Установка пакетов ( apt install )
Установить пакеты так же просто, как запустить следующую команду:
sudo apt install package_name
Если вы хотите установить несколько пакетов с помощью одной команды, укажите их в виде списка, разделенного пробелами:
sudo apt install package1 package2
Для установки локальных файлов deb укажите полный путь к файлу. В противном случае команда попытается получить и установить пакет из репозиториев APT.
sudo apt install /full/path/file.deb
Удаление пакетов ( apt remove )
sudo apt remove package_name
Вы также можете указать несколько пакетов, разделенных пробелами:
sudo apt remove package1 package2
Команда remove удалит указанные пакеты, но при этом могут остаться некоторые файлы конфигурации. Если вы хотите удалить пакет, включая все файлы конфигурации, используйте purge вместо remove :
sudo apt purge package_name
Удалить неиспользуемые пакеты ( apt autoremove )
Каждый раз, когда в системе устанавливается новый пакет, который зависит от других пакетов, также будут установлены зависимости пакетов. Когда пакет будет удален, зависимости останутся в системе. Эти оставшиеся пакеты больше не используются ничем и могут быть удалены.
Чтобы удалить ненужные зависимости, используйте следующую команду:
sudo apt autoremove
Листинг пакетов ( apt list )
Команда list позволяет вывести список доступных, установленных и обновляемых пакетов.
Чтобы вывести список всех доступных пакетов, используйте следующую команду:
sudo apt list
Команда напечатает список всех пакетов, включая информацию о версиях и архитектуре пакета. Чтобы узнать, установлен ли конкретный пакет, вы можете отфильтровать вывод с помощью команды grep .
sudo apt list | grep package_name
Чтобы вывести список только установленных пакетов, введите:
sudo apt list —installed
Перед фактическим обновлением пакетов может быть полезно получить список обновляемых пакетов:
sudo apt list —upgradeable
Поиск пакетов ( apt search )
Эта команда позволяет вам искать данный пакет в списке доступных пакетов:
sudo apt search package_name
В случае обнаружения команда вернет пакеты, имя которых соответствует поисковому запросу.
Информация о пакете ( apt show )
Информация о зависимостях пакетов, размере установки, источнике пакета и т. Д. Может быть полезна перед удалением или установкой нового пакета.
Чтобы получить информацию о данном пакете, используйте команду show :
sudo apt show package_name
Выводы
Умение управлять пакетами — важная часть системного администрирования Linux.
apt — это менеджер пакетов для дистрибутивов на основе Debian. Чтобы узнать больше о команде apt откройте терминал и введите man apt .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник: routerus.com
Менеджер пакетов apt-get, apt-cach
Утилита apt-get — функциональное бесплатное приложение командной строки для управления пакетами, используемое для работы с библиотекой Ubuntu APT (Advanced Packaging Tool) и выполнения установки новых пакетов, удаления пакетов, обновления пакетов и даже всей операционной системы.
Утилита командной строки apt-cache используется для работы с кэшем пакетов APT. Говоря простыми словами, этот инструмент используется для поиска программных пакетов, собирает информацию о пакетах, а также применяется для поиска доступных к установке пакетов в системах Ubuntu и Debian.
В данном руководстве мы рассмотрим важнейшие команды, необходимые для работы с этими утилитами.
Вывод списка доступных пакетов
Для получения списка всех доступных пакетов воспользуйтесь следующей командой:
$ apt-cache pkgnames

Поиск имени пакета и описания программы
Чтобы перед установкой получить имя пакета и описание, воспользуйтесь опцией search. Выполнение команды с этой опцией выводит список соответствующих запросу пакетов с краткими описаниями. Допустим, нам нужно найти описание пакета vsftpd, команда будет выглядеть следующим образом:
$ apt-cache search vsftpd

Чтобы найти все пакеты, имя которых начинается на vsftpd, можно выполнить следующую команду:
$ apt-cache pkgnames vsftpd

Просмотр информации о пакете
Чтобы получить информацию о пакете и его краткую характеристику (номер версии, контрольные суммы, размер, размер после установки, категорию и т.д.), используется опция show:
$ apt-cache show netcat

Определение зависимостей пакета
Для проверки зависимостей заданных программных пакетов используется команда showpkg с именем пакета в качестве аргумента:
$ apt-cache showpkg vsftpd

Просмотр статистики кэша
Для вывода общей статистики кэша (количество пакетов, версий, зависимостей, описаний и т.д.) используется команда stats:
$ apt-cache stats

Обновление индекса пакетов
Для синхронизации индексных файлов пакетов с их источниками, указанными в файле /etc/apt/sources.list, используется команда update. Она обновляет список пакетов и их версий, но не сами пакеты.
$ sudo apt-get update

Обновление программных пакетов
Для обновления всех установленных в системе пакетов используется команда upgrade. Она никогда не удаляет установленные пакеты, не получает и не устанавливает новые пакеты, но это может потребоваться для обновления зависимостей.
$ sudo apt-get upgrade

Если вам требуется обновление со всеми зависимостями и не важно, будут ли при этом добавлены или удалены программные пакеты, воспользуйтесь командой dist-upgrade:
$ sudo apt-get dist-upgrade
Установка или обновление конкретных пакетов
Чтобы установить или обновить заданные пакеты, выполните команду install с именем одного или нескольких пакетов в качестве аргумента:
$ sudo apt-get install netcat

Следующая команда установит или обновит пакеты nethogs и goaccess:
$ sudo apt-get install nethogs goaccess
Можно воспользоваться регулярным выражением, чтобы одной строкой задать маску для установки нескольких пакетов. Например, следующая команда установит все пакеты, содержащие ‘name’:
$ sudo apt-get install ‘*name*’
Установка пакетов без обновления
Использование команды install с опцией —no-upgrade исключает обновление уже установленных пакетов:
$ sudo apt-get install packageName —no-upgrade

Обновление пакетов без установки
Опция —only-upgrade позволяет не устанавливать новые пакеты, а только обновить уже имеющиеся:
$ sudo apt-get install vsftpd —only-upgrade
Установка заданной версии пакета
Для установки только заданной версии пакетов используйте ‘=’ и укажите номер нужной версии:
$ sudo apt-get install vsftpd=2.3.5-3ubuntu1
Удаление пакетов
Для удаления программных пакетов без удаления их файлов конфигурации (для их повторного использования в будущем) применяется команда remove:
$ sudo apt-get remove vsftpd
Чтобы полностью удалить пакеты вместе с файлами конфигурации, воспользуйтесь командой purge:
$ sudo apt-get purge vsftpd
Аналогичного результата можно достичь, если указать —purge в качестве опции к команде remove:
$ sudo apt-get remove —purge vsftpd
Очистка дискового пространства
Команда clean используется для очистки диска за счёт стирания загруженных пакетов из локального репозитория:
$ sudo apt-get clean
Загрузка только исходного кода пакетов
Чтобы загрузить только исходный код заданного пакета, нужно воспользоваться опцией —download-only source с именем пакета:
$ sudo apt-get —download-only source vsftpd
Загрузка пакетов с распаковкой и компиляцией
Для загрузки и распаковки исходного кода пакета в соответствующую директорию выполните команду source:
$ sudo apt-get source vsftpd
Если требуется ещё и компиляция исходного кода, укажите опцию —compile:
$ sudo apt-get —compile source goaccess
Загрузка пакета без установки
При помощи опции download можно загрузить любой пакет не устанавливая его. Например, следующая команда загрузит пакет nethogs в текущую рабочую директорию:
$ sudo apt-get download nethogs
Просмотр лога изменений пакета
Флаг changelog загружает лог изменений пакета и показывает установленную версию пакета
$ sudo apt-get changelog vsftpd
Проверка нарушенных зависимостей
Команда check — инструмент для диагностики. Она используется для обновления кэша пакетов и проверки нарушенных зависимостей:
$ sudo apt-get check
Поиск и построение зависимостей
Команда build-dep выполняет поиск по локальным репозиториям системы и устанавливает необходимые пакеты, чтобы корректно выстроить зависимости для указанного пакета. Если необходимый пакет отсутствует в локальных репозиториях, команда возвращает ошибку.
$ sudo apt-get build-dep netcat
Автоматическая очистка кэша apt-get
Команда autoclean удаляет все .deb файлы пакетов из директории /var/cache/apt/archives для освобождения значительного объема дискового пространства:
$ sudo apt-get autoclean
Автоматическое удаление установленных пакетов
Команда autoremove используется для автоматического удаления пакетов, которые точно были установлены для обеспечения зависимостей других пакетов, но больше не нужны. Например, следующая команда удалит установленный пакет со всеми зависимостями:
$ sudo apt-get autoremove vsftpd
Заключение
Мы рассмотрели большинство опций команд apt-get и apt-cache, но если потребуется информация о других опциях, ее можно получить в соответствующих man-страницах.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Похожие посты:
- настройка сервера для учёта интернет-трафика по netflow
- Как запустить программу в фоне, без привязки к терминалу
- Установка SSL сертификата на nginx
- Переменные окружения в Linux
Источник: itproffi.ru