Получить список установленных программ и приложений [dублировать]

Еще одна идея добавить к уже широкому набору опций из превосходного ответа Сержа.

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

alias - это просто слово, которое вы выбираете для сопоставления с большей строкой, которую оболочка будет расширять каждый раз, когда она встречается с ней. Возможно, наиболее часто используемым случаем является применение «по умолчанию» к существующей команде, например:

alias ls='ls -a --color=auto'

Однако нет необходимости, чтобы ваш alias был назван в честь существующей команды - или даже короче, чем шаблон назначения - так что вы могли бы, например, alias tgzcreator='tar -czvf'

alias es используют ресурс с оболочкой, в которой они определены. «Persistent» alias es для вас можно настроить в ~/.bash_aliases, который должен быть автоматически загружен с помощью наиболее хорошо написанных сценариев .bashrc по умолчанию.

Обратите внимание на пару советов: [ ! d6] Вместо того, чтобы беспокоиться в конкретном сценарии, будет ли ранее установленный alias мешать вашему коду, вы можете префикс его с обратной косой чертой, чтобы предотвратить пропущение alias. например Обычно я alias cp до cp -i, чтобы случайно не перезаписывать вещи, но в некоторых сценариях я явно хочу перезаписать вещи. (Я не собираюсь использовать какое-то ужасное обходное решение, например, создание известного пользователя un alias ed!) Итак, в этом скрипте я буду использовать \cp src dst alias. Возможно, по умолчанию не найдены источники в сценариях оболочки , которые запускают свою собственную неинтерактивную копию оболочки. Вы можете убедиться, что они расширены, установив опцию expand_aliases в вашем скрипте. Я получил это от: https://stackoverflow.com/questions/2197461/how-to-set-an-alias-inside-a-bash-shell-script-so-that-is-it-visible-from-the -ou

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

shopt -s expand_aliases
alias get_etc_dir='find /etc -type d'
alias get_etc_fil='find /etc -type f'

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

(Также я бы предложил переместить это в Unix / Linux SE, считая, что это идеальный вариант для вещи, которые не являются специфичными для Ubuntu?)

1633
задан 8 June 2016 в 20:48

34 ответа

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 или любых других вариантов, необходимых здесь)

1697
ответ дан 17 July 2018 в 17:58

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 или любых других вариантов, необходимых здесь)

1698
ответ дан 23 July 2018 в 18:49

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

dpkg, xargs, & amp; apt-get

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

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

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

xargs < package_list.txt apt-get install -y

apt-cache, xargs, & amp; apt-get

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

Вывести ответ «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, & amp; 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 попробуйте посетить его , который включает , а для скриншота нажмите здесь или просмотрите конец этого раздела.

Установка Aptik проста. Выполните следующие шаги:

Добавьте PPA с помощью: sudo add-apt-repository -y ppa:teejee2008/ppa Update apt с помощью следующей команды. sudo apt-get update Установите Aptik, используя: sudo apt-get install aptik

здесь

14
ответ дан 17 July 2018 в 17:58

Для полного изложения см.:

https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora#Command_Line_Tools

на полпути через страницу:

dpkg --list
18
ответ дан 17 July 2018 в 17:58

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

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

Перейдите в Центр программного обеспечения и найдите параметр «Синхронизировать между компьютерами ...» в меню «Файл». Когда вы нажмете на него, вы увидите, что ваш компьютер зарегистрирован и список всех приложений на вашем компьютере. Когда вы будете устанавливать новый, этот компьютер будет считаться новым компьютером. Вам просто нужно войти в свою учетную запись Ubuntu, и ваш предыдущий компьютер будет показан. Нажмите здесь; вы получите список всех приложений. Выберите «установить» в приложении, которое вы хотите установить.
31
ответ дан 17 July 2018 в 17:58

В приведенной ниже команде также перечислены все установленные пакеты,

grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u
16
ответ дан 17 July 2018 в 17:58

