Если вы используете 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
Когда вы запустите эту команду, вы увидите информацию о пакете, полученную с разных серверов.
Здесь вы увидите три типа линий: Сущ, Пол и Игн.
И если их расшифровать, то вы получите
- Сущ: нет изменений в версии пакета
- Игн: пакет игнорируется. Либо пакет слишком поздний, что он даже не утруждает себя проверкой, либо возникла ошибка в извлечении файла, но ошибка была тривиальной и, следовательно, она игнорируется. Не волнуйтесь, это не ошибка.
- Пол: доступна новая версия. Он будет загружать информацию о версии (а не о самом пакете). Вы можете видеть, что есть информация о загрузке (размер в kb) с линией «get» на скриншоте выше.
Обновление установленных пакетов с помощью apt
После обновления базы данных пакетов вы можете обновить установленные пакеты. Самый удобный способ – обновить все пакеты с имеющимися обновлениями.
Вы можете просто использовать следующую команду:
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
Вы можете использовать автозаполнение, и если вы не уверены в точном имени пакета, вы можете ввести несколько букв и нажать клавишу “TAB”, которая предложит все пакеты, доступные с этими буквами. Например:
Но бывают случаи, когда вы не можете просто так установить пакет, он просит некоторые зависимости, которые не устанавливаются автоматически, и поэтому, есть так называемая опция -f
sudo apt install -f
Которая поможет удовлетворить все зависимости пакета.
Как установить несколько пакетов с apt?
Вы не обязаны устанавливать только один пакет за раз. Вы можете установить несколько пакетов одновременно, указав имена пакетов один за другим:
sudo apt install <имя_пакета_1> <имя_пакета_2>
Что делать, если вы запустили apt install когда пакет уже установлен?
Не нужно волноваться. Он просто заглянет в базу данных, и если будет найдена более новая версия, он обновит установленный пакет до более новой версии.
Как установить определенную версию приложения?
По умолчанию, будет установлена последняя версия пакета, которая доступна в репозитории. Но если вы не хотите устанавливать последнюю версию, вы можете указать номер версии. Вам нужно знать точный номер версии, которую вы хотите установить(если конечно она там есть).
Просто добавьте в конец строки версию с именем пакета.
sudo apt install <имя_пакета><номер_версии>
Как удалить установленные пакеты с помощью apt?
Про установку пакетов мы узнали, давайте посмотрим, как удалить пакеты.
Удаление пакетов так же просто, как и установка. Просто используйте следующую команду:
sudo apt remove <имя_пакета>
Здесь также вы можете пользоваться автозаполнением.
Другой способ удаления пакетов – использовать purge. Команда используется следующим образом:
sudo apt purge <имя_пакета>
В чем разница между apt remove и apt purge?
А это вы можете прочитать перейдя по ссылке ниже.
Как удалить приложение в Debian и подобных(Purge или Remove?)
Поиск пакетов
Поиск пакетов полезен, когда вы ищете какую-то конкретную библиотеку. Просто используйте следующую команду с требуемыми условиями поиска. Она поможет найти все пакеты, содержащие ваш поисковый запрос.
apt search <имя_пакета/библиотеки>
Если вы хотите узнать больше о пакете перед установкой или удалением, вы можете использовать следующую команду:
apt show <имя_пакета>
Это покажет информацию о данном пакете, о его зависимостях, размер установки и загрузки, различные источники, из которых доступен пакет, описание содержимого пакета, и другое:
Список обновляемых и установленных версий
Команда apt имеет новый параметр, называемый списком. Используя эту команду, вы можете увидеть все пакеты у которых есть новая версия, готовых к обновлению:
apt list --upgradeable
Вы также можете увидеть все установленные пакеты в системе с установленной опцией:
apt list --installed
Существует также третий вариант, называемый -all-версиями. В нем будут перечислены все пакеты, доступные для вашей системы:
apt list --all-versions
Как очистить вашу систему с помощью apt?
Самый простой способ освободить дисковое пространство, использовать опцию autoremove:
sudo apt autoremove
Эта команда удаляет библиотеки и пакеты, которые были установлены автоматически для удовлетворения зависимостей установленного пакета. Если пакет удален, эти автоматически установленные пакеты, хотя и бесполезны, остаются в системе.
Также, можно использовать эту опцию при удалении пакета, например вот так:
sudo apt remove --autoremove <имя_пакета>
Эта команда позволит удалить не только пакет, но и все установленные зависимости.
При использовании APT, в системе сохраняется кэш ранее загруженных и установленных пакетов даже после их удаления.
Система управления пакетами APT хранит кеш-файлы DEB в /var/cache/apt/archives. Со временем этот кеш может вырасти довольно большой, и содержать много пакетов, которые вам не нужны.
Размер кеша можно увидеть с помощью следующей команды:
sudo du -sh /var/cache/apt
У меня этот кэш маленький, потому что я время от времени делаю очистку системы, но он может достигать нескольких сотен мегабайт.
Для того чтобы очистить кэш, можно использовать несколько вариантов
Удалить только устаревшие пакеты, например те, которые заменены недавним обновлением, что делает их совершенно ненужными.
sudo apt autoclean
Или очистить кэш целиком (освобождает больше места на диске):
sudo apt clean
Возможно вы знаете еще какие-то команды или атрибуты, тогда эта статья будет дополнена.
Очень хорошие команды есть по очистке кеша миниатюр:
1) rm -v -f ~/.cache/thumbnails/*/*.png ~/.thumbnails/*/*.png
2) rm -v -f ~/.cache/thumbnails/*/*/*.png ~/.thumbnails/*/*/*.png