Как вывести список установленных программных пакетов в Ubuntu? [Дубликат]

8

Возможное дублирование:
как вы отслеживаете, какие пакеты были установлены в Ubuntu (Linux)?

Привет,

Я использую apt-get installдля установки различного программного обеспечения на моем компьютере. У меня есть несколько компьютеров, на которых установлены одинаковые пакеты программного обеспечения. Как я могу получить список программного обеспечения, установленного через apt-get installи последовательность, в которой установлены пакеты. Хорошо, последовательность не так важна, так как менеджер пакетов разрешает зависимости ... Я хочу создать скрипт, который после запуска устанавливает все необходимое программное обеспечение на другие ПК. Все эти компьютеры установлены по умолчанию в Ubuntu. Очевидно, что список пакетов не должен включать в себя все пакеты, которые установлены через установку по умолчанию :)

Также этот список не должен содержать программное обеспечение, установленное через synapticили, dpkgесли возможно.

Иван Петрушев
источник
1
Это, вероятно , дубликат superuser.com/questions/6338/...
Vava
действительно, принятый ответ дубликата отвечает на обе части этого вопроса.
шарлатан-кихот

Ответы:

2

Вы можете сохранить список установленных пакетов на старом компьютере с помощью команды, dpkg --get-selections > ~/packagesа затем восстановить его на новом с помощью sudo dpkg --set-selections < ~/packages && apt-get dselect-upgrade.

Вам не нужно беспокоиться о том, что при установке по умолчанию уже загружено множество вещей, apt-get позаботится обо всем за вас.

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

Нил
источник
1
Чтобы объединить их вместе, вы должны написать что-то вродеcat file1 file2 file3 | sort | uniq > outputfile
davr
12

aptitude может сделать то, что вы ищете и многое другое, на самом деле.

aptitude search '?installed ?not(?automatic)'

Или короче:

aptitude search '~i!~M'

перечислит все пакеты, установленные вручную. Ни один из зависимых (например, mysql-data или * -common, устанавливаемых автоматически) пакетов не будет указан.

Если вы хотите просто имена пакетов, используйте -F '%p'параметр.

Вы можете проверить ссылку на шаблоны поиска , практически нет критериев, по которым он не может искать.

Вава
источник