Пакетный менеджер APT. Apt-get. Управление пакетами в Ubuntu


Автор: Craciun Dan
Дата публикации: September 20th, 2010
Перевод: Н.Ромоданов
Дата перевода: декабрь 2010 г.

В настоящем руководстве представлены наиболее популярные и полезные примеры использования команд APT и DPKG, которые можно применить как в Ubuntu, так и в Debian (а также в системах, производных от них). Явно указано, в каких случаях требуются привилегии суперпользователя, а для тех команд, где ничего не указано — команду может выполнить обычный пользователь. Если вы используете Ubuntu, то для получения привилегии суперпользователя, наберите перед командой префикс sudo (и введите свой пароль пользователя); в Debian наберите команду su , введите пароль, а затем вводите команды, которые описаны ниже.

dpkg -L package_name

Эта команда покажет, какие файлы для пакета с именем package_name установлены на вашем компьютере. Обратите внимание, что эта команда работает только для уже установленных пакетов. Пример:

[email protected]:~$ dpkg -L vorbis-tools /. /usr /usr/bin /usr/bin/ogg123

apt-get build-dep package_name

(необходимы привилегии root)

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

Apt-get build-dep wesnoth

С помощью этой команды будут установлены все пакеты разработчика, необходимые для приложения Wesnoth. Имейте в виду, что у вас должен быть прописан доступ к репозитариям исходных кодов (в Ubuntu по умолчанию доступ к ним есть).

apt-get clean (и apt-get autoclean)

(необходимы привилегии root)

С помощью этой команды удаляются все архивы, установленные в вашей системе. Всякий раз, когда вы устанавливаете приложение, оно будет загружено и его пакет DEB будет помещен в директорий /var/cache/apt/archives/. Данная команда удаляет эти пакеты и освобождает место.

Apt-get clean apt-get autoclean

Относительно apt-get autoclean: с помощью этой команды удаляются только те архивы, которых уже нет в репозитариях, и сохраняются те, которые в данный момент в репозитариях присутствуют. Эта команда полезна, если вы хотите избавиться от старых архивов, которые были обновлены, но обновленные архивы хотите на всякий случай сохранить. Для того, чтобы увидеть, сколько места занимают архивы, используйте команду du -h (аргумент -h указывает, что результат нужно выдать в формате, удобном для чтения):

Du -h /var/cache/apt/archives/

apt-cache show package_name

Будет отображена информация о любом пакете package_name , который присутствует в репозитарии. Вам достаточно набрать только название пакета, а не указывать название и версию. Пример:

[email protected]:~$ apt-cache show vorbis-tools Package: vorbis-tools Priority: optional Section: sound Installed-Size: 580 ...

apt-cache search pattern

Будет произведен поиск и будет выдан список всех пакетов, у которых в имени или в описании содержится шаблон поиска (pattern ). Вы можете перенаправить этот список в grep для получения результата в более удобном варианте:

[email protected]:~$ apt-cache search gnome terminal|grep terminal gmfsk - MFSK, RTTY and other digital mode terminal for HF/amateur radio gnome-terminal-data - Data files for the GNOME terminal emulator gnome-terminal - The GNOME 2 terminal emulator application

apt-get update && apt-get upgrade

(необходимы привилегии root)

Это одностроковая команда, которая обновит список ваших пакетов и выполнит обновление вашей системы. Поскольку для ее выполнения требуются привилегии root, то если ваш дистрибутив — Ubuntu, используйте sudo apt-get update && sudo apt-get upgrade . Обратите внимание, что вторая команда (после двойного амперсанда) выполняется только в случае, если выполнение первой команды было успешным, поэтому, если по какой-нибудь причине списка обновлений получить не удалось, вторая команда выполняться не будет. Если вы используете тестовый или бета-релиз, используйте вместо нее следующую команду:

Sudo apt-get update && sudo apt-get dist-upgrade

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

dpkg --get-selections

Эта команда выведет список всех пакетов, установленных в системе с помощью менеджера пакетов (более точно, это те пакеты, которые были выбраны в менеджере пакетов — прим.пер. ). Пример:

[email protected]:~$ dpkg --get-selections acpi-support-base install acpid install adduser install akregator install ...

dpkg -S filename

Будет найден по образцу filename список файлов, имеющихся в установленных пакетах. Пример:

[email protected]:~$ dpkg -S oggenc vorbis-tools: /usr/share/man/man1/oggenc.1.gz vorbis-tools: /usr/bin/oggenc [email protected]:~$

apt-get autoremove

(необходимы привилегии root)

С помощью этой команды удаляются ненужные пакеты (например, одиночные пакеты), которые не используются никаким из пакетов, в текущий момент установленных в системе. Такая ситуация часто возникает после удаления определенного приложения, когда его зависимости не удаляются и по-прежнему остаются в системе. Используйте эту команду, чтобы избавиться от таких пакетов.

apt-cache dump

Эта команда выводит список всех пакетов, находящихся в кэше.

apt-cache depends package_name

Очень полезная команда, которая перечисляет все зависимости, которые есть у пакета, в том числе и рекомендуемые пакеты.

[email protected]:~$ apt-cache depends vorbis-tools vorbis-tools Depends: libao2 Depends: libc6 Depends: libcurl3-gnutls ...

apt-cache rdepends package_name

Команда покажет обратную зависимость пакетов, т. е. будет выдан список всех пакетов, которые зависят от указанного пакета.

Apt-cache rdepends mplayer

apt-cache policy package_name

Эта команда выдаст список репозитариев, в которых находится пакет. В Ubuntu, есть четыре таких репозитария: main, restricted, universe и multiverse. В Debian имеются репозитари main, contrib и non-free. Для каждого пакета есть определенная политика его использования и она зависит от того, в каком из указанных репозитариев находится пакет.

Apt-cache policy amarok apt-cache policy sun-java6-jre

apt-cache showsrc package_name

Будет отображаться информация об исходном коде пакета.

apt-get -f install

(необходимы привилегии root)

Будет сделана попытка исправить нарушенные зависимости. Как правило, эта команда очень полезна в случае, если вы пытаетесь вручную установить пакет DEB, не устанавливая первоначально его зависимости. Выполните команду apt-get -f install , а затем снова попытайтесь установить пакет.

apt-cdrom add

(необходимы привилегии root)

Команда добавит CD-ROM к числу источников, откуда можно получать пакеты, так что вы сможете устанавливать с него пакеты. Эта команда особенно полезна, если у вас есть образы ISO, которые вы не хотите записывать на компакт-диск. Для того, чтобы сканировать образы ISO, используйте команду:

Apt-cdrom -d=/cdrom add

В результате в директории /cdrom будет смонтирован образ ISO, а затем его содержимое будет добавлено в sources.list. Обратите внимание, что директорий /cdrom должен быть пустым. Для этого вы можете использовать любой пустой директорий:

Apt-cdrom -d=/home/USER/mydir

dpkg -c local_file.deb

Аргумент -c указывает команде dpkg выдать список содержимого пакета DEB. Пример:

[email protected]:~$ dpkg -c google-chrome-stable_current_i386.deb ... drwxr-xr-x root/root 0 2010-07-30 23:54 ./usr/share/man/man1/ -rwxr-xr-x root/root 3098 2010-07-30 23:54 ./usr/share/man/man1/google-chrome.1 lrwxrwxrwx root/root 0 2010-07-30 23:54 ./usr/bin/google-chrome -> /opt/google/chrome/google-chrome

dpkg -f local_file.deb

Эта команда покажет управляющую информацию бинарного пакета. Из нее менеджер пакетов получает данные о зависимостях, о том, кто осуществляет поддержку пакета, о домашней странице пакета, общее описание, а также многое другое.

Если вы используете 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.

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

Здесь вы увидите три типа линий: Сущ, Пол и Игн.

И если их расшифровать, то вы получите

  • Сущ: нет изменений в версии пакета
  • Игн: пакет игнорируется. Либо пакет слишком поздний, что он даже не утруждает себя проверкой, либо возникла ошибка в извлечении файла, но ошибка была тривиальной и, следовательно, она игнорируется. Не волнуйтесь, это не ошибка.
  • Пол: доступна новая версия. Он будет загружать информацию о версии (а не о самом пакете). Вы можете видеть, что есть информация о загрузке (размер в kb) с линией «get» на скриншоте выше.

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

После обновления базы данных пакетов вы можете обновить установленные пакеты. Самый удобный способ – обновить все пакеты с имеющимися обновлениями.

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

Это покажет вам, сколько и какие пакеты будут обновлены.

