как узнать какие пакеты установлены в debian
Как вывести список установленных пакетов в Debian
В этом руководстве мы объясним, как составить список и отфильтровать установленные пакеты в Debian. Мы также покажем вам, как проверить, установлен ли конкретный пакет, подсчитать установленные пакеты и узнать версию установленного пакета.
Знание того, как составить список установленных пакетов в вашей системе на основе Debian, может быть полезно в ситуациях, когда вам нужно установить те же пакеты на другой компьютер или если вы хотите переустановить свою систему.
Список установленных пакетов с помощью Apt
Apt — это интерфейс командной строки для системы управления пакетами, который сочетает в себе наиболее часто используемые функции из apt-get и apt-cache включая возможность перечисления установленных пакетов.
Чтобы вывести список всех пакетов, установленных в вашей системе, выполните следующую команду:
Команда отобразит список всех установленных пакетов, включая информацию о версиях пакетов и архитектуре. В крайнем правом столбце выходных данных показано, был ли пакет автоматически установлен как зависимость от другого пакета.
Поскольку список пакетов длинный, рекомендуется передать вывод по конвейеру команде less чтобы его было легче читать:
Чтобы узнать, установлен ли конкретный пакет, используйте команду grep для фильтрации вывода. Например, чтобы узнать, установлен ли пакет tmux в системе, введите:
Приведенный выше вывод показывает, что в вашей системе установлен tmux 2.3-4.
Список установленных пакетов с помощью dpkg-query
dpkg-query — это командная строка, которая может использоваться для отображения информации о пакетах, перечисленных в базе данных dpkg.
Чтобы получить список всех установленных пакетов, введите:
Команда отобразит список всех установленных пакетов, включая версии пакетов, архитектуру и краткое описание.
Создайте список всех установленных пакетов
Следующая команда сохранит список всех установленных пакетов в вашей системе Debian в файле с именем packages_list.txt :
Теперь, когда у вас есть список, вы можете установить те же пакеты на новый сервер с помощью:
Подсчитайте количество установленных пакетов
Чтобы узнать, сколько пакетов установлено в вашей системе, вы можете использовать ту же команду, что и при создании списка пакетов, но вместо перенаправления вывода в файл вы можете передать его команде wc для подсчета строк:
Вывод покажет количество установленных пакетов:
Выводы
В этом руководстве вы узнали, как составлять список и фильтровать установленные пакеты в вашей системе Debian.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Как посмотреть список установленных пакетов в Debian или Ubuntu
В любой операционной системе бывает полезно посмотреть что же там установлено. Когда просматриваешь установленные приложения в Windows, узнаешь для себя много нового (всевозможные бары и плагины, которые ставятся автоматически с какой-нибудь нужной программой). В Linux Все попроще, в системе устанавливаются только те пакеты, которые Вы явно указали (все вспомогательные пакеты всегда указываются без обмана), но придя на новое рабочее место всегда интересно посмотреть как же «устроен» сервер и что наустанавливал на него предыдущий админ.
До сегодняшнего дня я даже и не знал об этих командах. Для того чтобы не забыть о них самому я, выкладываю их в блоге. Если заметили, я часто так делаю 🙂
Вывод списка всех установленных пакетов
Если необходимо просто вывести на экран список всех пакетов, которые есть в системе, то сделать это можно командой:
Это всего лишь часть кода. В жизни его в разы больше.
Скажу честно, работать с этой информацией очень неудобно, так как даже на сервере без какой-либо графической оболочки, пакетов достаточно много и на экран они все не поместятся. Чтобы сделать вывод более читаемым есть несколько способов:
Способ номер раз
Перенаправить весь вывод в текстовый файл (package.txt):
Способ номер два
С точным вхождением
Если нужно вывести определенный список пакетов, название которых вы частично знаете, воспользуемся командой:
Пример выведет все установленные пакет, где есть фраза libreoffice.
Комментарии
Честно говоря это самые первые команды любого линуксоида. Когда вы устанавливаете дистрибутив Линукс вручную, как это было в конце 90-х на RedHat-подобных дистрибутивах, то выбор пакетов при установке как правило производился именно вручную. И потом для облегчения и заточки системы обязательно требовалось пройтись по списку ручками при помощи команды rpm. Сейчас конечно проще. Графический интерфейс установки и кнопки “далее-далее”.
Мое изучение Linux началось с Ubuntu 7.04 и там как-то неприходилось просматривать из консоли установленные пакеты. Помню, раньше я вообще старался консоль не использовать, думал, что чего в ней удобного. Это сейчас я 60% своего времени и дома и на работе пользуюсь консолью.
Ну, и к тому же, самое главное, что я все же добрался до этих команд хоть и путь до них был долог))
Спасибо, помогло, периодически ставлю на «чистую» новую Ubuntu, с нужным мне набором программ. Да и терминаЛище Ррулит, конечно же
Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами
Краткая справка Debian администратора
Основное и общеизвестное
Получение информации о новых/обновлённых пакетах
Поиск пакета по именам пакетов
Поиск пакета по точному названию
Информация о пакете
Полное удаление (вместе с конфигами)
Очистить кэш загруженных пакетов (освободить место)
Для получения доп информации
и смотрим документацию (/usr/share/doc/aptitude/html/en/index.html), кому быструю справку по поисковым шаблонам, тому сюда — /usr/share/doc/aptitude/html/en/ch02s04.html. Если лень ставить доку, то в сети она есть.
Вводная на Debian Wiki: wiki.debian.org/Aptitude
А теперь то что не очевидно или требует полного прочтения документации
1. Как после update посмотреть какие пакеты будут обновлены?
также можно юзать (если поставить)
но после его установки точно также будет себя вести и обычный update
2. Как узнать что изменилось в пакетах которые будут обновлены?
Можно пробовать
для каждого пакета.
Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить
3. Что делать если обновление что-то поломало и нужно откатиться?
Отката нет, можно попробовать найти предыдущую версию пакета
4. Как найти все пакеты установленные вручную?
есть вариант команды (aptitude search ‘
M’), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов
но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить
5. Как посмотреть список файлов в пакете?
если пакет установлен
для любых пакетов поставить apt-file и
6. Как посмотреть какому пакету принадлежит файл?
7. Как удалить все пакеты, где есть key в названии пакета?
8. Как удалить оставшиеся конфиги от удалённых пакетов?
9. Как найти пакет пакет, в котором содержится файл lib.so:
10. Как сконвертировать rpm пакет в deb?
11. Как найти список установленных ядер?
12. Как установить пакет из testing или experimental?
На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть
13. Как удалить метапакет, но оставить одну из зависимостей?
придётся почитать документацию про ключ unmarkauto или глянуть сюда.
14. Как узнать что попало в файловую систему мимо системы управления пакетами?
Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт
15. Какие есть дополнительные репозитории?
Debian — wiki.debian.org/UnofficialRepositories
Ubuntu — множество всяких PPA
16. Что есть ещё?
apt-cdrom
apt-spy
auto-apt. заметка на хабре
apt-key
apt-add-repository
Некоторые вещи умеет только apt-get
Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит.
17. Как найти пакеты зависящие от данного
также может пригодится
Благодарю всех кто помог своими советами в рассылке, жж (JackYF) и хабре ( run4way, sledopit, nazarpc, AgaFonOff, amarao, traaance, adrianopol, Karamax). Замечания и дополнения приветствуются.
Как получить список установленных пакетов в Debian
How to List Installed Packages on Debian
Знание того, как составить список установленных пакетов в вашей системе на основе Debian, может быть полезно в ситуациях, когда вам нужно установить те же пакеты на другой компьютер или если вы хотите переустановить свою систему.
В этом руководстве мы объясним, как составить список и отфильтровать установленные пакеты в Debian. Мы также покажем вам, как проверить, установлен ли конкретный пакет, подсчитать количество установленных пакетов и узнать версию установленного пакета.
Список установленных пакетов с помощью Apt
Apt представляет собой интерфейс командной строки для системы управления пакетами и сочетает в себе наиболее часто используемых функций от apt-get и apt-cache включая опцию список установленных пакетов.
Чтобы вывести список всех пакетов, установленных в вашей системе, выполните следующую команду:
Команда отобразит список всех установленных пакетов, включая информацию о версиях пакетов и архитектуре. В крайнем правом столбце выходных данных показано, был ли пакет автоматически установлен как зависимость другого пакета.
Поскольку список пакетов длинный, рекомендуется передать вывод по конвейеру less команде, чтобы облегчить чтение:
Чтобы узнать, установлен ли конкретный пакет, используйте команду grep для фильтрации вывода. Например, чтобы узнать, установлен ли в системе пакет tmux, введите:
Приведенный выше вывод показывает, что в вашей системе установлен tmux 2.3-4.
Список установленных пакетов с помощью dpkg-query
Чтобы получить список всех установленных пакетов, введите:
Команда отобразит список всех установленных пакетов, включая версии пакетов, архитектуру и краткое описание.
Получить список всех установленных пакетов
Следующая команда сохранит список всех установленных пакетов в вашей системе Debian в файл с именем packages_list.txt :
Теперь, когда у вас есть список, вы можете установить те же пакеты на свой новый сервер с помощью:
Подсчитать количество установленных пакетов
Чтобы узнать, сколько пакетов установлено в вашей системе, вы можете использовать ту же команду, что и при создании списка пакетов, но вместо перенаправления вывода в файл вы можете передать его wc команде для подсчета строк:
Вывод покажет количество установленных пакетов:
Заключение
В этом руководстве вы узнали, как составлять список и фильтровать установленные пакеты в вашей системе Debian.
Глава 8. Инструменты управления пакетами Debian
Содержание
8.1. Какие программы для управления пакетами имеются в Debian?
В Debian для управления пакетами имеется множество средств, от программ с графическими или текстовыми интерфейсами, до низкоуровневых утилит установки пакетов. Корректная работа всех доступных инструментов зависит от низкоуровневых утилит, и все они представлены здесь в порядке уменьшения уровня сложности.
See Chapter 2. Debian package management of the Debian reference for more information about the Debian package management utilities. This document is available in various languages and formats, see the Debian Reference entry in the DDP Users’ Manuals overview.
8.1.1. dpkg
Это основная программа управления пакетами. dpkg может вызываться с многими параметрами. Наиболее часто используемые из них:
8.1.2. APT
Инструмент apt совмещает функциональность apt-get и apt-cache, а также по умолчанию использует красивый цветной формат вывода, что очень удобно. Для использования в сценариях или для продвинутого использования предпочтительнее использовать apt-get (а иногда он просто необходим).
Часто используемые команды apt-get :
To update the list of packages known by your system, you can run:
(вы должны регулярно запускать эту команду для обновления списка пакетов)
Установить пакет foo и все его зависимости:
Удалить пакет из системы:
Удалить из системы пакет и все его файлы настроек:
To list all packages for which newer versions are available, run:
Обновить все пакеты в системе (без установки дополнительных пакетов или удаления пакетов):
Обновить все установленные в системе пакеты с установкой или удалением дополнительных пакетов, если это потребуется для обновления какого-то пакета:
(Команда upgrade оставит старую установленную версию пакета, если для разрешения новых зависимостей при обновлении потребуется установка дополнительных пакетов. Команда full-upgrade менее консервативна.)
Note that you must be logged in as root to perform any commands that modify packages.
Note that apt-get now also installs recommended packages as default, and thanks to its robustness it’s the preferred program for package management from console to perform system installation and major system upgrades.
Найти пакеты, содержащие в своём описании слово :
Показать подробную информацию о пакете:
Показать зависимости пакета:
To print detailed information on the versions available for a package and the packages that reverse-depends on it:
8.1.3. aptitude
aptitude — это менеджер пакетов для систем Debian GNU/Linux, он предоставляет интерфейс к инфраструктуре управления пакетами apt. aptitude представляет собой текстовый интерфейс на основе библиотеки curses. Действия можно выполнять как из визуального интерфейса, так и из командной строки.
aptitude может использоваться для лёгкого и быстрого выполнения задач по управлению пакетами. Она позволяет пользователю просматривать список пакетов и выполнять такие задачи по управлению пакетами как установка, обновление и удаление.
обеспечивает лёгкий доступ ко всем версиям пакета;
позволяет легко отслеживать устаревшее ПО, занося его в «список устаревших пакетов и пакетов, созданных локально»;
можно использовать для установки заранее сформированных наборов для определённых задач. Подробности см. в Раздел 8.1.5, «tasksel»;
aptitude in full screen mode has su functionality embedded and can be run by a normal user. It will call su (and ask for the root password, if any) when you really need administrative privileges.
Note that aptitude is the preferred program for daily package management from the console.
For more information, read the manual page aptitude (8) and install the aptitude-doc package.
8.1.4. synaptic
synaptic is a graphical package manager. It enables you to install, upgrade and remove software packages in a user friendly way. Along with most of the features offered by aptitude, it also has a feature for editing the list of used repositories, and supports browsing all available documentation related to a package. See the Synaptic Website for more information.
8.1.5. tasksel
Typically, the Debian installer will automatically install the task associated with a standard system and a desktop environment. The specific desktop environment installed will depend on the CD/DVD media used, most commonly it will be the GNOME desktop ( gnome-desktop task). Also, depending on your selections throughout the installation process, tasks might be automatically installed in your system. For example, if you selected a language other than English, the task associated with it will be installed automatically too and if the installer recognises you are installing on a laptop system the laptop task will also be installed.
8.1.6. Другие инструменты управления пакетами
8.1.6.1. dpkg-deb
8.2. Говорят, что Debian способен обновить работающую программу; как это делается?
Ядро (файловая система) в системах Debian GNU/Linux поддерживает замену файлов, даже когда они используются.
8.3. Как узнать, какие пакеты установлены в системе Debian?
Чтобы получить список всех установленных пакетов, выполните команду
Эта команда выведет для каждого пакета однострочную сводку, включающую два символа состояния (объясняемые в заголовке), имя пакета, установленную версию и краткое описание.
To learn the status of packages whose names match any pattern beginning with «foo», run the command:
Чтобы получить более подробный отчёт о состоянии определённого пакета, выполните команду:
8.4. How do I display the files of an installed package?
Учтите, что файлы, созданные сценариями установки, не отображаются.
8.5. Как определить пакет, которому принадлежит определённый файл?
zgrep foo Contents-ARCH.gz
apt-file search foo
8.6. Why is `foo-data’ not removed when I uninstall `foo’? How do I make sure old unused library-packages get purged?
Some packages are split in program (`foo’) and data (`foo-data’) (or in `foo’ and `foo-doc’). This is true for many games, multimedia applications and dictionaries in Debian and has been introduced since some users might want to access the raw data without installing the program or because the program can be run without the data itself, making `foo-data’ optional.
Подобное относится и к библиотекам: обычно они устанавливаются, так как пакеты приложений зависят от них. Когда пакет приложения вычищается, пакет библиотеки может остаться в системе. Или когда пакет приложения больше не зависит, скажем, от libdb4.2, а зависит от libdb4.3, то пакет libdb4.2 может остаться в системе при обновлении пакета приложения.
In these cases, `foo-data’ doesn’t depend on `foo’, so when you remove the `foo’ package it will not get automatically removed by most package management tools. The same holds true for the library packages. This is necessary to avoid circular dependencies. However, if you use apt-get (see Раздел 8.1.2, «APT») or aptitude (see Раздел 8.1.3, «aptitude») as your package management tool, they will track automatically installed packages and give the possibility to remove them, when no packages making use of them remain in your system.
[5] Notice that there are ports that make this tool available with other package management systems, like Red Hat package manager, also known as rpm