Как составить список установленных пользователем приложений (не пакетов)?

Не пакеты и не все приложения. Просто пользователь установил приложения из любого источника (Центр программного обеспечения, PPA и т. Д.).

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

Я прочитал дюжину подобных вопросов, и люди, публикующие ответы, обычно даже не приближаются к достоинствам ОП-вопроса. Обратите внимание, что мой вопрос включает в себя "пользователь установил.

Ответ: В настоящее время невозможно в Ubuntu Linux. (Выбор ответа tijybba в качестве ближайшего одного, хотя)

33
задан 14 September 2012 в 22:17

4 ответа

На самом деле вы можете использовать Центр программного обеспечения Ubuntu , как показано на снимке экрана здесь:

Ubuntu Software Center: "Installed"-menu

Также вы можете увидеть его в выборе Synaptic Bottom left list.

По cd /etc/apt/sources.list.d/ && cat * .list вы получите список всех репозиториев в вашей системе.

Вы также можете использовать Y менеджер PPA для резервного копирования и обновления ваших репозиториев.


Второй метод

[Поскольку этот метод включает в себя установку всех пакетов, но если мы думаем, что вновь установленная ОС уже будет иметь эти 90% пакетов, то он проигнорирует существующие и установит новые, добавленные вручную, которые будут только ваши установленные вручную приложения]

Этот метод из здесь .

sudo dpkg --get-selections > installed-applications.txt

сгенерирует список установленных приложений в текстовом файле в домашней папке.

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

sudo dpkg --set-selections < installed-applications.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

Это также возможно с помощью Gui way

sudo add-apt-repository ppa:webupd8team/mintbackup && sudo apt-get update
sudo apt-get install mintbackup

enter image description here

Я думаю, изображение почти говорит само за себя, сделайте резервную копию вашего выбора, затем восстановите его в новой установке.

30
ответ дан 14 September 2012 в 22:17

только root может устанавливать пакеты под Ubuntu, пользователь, который может это делать, только 1, sudoers просто пользователь с эквивалентными правами.

Однако вы можете получить много информации, глядя в журналах вы можете посмотреть

журнал apt в разделе / var / log / apt / журнал dpkg под / var / log /

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

dpkg -l | grep ii
2
ответ дан 14 September 2012 в 22:17

apt-mark showmanual предоставит вам список пакетов, установленных вручную. Сюда входят пакеты, установленные установщиком, а это большинство из них. Но если вы запустите это после установки и сравните результат еще раз позже, вы получите список пакетов, специально запрошенных пользователем, за исключением автоматически установленных зависимостей.

Например:

$ # Save the current list of manually installed packages
$ apt-mark showmanual | sort > original-package-list

# ...time passes...

$ # Compare the old list with the current list
$ # (this will output a list of packages that have been installed by the user since the last command)
$ apt-mark showmanual | sort | comm -13 - original-package-list

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

Или просто просмотреть список всех установленных пакетов, запустите dpkg-query -W -f '$ {PackageSpec } \ n '.

16
ответ дан 14 September 2012 в 22:17

На самом деле, по вашему вопросу я вижу, что эта следующая команда делает то, что вам нужно dpkg -l | grep ii. В нем перечислены все установленные пакеты, как и должно быть. Теперь он не говорит, что пользователь A или пользователь B, но опять же это ограничение не для sudo, а для журналов программного центра. ДАЖЕ с использованием sudo пользователь, который вызвал sudo, передается, поэтому у вас все еще может быть любой журнал приложений, который вызвал sudo для запуска команды. Теперь, конечно, вы можете обойти это довольно легко, потому что часть sudo - это возможность войти в систему как любой пользователь [имеющий доступ к sudo], если вы знаете его пароль, взломать его или изменить его, если у вас есть эти права в системе.

Если вас беспокоит то, что установил пользователь, что может поставить под угрозу вас или вашу систему, вы можете проверить, почему вы предоставили им доступ к sudo и вместе с этим возможность устанавливать пакеты, но это только сторона примечание.

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

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

Перейдите сюда, чтобы пропустить большую часть мусора и получить ответ более прямо ...

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

May 15 11:26:30 <COMPUTERNAME> sudo:   <user who called sudo> : TTY=unknown ; PWD=/home/pariah (pwd file or auth method used to verify user) ; USER=root (User they were running as) ; COMMAND=/usr/bin/thunar (the command they ran)

Итак, это говорит мне, что сейчас и когда этот пользователь вызвал для sudo [на самом деле в этом случае использовался gksu, кстати], какой пользователь sudo разрешил им иметь такие же разрешения, а большой - команда, которую они запускали!

Теперь, если вы должны были использовать grep для apt-get или аналогичного в журнале sudo [/var/log/auth.log] и более старые будут иметь .0 .1 и т. д., добавленные в конец.

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

/var/log/apt/history.log и более старые журналы находятся в сжатых архивах .gz

. Теперь журнал центра программного обеспечения не предоставляет пользователя, который авторизовал установку, насколько я когда-либо видел в этом журнале, но он перечисляет КАЖДОЕ добавление, изменение или удаление программного центра. Опять же, в этом журнале также есть отметки времени и даты, поэтому достаточно легко найти подтверждения после установки базовой системы, перейти к самому старому журналу, перейти наверх, или если вы помните время и дату завершения базовой установки, и все готово.

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

1
ответ дан 14 September 2012 в 22:17

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

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