Существует еще один способ сделать полное обновление, для этого просто введите команду

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, для этого вы можете использовать следующую команду:

Вы можете использовать автозаполнение, и если вы не уверены в точном имени пакета, вы можете ввести несколько букв и нажать клавишу “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?

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

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

Apt search <имя_пакета/библиотеки>

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

Apt show <имя_пакета>

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

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

Команда apt имеет новый параметр, называемый списком. Используя эту команду, вы можете увидеть все пакеты у которых есть новая версия, готовых к обновлению:

Вы также можете увидеть все установленные пакеты в системе с установленной опцией:

Apt list --installed

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

Apt list --all-versions

Как очистить вашу систему с помощью 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

Возможно вы знаете еще какие-то команды или атрибуты, тогда эта статья будет дополнена.

Google, неясно, как я нахожу новые программы для установки (из Интернета) с помощью apt-get (что удивительно мощное и простое из другого дистрибутива Linux).

Я использую Ubuntu Server 8.04 LTS (унаследованная система, используемая для некоторой случайной работы), поэтому нет графического интерфейса.

У кого-нибудь есть быстрый совет здесь?

Я всегда использую package.ubuntu.com

Также вы можете использовать apt-cache search для apt-cache search в командной строке. Или вы можете использовать диспетчер пакетов GUI (Ubuntu Software Center / Synaptic) для поиска программного обеспечения.

Если вы ищете «настройки nvidia».

Apt-cache search nvidia settings

Nvidia-settings - Werkzeug für die Konfiguration des NVIDIA-Grafiktreibers nvidia-settings-updates - Tool of configuring the NVIDIA graphics driver

Вы видите 2 пакета nvidia-settings и nvidia-settings-updates .

Чтобы найти связанный двоичный файл с пакетом nvidia-settings .

Dpkg -L nvidia-settings | grep bin

/usr/bin /usr/lib/nvidia-settings/bin /usr/lib/nvidia-settings/bin/nvidia-settings

nvidia-settings – это двоичное имя для запуска программы.

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

$ bonnie++ The program "bonnie++" is currently not installed. You can install it by typing: sudo apt-get install bonnie++

Кроме этого, существуют поисковые запросы: поиск apt-cache search или aptitude search который может быть предпочтительным, если вы хотите действительно задействовать фильтры.

Я думаю, вы имеете в виду имя двоичной программы, включенное в пакет. Я использую эту технику, чтобы найти это:

просто введите dpkg -L В терминал, он отобразит все файлы, установленные этим пакетом, тогда вы сможете распознать имена двоичных программ, посмотрев их местоположение. Обычно программы устанавливаются в каталоге /usr/bin или /sbin .

Давайте посмотрим пример:

[email protected]:~$ dpkg -L gnome-screenshot /. /usr /usr/bin /usr/bin/gnome-screenshot /usr/share /usr/share/GConf /usr/share/GConf/gsettings /usr/share/GConf/gsettings/gnome-screenshot.convert /usr/share/applications /usr/share/applications/gnome-screenshot.desktop /usr/share/man /usr/share/man/man1 /usr/share/man/man1/gnome-screenshot.1.gz /usr/share/gnome-screenshot /usr/share/gnome-screenshot/gnome-screenshot.ui /usr/share/glib-2.0 /usr/share/glib-2.0/schemas /usr/share/glib-2.0/schemas/org.gnome.gnome-screenshot.gschema.xml /usr/share/doc /usr/share/doc/gnome-screenshot /usr/share/doc/gnome-screenshot/copyright /usr/share/doc/gnome-screenshot/NEWS.gz /usr/share/doc/gnome-screenshot/changelog.Debian.gz

Обратите внимание, что имя программы gnome-screenshot package – gnome-screenshot .

Ты спрашивал

Есть ли стандартный способ узнать Для желаемой программы?

Иногда терминал может указать ваше имя пакета, которое необходимо установить, чтобы иметь нужную программу. Это происходит, когда программа находится в стандартном репозитории, и вы включили этот репозиторий.

Например, если я gnome-documents когда такой пакет не установлен, терминал скажет следующее:

[email protected]:~$ gnome-documents The program "gnome-documents" is currently not installed. You can install it by typing: sudo apt-get install gnome-documents

Но в этом случае я должен хотя бы знать название программы

