Package management with APT
![]()
Package management via apt-get runs hand-in-hand with the /etc/apt/sources.list file. For information on editing or updating your sources list see SourcesList.
Introduction
This page describes how to handle the packages on your system using apt-get and related commands. For example, you can install a new package, remove an installed package, or update all installed packages to the latest versions.
Commands
![]()
- Example:
sudo apt-get install ubuntu-desktop
Installation commands
apt-get install
apt-get build-dep
aptitude install
apt-get install
| |
auto-apt
auto-apt run
![]()
This command runs
# auto-apt run ./configure
Maintenance commands
apt-get update
apt-get upgrade
apt-get dist-upgrade
The same as the above, except add the «smart upgrade» checkbox. It tells APT to use «smart» conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary.
| |
apt-get check
apt-get -f install
apt-get autoclean
apt-get clean
-
The package cache is in /var/cache/apt/archives . The command
du -sh /var/cache/apt/archives
dpkg-reconfigure
![]()
Reconfigure the named package. With many packages, you’ll be prompted with some configuration questions you may not have known were there.
- For example:
dpkg-reconfigure fontconfig-config
echo " hold" | dpkg --set-selections
| |
echo " install" | dpkg --set-selections
Removal commands
apt-get remove
apt-get purge
![]()
This command completely removes a package and the associated configuration files. Configuration files residing in ~ are not usually affected by this command.
- + operator
- If you want to remove package1 and install package2 in one step:
apt-get remove +
apt-get autoremove
apt-get autoremove
dpkg -l | grep '^rc' | awk '' | xargs dpkg --purge
Search commands
apt-cache search
dpkg -l **
apt-cache show
dpkg —print-avail
dpkg -Ldpkg -c foo.deb
dlocate
This command determines which installed package owns
. It shows files from installed packages that match , with the name of the package they came from. Consider this to be a «reverse lookup» utility.
In order to use this command, the package dlocate must be installed on your system.dpkg -S
apt-file search-
apt-file needs to be updated regularly like apt-get. Use the command:
apt-file update
apt-cache pkgnames
apt-cache search | grep -w
dpkg -L package | grep /usr/bin

For more information on apt-get, apt-cache and dpkg consult their manual pages by using the man command. These manuals will provide a wider scope of information in addition to all of the options that you can use with each program.
-
Example:
man apt-get
Typical usage example
I want to feel the wind in my hair, I want the adrenaline of speed. So let’s install a racing game. But what racing games are available?
apt-cache search racing game
It gives me a lot of answers. I see a game named «torcs». Let’s get some more information on this game.
apt-cache show torcs
Hmmm. it seems interesting. But is this game not already installed on my computer? And what is the available version? Which repository is it from (Universe or Main)?
apt-cache policy torcs
Ok, so now, let’s install it!
apt-get install torcs
What is the command I must type in the console to launch this game? In this example, it’s straightforward («torcs»), but that’s not always the case. One way of finding the name of the binary is to look at what files the package has installed in «/usr/bin». For games, the binary will be in «/usr/games». For administrative programs, it’s in «/usr/sbin».
dpkg -L torcs | grep /usr/games/
The first part of the command display all files installed by the package «torcs» (try it). With the second part, we ask to only display lines containing «/usr/games/».
Hmmm, that game is cool. Maybe there are some extra tracks?
apt-cache search torcs
But I’m running out of space. I will delete the apt cache!
apt-get clean
Oh no, my mother asked me to remove all games from this computer. But I want to keep the configuration files so I can simply re-install it later.
apt-get remove torcs
If I want to also remove config files :
apt-get purge torcs
Setting up apt-get to use a http-proxy
These are three methods of using apt-get with a http-proxy.
Temporary proxy session
This is a temporary method that you can manually use each time you want to use apt-get through a http-proxy. This method is useful if you only want to temporarily use a http-proxy.
Enter this line in the terminal prior to using apt-get (substitute your details for yourproxyaddress and proxyport).
export http_proxy=http://yourproxyaddress:proxyport
If you normally use sudo to run apt-get you will need to login as root first for this to work unless you also add some explicit environment settings to /etc/sudoers, e.g.
Defaults env_keep = "http_proxy https_proxy ftp_proxy"
APT configuration file method
This method uses the apt.conf file which is found in your /etc/apt/ directory. This method is useful if you only want apt-get (and not other applications) to use a http-proxy permanently.
gksudo gedit /etc/apt/apt.conf
Add this line to your /etc/apt/apt.conf file (substitute your details for yourproxyaddress and proxyport).
Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Save the apt.conf file.
BASH rc method
This method adds a two lines to your .bashrc file in your $HOME directory. This method is useful if you would like apt-get and other applications for instance wget, to use a http-proxy.
gedit ~/.bashrc
Add these lines to the bottom of your ~/.bashrc file (substitute your details for yourproxyaddress and proxyport)
http_proxy=http://yourproxyaddress:proxyport export http_proxy
Save the file. Close your terminal window and then open another terminal window or source the ~/.bashrc file:
source ~/.bashrc
Test your proxy with sudo apt-get update and whatever networking tool you desire. You can use firestarter or conky to see active connections.
If you make a mistake and go back to edit the file again, you can close the terminal and reopen it or you can source ~/.bashrc as shown above.
source ~/.bashrc
How to login a proxy user
If you need to login to the Proxy server this can be achieved in most cases by using the following layout in specifying the proxy address in http-proxy. (substitute your details for username, password, yourproxyaddress and proxyport)
http_proxy=http://username:password@yourproxyaddress:proxyport
Useful additional packages
Additional links
- Repositories/CommandLine
- PinningHowto
- AutoDeb
- Synaptic Package Manager
- Ubuntu Community Forums: Installations and Upgrades
- What is apt-fast and should I use it?
Troubleshooting
Как пользоваться apt
Пакетный менеджер Apt или Advanced Package Tool используется во множестве дистрибутивов, основанных на Debian или Ubuntu, а таких дистрибутивов сейчас очень много. Этот пакетный менеджер поддерживает все необходимые функции, вы можете устанавливать и удалять пакеты, обновлять то, что было уже установлено, искать пакеты, устанавливать их из файла или загружать без установки. При этом все зависимости будут разрешаться автоматически.
Утилита apt ничем не уступает пакетному менеджеру yum, используемому в RPM дистрибутивах, да, здесь все ещё не поддерживается частичное обновление пакетов, как в Zypper, но в целом всё выглядит очень неплохо. В этой статье мы подробно рассмотрим как пользоваться apt в Linux для решения задач работы с программами.
Синтаксис и опции apt
Синтаксис команды apt очень простой и похож на другие команды Linux:
$ apt опции команда параметры_команды
Опции указывают общее поведение утилиты, команда — действие, которое надо выполнить, а в параметрах команды обычно передается имя пакета, с которым следует работать, например, установить или удалить. Вот основные опции утилиты:
- -v, —version — выводит версию утилиты;
- -h, —help — выводит справку по использованию утилиты;
- -y, —yes — автоматически отвечать «да» на все возникающие вопросы;
- —assume-no — автоматически отвечать «нет» на все возникающие вопросы;
- -d, —download-only — только скачать пакеты и больше ничего не делать;
- -f, —fix-broken — исправить недостающие зависимости;
- —no-download — ничего не загружать, использовать только пакеты из кэша;
- -s, —simulate — режим симуляции, никакие операции не выполняются, только выводится информация на экран;
- —allow-unauthenticated — позволяет установить пакеты, из репозиториев, для которых нет GPG подписи;
- —no-install-recommends — не устанавливать рекомендованные пакеты, по умолчанию будут установлены;
- -m, —ignore-missing — игнорировать пакеты, которые существует;
- -q, —quiet — выводить минимум информации, не показывать прогресс бар;
- -V, —verbose-versions — показывать полные версии обновленных пакетов;
- —only-upgrade — не устанавливать новые пакеты, только обновлять;
- —allow-downgrades — разрешить откатывать версию пакетов;
- —reinstall — переустановить пакет если он уже установлен;
А теперь давайте пройдёмся по командам apt, которые вы можете использовать:
- install — установить пакет;
- remove — удалить пакет, конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
- purge — полностью удалить пакет, вместе со всеми его конфигурационными файлами;
- autoremove — очистить ненужные пакеты;
- autoclean — очистить кэш пакетов;
- update — обновить списки пакетов из репозиториев;
- upgrade — обновить версию пакета до последней, если пакет не указан будут обновлены все пакеты;
- full-upgrade — полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
- list — список установленных пакетов;
- search — поиск пакетов;
- show — посмотреть информацию о пакете;
- download — скачать пакет в текущую папку;
- edit-sources — открыть с настройками репозиториев в текстовом редакторе.
- source — скачать исходный код пакета в текущую папку;
- build-dep — установить зависимости необходимые для сборки выбранного пакета;
Дальше рассмотрим несколько примеров работы с apt, которые пригодятся как начинающим, так и более опытным пользователям.
Как пользоваться apt
1. Обновление пакетов
Сначала давайте обновим список пакетов apt из репозиториев. Репозитории находятся на удалённых серверах и когда утилита apt ищет пакет для установки, естественно, что она не обращается ко всем репозиториям подряд чтобы узнать где он находится. В системе уже есть сохранённых кэш информации о том, какие пакеты вообще есть и где их можно скачать. Для обновления этого кэша используйте команду update:
sudo apt update