Чтобы просмотреть все установленные пакеты,

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

или

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

или

dpkg --get-selections > 1.txt

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

36
ответ дан 17 July 2018 в 17:58

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

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

dpkg -l | grep '^ii '
22
ответ дан 17 July 2018 в 17:58

Чтобы отобразить все пакеты, специально установленные (а не как зависимости) с помощью команд 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 ...
172
ответ дан 17 July 2018 в 17:58

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

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

33
ответ дан 17 July 2018 в 17:58

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

apt-cache pkgnames

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

**apt-cache is a low-level tool used to query information from APT's binary cache files Commands: gencaches - Build both the package and source cache showpkg - Show some general information for a single package showsrc - Show source records stats - Show some basic statistics dump - Show the entire file in a terse form dumpavail - Print an available file to stdout unmet - Show unmet dependencies search - Search the package list for a regex pattern show - Show a readable record for the package depends - Show raw dependency information for a package rdepends - Show reverse dependency information for a package pkgnames - List the names of all packages in the system dotty - Generate package graphs for GraphViz xvcg - Generate package graphs for xvcg policy - Show policy settings Options: -h This help text. -p=? The package cache. -s=? The source cache. -q Disable progress indicator. -i Show only important deps for the unmet command. -c=? Read this configuration file -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp See the apt-cache(8) and apt.conf(5) manual pages for more information. **
18
ответ дан 17 July 2018 в 17:58

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

Для установки:

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

Дополнительная информация: http://www.teejeetech.in/2014/04/aptik-v14.html

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

30
ответ дан 17 July 2018 в 17:58

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

32
ответ дан 17 July 2018 в 17:58
apt-mark showmanual

man pages state:

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

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

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

apt-mark showmanual >list-installed.txt
56
ответ дан 17 July 2018 в 17:58
APT-Clone. Этот пакет можно использовать для клонирования / восстановления пакетов в системе на основе apt. Он будет сохранять / восстанавливать пакеты, sources.list, keyring и автоматически установленные состояния. Он также может сохранять / восстанавливать больше загружаемых пакетов, используя dpkg-repack. source: man apt-clone

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

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

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

Он сохраняет всю информацию о репозиториях. Сделать резервную копию sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz Он отслеживает, какие пакеты были автоматически установлены.

Он делает простой gzipped 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
27
ответ дан 17 July 2018 в 17:58

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

Чтобы получить файл манифеста для настольных версий 12.04 и новее, посетите отличное объяснение в Unix StackExchange , выберите свою версию и прокрутите вниз ниже изображений компакт-диска в раздел файлов. Вы найдете что-то вроде «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 для получения подробной информации о шаблонах поиска.

24
ответ дан 17 July 2018 в 17:58

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

dpkg-query --list >> installed_packages.txt
13
ответ дан 17 July 2018 в 17:58

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

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
179
ответ дан 17 July 2018 в 17:58

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

dpkg, xargs, & amp; apt-get

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

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

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

xargs < package_list.txt apt-get install -y

apt-cache, xargs, & amp; apt-get

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

Вывести ответ «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, & amp; 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 попробуйте посетить его , который включает , а для скриншота нажмите здесь или просмотрите конец этого раздела.

Установка Aptik проста. Выполните следующие шаги:

Добавьте PPA с помощью: sudo add-apt-repository -y ppa:teejee2008/ppa Update apt с помощью следующей команды. sudo apt-get update Установите Aptik, используя: sudo apt-get install aptik

здесь

14
ответ дан 23 July 2018 в 18:49
  • 1
    Вывод из apt-mark showmanual включает, среди прочего, Bash, Unity и Xorg. Они должны быть там? – wjandrea 17 August 2016 в 01:55
  • 2
    @wjandrea вывод «apt-mark showmanual» включает Bash & amp; Единство в моем сгенерированном списке. Это должно быть нормально, поскольку команда перечисляет вручную установленный & amp; изначально установлен w / Ubuntu. – David your friend 17 August 2016 в 01:59