Вы можете попробовать «aptitude» программы из командной строки. Это графический менеджер пакетов. Не забудьте добавить sudo в программу для любых реальных установок. "sudo aptitude". Вы также можете использовать aptitude точно так же, как apt-get; "sudo aptitude install". Я предпочитаю apt-get для одиночных пакетов, для которых я знаю имена.

Кроме того, вы просто на командной строке? Если у вас есть рабочий стол, вы можете использовать System -> Preferences -Synaptic или Ubuntu Software Center. Они работают почти одинаково, но у них есть более простой пакетный поиск.

Вы можете получить (длинный) список устанавливаемых пакетов, набрав apt-get install а затем дважды нажав TAB (для автозаполнения). Это ограничено, потому что оно не говорит вам, что делают пакеты (Synaptic или Software Center было бы лучше для этого), но это может быть полезно, когда вы не можете вспомнить точное имя пакета. Вы также можете ввести первую часть имени пакета (например, openoffice), чтобы получить более короткий список более релевантных пакетов.

Используйте инструмент командной строки, если вы знаете нужное имя пакета. Я не использую программный центр. Вы можете получить имя пакета через программный центр и использовать его в терминале, если вам действительно нужно использовать инструмент apt-get из командной строки. И обычно имя пакета совпадает с именем программы.

вы можете запустить (желательно в ~ ~ / .bashrc)

. /etc/bash_completion

при вводе:

Sudo apt-get in

он предложит установку, а затем начнет вводить часть имени – например, nvidia

и вы увидите доступные варианты, начиная с nvidia

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

В этой статье мы разберем как удалить deb пакет Ubuntu, при чем удалить чисто, так, чтобы после него не осталось следов в системе. Также поговорим о полном удалении PPA, поскольку много пакетов, которых нет в официальных репозиториях мы устанавливаем из PPA.

Самый простой способ удалить пакет Ubuntu, это воспользоватся одной из графических утилит, поставляемых специально для этого, например Synaptic или Центр приложений Ubuntu. По сути это делается в пару кликов. Сначала рассмотрим порядок действий в Центре приложений Ubuntu.

Запустить центр приложений вы можете из панели значков Unity:

Список всех установленных пакетов находится на вкладке Установлено, здесь приложения рассортированы по категориям:

Чтобы удалить пакет Ubuntu, достаточно кликнуть по нему левой кнопкой мыши, и когда появляться доступные действия нажать кнопку Удалить :

Для завершения удаления нужно будет ввести пароль.

Пакет удален, но не совсем так, как нам хотелось бы. Но об этом позже.

Дальше рассмотрим пакетный менеджер Synaptic. Это как ни как стороннее программное обеспечение, но многие его используют из-за большого функционала и удобного интерфейса. Если программа еще не установлена, ее нужно установить с помощью центра приложений или выполнив в терминале:

sudo apt install synaptic

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

Посмотреть установленные пакеты вы можете выбрав вкладку состояние, а затем выбрав Установленные:

Удалить deb ubuntu вы можете просто нажав правой кнопкой мыши и в контекстном меню на нужном пакете и выбрав отметить для удаления или отметить для полного удаления :

Программа покажет, какие еще пакеты будут удалены, это те пакеты, которые зависят от нашего пакета:

Теперь, чтобы завершить удаление, осталось нажать кнопку Применить :

Теперь программа покажет какие пакеты будут удалены. И пойдет процесс удаления:

Просто удаление и полное удаление отличается только тем, что при полном удалении удаляются конфигурационные файлы. Но проблема этих инструментов в том, что пакеты установленные как зависимости и рекомендованные к программе не удаляются и остаются в системе. Такое поведение наблюдается как в Synaptic, так и в Центре приложений Ubuntu. Поэтому мы переходим к описанию самого гибкого способа - удаление пакетов Ubuntu в терминале.

Как удалить пакет Ubuntu в терминале

В новых версиях Ubuntu для управления пакетами, а в том числе и удаления можно использовать новый менеджер пакетов - apt. Команда удаления выглядит таким образом:

sudo apt remove имя_пакета

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

Если вы хотите использовать apt-get чтобы удалить deb ubuntu, то порядок действий немного другой. Для обычного удаления пакета выполните:

sudo apt-get remove имя_пакета

Для удаления пакета вместе с его конфигурационными файлами, выполните:

sudo apt-get purge имя_пакета

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

sudo apt-get autoremove

Будут удаленны не только явно указанные зависимости, но и программы установленные как рекомендованные.

Ну с основами разобрались, теперь перейдем к более сложным ситуациям. Что если вы устанавливали программу из deb файла и теперь не знаете точно, как называется ее пакет, чтобы удалить?

Это очень просто узнать, например по исполняемому файлу, допустим исполняемый файл программы TimeShift находится по адресу /usr/bin/timeshift, теперь узнаем ее пакет:

sudo dpkg -S /usr/bin/timeshift

timeshift: /usr/bin/timeshift

Как видите, пакет так и называется - timeshift. Теперь можно удалить программу Ubuntu, одним из выше описанных способов.

Очень часто мы устанавливаем недостающее нам программное обеспечение из PPA, но не все эти пакеты нужны нам на протяжении долгого времени, а при обновлении системы, могут даже вызвать ошибки. Так как же удалить все пакеты установленные из PPA? Для этого есть специальная утилита: ppa-purge.

Если она еще не установлена, устанавливаем командой:

sudo apt install ppa-purge

Теперь, чтобы удалить все пакеты установленные из определенного ppa используйте:

sudo ppa-purge -i ppa:ppaowner/ppaname

ppa:ppaowner/ppaname - обычно в таком формате записываются все PPA. Протокол:владелец/имя.

Узнать список репозиториев можно в программе источники приложений:

Такой командой можно одним махом удалить пакеты ubuntu, установленные из ppa:

find /etc/apt/sources.list.d -type f -name "*.list" -print0 | \
while read -d $"\0" file; do awk -F/ "/deb / && /ppa\.launchpad\.net/ {print "sudo ppa-purge ppa:"$4"/"$5}" "$file"; done

Если вы устанавливали приложение из исходных кодов, то удалить его намного сложнее, потому что оно не контролируется менеджером пакетов, и соответственно система не знает какие файлы ему принадлежат.

Но все же способ есть, обычно, разработчики в файле сценариев makefile, кроме цели install реализуют цель uninstall, которая дозволяет выполнить обратное действие.

apt-get [ опции ] [ команда ] [ пакет … ]

Описание комманды.

apt-get это инструмент командной строки для управления пакетами и может рассматриваться как пользовательский интерфейс к apt .

