Я новый системный администратор Ubuntu Linux. Как получить список всех установленных пакетов на сервере1 и установить их на server2? Как перечислить все установленные пакеты с помощью команды apt-get на сервере Ubuntu или Debian?
Вам нужно использовать dpkg и другие команды, как показано ниже, чтобы просмотреть список всех установленных пакетов на сервере Ubuntu или Debian Linux.
Просто перечислите все установленные пакеты на Ubuntu / Debian Linux с кратким описанием
Введите следующую команду:
$ dpkg-query –l
Примеры возможных выводов данных:
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=============================-=================================-============-============================================================================= == ii accountsservice 0.6.40-2ubuntu11.3 amd64 query and manipulate user account information ii acct 6.5.5-2.1ubuntu1 amd64 The GNU Accounting utilities for process and login accounting ii acl 2.2.52-3 amd64 Access control list utilities ii adduser 3.113+nmu3ubuntu4 all add and remove users and groups ii apparmor 2.10.95-0ubuntu2.5 amd64 user-space parser utility for AppArmor ii apt 1.2.19 amd64 commandline package manager ii apt-transport-https 1.2.19 amd64 https download transport for APT ii apt-utils 1.2.19 amd64 package management related utility programs ii atop 1.26-2build1 amd64 Monitor for system resources and process activity ii base-files 9.4ubuntu4.3 amd64 Debian base system miscellaneous files ii base-passwd 3.5.39 amd64 Debian base system master password and group files ii bash 4.3-14ubuntu1.1 amd64 GNU Bourne Again SHell ii bash-completion 1:2.1-4.2ubuntu1.1 all programmable completion for the bash shell ii bc 1.06.95-9build1 amd64 GNU bc arbitrary precision calculator language ii bind9-host 1:9.10.3.dfsg.P4-8ubuntu1.4 amd64 Version of ‘host’ bundled with BIND 9.X ii bsdmainutils 9.0.6ubuntu3 amd64 collection of more utilities from FreeBSD
Хотите просто увидеть список пакетов? Для этого попробуйте:
Debian 12 «Bookworm». Современный Дедушка. Как появился Debian. История…
$ dpkg-query -f ‘$n’ –W
Примеры возможных выводов данных:
unattended-upgrades update-manager-core ureadahead usbutils util-linux uuid-runtime vim vim-common vim-runtime vim-tiny virt-what vnstat wamerican wbritish wget whiptail whois xauth xdg-user-dirs xkb-data xml-core xz-utils zlib1g:amd64
Как получить список установленных пакетов
Для этого введите
$ dpkg —get-selections | grep -v deinstall
Примеры возможных выводов данных:
Другой способ это использовать команду apt command следующим образом:
$ apt list –installed
ИЛИ же просто задайте поиск всех пакетов на основе php с помощью команды grep command:
Debian 11(Mate) после установки — установка программ, flatpak, virt mamager…
$ apt list —installed | grep php
Примеры возможных выводов данных:
Listing. accountsservice/xenial-updates,now 0.6.40-2ubuntu11.3 amd64 [installed,automatic] acl/xenial,now 2.2.52-3 amd64 [installed,automatic] adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed] apparmor/xenial-updates,now 2.10.95-0ubuntu2.5 amd64 [installed] apt/xenial-updates,now 1.2.19 amd64 [installed] apt-transport-https/xenial-updates,now 1.2.19 amd64 [installed] apt-utils/xenial-updates,now 1.2.19 amd64 [installed] atop/xenial,now 1.26-2build1 amd64 [installed] base-files/xenial-updates,now 9.4ubuntu4.3 amd64 [installed] base-passwd/xenial,now 3.5.39 amd64 [installed] bash/xenial-updates,now 4.3-14ubuntu1.1 amd64 [installed] bash-completion/xenial-updates,xenial-updates,now 1:2.1-4.2ubuntu1.1 all [installed] bc/xenial,now 1.06.95-9build1 amd64 [installed] bind9-host/xenial-updates,xenial-security,now 1:9.10.3.dfsg.P4-8ubuntu1.4 amd64 [installed] bsdmainutils/xenial,now 9.0.6ubuntu3 amd64 [installed] bsdutils/xenial-updates,now 1:2.27.1-6ubuntu3.2 amd64 [installed] busybox-initramfs/xenial,now 1:1.22.0-15ubuntu1 amd64 [installed] busybox-static/xenial,now 1:1.22.0-15ubuntu1 amd64 [installed] bzip2/xenial,now 1.0.6-8 amd64 [installed] ca-certificates/xenial,xenial,now 20160104ubuntu1 all [installed] command-not-found/xenial-updates,xenial-updates,now 0.3ubuntu16.04.2 all [installed] command-not-found-data/xenial-updates,now 0.3ubuntu16.04.2 amd64 [installed] console-setup/xenial-updates,xenial-updates,now 1.108ubuntu15.2 all [installed] console-setup-linux/xenial-updates,xenial-updates,now 1.108ubuntu15.2 all [installed] . .. . xkb-data/xenial,xenial,now 2.16-1ubuntu1 all [installed] xml-core/xenial,xenial,now 0.13+nmu2 all [installed,automatic] xz-utils/xenial,now 5.1.1alpha+20120614-2ubuntu2 amd64 [installed,automatic] zlib1g/xenial,now 1:1.2.8.dfsg-2ubuntu4 amd64 [installed]
Как сохранить список в тестовом документе
Синтаксис будет выглядеть следующим образом на server1:
$ dpkg —get-selections | grep -v deinstall > mylist.txt
$ dpkg -l | grep ^ii | awk ‘< print $2>’ > mylist.txt
Теперь скопируйте mylist.txt на сервер под названием server2:
Как восстановить список на server2
На сервере server2 восстановите установки из mylist.txt, для этого запустите:
$ dpkg —clear-selections $ sudo dpkg —set-selections < mylist.txt
$ sudo apt-get install -y $(< mylist.txt)
Наконец, выполните следующую команду для удаления нежелательных пакетов:
$ sudo apt-get autoremove
На выше приведенном примере команда должна восстанавливать / устанавливать пакеты из резервных копий или другого сервера. Другой вариант — использовать команду aptitude следующим образом:
Это интересно:
- Установка и настройка Apache, PHP, MySQL, phpMyAdmin на Linux (LAMP)
- Установка и настройка сервера Apache, PHP, MySQL, phpMyAdmin на Windows 10
- Установка Adobe Photoshop CS6 на Linux (очень простой способ)
Источник: codeby.net
Список установленных пакетов Debian
Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В Debian для этого можно использовать несколько методов.
В сегодняшней статье мы рассмотрим как посмотреть список установленных пакетов Debian с помощью терминала, в интерфейсе curses, а также в графическом интерфейсе. Такие списки можно использовать не только для резервного копирования, но и для того, чтобы просто перебрать и удалить ненужные программы, тем самым очистив систему от мусора.
Список установленных пакетов 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
Далее, можно отфильтровать только пакеты, имя которых содержит определенные символы:
apt list —installed | grep python
The Debian GNU/Linux FAQ
Глава 7 — Средства управления пакетами Debian
7.1 Какие программы для управления пакетами имеются в Debian?
7.1.1 dpkg
- Вывести список всех параметров: dpkg —help .
- Вывести информацию для заданного пакета: dpkg —info foo_VVV-RRR.deb
- Установить пакет (т.е. распаковать и настроить) на жесткий диск: dpkg —install foo_VVV-RRR.deb .
- Распаковать (но не настраивать) файлы из архива Debian на жесткий диск: dpkg —unpack foo_VVV-RRR.deb . Заметим, что данная операция не обязательно приводит пакет в рабочее состояние; некоторые файлы могут требовать внесения изменений для правильной работы. Данная команда удаляет любую ранее установленную версию программы и запускает сценарий preinst (см. Что это за сценарии preinst, postinst, prerm и postrm?, раздел 6.6), связаный с пакетом.
- Настроить пакет который ранее был распакован: dpkg —configure foo . Кроме всего прочего, эта команда запускает сценарий postinst (см. Что это за сценарии preinst, postinst, prerm и postrm?, раздел 6.6) связанный с пакетом. Она также обновляет файлы перечисленные в conffiles для этого пакета. Заметим, что данной команде передается в качестве аргумента имя пакета (т.е., foo), а не имя файла архива Debian (т.е., foo_VVV-RRR.deb).
- Извлечь единственный файл с именем «blurf» (или группу файлов с именами «blurf*») из архива Debian: dpkg —fsys-tarfile foo_VVV-RRR.deb | tar -xf — blurf*
- Удалить пакет (но не его файлы конфигурации): dpkg —remove foo .
- Удалить пакет (в том числе и файлы конфигурации): dpkg —purge foo .
- Перечислить статус (установлен или нет) пакетов содержащих в имени строку (или регулярное выражение) «foo*»: dpkg —list ‘foo*’ .
7.1.2 dselect
Данная программа является меню-ориентированным интерфейсом к системе управления пакетами Debian. Она, в частности, используется при первоначальной инсталляции и широкомасштабных обновлениях.
Основные возможности dselect :
- позволяет пользователю выбирать пакеты для установки и удаления, гарантирует, что устанавливаемые пакеты не конфликтуют друг с другом, и что все пакеты требуемые для правильной работы каждого пакета установлены;
- предупреждает пользователя о противоречиях и несовместимостях, возникающих в процессе выбора;
- определяет порядок в котором должны быть установлены пакеты;
- автоматически выполняет установку и удаление; и
- проводит пользователя через процесс конфигурации каждого пакета.
При запуске dselect предоставляет пользователю меню из семи пунктов, каждый из которых выполняет определенное действие. Пользователь может выбрать один из пунктов наведя на него подсвеченный прямоугольник при помощи клавиш со стрелками, и нажав затем клавишу .
То, что пользователь увидит дальше, зависит от выбранного действия. Если выбран любой пункт кроме Access (Метод) и Select (Выбрать) , то dselect просто выполнит указанное действие: например, если пользователь выбрал пункт Remove (Удалить) , то dselect произведет удаление всех файлов помеченных для удаления когда пользователь выбирал пункт Select (Выбрать) .
Пункты Access (Метод) и Select (Выбрать) , оба предлагают дополнительные меню. В обоих случаях, эти меню делят экран по вертикали; в верхней части представлен прокручиваемый список возможностей для выбора, в то время, как в нижней части экрана дается краткое описание каждого варианта.
Доступна краткая справка о работе с программой, для ее вызова используйте клавишу ‘?’.
Порядок, в котором действия представлены в первом меню dselect , отражает порядок в котором эти действия обычно выбираются пользователем при установке пакетов. Однако, пользователь может пользоваться каждым пунктом меню так часто, как это ему нужно.
- Начните с выбора метода доступа (Access Method). Это способ которым пользователь получает доступ к пакетам Debian; напр. некоторые имеют компакт-диски с пакетами Debian, другие же скачивают эти пакеты по ftp. Выбранный метод доступа сохраняется после выхода из dselect , поэтому, если он не изменился, то нет необходимости вызывать этот пункт меню каждый раз.
- Затем обновите (Update) список доступных пакетов. Для этого dselect читает файл «Packages.gz», который находится в верхнем уровне дерева каталогов содержащего пакеты Debian. (Если его там нет, dselect попытается сделать его для Вас.)
- Выберите (Select) нужные пакеты для установки на Вашей системе. После выбора данного пункта меню, пользователю показывается экран помощи (если не указан параметр `—expert’ в командной строке). После выхода из экрана помощи, Вы увидите меню для выбора устанавливаемых или удаляемых пакетов. Верхняя часть экрана содержит список всех 18200 пакетов Debian; нижняя часть экрана содержит описание пакета или группы пакетов, которые выделены выше. Для указания пакета, над которым будет совершаться операция, следует навести подсветку на его название. После этого можно выбрать требуемую операцию: установить: Это достигается нажатием клавиши `+’. удалить: Пакеты могут удаляться двумя путями:
- remove: эта команда удаляет большинство файлов принадлежащих пакету, но оставляет файлы помеченные как конфигурационные (см. Что такое Debian conffile?, раздел 6.5) и информацию о конфигурации пакета. Выполняется нажатием клавиши `-‘.
- purge: команда удаляет каждый файл, являющийся частью пакета. Выполняется нажатием клавиши `_’.
Заметим, что не возможно удалить «All Packages». Если Вы попытаетесь это сделать, то Ваша система будет сокращена до первоначально установленных базовых пакетов.
Выполняется нажатием `=’, и указывает dselect не выполнять обновление пакета, даже если установленная версия устарела по сравнению с той, что имеется в используемом Вами хранилище пакетов Debian (оно указывается когда Вы определяете метод доступа (Access Method), и инициализируется при выполнении обновления (Update)).
Если пакет заблокирован, то разблокировать его можно нажатием `:’. Этим сообщается dselect , что пакет(ы) может быть обновлен если доступна более новая версия. Это установлено по-умолчанию.
Вы можете выбирать различный порядок представления пакетов используя клавишу `o’ для переключения между режимами сортировки. Изначально пакеты отсортированы по приоритету; а в пределах одного приоритета по разделу, к которому они относятся.
Вы можете получить расширенное описание пакетов в верхней части экрана нажав клавишу `v’. Данное действие увеличивает объем выводимого текста, и он выходит за правую границу экрана. Для прокрутки текста можно пользоваться клавишами со стрелками вправо и влево.
Если Вы выбрали пакет для установки или удаления, напр., foo.deb , и этот пакет зависит от (или рекомендует) других пакетов, напр. blurf.deb , то dselect выведет дополнительный экран, подобный основному экрану выбора. Там Вы сможете выбрать среди пакетов относящихся к данному те, которые следует установить. Вы можете принять предлагаемый вариант или отказаться от него.
В последнем случае следует нажать Shift-D; для возврата к предлагаемому варианту, нажмите Shift-U. В любом случае Вы можете сохранить свой выбор нажатием Shift-Q. Для того, чтобы отказаться от установки пакета нажмите Shift-X.
- После выбора пакетов Вы возвращаетесь в главное меню. Там Вы можете выбрать «Установить» (Install) для установки и конфигурирования выбраных пакетов. Если Вы отметили пакеты для удаления, то можете выбрать пункт «Удалить» (Remove). В любой момент времени можно выбрать пункт «Выход» (Quit) для выхода из программы; при этом пакеты отмеченные для установки и удаления сохраняются dselect .
7.1.3 dpkg-deb
Данная программа позволяет манипулировать файлами архивов Debian ( .deb файлами). Общие случаи применения:
- Вывести список допустимых параметров: dpkg-deb —help .
- Определить файлы содержащиеся в архиве Debian: dpkg-deb —contents foo_VVV-RRR.deb )
- Извлечь файлы, содержащиеся в архиве Debian в указанный пользователем каталог: dpkg-deb —extract foo_VVV-RRR.deb tmp извлечет все файлы из foo_VVV-RRR.deb в каталог tmp/ . Это удобно для просмотра содержимого пакета в изолированном каталоге без его установки в основное дерево каталогов.
Заметим, что любые пакеты просто распакованные командой dpkg-deb —extract будут установлены некорректно, для установки следует использоват dpkg —install .
Больше информации дано в странице руководства dpkg-deb(1) .
7.1.4 apt-get
apt-get обеспечивает простой метод для установки пакетов из командной строки. В отличие от dpkg , apt-get не работает с .deb файлами, она работает с правильными именами пакетов и может устанавливать пакеты только из источников указанных в файле /etc/apt/sources.list .
Для получения более подробной информации, установите пакет apt и ознакомьтесь с apt-get(8) , sources.list(5) и /usr/share/doc/apt/guide.html/index.html .
7.1.5 dpkg-split
Эта программа делит большие пакеты на файлы меньшего размера (напр., для записи на дискеты), и, также, может использоваться для объединения набора разделенных файлов обратно в один файл. Она может использоваться только в системах Debian (т.е. в системах содержащих пакет dpkg ), т.к. вызывает программу dpkg-deb для разделения файла пакета на отдельные компоненты.
Например, для того, чтобы разделить большой .deb файл на части,
- Выполните команду dpkg-split —split foo.deb . В результате получится несколько файлов, приблизительно по 460 Кбайт каждый, в текущем каталоге.
- Скопируйте эти файлы на дискеты.
- Скопируйте содержимое дисет на жесткий диск другой машины.
- Объедините эти файлы вместе командой dpkg-split —join «foo*» .
7.2 Debian утверждает, что способен обновить работающую программу; каким образом это достигается?
Ядро в системах Debian GNU/Linux позволяет замену файлов даже если они используются.