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

1886

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

Иван
источник
7
Это было уже ответили здесь .
Саймон Куигли
2
Ничего себе, просматривая ответы, кажется, есть много способов сделать это: /
Мадивад
2
Как мне выполнить массовую установку на новую систему из такого текстового файла?
Элизиум
2
@Madivad эти менеджеры пакетов когда-то должны были облегчить жизнь ...
Рене Ниффенеггер
2
Аналогичный вопрос на unix.stackexchange.com «Список пакетов по дате установки»
JamesThomasMoon1979

Ответы:

2136

Ubuntu 14.04 и выше

aptИнструмент на Ubuntu 14.04 и выше делает это очень легко.

apt list --installed

Старые версии

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

dpkg --get-selections | grep -v deinstall

( -vТег «инвертирует» grep для возврата несовпадающих строк)

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

dpkg --get-selections | grep postgres

Чтобы сохранить этот список в текстовом файле, который вызывается packagesна вашем рабочем столе, сделайте это в своем терминале:

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

В качестве альтернативы просто используйте

dpkg -l

(вам не нужно запускать какие-либо из этих команд в качестве суперпользователя, поэтому здесь нет sudoникаких других вариантов)

Sabacon
источник
37
Затем при установке на новый компьютер сделайте cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade исходный код
koanhead
13
Синтаксис dpkg, возможно, немного изменился с 2006 года, потому что эта команда не работает для меня, @koanhead. sudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgradeделает трюк.
Джеймс
219
Обратите внимание, что при этом не будет отслеживаться, какие пакеты были явно установлены пользователем, а какие установлены как зависимости. Это означает, что если вы используете этот метод для воссоздания вашей установки на другом компьютере, apt не сможет удалить ненужные зависимости при удалении данного пакета.
интуитивно
73
Печально и удивительно, что комментарий @intuited не лучше понят сообществом. Неужели более «высоко оцененные» участники перестанут больше думать, прежде чем дать совет, что простая перезагрузка старых пакетов в новой версии Ubuntu - плохая идея (?). Со всеми опциями dpkg я до сих пор не вижу ни одной, которая вытаскивает «явно» установленные пакеты пользователем для того, чтобы список TH мог быть перезагружен и разрешено устанавливать его зависимости; Я хотел бы знать это - пожалуйста, поделитесь этой информацией. А пока составьте список пакетов, которые вам действительно нужны для переустановки, и запустите это
Ricalsin
62
Все мы знаем, что linux дискриминирует людей без фотографической памяти, но серьезно, что было бы не так apt list installed. Когда-нибудь мы должны перестать систематически отказываться от принципа «будь проще».
414

Чтобы получить только те пакеты, которые были явно установлены (а не просто установлены как зависимости), вы можете запустить

aptitude search '~i!~M'

Это также будет включать краткое описание, которое вы можете захотеть. Если нет, также добавьте опцию -F '%p', как упомянуто karthick87.


Еще один вариант - скопировать файл /var/lib/apt/extended_states, который представляет собой базу данных текстовых файлов в этом формате:

Package: grub-common
Architecture: amd64
Auto-Installed: 0

Package: linux-headers-2.6.35-22-generic
Architecture: amd64
Auto-Installed: 1

Auto-Installed: 0 указывает, что пакет был явно установлен и является не просто зависимостью.

созерцаемое
источник
52
Это должен быть правильный ответ. Зачем перечислять зависимости?
Ставрос Корокитакис
13
Это должен быть ответ, но использование aptitude немного ненадежно из-за Multiarch в настоящее время (исправляет в пути), к сожалению. Еще +1 за то, что вы указали только список явно установленных пакетов и способ сделать это (несмотря на то, что в настоящее время он не работает на 11.10+).
gertvdijk
4
@intuited "Fix Released" для Precise (некоторое время назад). :)
gertvdijk
11
В этом списке перечислены все пакеты, а не только установленные вручную пакеты в Ubuntu 13.10.
Имон Нербонн
5
Есть ли способ достичь того же результата с apt-get?
Хавьер Ариас
203

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

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep '^Commandline:'

Это обеспечивает представление на основе обратного времени, причем более старые команды перечислены первыми:

Commandline: apt-get install k3b
Commandline: apt-get install jhead
...

Установочные данные также показывают использование синапсов, но без подробностей (то же самое с датой установки):

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep -B1 '^Commandline:'

предоставляя следующее:

Start-Date: 2012-09-23  14:02:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23  15:02:51
Commandline: apt-get install sysstat
...
Bcl
источник
3
Или (с zgrep и удалением сообщений об обновлении):zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
belacqua
3
Этот подход пропускает пакеты, установленные с dpkg??
drevicko
5
Хотя приведенные выше простые ответы хороши для обычного пользователя. Этот метод, безусловно, является лучшим для отслеживания всех настроек, выполненных на машине, так как он также показывает, что было удалено или добавлено из базового образа, поскольку он перечисляет их в последовательности, в которой он был выполнен, и помогает вам вспомнить, какая правильная последовательность, чтобы добавить их обратно в другую систему.
AllGamer
3
@drevicko вы правы, он не перечисляет пакеты, которые установлены с dpkg
Стив Бузонас
3
Это очень удобно для поддержания организованности - мой мозг предпочитает это таким образом по любой причине ..
JeremyFelix
191

Создайте резервную копию установленных пакетов:

dpkg --get-selections > list.txt

Затем (в другой системе) восстановите установки из этого списка:

dpkg --clear-selections
sudo dpkg --set-selections < list.txt

Чтобы избавиться от устаревших пакетов:

sudo apt-get autoremove

Чтобы установить как во время резервного копирования (т.е. установить пакеты, установленные dpkg --set-selections):

sudo apt-get dselect-upgrade
gogaman
источник
5
Отличный совет по восстановлению на другой машине. +1.
Дрю Ноакс
15
миграция между двумя разными машинами Ubuntu 12.04 - этот подход сломал мою систему. прошло некоторое время, пока я не понял, что каким-то образом ubuntu-desktopего удалили - возможно, из-за одной из команд dpkg. будьте осторожны, мне потребовались часы, чтобы восстановить ущерб!
Карл Фриск
1
И иногда система обновляет приложение, которое вы специально хотите, чтобы система никогда не касалась, запускайте это в конце команд sudo apt-mark hold name-your-package . Это предотвратит обновление apt-get до текущей версии, которая используется по умолчанию для процесса обновления.
Фарон
77
apt-mark showmanual

Страницы руководства:

распечатает список установленных вручную пакетов

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

Чтобы вывести результат в текстовый файл:

apt-mark showmanual > list-manually-installed.txt
Тим Тисдалл
источник
На Debian «apt-mark showmanual» не работал на «squeeze», но работал на «wheezy»
Wadih M.
11
Как и в большинстве других ответов, apt-mark showmanualне совсем. В нем также перечислены тонны автоматически установленных пакетов, вероятно, часть базовой установки.
Mivk
8
Ну, вопрос был для установленных пакетов, и это дает всем установленным пакетам минус автоматически установленные зависимости. Он включает в себя начальные пакеты как часть начальной установки. Я полагаю, вы могли бы запустить это при новой установке, чтобы получить список установок по умолчанию, а затем вычесть это из этого, чтобы увидеть разницу.
Тим Тисдалл
5
Никто не упомянул об этом альтернативном списке вручную установленные пакеты: apt list --manual-installed.
Пабло А
41

dpkg-query(вместо того dpkg --get-selections, чтобы перечислить некоторые пакеты, которые не установлены) следующим образом:

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs

Или же:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs
kyleN
источник
Набрав # for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; doneво второй системе, я сделал это для установки пакетов.
user9869932
1
@julianromera: apt-get install -y $(< installed-pkgs)сделает так, чтобы apt-get запускался только один раз и одновременно заботился обо всех зависимостях.
Джамадагни
@julianromera ... поправьте меня, если я ошибаюсь, но, как правило, создание приложения с зависимостями перед установкой sudo apt-get build-dep name-package; sudo apt-get install name-package; ?
Фарон
39

Чтобы вывести список всех установленных пакетов,

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

или же

aptitude search -F '%p' '~i' > 1.txt

или же

dpkg --get-selections > 1.txt

Примечание:
вы получите файл 1.txt результата в вашей домашней папке или можете указать свой собственный путь.

karthick87
источник
35

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

Сохраненный из этого файл может быть загружен на новый компьютер с помощью «маркировки файла / чтения» в Synaptic.

Nerdfest
источник
34

Я рекомендую использовать план . Несмотря на то, что он предназначен для серверов, он также может использоваться с настольных компьютеров. Он создаст скрипт оболочки / chef / puppet, который вы сможете использовать для переустановки всех ваших пакетов.

укротитель
источник
Я не пробую полное зеркало, но только тот факт, что файлы конфигурации приняты во внимание, потрясающий. Я давно искал такой инструмент, большое спасибо!
tbolender
33

Вы хотите переустановить пакеты сейчас там 12.04, верно?

Если это так, это очень легко. Вам понадобится учетная запись Ubuntu Single Sign On. (Создайте его перед переустановкой, чтобы ваша система синхронизировалась.)

  1. Перейдите в Центр программного обеспечения и найдите пункт «Синхронизировать между компьютерами ...» в меню «Файл».

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

  3. Когда вы установите новую версию, этот компьютер будет считаться новым компьютером.

  4. Вы просто должны войти в свою учетную запись Ubuntu, и ваш предыдущий компьютер будет показан.

  5. Нажмите здесь; вы получите список всех приложений. Выберите «установить» в приложении, которое вы хотите установить.

Nirmik
источник
Я установил одно и то же имя для моего компьютера при новой установке, чтобы предотвратить огромную загрузку с сервера Ubuntu One каждый раз. Вы думаете, что это работает для меня?
Ален
32

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

Установить:

sudo add-apt-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik

Дополнительная информация: https://teejeetech.in/aptik/

введите описание изображения здесь

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

Сади
источник
Если вы хотите GUI, вы должны установить , apt-get install aptik-gtkа также
Maduka Jayalath
30

APT-Clone . Этот пакет можно использовать для клонирования / восстановления пакетов в системе на основе apt.

  • Это сохранит / восстановит пакеты, sources.list, связку ключей и автоматически установленные состояния.
  • Он также может сохранять / восстанавливать уже не загружаемые пакеты, используя dpkg-repack.

источник: man apt-clone

APT-Clone используется ubiquity(установщик Ubuntu) для процесса обновления. Это намного лучше, чем dpkg --get-selectionsрешение, потому что:

  1. Сохраняет всю информацию о хранилищах.
  2. Он отслеживает, какие пакеты были автоматически установлены.
  3. Позволяет перепаковывать локально установленные файлы DEB.

Как пользоваться

  1. устанавливать

    sudo apt-get install apt-clone
    
  2. Сделать резервную копию

    sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
  3. Восстановление резервной копии

    sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    

    Восстановить до новой версии:

    sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    

Это делает простой GZIP-файл tar, который можно легко редактировать и просматривать перед восстановлением на других машинах. Вот пример его структуры:

