Найти установленный пакет linux

Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

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

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

Основное и общеизвестное
sudo aptitude safe-upgrade 
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

А теперь то что не очевидно или требует полного прочтения документации
aptitude search ?upgradable 

но после его установки точно также будет себя вести и обычный 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 (+ ротированные куски) 

но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить

Читайте также:  Radmin vpn аналоги linux

5. Как посмотреть список файлов в пакете?
если пакет установлен

apt-file list package_name 
alien --to-deb /path/to/file.rpm 

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 — множество всяких PPA

16. Что есть ещё?
apt-cdrom
apt-spy
auto-apt. заметка на хабре
apt-key
apt-add-repository
Некоторые вещи умеет только apt-get
Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит.

17. Как найти пакеты зависящие от данного

apt-cache rdepends package_name 
aptitude why package_name 

Благодарю всех кто помог своими советами в рассылке, жж (JackYF) и хабре ( run4way, sledopit, nazarpc, AgaFonOff, amarao, traaance, adrianopol, Karamax). Замечания и дополнения приветствуются.

Источник

Команды apt в Linux

Команды apt в Linux

apt — это утилита командной строки для установки, обновления, удаления и иного управления пакетами deb в Ubuntu, Debian и связанных с ними дистрибутивах Linux. Он сочетает в себе наиболее часто используемые команды из инструментов apt-get и apt-cache с разными значениями по умолчанию некоторых параметров.

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

Большинство apt команд необходимо запускать от имени пользователя с sudo привилегиями.

В этом руководстве вы можете узнать все о apt командах в Linix системе.

Обновление индекса пакета ( apt update )

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

Чтобы обновить индекс пакета, выполните команду ниже. Это вытянет последние изменения из репозиториев APT:

Всегда обновляйте индекс пакетов перед обновлением или установкой новых пакетов.

Обновление пакетов ( apt upgrade )

Регулярное обновление вашей системы Linux является одним из наиболее важных аспектов общей безопасности системы.

Чтобы обновить установленные пакеты до последних версий, запустите:

Команда не обновляет пакеты, требующие удаления установленных пакетов.

Если вы хотите обновить один пакет, передайте имя пакета:

sudo apt upgrade package_name

Полное обновление ( apt full-upgrade )

Разница между upgrade и full-upgrade заключается в том, что последний удалит установленные пакеты, если это необходимо для обновления всей системы.

Читайте также:  Linux open file in text editor

Будьте особенно осторожны при использовании этой команды.

Установка пакетов ( apt install )

Установка пакетов так же проста, как запуск следующей команды:

sudo apt install package_name

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

sudo apt install package1 package2

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

sudo apt install /full/path/file.deb

Удаление пакетов ( apt remove )

Чтобы удалить установленный пакет, введите следующее:

sudo apt remove package_name

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

sudo apt remove package1 package2

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

sudo apt purge package_name

Удалить неиспользуемые пакеты ( apt autoremove )

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

Список пакетов ( apt list )

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

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

Команда напечатает список всех пакетов, включая информацию о версиях и архитектуре пакета. Чтобы узнать, установлен ли конкретный пакет, вы можете отфильтровать вывод с помощью grep команды.

sudo apt list | grep package_name

Чтобы перечислить только установленные пакеты , введите:

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

sudo apt list --upgradeable

Эта команда позволяет вам искать данный пакет в списке доступных пакетов:

sudo apt search package_name

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

Информация о пакете ( apt show )

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

Чтобы получить информацию о данном пакете, используйте show команду:

sudo apt show package_name

Источник

Список установленных пакетов Debian

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

В сегодняшней статье мы рассмотрим как посмотреть список установленных пакетов Debian с помощью терминала, в интерфейсе curses, а также в графическом интерфейсе. Такие списки можно использовать не только для резервного копирования, но и для того, чтобы просто перебрать и удалить ненужные программы, тем самым очистив систему от мусора.

Читайте также:  Управление реле через usb linux

Список установленных пакетов Debian

Самый первый способ посмотреть установленные пакеты 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:

Третий метод — это утилита apt, которой мы привыкли пользоваться для установки приложений, она имеет команду list:

Далее, можно отфильтровать только пакеты, имя которых содержит определенные символы:

apt list —installed | grep python

Мы более подробно рассматривали apt в статье установка пакетов в Debian. Еще одна интересная возможность apt — посмотреть какие пакеты были установлены вручную. Для этого наберите:

И еще один вариант с использованием apt:

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

Также aptitude может работать в режиме curses, что очень удобно:

Последний способ посмотреть список установленных пакетов — это файл /var/lib/apt/extended_states. Это база данных, в которой содержится установленные программы debian в таком формате:

Package: имя_пакета
Architecture: архитектура
Auto-Installed: 0_или_1

Восстановление списка установленных пакетов

Многие пользователи создают список пакетов не просто чтобы посмотреть, а для будущего восстановления. Если вы делали список с помощью dpkg, то его можно очень просто восстановить в системе с помощью аналогичной команды:

sudo dpkg —clear-selections
$ sudo dpkg —set-selections < mylist.txt

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

Если же у вас просто есть список имен пакетов, то восстанавливать его нужно немного по-другому. Просто передайте все эти имена команде apt для установки:

Выводы

В этой статье мы рассмотрели как посмотреть список установленных пакетов Debian. Это может быть очень полезно и выполняется достаточно просто. Надеюсь, эта информация была полезной для вас.

На завершение видео про установку и удаление пакетов:

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector