Начиная с Ubuntu 16.04 в дистрибутиве появился новый пакетный менеджер apt. Он работает почти так же, как и apt-get, но имеет несколько отличий, о них мы и поговорим в этой статье. На самом деле, первая стабильная версия apt вышла в 2014 году, но в широкое использование она попала только два года спустя.
Вам, наверное, интересно, что такое apt? Это следующая версия apt-get. Она имеет почти идентичную структуру команд, но отличия есть. Но давайте сначала разберемся почему был выпущен новый пакетный менеджер.
Содержание статьи
Почему появился apt?
Раньше в Ubuntu использовалась очень мощная система управления пакетами дистрибутива Debian. Её преимущество в том, что она имеет очень много функций, полезных для разработчиков, но из этого возникает один недостаток: эти функции были разнесены по нескольким исполняемым файлам. Большинство возможностей обычные пользователи не используют, а те, которые они используют оказались разбиты на две утилиты: apt-get и apt-cache.
Ubuntu стремится к простоте. Утилита apt была реализована, чтобы упростить работу с менеджером пакетов и объединить несколько команд в одну. Функциональность apt-get и apt-cache была переписана, и несмотря на то, что теперь утилита полностью совместима с apt-get, у неё новый исходный код.
Хотят ли люди признавать или нет, но apt-get - устаревший инструмент и практичность его применения очень сомнительна. Инструмент apt был разработан с нуля, чтобы быть еще эффективнее, он предназначен быть приятным для новых пользователей.
Apt vs Apt-get. В чем различия?
Что использовать, apt или apt-get? В чем же разница между этими двумя утилитами? Для начала вам больше не нужно использовать apt-get autoremove, чтобы очистить кеш пакетов, пакеты будут удаляться автоматически. Также вам не нужно вводить apt-cache search для поиска пакетов.
Эти команды были заменены на apt search и apt remove. Главное отличие apt от apt-get в том, что программа объединяет большинство команд apt-get и apt-cache. Вся функциональность теперь находится в одной утилите.
Хотя это не единственное отличие от apt-get. Здесь улучшены прогресс бары установки пакетов. Ещё поддерживаются некоторые дополнения, которые делают утилиту умнее предыдущей. Например, при обновлении источников программного обеспечения с помощью apt-get нет простого способа посмотреть список пакетов доступных к обновлению. Здесь же вы можете просто выполнить:
sudo apt-get update
А затем:
apt list --upgradable
Конечно, мелочи, но приятно. Также были добавлены новые, современные цвета вывода, и в целом установка пакетов проходит быстрее. Canonical не спешит отказываться от apt-get, но они сделают это позитивным изменением.
Новые команды Apt
Вот список поддерживаемых apt команд, взятый прямо из вывода --help. Эти команды очень похожи на реализацию apt-get и apt-cache, но более упорядочены и сгруппированы.
Основные команды:
- list - список пакетов;
- search - поиск пакетов по имени;
- show - показать подробную информацию о пакете;
- update - обновить списки доступных пакетов;
- install - установить пакет;
- remove - удалить пакет;
- upgrade - установить доступные новые версии пакетов;
- full-upgrade - полное обновление системы;
- edit-sources - редактировать файл источников программного обеспечения.
Более подробную информацию вы найдете, выполнив man apt в терминале. Хранящаяся там информация поможет вам досконально изучить новую утилиту.
Выводы
Утилита apt-get проверенная и надежная часть менеджера пакетов Debian. Этот инструмент используется на протяжении большого времени и поставляется по умолчанию во многих релизах Ubuntu и Debian. Мы всегда его использовали когда нужно было обновить что-то, обновить программное обеспечение или даже просто очистить систему от мусора.
Тем не менее, она устаревает. Менеджер пакетов уже не отвечает всем потребностям пользователей, а поэтому он медленно заменяется на apt. Разработчики Ubuntu понимают, что им нужно обновить свой пакетный менеджер, сделать его более простым, элегантным и безопасным. Но пока в системе существуют обе утилиты и выбирать что использовать apt или apt-get предстоит вам. Будете ли вы использовать новый менеджер пакетов? Или уже используете?
Как поставил 16.04, сразу стал использовать apt.
Современные цвета вывода, ну-ну.
А чем лучше aptitude?
Собственно ничем, aptitude лучше.
ubuntu mate 15.10 команда apt remove (при выполнении ничего не происходит) не заменяет apt-get auotoremove(удаляет неиспользуемые пакеты)
apt удаляет пакет вместе с его зависимостями, то есть нужео использовать apt remove пакет
Нет, пакеты остаются. По крайней мере после apt purge. я им удаляю. Предлагается удалять установленные зависимости при помощи apt autoremove. И вообще как-то коряво зависимости вычисляются. Не знаю, что было бы с apt-get, он apt purge пакет частенько оставляет за собой зависимости, которые были для этого пакета поставлены. Удаляет не всё.
Хорошо бы не забывать добавлять ссылку на оригинальную статью Derrik Diener https://www.maketecheasier.com/apt-vs-apt-get-ubuntu/
Исправил.
Изображения не отображаются. Суть статьи прекрасно понимается и без картинок, но когда видишь значок непрогруженного изображения, создаётся ощущение что что-то упускаешь. Поэтому статью лучше форматировать или "с нормальными изображениями" или "без изображений".
Спасибо! Подправил изображения.
Аналог apt-get dist-upgrade это apt full-upgrade ?
Пока писал комментарий раза 3 нажал на таб )
Нет, https://askubuntu.com/questions/770135/apt-full-upgrade-versus-apt-get-dist-upgrade
Я так понял на ubuntu 16.04 apt-get уже не поддерживается? Или почему при вводе команды sudo apt-get install mc мне выдало: неверная операция install , хотя при вводе через apt все скачалось.
А где в нем apt-get install --reinstall ?
Я так и знал, что прийдёт кто-нибудь в комменты, и спросит про Аптитуде ))) Говорить не о предмете обсуждения, а о чём-то отвлечённом-это "фишка" линуксоидов.
Давайте ещё про Линукс Вей, заводите шарманку, я почитаю. ))
САНЯ какая тебе разница о чем люди решили поговорить в комментах? Зануда...
В статье опечатка или я что-то неправильно понимаю?
----------
Например, при обновлении источников программного обеспечения с помощью apt-get нет простого способа посмотреть список пакетов доступных к обновлению. Здесь же вы можете просто выполнить:
sudo apt-get update
-----------
Разве не "sudo apt update"?