Во время загрузки URL репозиториев обозначаются специальными префиксами, вот что они означают:
- Hit (Сущ) — список не изменился с момента предыдущей загрузки;
- Ign (Игн) — репозиторий игнорируется, либо он слишком новый, либо произошла незначительная ошибка во время загрузки;
- Get(Пол) — доступна новая версия и она будет загружена.
Когда кэш обновлен вы можете посмотреть для каких пакетов доступны обновления:
sudo apt list —upgradable

Аналогично можно посмотреть установленные пакеты apt:
sudo apt list —installed

Или все доступные пакеты:
sudo apt list —all-versions

Затем можно обновить все пакеты в системе:
Использование apt-команд в Linux

Если вы используете Debian, Ubuntu, Linux Mint или любой другой дистрибутив Debian или Ubuntu, вы, должно быть, уже сталкивались с некоторыми apt-командами.
Впервые появившаяся в Ubuntu 16.04, apt медленно набирает популярность. Поскольку все больше и больше дистрибутивов Linux, основанных на Ubuntu, настаивают на том, чтобы apt стала рекомендуемой командой для управления пакетами, пришло время научиться использовать команды apt.
В этом руководстве для начинающих пользователей Linux я расскажу вам о различных командах apt с примерами, чтобы Вы могли использовать их в качестве опытного пользователя Linux.
Что такое apt
В Debian Linux используется система dpkg-пакетов. Система пакетов — это способ предоставления программ и приложений для установки. Таким образом, вам не придётся собирать программу из исходного кода, что, поверьте, не очень удобно для работы с пакетами. APT (Advanced Package Tool) — это инструмент командной строки для взаимодействия с системой упаковки в дистрибутивах Linux на основе Debian.
Для управления ими уже существуют команды dpkg. Но APT — более дружественный. Вы можете использовать его для поиска и установки новых пакетов, обновления пакетов, удаления пакетов и т.д.
Команды apt предоставляют способ командной строки для взаимодействия с APT и управления пакетами.
На данный момент, я должен упомянуть, что apt-get, пожалуй, самый популярный инструмент из APT. Но apt медленно продвигается как альтернатива.
Использование команд apt для управления пакетами в дистрибутивах Linux на основе Debian и Ubuntu.
В этом руководстве я использую Ubuntu 16.04, но вы можете использовать любые другие дистрибутивы Linux, основанные на Debian/Ubuntu, такие как Linux Mint, Elementary OS, Linux Lite и т.п.
Кроме того, я использую иконки и тему Pop в Ubuntu, поэтому мой терминал выглядит иначе, чем обычный фиолетовый тематический терминал.
Если вы не хотите читать, можете посмотреть это видео с основными apt командами для пользователей Ubuntu.

