sonyps4.ru

Apt-get. Управление пакетами в Ubuntu

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

Краткая справка Debian администратора

Основное и общеизвестное
Получение информации о новых/обновлённых пакетах
sudo aptitude update
Обновление
sudo aptitude safe-upgrade
Поиск пакета по именам пакетов
aptitude search key_word
Поиск пакета по точному названию
aptitude search "^name$"
Поиск по описанию
aptitude search "?description("key_word")"
Информация о пакете
aptitude show package_name
Установка
sudo aptitude install package_name
Удаление
sudo aptitude remove package_name
Полное удаление (вместе с конфигами)
sudo aptitude purge package_name
Очистить кэш загруженных пакетов (освободить место)
aptitude autoclean # удалятся только пакеты неактуальных версий aptitude clean # очистится весь кэш
Установка отдельно скачанного/созданного пакета (для создания пакета из сторонних исходников нужно использовать утилиту checkinstall с флагом -D)
sudo dpkg -i /path/to/package.deb
Для получения доп информации
man aptitude sudo aptitude install aptitude-doc-en
и смотрим документацию (/usr/share/doc/aptitude/html/en/index.html), кому быструю справку по поисковым шаблонам, тому сюда - /usr/share/doc/aptitude/html/en/ch02s04.html. Если лень ставить доку, то в сети она есть .
Вводная на Debian Wiki: wiki.debian.org/Aptitude
А теперь то что не очевидно или требует полного прочтения документации
1. Как после update посмотреть какие пакеты будут обновлены?
aptitude search ?upgradable
также можно юзать (если поставить)
sudo daptup
но после его установки точно также будет себя вести и обычный update

2. Как узнать что изменилось в пакетах которые будут обновлены?
Можно пробовать
sudo aptitude changelog package_name
для каждого пакета.
Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить
sudo dpkg-reconfigure apt-listchanges
3. Что делать если обновление что-то поломало и нужно откатиться?
Отката нет, можно попробовать найти предыдущую версию пакета
sudo aptitude version package_name
и установить её
sudo aptitude install package_name=version
4. Как найти все пакеты установленные вручную?
есть вариант команды (aptitude search "~i!~M"), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов
/var/log/aptitude (+ ротированные куски) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ ротированные куски)
но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить

5. Как посмотреть список файлов в пакете?
если пакет установлен
dpkg -L package_name
для любых пакетов поставить apt-file и
apt-file list package_name
6. Как посмотреть какому пакету принадлежит файл?
dpkg -S file_name
7. Как удалить все пакеты, где есть key в названии пакета?
sudo aptitude purge ~ikey
8. Как удалить оставшиеся конфиги от удалённых пакетов?
sudo aptitude purge ~c
9. Как найти пакет пакет, в котором содержится файл lib.so:
apt-file search lib.so
10. Как сконвертировать rpm пакет в deb?
alien --to-deb /path/to/file.rpm
11. Как найти список установленных ядер?
dpkg --list linux-* | grep ii
12. Как установить пакет из testing или experimental?
На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть
sudo aptitude -t testing package_name
или
sudo aptitude package_name/testing
13. Как удалить метапакет, но оставить одну из зависимостей?
придётся почитать документацию про ключ unmarkauto или глянуть сюда .

14. Как узнать что попало в файловую систему мимо системы управления пакетами?
Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт
sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp
15. Какие есть дополнительные репозитории?
Debian - wiki.debian.org/UnofficialRepositories
Ubuntu - множество всяких

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 vs Apt-get. В чем различия?

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

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

Основные команды:

  • list - список пакетов
  • search - поиск пакетов по имени
  • show - показать подробную информацию о пакете
  • update - обновить списки доступных пакетов
  • install - установить пакет
  • remove - удалить пакет
  • upgrade - установить доступные новые версии пакетов
  • full-upgrade - полное обновление системы
  • edit-sources - редактировать файл источников программного обеспечения

Более подробную информацию вы найдете, выполнив man apt в терминале. Хранящаяся там информация поможет вам досконально изучить новую утилиту.

Выводы

Apt-get проверенная и надежная часть менеджера программного обеспечения. Этот инструмент используется на протяжении большого времени и поставляется по умолчанию во многих релизах Ubuntu и Debian. Мы всегда его использовали когда нужно было обновить что-то, обновить программное обеспечение или даже просто очистить систему от мусора.

Тем не менее она устаревает. Менеджер пакетов уже не отвечает всем потребностям пользователей, а поэтому он медленно заменяется на apt. Разработчики Ubuntu понимают, что им нужно обновить свой пакетный менеджер, сделать его более простым, элегантным и безопасным. Но пока в системе существуют обе утилиты и выбирать что использовать apt или apt-get предстоит вам. Будете ли вы использовать новый менеджер пакетов? Или уже используете?

