今天我试图将 musepack 编码器支持内置到 ffmpeg 中,无意中破坏了一些东西,但我不确定到底是哪个包破坏了它们。我该如何删除今天安装的所有包,然后更小心地从头开始?
我可以在“历史记录”中今天的日期下的“Ubuntu 软件中心”中看到它们的列表,但我不想一个一个地卸载它们,因为有数百个要做。
答案1
grep -e `date +%Y-%m-%d` /var/log/dpkg.log | awk '/install / {print $4}' | uniq | xargs apt-get -y remove
发现于命令行对我来说很好
答案2
该文件/var/log/apt/history.log
包含您所需的内容。看一下答案:如何一次重新安装许多已删除的软件包?这是一个更详细的答案。
答案3
免责声明:Nala 仍处于开发阶段,不建议用于任何专业用途。
对于apt
包
如果您准备使用命令行来安装新软件包,则可以使用更现代的apt
前端轻松获得撤消功能nala
(对于 22.04,您必须启用“universe”存储库)。注意:这仅适用于apt
/.deb
包。
sudo apt install nala
从此时起,使用nala
以下命令在您的系统上安装新软件包:
sudo nala install <package-name>
将安全更新等留给unattended-upgrades
包。
现在,当您运行命令时nala history
,您将获得使用 nala 运行的命令列表,包括已安装的软件包。要仅过滤新安装,请使用:
nala history | grep install
历史记录功能的另一个好处是,您可以撤消历史记录中的任何步骤,这样您就可以轻松地撤消软件包的安装程序。这可以通过发出以下命令来完成:
sudo nala history undo <ID>
<ID>
您要撤消的交易在历史列表中的 ID 号在哪里?
对于snap
包
Snap 有自己的“撤消”功能,您可以轻松恢复到之前安装的版本。具体操作如下:
sudo snap revert <package-name>
如果您想恢复到 snap 包的特定修订版本,也可以这样说;
sudo snap revert <package-name> --revision <rev ID>
对于快照,也看这里。