Команда “apt” в Linux

apt

Если вы используете Debian, Ubuntu, Linux Mint или любые другие Debian-подобные дистрибутивы, вы просто обязаны знать о команде apt.

Что такое APT?

Возможно, вы уже знаете, что Ubuntu происходит от операционной системы Debian Linux. И Debian использует систему упаковки dpkg. Система упаковки – это способ обеспечения программ и приложений для установки. Таким образом, вам не нужно устанавливать программу из исходного кода.

APT (Advanced Package Tool) – это инструмент командной строки для взаимодействия с системой упаковки. Для управления уже есть команды dpkg. Но APT – более удобный способ обработки упаковки. Вы можете использовать его для поиска и установки новых пакетов, обновления пакетов, удаления пакетов и т. д.

Наверняка вы знаете, что есть еще инструмент apt-get, но apt медленно продвигается как альтернатива, и в ближайшем будущем, возможно apt, полностью вытеснит apt-get.

Использование команд apt для управления пакетами в дистрибутивах Debian и Ubuntu

Я буду использовать операционную систему Kubuntu 17.10, но вы можете использовать любой другой дистрибутив Linux, основанный на базе Debian/Ubuntu.

Обновление базы данных пакетов с помощью apt

Apt фактически работает с базой данных доступных пакетов. Если база данных не обновляется, система не будет знать, имеются ли новые пакеты. Вот почему обновление репозитория должно быть первым, что нужно сделать в любой Linux-системе после новой установки.

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

sudo apt update

Когда вы запустите эту команду, вы увидите информацию о пакете, полученную с разных серверов.

sudo apt update

Здесь вы увидите три типа линий: Сущ, Пол и Игн.

И если их расшифровать, то вы получите

  • Сущ: нет изменений в версии пакета
  • Игн: пакет игнорируется. Либо пакет слишком поздний, что он даже не утруждает себя проверкой, либо возникла ошибка в извлечении файла, но ошибка была тривиальной и, следовательно, она игнорируется. Не волнуйтесь, это не ошибка.
  • Пол: доступна новая версия. Он будет загружать информацию о версии (а не о самом пакете). Вы можете видеть, что есть информация о загрузке (размер в kb) с линией «get» на скриншоте выше.

Обновление установленных пакетов с помощью apt

После обновления базы данных пакетов вы можете обновить установленные пакеты. Самый удобный способ – обновить все пакеты с имеющимися обновлениями.

Вы можете просто использовать следующую команду:

sudo apt upgrade

Это покажет вам, сколько и какие пакеты будут обновлены.

sudo apt upgrade

Существует еще один способ сделать полное обновление, для этого просто введите команду

sudo apt full-upgrade

полное обновление работает так же, как и обычное обновление, за исключением того, что если для обновления системы требуется удаление пакета, уже установленного в системе, он сделает это. Принимая во внимание, что обычная команда обновления не сделает этого.

В чем разница между apt update и apt upgrade?

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

Команда apt update просто обновляет базу данных пакетов, и не обновляет пакеты.

Например, если у вас установлен пакет XYZ версии 1.5, после ввода команды apt update база данных будет знать, что доступна более новая версия 1.6. А уже потом, когда вы введете команду apt upgrade, она обновит установленные пакеты до более новой версии.

Именно поэтому самый быстрый и удобный способ «обновить» вашу систему использовать команду:

sudo apt update && sudo apt upgrade -y

Как установить новые пакеты с помощью apt?

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

sudo apt install <имя_пакета>

Просто замените <имя_пакета> на нужный пакет. Предположим, вы хотите установить screenfetch, для этого вы можете использовать следующую команду:

sudo apt install screenfetch

sudo apt install screenfetch

Вы можете использовать автозаполнение, и если вы не уверены в точном имени пакета, вы можете ввести несколько букв и нажать клавишу “TAB”, которая предложит все пакеты, доступные с этими буквами. Например:

screenfetch

Но бывают случаи, когда вы не можете просто так установить пакет, он просит некоторые зависимости, которые не устанавливаются автоматически, и поэтому, есть так называемая опция -f

sudo apt install -f

Которая поможет удовлетворить все зависимости пакета.

Как установить несколько пакетов с apt?

Вы не обязаны устанавливать только один пакет за раз. Вы можете установить несколько пакетов одновременно, указав имена пакетов один за другим:

sudo apt install <имя_пакета_1> <имя_пакета_2>

