我需要使用命令和/或脚本来卸载最近安装的应用程序 deb 。在这种情况下,我不能使用 apt-get ,而是使用 dpkg --purge 或类似的东西,比如 dpkg --remove (最近安装的应用程序),但不提供应用程序的名称。
谢谢
ls -tl /var/lib/dpkg/info/*.list | head -n 1 | awk '{print $8}' | xargs -n1 basename | sed -e "s/.list//"
ls -tl /var/lib/dpkg/info/*.list :为您提供按日期排序的软件包列表
head -n 1 :给你第一个项目
awk '{print $8}' :为您提供完整路径文件名
xargs -n1 basename :给出文件名,如 curl.list
sed -e "s/.list//" | 给你包名
查找最后安装的包相对简单。它是 /var/lib/pkg/info 中的最新条目。
但是,卸载不一定会将系统恢复到之前的状态。
安装一个包也会安装它的所有依赖项。因此,要真正撤消安装,您还需要撤消这些依赖项。您可以看到“libfoo”与“appbar”几乎同时更新。但是,信息文件不会告诉您之前的状态是不是“libfoo”,还是只是旧版本的“libfoo”。