如果以上不可行 - 列出所有已安装的应用程序或至少提供一个GUI界面,列出应用程序,以便我可以截图。
我已经阅读了十几个类似的问题,人们发布的答案通常与问题本身没有太大关联。请注意,我的问题包括“用户安装”。
回答: 在Ubuntu Linux中目前无法实现。 (尽管选择tijybba的答案最接近)
sudo dpkg --get-selections > installed-applications.txt
sudo dpkg --set-selections < installed-applications.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade
sudo add-apt-repository ppa:webupd8team/mintbackup && sudo apt-get update
sudo apt-get install mintbackup
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
dpkg-query -W -f'${PackageSpec}\n'
。dpkg -l | grep ii
实际上,根据您的问题,我看到以下命令可以满足您的需求:dpkg -l | grep ii。对于我来说,这将列出每个已安装的软件包。现在它没有显示用户A或用户B,但这是软件中心日志而不是sudo的限制。即使使用sudo,调用sudo的用户也会被传递,所以您仍然可以让任何应用记录调用sudo运行命令的用户。当然,您可以相对容易地绕过这一点,因为sudo的一部分功能是能够作为任何有sudo访问权限的用户登录,只要您知道他们的密码、破解它,或者如果您在系统上具有更改密码的权限。
如果您担心用户安装的软件可能会给您或您的系统带来风险,您可能需要审查一下为什么给予他们sudo访问权限以及安装软件包的能力,但这只是一个侧面的说明。
我有一种感觉您正在询问自己从系统安装以来安装了哪些软件包,以便进行清理或将设置复制到新机器上。这里已经有答案涵盖了备份/恢复,所以我们将跳过这个话题。
由于没有简单直接的方法来找出哪个用户调用了软件包的安装,更好的方法可能是使用上面列出的命令以及其他用户提供的命令来列出所有已安装的软件包,并打开一个浏览器窗口到Google并运行Google搜索,以确定哪些软件包是必需的以保持系统正常运行,哪些是不必要的。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允许他们拥有权限的用户,以及他们运行的命令!
现在,如果你要在sudo日志[/var/log/auth.log]中搜索apt-get或类似内容,旧的日志会以.0 .1等结尾。
你可以通过拼凑命令行本身来确定用户调用的安装软件。如果他们使用了software-center,我不确定相关的终端命令是否会在此处生成授权行,但你可以使用以下位置找到software center的日志:
/var/log/apt/history.log,而旧的日志则保存在.gz压缩档案中。
现在,软件中心日志并没有提供授权安装的用户,至少在我看过的日志中没有,但它列出了软件中心执行的每个添加、修改或删除操作。同样,该日志也包含时间和日期戳,因此很容易找到基本系统安装完毕后的软件包,只需打开最旧的日志并向上滚动,或者如果你记得基本安装完成的时间和日期,那就没问题。
这两个提到的日志文件都是明文格式,你可以使用Ubuntu发行版默认的任何gedit、mousepad、leafpad或其他文本编辑器来查看或打印它们。
webupd8team/ubuntu/mintbackup'。 名为'webupd8team'的团队没有名为'ubuntu/mintbackup'的PPA。 - alhelal