командами служат: o update o upgrade o dselect-upgrade o dist-upgrade o install пакет1 [пакет2] […] o remove пакет1 [пакет2] […] o source пакет1 [пакет2] […] o check o clean o autoclean update update используется для повторной синхронизации файлов описаний пакетов с их источником. Описания доступных пакетов будут получены из источников, указанных в /etc/apt/sources.list . Например, при использовании архива Debian, эта команда разыскивает и просматривает файлы Packages.gz , таким образом становится доступной информация о новых и обновлённых пакетах. Перед upgrade и dist-upgrade всегда должно выполняться update . Пожалуйста помните, что индикатор прогресса показывает не точную информацию, поскольку размер файлов пакетов заранее не известен. upgrade upgrade используется для установки новейших версий всех установленных пакетов системы из источников, указанных в /etc/apt/sources.list . Будут разысканы новейшие версии установленных в настоящий момент пакетов и произведено обновление; ни в коем случае не будет удалено ни одного установленного пакета или установлено нового пакета, не имеющего уже установленной в системе предыдущей версии. Текущие версии установленных в настоящий момент пакетов, если они не могут быть обновлены новыми версиями без изменения статуса других пакетов, будут оставлены в неизменном виде. Для того, чтобы apt-get узнал о существовании доступных новых версиях пакетов, данной команде должна предшествовать команда update . dselect-upgrade dselect-upgrade используется совместно с традиционным инструментом управления пакетов в Debian GNU/Linux — dselect . dselect-upgrade следует изменениям, которые делает dselect с полем Status доступных пакетов и выполняет действие, необходимое для реализации этого состояния (например, удаление старых и установка новых пакетов). dist-upgrade dist-upgrade , в дополнение выполняет функцию upgrade , а также разумно управляет изменением зависимостей с новыми версиями пакетов; apt-get имеет «умную» систему разрешения конфликтов и она будет в случае необходимости пытаться произвести обновление наиболее важных пакетов за счет менее важных. Файл /etc/apt/sources.list содержит список источников для получения пакетов, из которых будут получены файлы пакетов. install install устанавливает один или более пакетов отмеченных к установке. Каждый пакет — это имя пакета, а не полное имя файла, содержащее этот пакет (например, в системе Debian GNU/Linux, в качестве пакета может быть указано имя ldso , а не ldso_1.9.6-2.deb ). Все пакеты, требуемые заданным пакетом (пакетами) отмеченными к установке, также будут получены и установлены. Файл /etc/apt/sources.list используется для определения местонахождения нужных пакетов. Если к имени пакета добавляется символ переноса (без разделяющего пробела), то заданный пакет будет удален, если он установлен. Эта особенность может быть использована для перекрытия решения, сделанного системой разрешения конфликтов apt-get. Если нет пакетов, совпадающих с заданным выражением и выражение содержит один из символов ‘.’, ‘?’ или ‘*’, то оно рассматривается как шаблон для регулярных выражений POSIX и уже этот шаблон применяется ко всем именам пакетов в базе данных. Любые совпадающие с шаблоном пакеты будут затем установлены (или удалены). Заметим, что к примеру, подстрока ‘lo*’ совпадает с ‘how-lo’ и ‘lowest’. Если это нежелательно, предваряйте их символом ‘^’. remove remove идентична install за исключением того, что пакеты вместо установки удаляются. Если к имени пакета добавляется знак плюс (без разделяющего пробела), то указанные пакеты будут установлены. source source принуждает получать пакеты с исходными текстами. APT проверит доступные пакеты на предмет получения их исходных текстов. Затем он ищет и копирует в текущий каталог новейшую доступную версию этих исходных текстов. Пакеты исходных текстов обслуживаются отдельно от бинарных через ввод строк deb-src или rpm-src в файл /etc/apt/sources.list . Предполагается, что для получения исходных текстов, вы будете использовать источник, отличный от того, из которого вы получаете готовые пакеты. Если задана опция —compile, то пакет с исходными текстами будет скомпилирован в бинарный deb-пакет с помощью утилиты dpkg-buildpackage или, на системах использующих RPM, при помощи rpm -ba будет собран бинарный пакет. Если задана опция —download-only, то пакет с исходными текстами не будет распакован. Заметим, что пакеты с исходными текстами не отслеживаются как бинарные пакеты, они существуют только в текущем каталоге, что очень похоже на простое выкачивание архивов исходных текстов.ta r.gz. check check — это диагностический инструмент; он обновляет кэш пакетов и проверяет пакеты, которые недо-установлены в силу каких-либо причин. clean clean очищает локальное хранилище полученных файлов пакетов. Команда удаляет все, но оставляет файлы из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/ . Когда APT используется как один из методов dselect , clean запускается автоматически. Те, кто не пользуется dselect, для освобождения места на диске могут время от времени использовать apt-get clean . autoclean Как и clean , autoclean очищает локальное хранилище полученных файлов пакетов. Отличие состоит в том, что эта команда удаляет только те файлы пакетов, которые больше не могут быть получены и использованы. Это позволяет обслуживать кэш в течении длительного периода без потери контроля над ним.

Опции

Все опции командной строки могут быть установлены при помощи файла настроек; описания показывают какой элемент настройки надо установить. Для логических опций вы можете перекрыть файл с настройками используя конструкцию вида -f- , —no-f , -f=no или некоторые другие вариации.

