如何删除所有已安装但不在存储库中的软件包并安装当前存储库中的等效软件包

如何删除所有已安装但不在存储库中的软件包并安装当前存储库中的等效软件包

我错误地将我的存储库切换到 Zesty 并升级了所有软件包。现在我恢复到 Yakkety,有没有办法让 apt 卸载所有 Zesty 软件包并重新安装 Yakkety 的等效软件包?

lsblk 的输出:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
 loop0 7:0 0 115M 0 loop
/snap/vlc/4 loop1 7:1 0 78,3M 0 loop  /snap/core/1441
 sda 8:0 0 1,4T 0 disk
 ├─sda1 8:1 0 500M 0 part
 ├─sda2 8:2 0 683,6G 0 part /mnt/Windows 
 ├─sda3 8:3 0 1K 0 part 
 ├─sda5 8:5 0 643,9G 0 part / 
 ├─sda6 8:6 0 7,9G 0 part [SWAP] 
 └─sda7 8:7 0 61,5G 0 part 
sr0 11:0 1 1024M 0 rom

uname -a 的输出:

Linux tommy-S551LB 4.10.6 #1 SMP Tue Mar 28 20:29:54 CEST 2017 x86_64
x86_64 x86_64 GNU/Linux

lsb_release -a 的输出:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu Zesty Zapus (development branch)
Release:    17.04
Codename:   zesty

答案1

我不知道自动化这样的事情有多安全重新安装大量软件包,所以这是手动的方法:

获取 Zesty 的所有软件包的列表:

apt list --installed | grep zesty > ~/Desktop/packages-to-reinstall.txt

或者改为

apt list --installed | grep 17.04 > ~/Desktop/packages-to-reinstall.txt

使用以下方法重新安装它们:

sudo apt-get install --reinstall <package_name>

答案2

你应该从头开始重新安装 Yakkety。版本降级不支持是有原因的。请参阅如何将 Ubuntu 回滚到以前的版本?

相关内容