/
├── etc
│   └── apt
│       ├── preferences.d
│       ├── sources.list
│       ├── sources.list.d
│       │   ├── anton_-ubuntu-dnscrypt-vivid.list
│       │   ├── maarten-baert-ubuntu-simplescreenrecorder-vivid.list
│       │   └── megasync.list
│       ├── trusted.gpg
│       └── trusted.gpg.d
│           ├── anton__ubuntu_dnscrypt.gpg
│           ├── anton__ubuntu_dnscrypt.gpg~
│           ├── maarten-baert_ubuntu_simplescreenrecorder.gpg
│           └── maarten-baert_ubuntu_simplescreenrecorder.gpg~
└── var
    └── lib
        └── apt-clone
            ├── extended_states
            ├── installed.pkgs
            └── uname
user.dz
источник
26

В Unix StackExchange есть отличное объяснение, которое описывает, как использовать aptitude для вывода списка пакетов, не установленных как зависимости, и как сравнить этот список со списком пакетов по умолчанию для вашей версии Ubuntu.

Чтобы получить файл манифеста для настольных версий 12.04 и новее, посетите этот сайт , выберите свой выпуск и прокрутите вниз под образами компакт-дисков раздел «Файлы». Вы найдете что-то вроде «ubuntu-12.04.4-desktop-amd64 + mac.manifest», которое соответствует вашей архитектуре.

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

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

Старый сервер (код из другого поста, вывод сохранен в файл):

aptitude search '~i !~M' -F '%p' --disable-columns | sort -u > currently-installed.list
wget -qO - http://mirror.pnl.gov/releases/precise/ubuntu-12.04.3-desktop-amd64.manifest \
  | cut -f1 | sort -u > default-installed.list
comm -23 currently-installed.list default-installed.list > user-installed.list

На новом сервере скопируйте файл с помощью scp, а затем с помощью sed добавьте 'install' к каждой строке (-i выполняет inline-replace). Затем вы можете использовать список в качестве входных данных для 'dpkg --set-selections' и установить пакеты с помощью apt-get:

scp user@oldserver:user-installed.list .
sed -i 's/$/\tinstall/' user-installed.list
sudo dpkg --set-selections < user-installed.list
sudo apt-get dselect-upgrade

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

thinkmassive
источник
25

Вы можете посмотреть aptжурнал под /var/log/apt/и dpkgжурнал под/var/log/

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

dpkg -l | grep '^ii '
Maythux
источник
23

Я удивлен, что apt-cacheкоманда, разработанная именно для этой цели , не была упомянута выше ...

apt-cache pkgnames

Для получения дополнительной информации запустите apt-cache --help:

** apt-cache - инструмент низкого уровня, используемый для запроса информации
из файлов двоичного кэша APT

Команды:
   gencaches - сборка пакета и исходного кэша
   showpkg - показать некоторую общую информацию для одного пакета
   showrc - Показать исходные записи
   статистика - Показать некоторые основные статистические данные
   dump - Показать весь файл в краткой форме
   dumpavail - распечатывает доступный файл на стандартный вывод
   unmet - показывать неудовлетворенные зависимости
   search - поиск в списке пакетов по шаблону регулярных выражений
   show - показать читаемую запись для пакета
   зависимость - показать необработанную информацию о зависимости для пакета
   rdepends - Показать информацию об обратной зависимости для пакета
   pkgnames - список имен всех пакетов в системе
   dotty - генерирует графы пакетов для GraphViz
   xvcg - генерирует графы пакетов для xvcg
   policy - Показать параметры политики

Параметры:
  -h Это текст справки.
  -p =? Кеш пакета.
  -s =? Исходный кеш.
  -q Отключить индикатор прогресса.
  -i Показать только важные команды для команды unmet.
  -c =? Прочитайте этот файл конфигурации
  -o =? Установите произвольную опцию конфигурации, например -o dir :: cache = / tmp
