Начиная с 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 предстоит вам. Будете ли вы использовать новый менеджер пакетов? Или уже используете?