Утилита apt-get – производительная свободная консольная программа, используемая и работающая с библиотекой APT (Advanced Packaging Tool) для выполнения установки новых пакетов с ПО, удаления существующих, обновления установленых, а также для обновления всей операционной системы.
Консольная утилита apt-cache используется для поиска в кеше программных пакетов APT. Говоря простыми словами, этот инструмент, используется для поиска пакетов, сбора информации о пакетах и поиска пакетов, доступных для установки в операционных системах, основанных на Debian или Ubuntu.
Как можно получить список всех доступных пакетов?
Чтобы увидеть все доступные пакеты, выполните следующую команду:
Apt-cache pkgnames
Как можно найти имя пакета и его описание.
Чтобы найти название пакета и его описание перед установкой, используйте флаг «search». Использование “search” c apt-cache отобразит список подходящих пакетов с кратким описанием. Например, вы хотите найти описание пакета vsftpd: чтобы сделать это, команда должна быть вот такой:
Apt-cache search vsftpd
Чтобы найти и перечислить все пакеты, имя которых начинается с vsftpd , вы можете использовать следующую команду:
Apt-cache pkgnames vsftpd
Как я могу просмотреть информацию о пакете?
Например, если вы хотите ознакомиться с информацией о пакете, с его кратким описанием, отображающим номер версии, контрольные суммы, размер, размер после установки, категории и так далее, вы можете использовать подкоманду «show», как показано ниже:
Apt-cache show netcat
Как можно проверить зависимости какого-либо пакета?
Чтобы проверить зависимости конкретного пакета, вы можете использовать подкоманду showpkg , чтобы узнать, установлены эти зависимости или нет. Например, используйте команду showpkg вместе с названием пакета.
Apt-cache showpkg vsftpd
Как можно просмотреть статистику кэша?
Подкоманда stats отобразит полную статистику о кеше, например, полное число пакетов, найденное в кеше. Используйте такую команду:
Apt-cache stats
Как обновить список пакетов в системе?
Команда update используется для синхронизации и обновления индексных файлов пакетов. Синхронизация происходит с источниками, указанными в файле /etc/apt/sources.list . Эту команду можно использовать, например, чтобы не упускать важные обновления пакетов.
Sudo apt-get update
Как обновить пакеты в системе?
Команда upgrade используется для обновления всего установленного на данный момент софта в вашйе системе. Иногда может получиться так, что обновление установить нельзя из-за какого-либо другого пакета, который требует старую версию.
Sudo apt-get upgrade
Но если вы хотите обновиться вне зависимости от требований пакетов, используйте подкоманду dist-upgrade:
Sudo apt-get dist-upgrade
Как я могу установить или обновить какой-либо конкретный пакет?
Подкоманда install используется для установки или обновления какого-либо пакета.
Sudo apt-get install netcat
Как я могу установить несколько пакетов сразу?
Вы можете ввести названия нескольих пакетов, чтобы установить их одновременно. Например, чтобы установить пакеты nethogs и goaccess , вы можете выполнить следующую команду:
Sudo apt-get install nethogs goaccess
Как установить несколько пакетов по «маске» названия
С помощью регулярных вырежний вы можете добавлять несколько пакетов с помощью специальных символов. Например, можно использовать звездочку, чтобы установить все пакеты, которые содержат строку «name» в названии:
Sudo apt-get install *name*
Как установить пакеты без обновления.
Использование флага –no-upgrade предотвратит обновление уже установленных пакетов.
Sudo apt-get install packageName --no-upgrade
Как только обновить определенные пакеты?
Флаг –only-upgrade не установит новые пакеты, а только обновит существующие.
Sudo apt-get install имя_пакета --only-upgrade
Как я могу установить определенную версию пакета?
Представим, что вам необходимо установить специфичную версию пакета, просто используйте знак равно вместе с именем пакета и припишите желаемую версию.
Sudo apt-get install vsftpd=2.3.5-3ubuntu1
Как удалить пакеты без удаления настроек?
Чтобы удалить программные пакеты без удаления их конфигурационных файлов (для дальнейшего их использования), используйте команду remove как показано.
Sudo apt-get remove vsftpd
Как полностью удалить пакеты?
Чтобы удалить пакет вместе с его файлами настроек, используете подкоманду purge , как показано ниже.
Sudo apt-get purge vsftpd
Или вы можете объединить обе команды, вот так:
Sudo apt-get remove --purge vsftpd
Как можно очистить место на диске?
Команда clean используется для освобождения дискового пространствва за счет удаления полученных.deb-файлов пакетов в вашем локальном репозитории.
Sudo apt-get clean
Как только загрузить исходный код пакета?
Чтобы только загрузить исходный код пакета, вы можете использовать опцию –download-only source с именем пакета, например:
Sudo apt-get --download-only source vsftpd
Как можно загрузить и распаковать пакет?
Чтобы загрузить и распаковать исходный код пакета в специальную директорию, выполните следующую команду:
Sudo apt-get source vsftpd
Как можно загрузить, распаковать и скомпилировать исходный код пакета?
Вы также можете загрузить, распаковать и скомпилировать исходный код пакета, используя опцию ‘–compile‘, как показано ниже:
Sudo apt-get --compile source goaccess
Как загрузить пакет без установки
Используя опцию «download», вы можете загрузить любой пакет, не устанавливая его. Например, следующая команда только загрузит пакет nethogs в текущую рабочую директорию.
Sudo apt-get download nethogs
Как можно просмотреть лог изменений (changelog) пакета?
Флаг changelog загружает лог изменений пакета и отображает версию пакета, если он установлен.
Sudo apt-get changelog vsftpd
Как можно исправить сломанные зависимости?
Команда «check» – инструмент для диагностики, он используется для обновления кеша пакетов и проверки на сломанные зависимости.
Sudo apt-get check
Как можно найти и собрать зависимости?
Команда build-dep ищет и устанавливает собранные зависимости нужного пакета. Если пакет отсутствует в локальном репозитории, вы получите ошибку.
Sudo apt-get build-dep netcat
Как можно автоматически очистить кеш Apt-Get?
Команда autoclean удаляет все.deb-файлы из /var/cache/apt/archives для освобождения свободного места на жестком диске.
Sudo apt-get autoclean
Как можно автоматически удалить ненужные пакеты?
Подкоманда autoremove используется для автоматического удаления пакетов, которые были установлены как зависимости других, но сейчас они больше не нужны. Например, следующая команда удалит установленный пакет вместе с его зависимостями.
Sudo apt-get autoremove vsftpd
Информация любезно предоставлена сайтом . Спасибо.
APT (сокращение от Advanced Packaging Tool) — это набор утилит для установки, удаления, обновления, поиска пакетов в Linux, а также для управления репозиториями. APT еще называют пакетным менеджером.
APT использует репозитории пакетов. Список репозиториев для APT хранится в файле /etc/apt/sources.list , а также в директории /etc/apt/sources.list.d/ .
APT используется в дистрибутивах, основанных на Dedian и Ubuntu .
Для управления APT существуют разные утилиты, но самые популярные из них это утилиты командной строки apt-get и apt.
В данной статье мы рассмотрим, как пользоваться командой apt, а также узнаем, чем отличается apt от apt-get.
Кратко ответим на очень популярный вопрос, а в чем разница между командами apt и apt-get?
apt это утилита, которая появилась, как альтернатива apt-get. Она выполняет практически все те же функции, что и apt-get, но с ней проще и понятнее работать.
Например, все команды apt имеют простой синтаксис: apt название_команды . А у apt-get есть дополнительные команды, например, apt-cache . Таким образом, при использовании apt, пользователю не нужно запоминать дополнительные наборы команд.
Помимо упрощения работы с командами, apt нагляднее выводит информацию, вроде бы мелочи, но работать удобнее. Например, apt умеет показывать прогресс бар, а при выполнении apt update можно увидеть сколько пакетов можно обновить.
Стоит отметить, что утилита apt-get более функциональна, чем apt. Но для рядового пользователя apt будет более чем достаточно.
Синтаксис команды apt следующий:
Sudo apt
У APT есть список репозиториев, из которых происходит установка пакетов. Список хранится в текстовом файле /etc/apt/sources.list , а также в директории /etc/apt/sources.list.d/ . При выполнении команды apt update , APT проходит по списку репозиториев и из каждого репозитория в списке получает информацию о пакетах, находящихся в репозитории. Вся эта информация сохраняется в системе.
Если выходит новая версия какого-нибудь пакета, то APT не узнает об этом, пока не будет выполнена команда apt update . Поэтому, если установить данный пакет (не выполнив предварительно apt update), то будет установлена та версия пакета, информация о которой хранится в системе в данный момент.
Нет, перед установкой каждого пакета apt update конечно же выполнять не следует. Достаточно выполнять apt update периодически. Если вам предстоит установка нескольких пакетов, то сначала можно один раз выполнить apt update , а потом уже устанавливать пакеты.
Чтобы выполнить обновление пакетов, установленных в системе, используется команда:
Sudo apt upgrade
Данная команда только обновляет пакеты до новых версий, но никогда не удаляет и не устанавливает другие пакеты.
Есть еще одна команда для обновления пакетов:
Sudo apt full-upgrade
Данная команда выполняет обновление пакетов, а также удаляет или устанавливает новые пакеты, если это потребуется для разрешения зависимостей.
Чтобы установить пакет используется команда:
Sudo apt install
Для установки нескольких пакетов их имена записываются через пробел:
Sudo apt install
Чтобы установить определенную версию пакета нужно после названия пакета, через знак равенства, указать требуемую версию:
Sudo apt install =
Для удаления, установленного пакета, используется команда:
Sudo apt remove
apt purge работает аналогично apt remove , но удаляет еще и конфигурационные файлы, относящиеся к пакету. Это означает, что если вы установили какую-нибудь программу, настроили ее, а потом удалили командой apt remove , то конфигурационный файл этой программы останется в системе. Если вы теперь установите эту программу снова, то можно будет использовать предыдущий конфигурационный файл, так как он не был удален.
apt purge не удаляет конфигурационные файлы, хранящиеся в вашей домашней директории.
Если вы удалили пакет командой apt remove , то вы можете выполнить apt purge для данного, уже удаленного пакета, чтобы «доудалить» его конфигурационные файлы.
Когда вы устанавливаете пакет, то часто устанавливаются дополнительные пакеты, являющиеся его зависимостями. Если теперь вы удалите этот пакет, то зависимости останутся в системе. apt autoremove удаляет эти зависимости, но только те, которые не нужны другим установленным пакетам.
Команда apt list используется для вывода списка пакетов по какому-то критерию.
Вывести список установленных в системе пакетов:
Apt list --installed
Вывести список пакетов, которые требуют обновления (у которых вышла новая версия):
Apt list --upgradable
Вывести список всех пакетов доступных для вашей системы:
Apt list --all-versions
Данная команда выполняет поиск указанного слова в названии пакетов и в описании пакетов. Поддерживаются регулярные выражения.
Можно выполнять поиск только по названиям пакетов для этого используется опция --names-only :
Apt search --names-only
Поиск пакета с использованием регулярных выражений:
Apt search --names-only "^python"
Выводит информацию о пакете. Отображается версия, размер, описание, зависимости и другая информация.
Открывает файл /etc/apt/sources.list в текстовом редакторе для редактирования, после сохранения изменений и закрытия редактора, выполняет проверку файла на предмет ошибок. В случае наличия ошибок, выводит предложение на повторное редактирование файла, чтобы исправить ошибки.
Команда apt | Аналог команды apt-get | Описание |
---|---|---|
apt install | apt-get install | Установить пакет |
apt remove | apt-get remove | Удалить пакет |
apt purge | apt-get purge | Удалить пакет и конфигурационные файлы |
apt autoremove | apt-get autoremove | Удалить неиспользуемые пакеты |
apt update | apt-get update | Обновить список пакетов |
apt upgrade | apt-get upgrade | Обновить пакеты |
apt full-upgrade | apt-get dist-upgrade | Обновить пакеты (удалить и установить новые, если требуется) |
apt list | Примерный аналог: dpkg-query --list | Список пакетов |
apt search | apt-cache search | Поиск пакета |
apt show | apt-cache show | Информация о пакете |
Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В Debian для этого можно использовать несколько методов.
В сегодняшней статье мы рассмотрим как посмотреть список установленных пакетов Debian с помощью терминала, в интерфейсе curses, а также в графическом интерфейсе. Такие списки можно использовать не только для резервного копирования, но и для того, чтобы просто перебрать и удалить ненужные программы, тем самым очистив систему от мусора.
Самый первый способ посмотреть установленные пакеты Debian, это утилита dpkg. Она может применяться не только в Debian, а во всех, основанных на нем дистрибутивах:
dpkg --get-selections | grep -v deinstall
dpkg --get-selections | grep -v deinstall > mylist.txt
Можно также убрать всю лишнюю информацию и сохранить только имена пакетов:
dpkg -l | grep ^ii | awk "{ print $2}" > mylist.txt
Следующий способ решения этой задачи - использование утилиты dpkg-query. Она похожа на предыдущий вариант, но немного проще. Такая команда отобразит все установленные пакеты вместе с информацией о них:
Здесь тоже можно выбрать только имена пакетов с помощью опции -f:
dpkg-query -f "${binary:Package}\n" -W
Третий метод - это утилита apt, которой мы привыкли пользоваться для установки приложений, она имеет команду list:
apt list --installed
apt list --installed | grep python
Мы более подробно рассматривали apt в статье . Еще одна интересная возможность apt - посмотреть какие пакеты были установлены вручную. Для этого наберите:
apt-mark showmanual
И еще один вариант с использованием apt:
apt-cache pkgnames
Утилита для управления пакетами aptitude тоже позволяет вывести список установленных пакетов:
aptitude search "~i!~M"
Также aptitude может работать в режиме curses, что очень удобно:
Последний способ посмотреть список установленных пакетов - это файл /var/lib/apt/extended_states. Это база данных, в которой содержится установленные программы debian в таком формате:
Package: имя_пакета
Architecture: архитектура
Auto-Installed: 0_или_1
cat /var/lib/apt/extended_states
Многие пользователи создают список пакетов не просто чтобы посмотреть, а для будущего восстановления. Если вы делали список с помощью dpkg, то его можно очень просто восстановить в системе с помощью аналогичной команды:
sudo dpkg --clear-selections
$ sudo dpkg --set-selections < mylist.txt
Все очень просто. Чтобы установить пакеты после добавления их в список используйте команду:
sudo apt dselect-upgrade
Если же у вас просто есть список имен пакетов, то восстанавливать его нужно немного по-другому. Просто передайте все эти имена команде apt для установки:
xargs < mylist.txt apt install -y
В этой статье мы рассмотрели как посмотреть список установленных пакетов Debian. Это может быть очень полезно и выполняется достаточно просто. Надеюсь, эта информация была полезной для вас.
Ubuntu 16.04 уже вышла и предоставляет своим пользователям много очень интересных изменений, таких как поддержка файловой системы BSD - ZFS, поддержка новой технологии установки пакетов - snap и много других. Но одна вещь, о которой вы, скорее всего, еще не слышали, потому что такие мелочи часто теряются - это apt.
Что такое apt? Это новый менеджер пакетов для Ubuntu, готовый взять на себя работу apt-get. Он разрабатывался, чтобы быть более дружелюбным, эффективным и безопасным. Так что же задумали в Canonical представляя новый пакетный менеджер? Есть ли на самом деле отличия apt vs apt-get? Это мы и будем выяснять в сегодняшней статье.
Apt был реализован, чтобы упростить работу с менеджером пакетов и объединить несколько команд в одну. Функционал apt-get был переработан, таким образом, чтобы правильно работать в apt.
Несмотря на то что эти новые команды созданы, чтобы работать аналогично apt-get, но они основаны на новом коде, для взаимодействия с пакетами.
Основной причиной введения apt, является сама суть Ubuntu - простота и удобство использования. Хотят ли люди признавать или нет, но apt-get - устаревший инструмент и практичность его применения очень сомнительна. Apt был разработан с нуля, чтобы быть еще эффективнее, он предназначен быть приятным для новых пользователей.
Apt или apt-get. Так в чем же разница между этими двумя решениями? Для начала вам больше не нужно использовать apt-get autoremove, чтобы очистить кеш пакетов. Также вам не нужно вводить apt-cache search для поиска пакетов.
Эти команды были заменены на apt search и apt remove. Главное отличие apt - в том, что оно заменяет все команды apt-get, apt-cache и т д. Вся функциональность объедениена в одной утилите.
Хотя это не единственное отличие, от apt-get. Здесь улучшены прогресс бары установки программного обеспечения. Также поддерживаются некоторые дополнения, которые делают утилиту умнее предыдущей. Например, при обновлении источников программного обеспечения с помощью apt-get нет простого способа посмотреть список пакетов доступных к обновлению. Вы можете просто выполнить sudo apt-get update, а затем:
sudo apt list-upgradable
Конечно, мелочи, но приятно. Также были добавлены новые, современные цвета вывода, и в целом установка пакетов проходит быстрее. Canonical не спешит отказываться от apt-get, но они сделают это позитивным изменением.
Вот список поддерживаемых apt команд, взятый прямо из вывода --help. Эти команды очень похожи на реализацию apt-get и apt-cache, но более упорядочены и сгруппированы.
Основные команды:
Более подробную информацию вы найдете, выполнив man apt в терминале. Хранящаяся там информация поможет вам досконально изучить новую утилиту.
Apt-get проверенная и надежная часть менеджера программного обеспечения. Этот инструмент используется на протяжении большого времени и поставляется по умолчанию во многих релизах Ubuntu и Debian. Мы всегда его использовали когда нужно было обновить что-то, обновить программное обеспечение или даже просто очистить систему от мусора.
Тем не менее она устаревает. Менеджер пакетов уже не отвечает всем потребностям пользователей, а поэтому он медленно заменяется на apt. Разработчики Ubuntu понимают, что им нужно обновить свой пакетный менеджер, сделать его более простым, элегантным и безопасным. Но пока в системе существуют обе утилиты и выбирать что использовать apt или apt-get предстоит вам. Будете ли вы использовать новый менеджер пакетов? Или уже используете?