Для полного изложения см.:

https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora#Command_Line_Tools

на полпути через страницу:

dpkg --list
18
ответ дан 23 July 2018 в 18:49

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

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

Перейдите в Центр программного обеспечения и найдите параметр «Синхронизировать между компьютерами ...» в меню «Файл». Когда вы нажмете на него, вы увидите, что ваш компьютер зарегистрирован и список всех приложений на вашем компьютере. Когда вы будете устанавливать новый, этот компьютер будет считаться новым компьютером. Вам просто нужно войти в свою учетную запись Ubuntu, и ваш предыдущий компьютер будет показан. Нажмите здесь; вы получите список всех приложений. Выберите «установить» в приложении, которое вы хотите установить.
31
ответ дан 23 July 2018 в 18:49
  • 1
    Я установил одно и то же имя для своего компьютера на новую установку, чтобы предотвратить огромную загрузку с сервера Ubuntu One каждый раз. Считаете ли вы, что эта работа для меня? – AliNâ 18 August 2013 в 01:29

В приведенной ниже команде также перечислены все установленные пакеты,

grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u
16
ответ дан 23 July 2018 в 18:49
  • 1
    В .1 там подразумевается, что журнал был повернут, если это так, то, возможно, лучше grep /var/log/dpkg.log* получить все вращающиеся журналы. – Steve Buzonas 14 April 2015 в 14:55

Чтобы просмотреть все установленные пакеты,

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

или

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

или

dpkg --get-selections > 1.txt

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

36
ответ дан 23 July 2018 в 18:49
  • 1
    Набрав # for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done во второй системе, я сделал это, чтобы установить пакеты. – xyz 11 March 2015 в 23:46
  • 2
    @julianromera: apt-get install -y $(< installed-pkgs) сделает так, чтобы apt-get запускался только один раз и сразу заботился обо всех зависимостях. – jamadagni 10 November 2015 в 12:29
  • 3
    @julianromera ... исправьте меня, если я ошибаюсь, но для создания приложения с зависимостями перед выполнением установки обычно будет sudo apt-get build-dep name-package; sudo apt-get install name-package; ? – Faron 1 March 2016 в 04:39

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

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

dpkg -l | grep '^ii '
22
ответ дан 23 July 2018 в 18:49

Чтобы отобразить все пакеты, специально установленные (а не как зависимости) с помощью команд 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 ...
172
ответ дан 23 July 2018 в 18:49
  • 1
    Или (с zgrep и удалением сообщений обновления): zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:' – belacqua 17 May 2013 в 21:16
  • 2
    Этот подход пропускает пакеты, установленные с помощью dpkg? – drevicko 14 June 2013 в 04:27
  • 3
    Хотя приведенные выше простые ответы подходят для обычного пользователя. Этот метод, безусловно, лучше всего подходит для отслеживания всех настроек, сделанных для машины, поскольку он также показывает, что было удалено или добавлено из базового изображения, поскольку оно перечисляет их в последовательности, в которой оно было выполнено, и помогает вам помнить, что правильная последовательность, чтобы добавить их обратно в другую систему. – AllGamer 24 July 2014 в 21:27
  • 4
    @AllGamer Моя единственная проблема в том, что /var/log/ - это сопоставленная память на моей машине, поэтому я не могу использовать этот подход ... – Ali 17 August 2014 в 01:44
  • 5
    @drevicko вы правы, он не перечисляет пакеты, которые установлены с dpkg – Steve Buzonas 14 April 2015 в 13:39

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

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

33
ответ дан 23 July 2018 в 18:49

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

apt-cache pkgnames

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