Для получения дополнительной информации смотрите справочные страницы apt-cache (8) и apt.conf (5).
**
ostrokach
источник
5
TLDR; В конце концов я обнаружил, что это apt --installed listдает лучший результат (как это было предложено в верхнем ответе выше. Хотя apt-cache pkgnamesна первый взгляд кажется, что он работает, он перечисляет «все пакеты в системе» (согласно тексту справки выше), который также включает пакеты, о которых apt знает но на самом деле не установлены. Есть --installedопция, но, похоже, она не работает pkgnames.
sxc731
2
apt-cache pkgnames | wc -lдает 55909пакеты (о которых знает система), тогда как aptitude search '~i!~M' | wc -lдает 2160(пакеты установлены явно, без зависимостей).
knb
18

Команда ниже также выведет список всех установленных пакетов,

grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u
Авинаш Радж
источник
.1 там подразумевает, что журнал был повернут, если это так, то, возможно, лучше получить grep, /var/log/dpkg.log*чтобы получить все повернутые журналы.
Стив Бузонас
17

Помогите этому сообществу вики - добавьте актуальные решения.


dpkg, xargs, & apt-get

Эта команда должна завершить создание текстового файла, содержащего установленные пакеты:

dpkg -l | awk  '{print $2}' > package_list.txt

Для выполнения массовой установки перечисленных пакетов вам необходимо отредактировать файл package_list.txt. Удалите странные строки в верхней части файла с помощью текстового редактора. Затем вы можете использовать эту команду для установки пакетов из созданного файла, используя:

xargs < package_list.txt apt-get install -y

apt-cache, xargs, & apt-get

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

Выведите ответ «apt-cache pkgnames» в файл, который мы просто назовем «package_list.txt». Вы можете сделать это с помощью:

apt-cache pkgnames > package_list.txt

Затем, когда вы хотите установить пакеты из "package_list.txt", вы должны использовать эту команду:

xargs < package_list.txt apt-get install -y

apt-mark, xargs, & apt-get

Мы можем использовать команду, apt-mark showmanualчтобы получить список пакетов, которые были вручную или изначально установлены с Ubuntu. Мы хотим вывести это в файл, который мы будем называть «package-list.txt». Используйте эту команду для выполнения этого:

apt-mark showmanual > package-list.txt

Команда, которую мы будем использовать для установки пакетов из файла "package_list.txt", приведена ниже.

xargs < package_list.txt apt-get install -y

Aptik Migration Utility

Утилита для упрощения переустановки пакетов программного обеспечения после обновления / переустановки дистрибутивов на основе Ubuntu.
[ Launchpad | Аптик ]

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

Установка Aptik проста. Следуй этим шагам:

  1. Добавьте PPA с:
    sudo add-apt-repository -y ppa:teejee2008/ppa

  2. Обновите apt с помощью приведенной ниже команды.
    sudo apt-get update

  3. Установите Aptik, используя:
    sudo apt-get install aptik

Aptik Migration Utility v16.5.2


Дэвид твой друг
источник
1
Вывод apt-mark showmanualвключает в себя Bash, Unity и Xorg, среди других. Они должны быть там?
wjandrea
@wjandrea вывод 'apt-mark showmanual' также включает Bash & Unity в мой сгенерированный список. Это должно быть нормально, так как команда выводит список вручную установленных и изначально установленных с Ubuntu.
Дэвид твой друг
16

Чтобы сохранить список установленных пакетов в файл с именем installed_packages.txt, просто запустите:

dpkg-query --list >> installed_packages.txt
wb9688
источник
3

Я думаю, что интересно отметить apt list --installedили dpkg-query --listфактически использовать файл, вызванный /var/lib/dpkg/statusсзади, где вся информация о пакетах бородатая.

Так что если вы хотите иметь дело с супер расширенным списком пакетов просто cat /var/lib/dpkg/status.

Примечание. Не изменяйте /var/lib/dpkg/statusфайл.

прости
источник
3

В дополнение к пакетам APT многие пакеты GUI в настоящее время распространяются в виде оснасток .

Если ваша посылка не найдена apt list --installed, попробуйте snap list:

$ snap list

Name                  Version                     Rev   Tracking  Publisher       Notes
gimp                  2.10.10                     165   stable    snapcrafters    -
gnome-calculator      3.32.1                      406   stable/…  canonical✓      -
keepassxc             2.4.1                       267   stable    keepassxreboot  -
...

Также неплохо добавить /snap/binв PATH, чтобы вы могли запускать их из терминала (это делается автоматически для пользователей без полномочий root).

rustyx
источник
1

Пакет dctrl-toolsпредоставляет grep-statusинструмент для получения списка пакетов, помеченных как установленные в вашей системе:

sudo apt install dctrl-tools

Использование:

grep-status -FStatus -sPackage -n   "install ok installed"

видеть : man dctrl-tools

GAD3R
источник
1

https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :

1. Перечислите установленные пакеты программного обеспечения в Ubuntu

Для просмотра списка установленных пакетов программного обеспечения на вашем компьютере вы можете использовать следующую команду:

sudo apt list --installed

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

Listing...
acl/xenial,now 2.2.52-3 amd64 [installed]
adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed]
apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic]
apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apparmor/xenial-updates,now 2.10.95-0ubuntu2.5 amd64 [installed,automatic]
apt/xenial-updates,now 1.2.19 amd64 [installed]
apt-utils/xenial-updates,now 1.2.19 amd64 [installed]
...

