На самом деле, на ваш вопрос я вижу, что эта следующая команда делает то, что вам нужно 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 и т. Д.
Вы можете собрать воедино то, что устанавливает пользователь, вызванный в самой командной строке. Если бы они использовали software-center, я не уверен, что соответствующая команда терминала получит здесь строку авторизации, но вы можете использовать журналы программного центра, найденные по адресу:
/var/log/apt/history.log и более старые журналы находятся в сжатых архивах .gz
Теперь журнал центра программного обеспечения не предоставляет пользователю, который установил установки, насколько я когда-либо видел в этом журнале, но в нем перечислены КАЖДЫЕ действия по добавлению, изменению или удалению центра программного обеспечения. Опять же, в этом журнале также есть метки времени и даты, так что достаточно легко найти квитанции после установки базовой системы, перейти к самому старому журналу, перейти к началу или, если вы помните время и дату завершения базовой установки, и вы готовы к работе.
Оба упомянутых файла журнала представлены в виде открытого текста, и вы можете использовать любой gedit, mousepad, leafpad, независимо от того, какой текстовый редактор использует ваш вариант Ubuntu, так как он по умолчанию позволяет просматривать и распечатывать их.