Здесь вы увидите три типа строк: «Hit», «Get» и «Ign». В основном это:
- Hit: нет никаких изменений в версии пакета по сравнению с предыдущей версией.
- Ign: пакет игнорируется. Либо пакет слишком свеж, чтобы его даже не надо было проверять, либо произошла ошибка при получении файла, но ошибка была тривиальной, и поэтому ее игнорируют. Не волнуйтесь, это не ошибка.
- Get: Доступна новая версия. Она скачает информацию о версии (а не о самом пакете). Вы можете видеть, что есть информация о загрузке (размер в Кб) со строкой ‘get’ на скриншоте выше.
Обновление установленных пакетов с помощью apt
После обновления базы данных пакетов вы можете обновить установленные пакеты. Самый удобный способ — это обновить все пакеты, которые имеют доступные обновления. Вы можете просто использовать команду ниже:
sudo apt upgradeЭто покажет вам, сколько и какие пакеты будут обновлены.

Есть еще один способ выполнить полное обновление с помощью команды, приведенной ниже:
sudo apt full-upgradeПолное обновление работает так же, как и обычное обновление, за исключением того, что если обновление системы нуждается в удалении пакета, уже установленного в системе, оно сделает это. В то время как обычная команда обновления этого не сделает.
В чем разница между apt update и apt upgrade?
Хотя это звучит, будто вы выполняете обновление apt, команда будет обновлять пакеты, и вы получите последнюю версию пакета. Но это не так. apt-update обновляет только базу данных пакетов.
Например, если у вас установлен XYZ пакет версии 1.3, после apt-обновления база данных будет знать, что доступна более новая версия 1.4. Когда вы делаете apt-update после apt-upgrade, она увеличивает(или обновляет, в зависимости от того, какой термин вы предпочитаете) установленные пакеты до более новой версии.
По этой причине наиболее быстрый и удобный способ обновления системы Ubuntu с помощью этой команды:
sudo apt update && sudo apt upgrade -yКак установить новые пакеты с помощью apt
Если вы уже знаете имя пакета, вы можете установить его с помощью команды ниже:
sudo apt install
Просто замените на нужный пакет. Предположим, вы хотите установить mplayer, вы можете просто использовать команду ниже:
sudo apt install mplayer
Хорошо, что здесь можно использовать автозавершение. Таким образом, если вы не уверены в точном названии пакета, вы можете набрать несколько букв и нажать клавишу табуляции, и терминал подскажет все пакеты, доступные с этими буквами. Например:

Как установить несколько пакетов с apt
Вы не обязаны устанавливать только один пакет за раз. Вы можете установить несколько пакетов сразу, указав имена всех пакетов через пробел:
sudo apt install
Что если вы запустите apt install на уже установленном пакете?
Не волнуйтесь. Просто загляните в базу данных и, если будет найдена более новая версия, обновите установленный пакет до более нового. Таким образом, с его помощью можно не навредить, если только вы не хотите, чтобы он был обновлен.
Как установить пакеты без обновления
Если по какой-то причине вы хотите установить пакет, но не хотите обновлять его, то это возможно, если он уже установлен. В этом случае вы можете использовать опцию —no-upgrade следующим образом:
sudo apt install --no-upgrade
Как только обновлять пакеты, а не устанавливать
sudo apt install --only-upgrade
Как установить конкретную версию приложения
По умолчанию для приложения будет установлена последняя версия, доступная в репозитории. Но если вы не хотите устанавливать последнюю версию, вы можете указать номер версии. Вам нужно будет знать точный номер версии, которую вы хотите установить.
Просто добавьте =версия с именем пакета.
sudo apt install =
Как удалить установленные пакеты с помощью apt
Довольно разговоров об установке пакетов, посмотрим, как удалить пакеты. Удалить пакеты так же просто, как и установить их. Просто используйте команду ниже:
sudo apt remove