-d, —download-only Только выкачивать; файлы пакетов будут только выкачиваться, но не будут распаковываться и устанавливаться. -f, —fix-broken Править; попытка исправить систему с нарушенными зависимостями. Данная опция, когда используется при операциях установки и удаления, может опускать некоторые пакеты, чтобы позволить APT решить проблему. Любой указанный пакет должен полностью исправлять проблему. Данная опция иногда необходима при запуске APT в первый раз; APT сам не позволяет нарушенным зависимостям пакетов существовать в системе. Возможно, что структура зависимостей в системе может быть нарушена и требовать исправления вручную (что обычно достигается использованием dselect или dpkg —remove для удаления некоторых пакетов). Использование данной опции вместе с -m в некоторых ситуациях приведет к выводу сообщения об ошибке. -h, —help Помощь; выдать подсказку и завершить работу. -v, —version Сообщить версию программы. -m, —ignore-missing, —fix-missing Игнорировать отсутствующие пакеты; Если пакеты не могут быть получены или их полная проверка после получения окончилось неудачно (поврежденный файл пакета), то состояние пакета возвращается к предыдущему и результат обрабатывается. Использование этой опции совместно с -f в некоторых случаях может привести к ошибке. Если какой-либо пакет выбирается к установке (например, если он указан в командной строке) и он не может быть получен, то без каких-либо сообщений будет восстановлено исходное состояние. —no-download Запрещает получение пакетов. Лучше всего использовать вместе с —ignore-missing для того, чтобы заставить APT использовать только те.deb файлы, которые уже получены. -q, —quiet Производится вывод годный для протоколирования, в котором опускаются индикаторы хода выполнения задачи. Указание большего числа опций -q приведет к более урезанному выводу, максимально вы можете указать их в два раза. Вы также можете использовать конструкцию -q=# для установки нужного вам количества сообщений вывода, перекрывая файл с настройками. Заметим, что уровень 2 неявно включает -y, вы никогда не должны использовать -qq без модификатора, который запрещает действия, такого как -d, —print-uris или -s, поскольку APT может сделать что-либо неожиданное для вас.
-s, —simulate, —just-print, —dry-run, —recon, —no-act Не выполнять никаких действий; выполняет симуляцию событий, который должны происходить, но которые реально не будут выполнены и не изменят состояние системы. В режиме симуляции на экран будут выведены серии строк, которые будут отображать операции dpkg, Настройка (Conf), Удаление (Remv), Распаковка (Inst). В квадратных скобках будут указаны пакеты, которые недо-установлены по каким-либо причинам вместе со списком (или без него) заключенных в квадратные скобки причин. -y, —yes, —assume-yes Автоматически отвечать «да» в ответ на запрос программы; на все запросы, которые будет выводить программа будет автоматически выдаваться ответ «да». При возникновении нежелательной ситуации, как то: изменения пакета в состоянии удержания или удаления необходимого для работы системы пакета, apt-get будет аварийно завершать свою работу.
-u, —show-upgraded Показать обновленные пакеты; Выдает список всех пакетов, которые были обновлены. -b, —compile, —build Компилировать пакеты исходных текстов после их получения. —ignore-hold Игнорировать состояние удержания. Это заставит apt-get игнорировать состояние удержания в котором находится пакет. Это может быть полезным совместно с командой dist-upgrade для перекрытия большого числа нежелательных пакетов в состоянии удержания.
—no-upgrade Не производить обновлений пакетов; Когда эта опция используется совместно с командой install то no-upgrade предотвратит обновление уже установленных пакетов. —force-yes Принудительное выполнение заданной операции не взирая ни на что. Это опасная опция, которая заставит apt продолжать выполнение операции без каких-либо диалогов с пользователем, даже если возникнет потенциальная возможность ошибки. Она не должна использоваться кроме как в специальных ситуациях. Использование force-yes потенциально способно уничтожить вашу систему!
—print-uris Вместо копирования файлов для установки будут печататься их URI. Каждый URI будет иметь путь, имя файла, размер и ожидаемый хэш md5. Заметим, что выводимое имя файл не всегда совпадает с именем файла на удаленном сайте. Опция также работает и с командой source .
—purge Использовать purge (зачистку) вместо remove (удаления) для всех пакетов, которые будут удалены. —reinstall Переустановить пакеты, которые уже являются новейшими версиями. —list-cleanup Данная опция по умолчанию включена, используйте —no-list-cleanup для ее выключения. Когда apt-get будет автоматически управлять содержимым /var/lib/apt/lists чтобы убедиться, что устаревшие файлы удалены. Выключите данную опцию, если вы часто изменяете ваш список источников. —trivial-only Выполняет только тривиальные операции. Логически это может быть отнесено к —assume-yes, только —assume-yes будет выдавать ответ «да» на любое приглашение, а —trivial-only будет отвечать «нет». —no-remove Если какие-либо пакеты отмечены к удалению, то apt-get немедленно, без вопросов, завершит работу. —diff-only , —tar-only Получить только diff- или tar-файл из архива исходных текстов. -c, —config-file Файл с настройками; Задать файл с настройками. apt-get будет читать файл с настройками по умолчанию и затем указанный файл с настройками.

ФАЙЛЫ