APT (Advanced Packaging Tool ) – это утилита в Debian -подобных системах, выполняющая установку, обновление пакетов и отслеживание их зависимостей. Целью создания программы была автоматизация процесса управления пакетами, в частности обновление и обслуживание зависимостей, что в случае прямой работы с менеджером dpkg происходило в ручном режиме. Непосредственно манипуляции с пакетами выполняются при помощи программы apt-get , основные команды для работы с которой будут рассмотрены ниже.

Общая структура команды apt-get

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

Приведенные ниже опции могут быть полезными при работе с apt-get :

Обновление списка доступных для установки пакетов

Выполняется данное действие при помощи команды:

Apt-get update

Обновление списка особо важно, если необходимо установить наиболее свежую и стабильную версию пакета. При выполнении этой команды, программа просматривает архивы, указанные в файле /etc/apt/sources.list .

Установка пакета

Для того, чтобы установить какой-либо пакет, используется команда:

Apt-get install packagename

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

Root@vps:~# apt-get install aee Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 The following NEW packages will be installed: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 upgraded, 6 newly installed, 0 to remove and 44 not upgraded. Need to get 181 kB/1297 kB of archives. After this operation, 4366 kB of additional disk space will be used. Do you want to continue ?

В случае отсутствия зависимостей, процесс установки произойдет автоматически без вывода каких-либо вопросов.

Также, в момент ввода команды для установки пакетов можно указать названия пакетов, которые необходимо удалить. Для этого в конце имени удаляемого пакета необходимо добавить дефис. Пример такого способа установки/удаления приведен ниже:

Root@vps:~# apt-get install aee htop- Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 The following packages will be REMOVED: htop The following NEW packages will be installed: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 upgraded, 6 newly installed, 1 to remove and 43 not upgraded. Need to get 1297 kB of archives. After this operation, 4157 kB of additional disk space will be used. Do you want to continue ?

Как видно из примера, пакет aee подготовлен для установки, а пакет htop – для удаления.

Переустановка пакета

При возникновении необходимости переустановки пакета (повреждение файлов, появление более новой версии), её можно выполнить при помощи следующей команды:

Apt-get --reinstall install packagename

Удаление пакета

Есть два варианта удаления пакетов:

  • Удаление пакета за исключением конфигурационных файлов (если есть).

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

Apt-get remove packagename

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

  • Полное удаление пакета

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

Apt-get --purge remove packagename

Пакеты, которые отмечены для полного удаления, имеют в конце своего названия символ «*»

  • Удаление и установка в одной команде

Помимо этого, при удалении можно отметить перечень пакетов для установки. Для этого необходимо указать “+ ” в конце названия пакета. Пример такой команды приведен ниже:

Root@vps:~# apt-get --purge remove aee screen+ Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: aee* The following NEW packages will be installed: screen 0 upgraded, 1 newly installed, 1 to remove and 43 not upgraded. Need to get 624 kB of archives. After this operation, 975 kB of additional disk space will be used. Do you want to continue ?

Обновление пакетов

Apt-get update

Это позволит актуализировать информацию о доступных пакетах и их версиях. После выполнения этой команды можно приступить непосредственно к обновлению установленных пакетов в системе. Делается это командой:

Apt-get -u upgrade

Указанный параметр -u используется для того, чтобы получить полный список пакетов, которые будут подготовлены для обновления.

Обновление версии дистрибутива

В случае появления новой версии установленного у вас дистрибутива ОС, то можно выполнить «апгрейд» целиком всей системы при помощи команды.


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

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

dpkg -L package_name

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

Embryo@debian:~$ 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 , который присутствует в репозитарии. Вам достаточно набрать только название пакета, а не указывать название и версию. Пример:

Embryo@debian:~$ apt-cache show vorbis-tools Package: vorbis-tools Priority: optional Section: sound Installed-Size: 580 ...

apt-cache search pattern

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

Embryo@debian:~$ 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

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

Embryo@debian:~$ dpkg --get-selections acpi-support-base install acpid install adduser install akregator install ...

dpkg -S filename

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

Embryo@debian:~$ dpkg -S oggenc vorbis-tools: /usr/share/man/man1/oggenc.1.gz vorbis-tools: /usr/bin/oggenc embryo@debian:~$

apt-get autoremove

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

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

apt-cache dump

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

apt-cache depends package_name

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

Embryo@debian:~$ 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. Пример:

Embryo@debian:~$ 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

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



Загрузка...