这是不到六个月的时间里,Ubuntu团队第二次提出建议的更新,而没有进行任何测试并破坏了可用的Ubuntu系统。
这些家伙最近被放宽,以伪造和未经测试的建议更新来破坏当前的LTS版本。这是新的,直到去年它从未发生过。
解决方案是针对NEVER install
一个建议的所谓的解决方案Partial Upgrade
...您仍然可以Synaptic
逐个包地更新系统(尽管Synaptic
现在已经从官方版本中删除了它的含义)...直到您阻止了所有有问题的版本的更新为止。这是一个例子:
#!/bin/sh
#
# Add nemo package to update blacklist
# Run script as super user i.e. sudo ./block-upd-unity.sh
#
if [ $(id -u) != 0 ]; then
echo "This script requires root permissions"
sudo "$0"
exit
fi
echo "nemo hold" | dpkg --set-selections
echo "nemo-data hold" | dpkg --set-selections
echo "nemo-fileroller hold" | dpkg --set-selections
然后在当前目录中按其名称运行脚本,例如:
$ ./block-upd-nemo
解除封锁
#!/bin/sh
#
# Remove nemo package from update blacklist
# Run script as super user i.e. sudo ./block-upd-unity.sh
#
if [ $(id -u) != 0 ]; then
echo "This script requires root permissions"
sudo "$0"
exit
fi
echo "nemo install" | dpkg --set-selections
echo "nemo-data install" | dpkg --set-selections
echo "nemo-fileroller install" | dpkg --set-selections
然后
$ ./unblock-upd-nemo
在Synaptic中,您可以看到一长串compiz
相关软件包,Xenial LTS
这些软件包通过删除这些软件包而被破坏:
ubuntu-desktop unity unity-tweak-tool unsettings ...
要阻止的软件包是:
[列表更新,因为我错过了统一受影响的软件包]
compiz compiz-core compiz-dev compiz-gnome compiz-plugins compiz-plugins-default compiz-plugins-extra compiz-plugins-main compiz-plugins-main-default compizconfig-settings-manager libcompizconfig0 libdecoration0 libdecoration0-dev python-compizconfig libunity-core-6.0-9 libunity-core-6.0-dev unity unity-schemas unity-services
很长的清单。可通过Shell脚本进行管理。
恢复解决方案是从Xenial安装的USB闪存盘引导并执行chroot
。转到Launchpad网站 compiz
下载Release (main)
软件包并强制安装它们,dpkg -i *.deb
然后阻止所有更新,或proposed
从更新配置中删除发行版。
[更新]:您还需要访问Launchpad网站以 unity
下载Release (main)
受影响的软件包(请参见脚本中的以下内容)。
如果您不熟悉Google搜索。
这是我compiz
刚完成的阻止脚本:
[更新,因为我错过了统一受影响的软件包]
#!/bin/sh
#
# Add compiz package to update blacklist
# Run script as super user i.e. sudo ./block-upd-compiz.sh
#
if [ $(id -u) != 0 ]; then
echo "This script requires root permissions"
sudo "$0"
exit
fi
echo "compiz hold" | dpkg --set-selections
echo "compiz-core hold" | dpkg --set-selections
echo "compiz-dev hold" | dpkg --set-selections
echo "compiz-gnome hold" | dpkg --set-selections
echo "compiz-plugins hold" | dpkg --set-selections
echo "compiz-plugins-default hold" | dpkg --set-selections
echo "compiz-plugins-extra hold" | dpkg --set-selections
echo "compiz-plugins-main hold" | dpkg --set-selections
echo "compiz-plugins-main-default hold" | dpkg --set-selections
echo "compizconfig-settings-manager hold" | dpkg --set-selections
echo "libcompizconfig0 hold" | dpkg --set-selections
echo "libdecoration0 hold" | dpkg --set-selections
echo "libdecoration0-dev hold" | dpkg --set-selections
echo "python-compizconfig hold" | dpkg --set-selections
echo "libunity-core-6.0-9 hold" | dpkg --set-selections
echo "libunity-core-6.0-dev hold" | dpkg --set-selections
echo "unity hold" | dpkg --set-selections
echo "unity-schemas hold" | dpkg --set-selections
echo "unity-services hold" | dpkg --set-selections
不要忘记设置脚本可执行文件...
$ chmod a+x block-upd-compiz
[跟进]:运行Shell脚本从compiz
和取消阻止19个软件包之后unity
。我尝试了N0rbet
解决方案,它似乎有效:
$ sudo apt-get install compiz-core-abiversion-20170630
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'compiz-core' instead of 'compiz-core-abiversion-20170630'
The following additional packages will be installed:
compiz-dev compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0
libdecoration0-dev libunity-core-6.0-9 libunity-core-6.0-dev unity unity-schemas unity-services
The following packages will be upgraded:
compiz-core compiz-dev compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0
libdecoration0-dev libunity-core-6.0-9 libunity-core-6.0-dev unity unity-schemas unity-services
13 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
Need to get 5,410 kB of archives.
After this operation, 283 kB of additional disk space will be used.
Do you want to continue? [Y/n] y