15/2/18 bản cập nhật compiz đã phá vỡ sự thống nhất


21

Bản cập nhật compiz này buộc phải gỡ bỏ unityubuntu-desktoptrên hệ thống Ubuntu 16.04 của tôi.

Các gói vi phạm bị thiếu, nhưng unitynhu cầu, dường như là compiz-core-abiversion-20151010. Nó dường như là một gói ảo và tôi không thể tìm thấy nó để tải xuống.

nhập mô tả hình ảnh ở đây

Khi điều đó xảy ra, tôi chủ yếu sử dụng LXDE trên hệ thống này, nhưng tôi sẽ rất không vui nếu tôi sử dụng Unity ...

Vì tôi thỉnh thoảng sử dụng máy tính để bàn Unity, có cách khắc phục nào không?

Chỉnh sửa: các câu hỏi liên quan đang được triển khai. Trông giống như một lối thoát chất lượng chính

Gói "Giữ lại" để cập nhật, muốn gỡ cài đặt thống nhất?

nâng cấp compiz gỡ bỏ sự thống nhất

Ubuntu TaskBar đã biến mất. Trình khởi chạy bị thiếu

Các bạn đã làm gì! Cập nhật cho cả 16.04 môi trường của tôi đã giết chết máy tính để bàn!

Chỉnh sửa 2: Bug 1749839 được gửi tới launchpad



Tôi có cùng một vấn đề. Không có launcher / thanh tác vụ hoặc nhiều thứ khác.
Andrew Vian

1
@OrganicMarble Có hai người dùng khác bị cháy bởi 16.04 cập nhật tôi đã đọc trong giờ qua. Một cái gì đó lớn lên là một lần nữa tôi nghĩ. Tôi chưa cập nhật kể từ ngày 4 tháng 1 năm 2018 vì tất cả các lỗi được báo cáo. Chỉ cần cập nhật kernel thủ công trong thời gian đó đã mang lại cho tôi tối đa 4.14,18
WinEunuuchs2Unix

1
@OrganicMarble Có Tôi đã đăng nhận xét dưới hai trong số ba liên kết bạn vừa thêm. Tôi cá là sẽ có thêm một tá trong một ngày.
WinEunuuchs2Unix

1
Một người dùng khác có cùng vấn đề cho biết họ đã sửa đề nghị xóa máy tính để bàn. Anh ấy không bao giờ chấp nhận đề nghị xóa ở nơi đầu tiên. Tôi nghĩ rằng tùy chọn không phục hồi sẽ quá phức tạp trong thời gianapt upgrade
WinEunuuchs2Unix 16/2/18

Câu trả lời:


10

Tình huống rất lạ.
compiz-core-abiversion-20151010 là ảo trên xenial và zesty , nhưng nó được cung cấp bởi compiz-core:

$ apt-cache show compiz-core  | grep "Version\|Provides\|Package"
Package: compiz-core
Version: 1:0.9.12.3+16.04.20180221-0ubuntu1
Provides: compiz-core-abiversion-20180221
Package: compiz-core
Version: 1:0.9.12.2+16.04.20160415-0ubuntu1
Provides: compiz-core-abiversion-20151010

Vì vậy, APT và dpkg biết về cả hai.

Danh sách đầy đủ của compiz-core-abiversiongia đình như sau:

$ aptitude search compiz-core-abiversion-
v   compiz-core-abiversion-20151010                                -
v   compiz-core-abiversion-20151010:i386                           -
v   compiz-core-abiversion-20180221                                -
v   compiz-core-abiversion-20180221:i386                           -

Ở đây như chúng ta biết compiz-core-abiversion-20151010là không thể cài đặt:

$ sudo apt-get install compiz-core-abiversion-20151010
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package compiz-core-abiversion-20151010 is a virtual package provided by:
  compiz-core 1:0.9.12.2+16.04.20160415-0ubuntu1 [Not candidate version]

E: Package 'compiz-core-abiversion-20151010' has no installation candidate

Nhưng chúng ta có thể cài đặt phiên bản mới hơn (thực tế):

$ sudo apt-get install compiz-core-abiversion-20180221
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'compiz-core' instead of 'compiz-core-abiversion-20180221'
The following additional packages will be installed:
  compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0 libunity-core-6.0-9 unity unity-schemas unity-services
The following packages will be upgraded:
  compiz-core compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0 libunity-core-6.0-9 unity unity-schemas
  unity-services
10 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.
Need to get 5 302 kB of archives.
After this operation, 278 kB of additional disk space will be used.
Do you want to continue? [Y/n] n

Vì vậy, trên hệ thống nhất quán bình thường, tất cả những gì chúng ta cần là cài đặt tất cả các nâng cấp.
Nhưng nếu unitygói đã bị xóa, chúng ta có thể cài đặt nó với:

sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install unity ubuntu-desktop

Lưu ý 1: Cài đặt Ubuntu 16.04 LTS của tôi với Unity và MATE DE (1 xenial sạch và 3 chính xác cũ -> đáng tin cậy -> xenial ) hoạt động bình thường sau khi nâng cấp thường xuyên mà không cần sự can thiệp của tôi. Tất cả các hệ thống này đã không cố gắng loại bỏ cả Unity cũng như ubuntu-desktoptrong quá trình nâng cấp. Và tất nhiên xenial-proposed là bị vô hiệu hóa trên hệ thống của tôi, vì tôi không muốn chuyển đổi Ubuntu LTS của mình sang ArchLinux có thể tự phá vỡ.

Lưu ý 2: Tôi đã chỉnh sửa câu trả lời của mình 2018-03-12 vì thực tế compiz-core-abiversion-20170630đã bị xóa khỏi kho lưu trữ.


1
Cài đặt compiz-core-abiversion-20170630 đã khắc phục sự cố phụ thuộc. Cảm ơn rất nhiều! Không chắc chắn tại sao điều này bị thiếu trên hệ thống của tôi và rõ ràng là trên những người khác.
Đá cẩm thạch hữu cơ

@Organic Marble N0rbert chỉ nói với bạn rằng cho đến bây giờ nó là một gói ảo được cung cấp bởi compiz-core. Sự khác biệt là bây giờ nó là một gói bình thường / riêng biệt để cài đặt như vậy ... Điều đó không được đoán bởi bản phát hành được đề xuất ...
Antonio

Tôi cho rằng nó nên được đưa vào bản phát hành.
Đá cẩm thạch hữu cơ

1
compiz-corelà gói thật, compiz-core-abiversion-20170630vẫn là ảo. Có thể là dpkg / APT-internals nên biết rằng chúng tôi đã cài đặt phiên bản 20170630 thực tế và có sẵn (không bỏ lỡ 20151010).
N0rbert

13

Tôi đã tìm thấy một giải pháp. apt-get không thể xử lý tình huống, nhưng aptitude có thể xử lý nó.

sudo aptitude install ubuntu-desktop

Lưu ý rằng giải pháp đầu tiên được cung cấp bởi aptitude không khắc phục được sự cố, vì lựa chọn đó không cài đặt gói. Tôi đã phải chọn không có lần đầu tiên, và sau đó aptitude đưa ra một giải pháp thứ hai là hạ cấp các gói compiz gây ra tất cả các vấn đề. Việc hạ cấp khắc phục sự cố phụ thuộc, sau đó ubfox-desktop và unity được cài đặt lại.


2
Cảm ơn bạn đã sửa chữa temp rất thông minh của bạn. Một câu trả lời tiếp theo cung cấp độ phân giải hoàn chỉnh, vì vậy tôi đã chuyển sự chấp nhận sang câu trả lời đó.
Đá cẩm thạch hữu cơ

2

Giả sử bạn đã đăng nhập và giao diện người dùng của bạn bị kẹt mà không có sự thống nhất, bạn có thể làm như sau:

  1. Chuyển đến tty4 bằng Ctrl+ Alt+ F4.
  2. Đăng nhập.
  3. Cài đặt aptitude:

    sudo apt install aptitude
    
  4. Cài đặt unitybằng aptitude:

    sudo aptitude install unity
    

Sau đó nó sẽ cho bạn biết rằng có một gói xung đột. Bạn trả lời 'n'và nó sẽ đề nghị bạn hạ cấp compiz. Đi trước và chấp nhận điều đó.


1
Cảm ơn, nhưng điều này không thực sự thêm bất cứ điều gì vào câu trả lời trước.
Đá cẩm thạch hữu cơ

2

Đâ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 Synapticgói theo gói (mặc dù để hiểu rõ về nó Synaptichiệ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 compizcác gói liên quan đang bị phá vỡ Xenial LTSbằ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 *.debsau đó chặn tất cả các bản cập nhật, hoặc loại bỏ các proposedphiê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 compiztô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ừ compizunity. Tôi đã thử N0rbetgiả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

4
Khi bạn nói "đề xuất" được cập nhật, bạn có nghĩa là trong xenial-proposedkênh? Nếu vậy, đó là rõ ràng để thử nghiệm. Bạn không nên cài đặt chúng trừ khi bạn chuẩn bị bị hỏng.
muru

2
@Antonio Nó luôn xảy ra. Họ đã phá vỡ 14,04 khủng khiếp trong năm 2015. bug.launchpad.net/hundredaperscut/+orms/1469995
Đá cẩm thạch hữu cơ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.