Что делать, если вы запустили apt install когда пакет уже установлен?

Не нужно волноваться. Он просто заглянет в базу данных, и если будет найдена более новая версия, он обновит установленный пакет до более новой версии.

Как установить определенную версию приложения?

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

Просто добавьте в конец строки версию с именем пакета.

sudo apt install <имя_пакета><номер_версии>

Как удалить установленные пакеты с помощью apt?

Про установку пакетов мы узнали, давайте посмотрим, как удалить пакеты.

Удаление пакетов так же просто, как и установка. Просто используйте следующую команду:

sudo apt remove <имя_пакета>

sudo apt remove

Здесь также вы можете пользоваться автозаполнением.

Другой способ удаления пакетов – использовать purge. Команда используется следующим образом:

sudo apt purge <имя_пакета>

В чем разница между apt remove и apt purge?

А это вы можете прочитать перейдя по ссылке ниже.

Как удалить приложение в Debian и подобных(Purge или Remove?)

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

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

apt search <имя_пакета/библиотеки> 

apt search

Если вы хотите узнать больше о пакете перед установкой или удалением, вы можете использовать следующую команду:

apt show <имя_пакета>

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

apt show

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

Команда apt имеет новый параметр, называемый списком. Используя эту команду, вы можете увидеть все пакеты у которых есть новая версия, готовых к обновлению:

apt list --upgradeable

apt list --upgradeable

Вы также можете увидеть все установленные пакеты в системе с установленной опцией:

apt list --installed

Существует также третий вариант, называемый -all-версиями. В нем будут перечислены все пакеты, доступные для вашей системы:

apt list --all-versions

Как очистить вашу систему с помощью apt?

Самый простой способ освободить дисковое пространство, использовать опцию autoremove:

sudo apt autoremove

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

sudo apt autoremove

Также, можно использовать эту опцию при удалении пакета, например вот так:

sudo apt remove --autoremove <имя_пакета>

sudo apt remove --autoremove

Эта команда позволит удалить не только пакет, но и все установленные зависимости.

При использовании APT, в системе сохраняется кэш ранее загруженных и установленных пакетов даже после их удаления.

Система управления пакетами APT хранит кеш-файлы DEB в /var/cache/apt/archives. Со временем этот кеш может вырасти довольно большой, и содержать много пакетов, которые вам не нужны.

Размер кеша можно увидеть с помощью следующей команды:

sudo du -sh /var/cache/apt

кэш

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

Для того чтобы очистить кэш, можно использовать несколько вариантов

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

sudo apt autoclean

Или очистить кэш целиком (освобождает больше места на диске):

sudo apt clean

Возможно вы знаете еще какие-то команды или атрибуты, тогда эта статья будет дополнена.

Поділіться своєю любов'ю

Залишити відповідь

13 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
yuriy.chijikov

Очень хорошие команды есть по очистке кеша миниатюр:
1) rm -v -f ~/.cache/thumbnails/*/*.png ~/.thumbnails/*/*.png

2) rm -v -f ~/.cache/thumbnails/*/*/*.png ~/.thumbnails/*/*/*.png

UALinux

Спасибо

Andrey.Paderin

Какие отличия от apt-get ?

UALinux

Если коротко, то APT был несколько модифицирован для упрощения использования, но основа все равно лежит с apt-get.

Дмитрий

Еще очень полезная команда
sudo apt install -f
Фиксит неудовлетворенные зависимости например при неудачной установке локального пакета через dpkg -i
И забыли про очистку кэша /var/cache/apt/archives/
sudo apt clean и еще autoclean

UALinux

Спасибо, добавил в статью.

M15

я часто пользуюсь
sudo apt autoremove –purge
удаляет все неиспользуемые пакеты и файлы конфигурации к ним.

Добрий+вуйко

У можна дізнатися якщо запустити команду apt or apt-get з правами root: sudo apt [sudo] пароль до user: apt 1.2.24 (amd64) Використання: apt [параметри] команда apt — менеджер пакунків з CLI, що надає команди для пошуку й керування, а також для перегляду інформації про пакунки. Він забезпечує таку ж функціональність, що й спеціялізовані знаряддя APT типу apt-get й apt-cache, але використовує типові параметри які більш підходять для інтерактивної взаємодії. Найбільш… Читати далі »

UALinux

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

Добрий+вуйко

дякую

DuFF

Спасибо!

vlad.craciun

Спасибо!

UALinux

Пожалуйста

13
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x