Đây là lần thứ hai trong vòng chưa đầy 6 tháng, các nhóm Ubuntu đã thực hiện một bản cập nhật được đề xuất mà không có bất kỳ thử nghiệm nào và phá vỡ các hệ thống Ubuntu đang hoạt động.
Những kẻ này gần đây đã sẵn sàng phá vỡ phiên bản LTS hiện tại bằng các bản cập nhật được đề xuất giả mạo và chưa được kiểm tra ... Đó là điều mới, cho đến năm ngoái, điều đó chưa bao giờ xảy ra.
Giải pháp là NEVER install
đề xuất và được gọi là Partial Upgrade
... Bạn vẫn có thể cập nhật hệ thống của mình thông qua Synaptic
gói theo gói (mặc dù để hiểu rõ về nó Synaptic
hiện đã bị xóa khỏi bản phát hành chính thức) ... Cho đến khi bạn chặn tất cả các bản cập nhật của bản phát hành lỗi . Đây là một ví dụ:
#!/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
Sau đó chạy tập lệnh theo tên của nó trong thư mục hiện tại, như:
$ ./block-upd-nemo
Để bỏ chặn
#!/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
Sau đó
$ ./unblock-upd-nemo
Tại Synaptic, bạn có thể thấy một danh sách dài compiz
các gói liên quan đang bị phá vỡ Xenial LTS
bằng cách xóa các gói này:
ubuntu-desktop unity unity-tweak-tool unsettings ...
Các gói để chặn là:
[Danh sách được cập nhật khi tôi bỏ lỡ các gói bị ảnh hưởng thống nhất]
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
Một danh sách dài. Quản lý thông qua kịch bản Shell.
Một giải pháp phục hồi sẽ là khởi động từ thanh USB cài đặt Xenial và thực hiện a chroot
. Tới trang web của Launchpad cho compiz
để tải về các Release (main)
gói và buộc cài đặt chúng với dpkg -i *.deb
sau đó chặn tất cả các bản cập nhật, hoặc loại bỏ các proposed
phiên bản từ cấu hình cập nhật của bạn.
[Cập nhật]: Bạn cũng cần truy cập trang web Launchpad unity
và tải xuống các Release (main)
gói bị ảnh hưởng (xem bên dưới trong tập lệnh).
Tìm kiếm Google nếu bạn không quen thuộc với nó.
Đây là kịch bản chặn của tôi cho compiz
tôi vừa hoàn thành:
[Cập nhật khi tôi bỏ lỡ các gói bị ảnh hưởng thống nhất]
#!/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
Đừng quên thiết lập các tập lệnh thực thi ...
$ chmod a+x block-upd-compiz
[Folllow Up]: Sau khi chạy tập lệnh Shell để bỏ chặn 19 gói từ compiz
và unity
. Tôi đã thử N0rbet
giải pháp và nó có vẻ hiệu quả:
$ 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