2. Используйте программу LESS

Чтобы легко прочитать весь вывод вы можете использовать lessпрограмму.

sudo apt list --installed | less

3. Используйте команду GREP

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

sudo apt list --installed | grep -i apache

4. Перечислите все пакеты, которые включают Apache

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

apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic]
apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
libapache2-mod-php/xenial,xenial,now 1:7.0+35ubuntu6 all [installed,automatic]
libapache2-mod-php7.0/xenial-updates,now 7.0.13-0ubuntu0.16.04.1 amd64 [installed,automatic]
libapache2-mod-security2/xenial,now 2.9.0-1 amd64 [installed]
libapache2-modsecurity/xenial,xenial,now 2.9.0-1 all [installed]

Apt поддерживает шаблоны для соответствия именам пакетов и опциям для отображения списка установленных (--installed)пакетов, обновляемых (--upgradeable) пакетов или всех доступных (--all-versions)версий пакетов.

5. Используйте программу DPKG

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

sudo dpkg -l

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

sudo dpkg -l | grep -i apache

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

ii  apache2                       2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server
ii  apache2-bin                   2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                  2.4.18-2ubuntu3.1                     all          Apache HTTP Server (common files)
ii  apache2-doc                   2.4.18-2ubuntu3.1                     all          Apache HTTP Server (on-site documentation)
ii  apache2-utils                 2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server (utility programs for web servers)
rc  apache2.2-common              2.2.22-6ubuntu5.1                     amd64        Apache HTTP Server common files
ii  libapache2-mod-php            1:7.0+35ubuntu6                       all          server-side, HTML-embedded scripting language (Apache 2 module) (default)
rc  libapache2-mod-php5           5.5.9+dfsg-1ubuntu4.16                amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-php7.0         7.0.13-0ubuntu0.16.04.1               amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-security2      2.9.0-1                               amd64        Tighten web applications security for Apache
ii  libapache2-modsecurity        2.9.0-1                               all          Dummy transitional package
ii  libapr1:amd64                 1.5.2-3                               amd64        Apache Portable Runtime Library
ii  libaprutil1:amd64             1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library
ii  libaprutil1-dbd-sqlite3:amd64 1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library - SQLite3 Driver
ii  libaprutil1-ldap:amd64        1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library - LDAP Driver
.

В конкурсе этого руководства вы успешно научились составлять список установленных пакетов в Ubuntu.

МАК Рипон
источник
0

Есть много способов сделать это. Если вы используете CentOS, как я, вы можете использовать их: 1. yum list installed 2.rpm -qa

Саид Мохаммади
источник