**apt-cache is a low-level tool used to query information from APT's binary cache files Commands: gencaches - Build both the package and source cache showpkg - Show some general information for a single package showsrc - Show source records stats - Show some basic statistics dump - Show the entire file in a terse form dumpavail - Print an available file to stdout unmet - Show unmet dependencies search - Search the package list for a regex pattern show - Show a readable record for the package depends - Show raw dependency information for a package rdepends - Show reverse dependency information for a package pkgnames - List the names of all packages in the system dotty - Generate package graphs for GraphViz xvcg - Generate package graphs for xvcg policy - Show policy settings Options: -h This help text. -p=? The package cache. -s=? The source cache. -q Disable progress indicator. -i Show only important deps for the unmet command. -c=? Read this configuration file -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp See the apt-cache(8) and apt.conf(5) manual pages for more information. **
18
ответ дан 23 July 2018 в 18:49
  • 1
    TLDR; В конце концов я обнаружил, что apt --installed list дает лучший результат (как было предложено в верхнем ответе выше). Хотя apt-cache pkgnames, кажется, делает трюк с первого взгляда, он перечисляет «все пакеты в системе» (в соответствии с текстом справки выше), который также содержит пакеты, которые apt знает, но на самом деле не установлены. Существует опция --installed, но она не работает с pkgnames. – sxc731 1 January 2016 в 20:05
  • 2
    apt-cache pkgnames | wc -l предоставляет пакеты 55909 (система знает), тогда как aptitude search '~i!~M' | wc -l дает 2160 (пакеты явно установлены без зависимостей). – knb 11 April 2017 в 11:42

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

Для установки:

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

Дополнительная информация: http://www.teejeetech.in/2014/04/aptik-v14.html

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

30
ответ дан 23 July 2018 в 18:49
  • 1
    Это должен быть правильный ответ. Зачем нужны списки? – Stavros Korokithakis 8 December 2012 в 07:44
  • 2
    Это должно быть ответом , но использование aptitude является немного ненадежным из-за многократного в настоящее время (исправления в пути), к сожалению. Тем не менее +1 для указания только на перечисление явно установленных пакетов и способ сделать это (несмотря на то, что он не будет работать в 11.10+ в настоящее время). – gertvdijk 11 January 2013 в 21:31
  • 3
    @intuited "Fix Released & quot; для Точного (некоторое время назад). :) – gertvdijk 21 June 2013 в 01:10
  • 4
    В этом списке перечислены все пакеты, а не только установленные вручную пакеты на Ubuntu 13.10. – Eamon Nerbonne 31 October 2013 в 20:33
  • 5
    на Ubuntu-15.10, необходимо установить aptitude first , например : sudo apt-get install aptitude – Mark Mikofski 9 April 2016 в 19:00
  • 6
    Если вы хотите использовать графический интерфейс, вам также необходимо установить apt-get install aptik-gtk – Maduka Jayalath 24 May 2018 в 09:14

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

32
ответ дан 23 July 2018 в 18:49
  • 1
    Я не пытаюсь создать полное зеркало, но только факт принятия конфигурационных файлов является увлекательным. Я искал такой инструмент какое-то время, большое спасибо! – tbolender 5 September 2014 в 14:58
apt-mark showmanual

man pages state:

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

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

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

apt-mark showmanual >list-installed.txt
57
ответ дан 23 July 2018 в 18:49
  • 1
    В Debian "apt-mark showmanual" не работал на "сжатие" но работал над "хриплым" – Wadih M. 5 October 2015 в 03:07
  • 2
    Как и в большинстве других ответов, apt-mark showmanual на самом деле. В нем также перечислены тонны автоматически установленных пакетов, возможно, часть базовой установки. – mivk 30 November 2015 в 02:05
  • 3
    Ну, вопрос был в установленных пакетах, и это дает все установленные пакеты за вычетом автоматически установленных зависимостей. Он включает исходные пакеты как часть начальной установки. Я думаю, вы можете запустить это на новой установке, чтобы получить список установок по умолчанию, а затем вычесть это из этого, чтобы увидеть разницу. – Tim Tisdall 30 November 2015 в 03:54

Другие вопросы по тегам:

Похожие вопросы: