# apt

<http://blog.sedicomm.com/2018/04/06/ispolzovanie-komand-apt-v-linux-polnoe-rukovodstvo/>

**Краткое описание**: В этой статье мы покажем, как использовать команды **apt** в \*\*Linux. \*\*И приведем примеры, чтобы вы научились эффективно управлять пакетами.

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

Впервые команды **apt** появились \*\*Ubuntu 16.04 \*\*и с тех пор постепенно набирают популярность. Поскольку все больше и больше дистрибутивов **Linux,** основанных на **Ubuntu,** настаивают на том, чтобы **apt** была командой по умолчанию для управления пакетами. Ну что же, пришло время узнать, как использовать команды **apt**.

В этом руководстве я собираюсь объяснить вам различные команды **apt** с примерами, чтобы вы могли использовать их для своих повседневных задач.

### Что такое apt?

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

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

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

Для этой статьи я буду использовать **Ubuntu 16.04**, но вы можете использовать любые другие дистрибутивы **Linux** на базе **Debian**/**Ubuntu,** такие как **Linux Mint,** **Linux Lite** и т.д.

Кроме того, я использую тему **Pop** в **Ubuntu,** поэтому мой терминал выглядит иначе, чем обычный фиолетовый тематический терминал.

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

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

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

`sudo apt update`

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

Здесь вы видите три типа линий: **Hit, Get** и **Ign**. Давайте разберемся с их значениями:

* **Hit**: нет обновления для версии пакета.
* **Ign:** пакет игнорируется. Либо пакет слишком старый, что нет возможности его проверить, либо произошла ошибка при извлечении файла, но ошибка была тривиальной и, следовательно, она игнорируется. Не беспокойтесь, это **не ошибка.**
* **Get:** доступна новая версия. Загрузится информацию о версии (а не пакет). Вы можете увидеть на скриншоте выше, что есть информация о загрузке (размер в kb) с названием **«get»**.

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

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

`sudo apt upgrade`

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

Существует еще один способ обеспечить полное обновление с помощью следующей команды:

`sudo apt full-upgrade`

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

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

Обновление **apt** обновляет базу данных пакетов.

Например, если у вас установлен пакет **XYZ** версии **1.3,** после **apt update** база данных будет знать, что доступна более новая версия (**1.4**). Когда вы выполняете **apt upgrade**, у вас произойдет непосредственное обновление установленных пакетов на их более новые версии.

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

`sudo apt update && sudo apt upgrade -y`

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

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

`sudo apt install <package_name>`

Просто замените **\<package\_name>** на нужный пакет. Предположим, вы хотите установить **mplayer,** вы можете просто использовать следующую команду:

`sudo apt install mplayer`

Если вы не уверены в точном имени пакета, вы можете ввести несколько букв и нажать на клавишу **Tab**, тут вы увидите предложение всех пакетов, доступных с этими буквами. Например:

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

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

`sudo apt install <package_1> <package_2> <package_3>`

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

Не нужно волноваться. Это просто заглянет в базу данных, и если будет найдена более новая версия, она обновит установленный пакет до более новой версии. Так что никакого вреда не будет, если вы случайно выполните **apt install** для уже установленного пакета.

#### Как установить пакеты без обновления?

Бывает, что по какой-то причине вы хотите установить пакет, но не хотите его обновлять. В этом случае вы можете использовать опцию **-no-upgrade** следующим образом:

`sudo apt install <package_name> --no-upgrade`

### Как обновлять пакеты, не устанавливая их?

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

`sudo apt install <package_name> --only-upgrade`

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

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

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

`sudo apt install <package_name>=<version_number>`

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

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

`sudo apt remove <package_name>`

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

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

`sudo apt purge <package_name>`

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

* **apt remove** просто удаляет двоичные файлы пакета, но оставляет файлы конфигурации.
* **apt purge** удаляет все, что связано с пакетом, включая файлы конфигурации.

Если вы использовали **apt remove**, чтобы избавиться от определенного программного обеспечения, а затем снова решили установить его, ваше программное обеспечение будет иметь исходные файлы конфигурации. Конечно, вам будет предложено переопределить существующие файлы конфигурации при его повторной установке.

Очистка полезна, когда вы что-то напутали с конфигурированием программы, если вы хотите полностью стереть свои следы из системы. И да, вы можете использовать **apt purge** для уже удаленного пакета.

Обычно **apt remove** более чем достаточно для удаления пакета.

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

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

`apt search <search term>`

### Просмотр содержимого пакета.

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

`apt show <package_name>`

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

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

В команде **apt** появилась новая опция, под названием — **list**. Используя эту команду, вы можете увидеть все пакеты, готовые к обновлению:

`apt list --upgradeable`

`apt list --installed`

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

`apt list -all-versions`

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

Мы уже говорили о способах очистки системы **Ubuntu,** для освобождения места. В отличие от **apt-get,** здесь нет общей команды, как **autoclean**. Но вы все равно можете использовать опцию **autoremove** и освободить некоторое дисковое пространство:

`sudo apt autoremove`

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

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

### Итоги

Я намеренно не включил команду **apt edit-sources** в эту статью. Это потому, что этот параметр команды является незавершенным, и на данный момент он ничего не делает, кроме открытия файла **sources.list** в редакторе по вашему выбору. Надеюсь, что вы поняли как пользоваться командами **apt.**
