今天我試圖將 musepack 編碼器支援內建到 ffmpeg 中,我無意中破壞了一些東西,但我不確定我安裝的哪個軟體包破壞了它們。如何刪除今天安裝的所有軟體包,並更仔細地從頭開始?
我可以在“歷史記錄”中今天日期下的“Ubuntu軟體中心”中看到它們的列表,但我不想一一卸載它們,因為有數百個要做。
答案1
grep -e `date +%Y-%m-%d` /var/log/dpkg.log | awk '/install / {print $4}' | uniq | xargs apt-get -y remove
發現於命令列fu對我來說效果很好
答案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>
如果您想還原到快照包的特定版本,也可以說明這一點;
sudo snap revert <package-name> --revision <rev ID>
對於快照,也看這裡。