apt ( advanced package tool ) — приложение для установки, удаления и обновления пакетов в операционных системах Debian и производных от нее (Ubuntu, Mint и т.д.). В некоторых случаях этот менеджер используется на дистрибутивах, основанных на Mandrake (Alt Linux, Mandriva и т.д.). Команды APT в основном используются для загрузки и установки программы из интернет-репозиториев. Так же эту команду можно использовать для установки с локального диска, все же больше используется для загрузки пакетов из интернета.
В этой статье рассмотрим, что мы можем сделать с помощью этого менеджера и какую информацию получить.
Обновление репозиториев и пакетов.
С течением времени программные пакеты изменяются. Появляются их новые версии, ошибки в работе исправляются. Для обновления установленных пакетов в ваше системе, можно воспользоваться инструментами apt . Этот процесс проходит в два этапа. Первым делом, необходимо проверить наличие обновлений для пакетов в вашей системе следующей командой:
Linux для начинающих | Обновление, установка, удаление программ в Linux | sudo apt
$ sudo apt-get update
Эта команда производит в репозиториях поиск новых версий пакетов, доступных для скачивания, и обновляет список кэшированных пакетов и версий вашей операционной системы. Такую команду полезно выполнять каждый раз так же перед установкой какого-либо приложения.
После того, как обновили информацию о версиях пакетах, можно эти пакеты обновить, используя следующую программу:
$ sudo apt-get upgrade
После выполнение этой команды, все пакеты в вашей системы будут обновлены до последней актуальной версии.
Поиск программных пакетов.
После того как вы обновили кэш репозиториев, вы можете выполнить запрос на наличие нужного программного обеспечения. Например, меня интересует замечательная программа cowsay . Для этого воспользуемся следующей командой.
$ apt-cache search cowsay
cowsay — configurable talking cow
cowsay-off — configurable talking cow (offensive cows)
xcowsay — Graphical configurable talking cow
На экран будет выведен список всех пакетов, которые содержат в своем названии cowsay и краткое описание этих пакетов.
Теперь можем посмотреть более полную информацию о нужном пакете.
$ apt-cache show cowsay
Package: cowsay
Version: 3.03+dfsg2-8
Installed-Size: 92
Maintainer: James McDonald
Architecture: all
Depends: libtext-charwidth-perl, perl:any
.
А так же проверить какие зависимости с собой потянет этот пакет
$ apt-cache depends cowsay
cowsay
Depends: libtext-charwidth-perl
Depends:
perl
Suggests: filters
Suggests: cowsay-off
Установка пакетов.
С помощью команды apt можно устанавливать приложения. Для этого надо обладать правами суперпользователя. После того как мы обновили кэш репозитория, нашли нужный нам пакет и узнали всю информацию о нем, давайте его установим. Для этого используем команду apt-get install .
$ sudo apt-get install cowsay
Building dependency tree. Done
Reading state information. Done
The following additional packages will be installed:
libtext-charwidth-perl
Suggested packages:
filters cowsay-off
The following NEW packages will be installed:
cowsay libtext-charwidth-perl
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 32.0 kB of archives.
.
Setting up libtext-charwidth-perl (0.04-10+b1) .
Setting up cowsay (3.03+dfsg2-8) .
Теперь мы можем использовать эту программу.
Эту команду так же можно использовать для обновления только одного пакета. Синтаксис такой же, только в качестве аргумента передается уже установленный пакет. И, если в репозиториях имеется более свежая версия, то менеджер автоматически обновит этот пакет до более актуальной версии.
Удаление программных пакетов.
С помощью параметра remove команды apt-get вы можете удалить пакет из операционной системы. Для этого вам нужно будет подтвердить удаление программного обеспечения.
$ sudo apt-get remove cowsay
Reading package lists. Done
Building dependency tree. Done
Reading state information. Done
The following package was automatically installed and is no longer required:
libtext-charwidth-perl
Use ‘sudo apt autoremove’ to remove it.
The following packages will be REMOVED:
cowsay
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 94.2 kB disk space will be freed.
Do you want to continue? [Y/n] n
Очистка программных пакетов.
Все загруженные в процессе работы программные пакеты кэшируются в каталоге /var/cache/apt/ для ускорения их закачки, если они вам понадобятся в будущем. Со временем они накапливаются и начинают занимать слишком много места. Так как сейчас больших проблем с наличием интернета и его скорости уже нет, то эти пакеты можно удалять без зазрения совести. Очистка кэша производится с помощью параметра clean . Давайте посмотрим как это работает:
Посмотрим с помощью команды find наличие deb-пактеов в директории /var/cache/apt.
Теперь очистим кэшированные пакеты, находящиеся в директории apt/
$ sudo apt-get clean
Проверим, все ли удалено, снова выполнив команды find.
Источник: dzen.ru
Как полностью удалить пакет с зависимостями в Linux, использующим пакетный менеджер apt.
При установке программ, при помощи пакетного менеджера apt, у многих часто возникаем вопрос как их удалять. Для этого есть команды:
sudo apt-get autoremove имя_программы
Команда удаляет пакет вместе с зависимости, которые для него устанавливались, и больше ему не нужны.
sudo apt-get remove имя_программы
Команда удаляет пакет не затрагивая зависимости.
sudo apt-get purge имя_программы
Команда удаляет конфигурационные файлы пакета.
Казалось бы, на этом все, но не тут-то было, apt-get autoremove не всегда удаляет всё что было установлено вместе с пакетом.
Что бы наверняка удалить все что было установлено вместе с пакетом, можно посмотреть лог apt:
cat /var/log/apt/history.log | more
Пример вывода этой команды:
Start-Date: 2016-08-03 07:46:19 Commandline: apt-get install samba Install: python-tdb:amd64 (1.3.8-2, automatic), python-samba:amd64 (2:4.3.9+dfsg -0ubuntu0.16.04.2, automatic), python-dnspython:amd64 (1.12.0-1, automatic), sam ba:amd64 (2:4.3.9+dfsg-0ubuntu0.16.04.2), samba-dsdb-modules:amd64 (2:4.3.9+dfsg -0ubuntu0.16.04.2, automatic), libaio1:amd64 (0.3.110-2, automatic), tdb-tools:a md64 (1.3.8-2, automatic), attr:amd64 (1:2.4.47-2, automatic), samba-common:amd6 4 (2:4.3.9+dfsg-0ubuntu0.16.04.2, automatic), samba-vfs-modules:amd64 (2:4.3.9+d fsg-0ubuntu0.16.04.2, automatic), samba-common-bin:amd64 (2:4.3.9+dfsg-0ubuntu0. 16.04.2, automatic), python-ldb:amd64 (2:1.1.24-1ubuntu3, automatic) End-Date: 2016-08-03 07:47:23
Здесь видно что при установке samba, так же были установлены python-tdb, python-samba и т.д. Соответственно для полного удаления установленного пакета можно набрать команду:
sudo apt-get autoremove —purge python-tdb python-samba python-dnspython samba samba-dsdb-modules libaio1 tdb-tools attr samba-common samba-vfs-modules samba-common-bin python-ldb
Для того что бы не искать и не выбирать эти программы из лога вручную можно спарсить лог:
sudo sed -n ‘/Commandline: apt-get install имя_пакета/,/End-Date:.*/p’ /var/log/apt/history.log | sed -n ‘/Install.*/p’ | sed -e s’/Install: //g’ | sed -e s’/:amd64 //g’ | sed -e s’/(.[^)]*),//g’ | tr ‘n’ ‘ ‘
Внимание: эти команды парсят весь лог, т.е. если несколько раз устанавливалась/удалялась программа, на экран выведутся все программы которые были установлены при каждой установке, не только при последней.
Что бы отображались программы только при последней установке нужно в конце строки заменить «tr ‘n’ ‘ ‘» на «tail -1», т.е. команда должна быть:
sudo sed -n ‘/Commandline: apt-get install имя_пакета/,/End-Date:.*/p’ /var/log/apt/history.log | sed -n ‘/Install.*/p’ | sed -e s’/Install: //g’ | sed -e s’/:amd64 //g’ | sed -e s’/(.[^)]*),//g’ | tail -1
На экран выведутся программы, которые были установлены при установке пакета.
Что бы их удалить можно ввести:
sudo sed -n ‘/Commandline: apt-get install имя_пакета/,/End-Date:.*/p’ /var/log/apt/history.log | sed -n ‘/Install.*/p’ | sed -e s’/Install: //g’ | sed -e s’/:amd64 //g’ | sed -e s’/(.[^)]*),//g’ | tr ‘n’ ‘ ‘ | sudo xargs apt-get autoremove —purge -y
Все что устанавливалось при установке вашего пакета, будет удалено.
Источник: www.mytechnote.ru
Установка и удаление программ. Менеджеры пакетов
Программное обеспечение в Linux распространяется, как правило, в виде пакетов, которые хранятся в репозиториях. Для управления пакетами используются специальные утилиты — менеджеры пакетов.
В системах Debian и Ubuntu это инструменты apt-get и apt-cache . Основные операции — установка, обновление, удаление — выполняются apt-get (и для большинства действий он требует прав суперпользователя); apt-cache работает с локальным кэшем и используется для поиска пакетов и получения информации о них. В последних версиях ОС также доступен инструмент apt,объединяющий в себе функции этих двух утилит. Синтаксис команд при этом не изменяется, и во всех приведенных ниже примерах вы можете использовать apt вместо apt-get/apt-cache.
В Centos и Bitrix для управления пакетами используется yum .
Если при вызове утилиты apt вы получаете ошибку Could not get lock /var/lib/dpkg/lock или схожую, вам поможет наша статья.
Обновление базы пакетов
Перед выполнением каких-либо операций с apt-get или yum имеет смысл актуализировать локальный кэш пакетов до текущего состояния репозитория:
Debian / Ubuntu
sudo apt-get update
Centos / Bitrix
yum check-update
Поиск пакетов
Если вы не уверены в названии конкретного пакета, вы можете выполнить его поиск по репозиторию. Поиск осуществляются по названию и описанию пакетов.
Debian / Ubuntu
apt-cache search что_ищем
Centos / Bitrix
yum search что_ищем
Получение информации о пакете
Если перед установкой вы хотите уточнить дополнительные детали (версию программы, размер пакета, сведения о необходимых зависимостях и пр.), можно вывести информацию о пакете:
Debian / Ubuntu
apt-cache show имя_пакета
Centos / Bitrix
yum info имя_пакета
Установка пакетов
Установить пакет можно одной простой командой:
Debian / Ubuntu
sudo apt-get install имя_пакета
Centos / Bitrix
sudo yum install имя_пакета
Так же можно установить сразу несколько пакетов, просто перечислив их друг за другом:
Debian / Ubuntu
sudo apt-get install имя_пакета1 имя_пакета2 имя_пакета3
Centos / Bitrix
sudo yum install имя_пакета1 имя_пакета2 имя_пакета3
Если вам необходимо установить определенную версию, укажите ее после имени пакета:
Debian / Ubuntu
sudo apt-get install имя_пакета=версия
Centos / Bitrix
sudo yum install имя_пакета-версия
Для того, чтобы в процессе установки автоматически отвечать «Yes» на все запросы системы, можно добавить ключ -y :
Debian / Ubuntu
sudo apt-get install -y имя_пакета
Centos / Bitrix
sudo yum install -y имя_пакета
Обновление установленных пакетов
Обновить уже установленные пакеты до актуальных версий можно следующим образом:
Debian / Ubuntu
sudo apt-get upgrade
Centos / Bitrix
sudo yum update
Удаление пакетов
Для удаления приложений используйте:
Debian / Ubuntu
sudo apt-get remove имя_пакета
Centos / Bitrix
sudo yum remove имя_пакета
В Debian / Ubuntu можно также запустить автоматическое удаление ненужных пакетов для очистки системы. Ненужным система посчитает пакет, установленный не самостоятельно, а как зависимость для другого пакета, который на данный момент уже удален.
sudo apt-get autoremove
Источник: timeweb.cloud