Автозавершение работает и здесь. Поэтому просто начните набирать имя пакета и нажимать клавишу табуляции, и он предложит все установленные пакеты, начинающиеся с этих букв.
Другой способ деинсталляции пакетов — использование очистки. Команда используется следующим образом:
sudo apt purge
Какая разница между apt remove и apt purge?
- apt remove просто удаляет двоичные файлы пакета. Оставляет файлы конфигурации остатков.
- apt purge удаляет все, что связано с пакетом, включая конфигурационные файлы.
Если вы использовали apt remove, чтобы избавиться от определенного программного обеспечения, а затем попытаетесь установить его снова, ваше программное обеспечение будет иметь те же самые файлы конфигурации. Конечно, при повторной установке вам будет предложено переопределить существующие конфигурационные файлы.
Очищение же полезно, когда вы запутались в настройке программы. Вы хотите полностью стереть ее следы из системы и, возможно, начать заново. И да, вы можете использовать apt-purge на уже удаленном пакете.
Обычно для удаления пакета более чем достаточно apt remove.
Поиск пакетов
Не самый мой любимый способ поиска пакетов. Но это полезно, когда вы ищете какую-то конкретную библиотеку. Просто используйте следующую команду с нужными условиями поиска. Она найдет все пакеты, содержащие ваше поисковое слово.
apt search

Как просмотреть содержимое пакета
Если вы хотите узнать больше о пакете перед установкой или удалением, вы можете использовать команду ниже:
apt show
Здесь будет показана информация о выбранном пакете(ах), такая как его зависимости, размер установки и загрузки, различные источники, из которых доступен пакет, описание содержимого пакета, среди прочего:

Список обновляемых и установленных версий
Команда apt имеет новую опцию под названием «список». С помощью нее вы можете увидеть все пакеты, у которых есть более новая версия, готовая к обновлению:
apt list --upgradeable
Вы также можете увидеть все установленные пакеты в системе с установленной опцией —installed:
apt list --installedСуществует также третий вариант, который называется —all-versions. В ней будут перечислены все пакеты, доступные для вашей системы:
apt list --all-versionsКак очистить вашу систему с помощью apt
Я уже рассказывал о способах очистки системы Ubuntu, чтобы освободить место. В отличие от apt-get, здесь нет команд чистки и автоочистки. Вы все еще можете использовать опцию автоудаления и освободить место на диске:
sudo apt autoremoveЭта команда удаляет библиотеки и пакеты, которые были установлены автоматически для удовлетворения требований зависимостей установленного пакета. Если пакет удален, эти автоматически установленные пакеты, хотя и бесполезны, остаются в системе.

Я недавно почистил свою систему, и поэтому она показывает только несколько Kb файлов, которые нужно удалить. В противном случае, с помощью этой команды можно легко получить 100 Мб свободного места.
Ваш вклад
Я сознательно не включал в эту статью команду apt edit-sources. Это связано с тем, что этот параметр команды находится в процессе разработки и на данный момент он делает не более чем открытие файла source.list в редакторе по вашему выбору.
Вам понравилось это руководство по использованию команд apt в Linux? Надеюсь, что с примерами легко было разобраться в команде apt. Ваши отзывы помогут создать больше подобных руководств в ближайшем будущем.
Удаление пакетов Debian
Мы довольно часто устанавливаем новые пакеты в свою систему, например, нам нужно решить определенную задачу и мы ставим все программы, которые могут помочь и проверяем их по очереди, но будет лучше если в системе не будет ненужных программ.
Это повысит вашу безопасность. В этой статье мы рассмотрим как выполняется удаление пакетов Debian различными способами, рассмотрим как удалить пакет имя которого вы знаете, а также как удалить все ненужные пакеты из системы.
Удаление пакетов Debian
Самый простой способ удалить программу Debian, которая вам больше не нужна — это воспользоваться пакетным менеджером apt. Просто используйте команду apt remove:
$ sudo apt-get remove имя_программы
Или можно удалить все пакеты, которые касаются этой программы, например:
$ sudo apt-get remove имя_программы*
Например, удалим установленный по умолчанию почтовый клиент evolution. Если бы мы использовали звездочку, то были бы удаленны все пакеты, имя которых начинается на evolution, например, evolution-data и evolution-plugins.
sudo apt-get remove evolution

Но при таком способе удаления в системе могут оставаться конфигурационные файлы программы, а также дополнительные пакеты. Чтобы удалить конфигурационные файлы можно использовать опцию —purge или команду purge:
sudo apt-get —purge remove evolution

А чтобы выполнить удаление пакетов debian, которые больше не нужны после установки используйте опцию —auto-remove, она аналогична запуску apt с командой autoremove:
sudo apt-get —purge —auto-remove remove evolution

sudo apt-get purge —auto-remove evolution
Последняя команда выполняет полное удаление пакета из системы. Но чтобы удалить пакет вам нужно сначала знать его имя. Имя пакета можно узнать с помощью утилиты dpkg. Сначала ищем какие-либо файлы программы по ее названию, например, тот же evolution:
find / -name evolution

Дальше смотрим имя пакета, которому принадлежит выбранный файл:
sudo dpkg -S /usr/bin/evolution

А дальше, уже на основе полученной информации вы можете удалить лишний пакет. Рассмотрим как удалить пакет Debian с помощью dpkg, для этого есть опция -r или —remove. Но тут вам придется указать все зависимости:
sudo dpkg —remove evolution evolution-plugins

У dpkg есть свой аналог команды purge, это опция -p или —purge, которая позволяет удалить пакет Debian полностью и не оставлять никаких конфигурационных файлов в системе:
sudo dpkg —purge evolution evolution-plugins
Если пакет не удаляется потому что был поврежден или была повреждена база пакетов, а вы считаете что удаление именно этого пакета может спасти ситуацию, то используйте опцию —force-remove-reinstreq:
sudo dpkg —remove —force-remove-reinstreq имя_пакета
Также можно использовать опцию —force-depends, чтобы не удалять пакеты, которые зависят от удаляемого:
sudo dpkg -r —force-depends имя_пакета
Иногда, во время удаления пакетов, некоторые зависимости остаются в системе, например, рекомендованные пакеты. Их тоже можно удалить чтобы освободить место и не держать лишнего на компьютере. Для этого используется программа deborphan. Для начала вам нужно будет ее установить:
sudo apt-get install deborphan
Затем для поиска всех пакетов, которые можно удалить наберите:

Дальше вы можете удалить каждый пакет из списка вручную с помощью apt-get или dpkg. Если вы уже знаете, что все пакеты, которые будут удалены не нужны, то можно объединить команду deborphan с xargs и автоматически их все сразу удалить:
deborphan | xargs sudo apt-get -y remove —purge

Имя каждого пакета будет подставлено в конец строки.
Удаление пакетов в GUI
Пакеты можно удалять не только через терминал, но и через графический интерфейс. В Debian используется окружение рабочего стола Gnome, поэтому там доступен центр приложений Gnome Software. Вы можете запустить его из главного меню системы:

Затем перейдите на вкладку «Установлено»:

Вам осталось выбрать приложение, которое хотите удалить, а затем нажать кнопку «Удалить»:

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

Выводы
В этой статье мы рассмотрели как выполняется удаление программ debian несколькими способами. Как видите, это достаточно просто. Если вы имеете немного опыта использования терминала, то сможете получить все его преимущества, в противном же случае можете использовать графический интерфейс. Если у вас остались вопросы, спрашивайте в комментариях!