2/15/18 pembaruan compiz memecahkan persatuan

21

Pembaruan compiz ini memaksa penghapusan unitydan ubuntu-desktoppada sistem Ubuntu 16.04 saya.

Paket menyinggung yang hilang, tetapi unityperlu, tampaknya compiz-core-abiversion-20151010. Tampaknya ini adalah paket virtual , dan saya tidak dapat menemukannya untuk diunduh.

masukkan deskripsi gambar di sini

Seperti yang terjadi, saya kebanyakan menggunakan LXDE pada sistem ini, tetapi saya akan sangat tidak senang jika saya menggunakan Unity ...

Karena saya kadang-kadang menggunakan desktop Unity, apakah ada perbaikan untuk ini?

Sunting: pertanyaan terkait sedang bergulir. Sepertinya pelarian kualitas utama

Paket "Kept back" untuk pembaruan, ingin menghapus instalasi kesatuan?

upgrade compiz uninstalasi unity

Ubuntu TaskBar hilang. Peluncur tidak ada

Apa yang baru saja kalian lakukan! Pembaruan untuk kedua 16,04 lingkungan saya membunuh desktop!

Sunting 2: Bug 1749839 dikirimkan ke launchpad

Marmer organik
sumber
Regresi? google.ca/url?q=/ubuntu/992571/…
WinEunuuchs2Unix
Saya memiliki masalah yang sama. Tidak ada launcher / taskbar atau banyak hal lainnya.
Andrew Vian
1
@OrganicMarble Ada dua pengguna lain yang dibakar oleh pembaruan 16,04 yang saya baca dalam satu jam terakhir. Sesuatu yang besar naik lagi, saya pikir. Saya belum memperbarui sejak 4 Januari 2018 karena semua bug dilaporkan. Hanya pembaruan kernel manual dari waktu ke waktu yang mengarahkan saya hingga 4.14.18
WinEunuuchs2Unix
1
@OrganicMarble Ya saya memposting komentar di bawah dua dari tiga tautan yang baru saja Anda tambahkan. Saya yakin akan ada selusin lagi dalam sehari.
WinEunuuchs2Unix
1
Pengguna lain dengan masalah yang sama mengatakan bahwa mereka memperbaiki tawaran untuk menghapus desktop. Dia tidak pernah menerima tawaran untuk menghapus sejak awal. Saya pikir opsi hapus akan terlalu rumit selamaapt upgrade
WinEunuuchs2Unix

Jawaban:

10

Situasi yang sangat aneh.
Ya compiz-core-abiversion-20151010 adalah virtual di xenial dan zesty , tetapi disediakan oleh 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

Jadi APT dan dpkg tahu tentang keduanya.

Daftar lengkap compiz-core-abiversionkeluarga adalah sebagai berikut:

$ 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                           -

Di sini yang kita ketahui compiz-core-abiversion-20151010tidak dapat diinstal:

$ 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

Tetapi kita dapat menginstal versi yang lebih baru (aktual):

$ 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

Jadi pada sistem normal yang konsisten semua yang kita butuhkan adalah menginstal semua pemutakhiran.
Tetapi jika unitypaket dihapus, kita dapat menginstalnya dengan:

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

Catatan 1: (1 bersih saya Ubuntu 16.04 LTS instalasi dengan Unity dan MATE DE Xenial dan dan 3 tua yang tepat -> terpercaya -> Xenial ) bekerja normal setelah upgrade biasa tanpa intervensi saya. Semua sistem ini tidak mencoba untuk menghapus Unity maupun ubuntu-desktopselama peningkatan. Dan tentu saja xenial-proposed dinonaktifkan pada sistem saya, karena saya tidak ingin mengubah LTS Ubuntu saya menjadi ArchLinux yang dapat dipecahkan sendiri.

Catatan 2: Saya mengedit jawaban saya 2018-03-12 karena fakta yang compiz-core-abiversion-20170630telah dihapus dari repositori.

Nrbert
sumber
1
Menginstal compiz-core-abiversion-20170630 memperbaiki masalah ketergantungan. Terima kasih banyak! Tidak yakin mengapa ini tidak ada pada sistem saya dan tampaknya pada yang lain.
Marmer Organik
@Organic Marble N0rbert baru saja memberi tahu Anda bahwa sampai sekarang ini adalah paket virtual yang disediakan oleh compiz-core. Perbedaannya adalah bahwa sekarang ini adalah paket normal / terpisah untuk menginstalnya ... Itu tidak dapat ditebak oleh rilis yang diusulkan ...
Antonio
Saya kira itu seharusnya sudah termasuk dalam rilis.
Marmer Organik
1
compiz-coreadalah paket nyata, compiz-core-abiversion-20170630tetap virtual. Mungkin dpkg / APT-internal harus tahu bahwa kami telah menginstal versi 20170630 yang sebenarnya dan tersedia (tidak ketinggalan 20151010).
N0rbert
13

Saya telah menemukan solusinya. apt-get gagal menangani situasi, tetapi aptitude dapat mengatasinya.

sudo aptitude install ubuntu-desktop

Perhatikan bahwa solusi pertama yang ditawarkan oleh aptitude tidak memperbaiki masalah, karena itu memilih untuk tidak menginstal paket. Saya harus memilih tidak pertama kali, dan kemudian aptitude menawarkan solusi kedua untuk menurunkan versi paket-paket compiz yang menyebabkan semua masalah. Downgrade memperbaiki masalah ketergantungan, dan kemudian ubuntu-desktop dan unity diinstal ulang.

Andrew Vian
sumber
2
Terima kasih atas perbaikan temp cerdas Anda. Jawaban selanjutnya memberikan resolusi lengkap, jadi saya telah memindahkan penerimaan ke jawaban itu.
Marmer Organik
2

Dengan asumsi Anda sudah masuk dan UI Anda macet tanpa satu, Anda dapat melakukan hal berikut:

  1. Pergi ke tty4 menggunakan Ctrl+ Alt+ F4.
  2. Masuk.
  3. Pasang aptitude:

    sudo apt install aptitude
    
  4. Instal unitymenggunakan aptitude:

    sudo aptitude install unity
    

Ini kemudian akan memberi tahu Anda bahwa ada paket yang saling bertentangan. Anda menjawab 'n'dan itu akan menyarankan Anda menurunkan versi compiz. Silakan menerimanya.

Chadi
sumber
1
Terima kasih, tetapi ini tidak benar-benar menambahkan apa pun ke jawaban sebelumnya.
Marmer Organik
2

Ini adalah kedua kalinya dalam waktu kurang dari 6 bulan bahwa tim Ubuntu membuat pembaruan yang diusulkan tanpa pengujian dan merusak sistem Ubuntu yang berfungsi.

Orang-orang ini baru saja dibebaskan untuk memecahkan versi LTS saat ini dengan pembaruan yang diajukan palsu dan belum teruji ... Itu baru, sampai tahun lalu itu tidak pernah terjadi.

Solusinya adalah untuk NEVER installyang diusulkan dan disebut Partial Upgrade... Anda masih dapat memperbarui sistem Anda melalui Synapticpaket dengan paket (meskipun untuk membuatnya masuk akal Synapticsekarang dihapus dari rilis resmi) ... Sampai Anda memblokir semua pembaruan dari rilis kereta . Berikut ini sebuah contoh:

#!/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

Kemudian jalankan skrip dengan namanya di direktori saat ini, seperti:

$ ./block-upd-nemo

Untuk membuka blokir

#!/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

Kemudian

$ ./unblock-upd-nemo

Di sini, di Synaptic Anda dapat melihat daftar panjang compizpaket terkait yang rusak Xenial LTSdengan menghapus paket-paket ini:

ubuntu-desktop unity unity-tweak-tool unsettings ...

Paket yang akan diblokir adalah:

[Daftar Diperbarui karena saya melewatkan paket yang terpengaruh kesatuan]

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

Daftar yang cukup panjang. Dapat dikelola melalui skrip Shell.

Solusi pemulihan adalah melakukan booting dari Xenial menginstal stik USB dan menjalankan a chroot. Kunjungi situs web Launchpad untuk compiz mengunduh Release (main)paket - paket dan paksa menginstalnya dengan dpkg -i *.deblalu memblokir semua pembaruan, atau menghapus proposedrilis dari konfigurasi pembaruan Anda.

[Perbarui]: Anda juga perlu pergi ke situs web Launchpad untuk unity dan mengunduh Release (main)paket yang terpengaruh (lihat di bawah dalam skrip).

Pencarian Google jika Anda tidak terbiasa dengannya.

Ini skrip pemblokiran saya karena compizsaya baru saja selesai:

[Diperbarui saat saya melewatkan paket yang terpengaruh kesatuan]

#!/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

Jangan lupa untuk mengatur skrip yang dapat dieksekusi ...

$ chmod a+x block-upd-compiz

[Folllow Up]: Setelah menjalankan skrip Shell untuk membuka blokir 19 paket dari compizdan unity. Saya mencoba N0rbetsolusinya dan sepertinya berhasil:

$ 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
Antonio
sumber
4
Ketika Anda mengatakan "diusulkan" diperbarui, apakah maksud Anda di xenial-proposedsaluran? Jika demikian, itu secara eksplisit untuk pengujian. Anda tidak harus menginstalnya kecuali Anda siap untuk kerusakan.
muru
2
@Antonio Itu selalu terjadi. Mereka memecahkan 14,04 mengerikan pada tahun 2015. bugs.launchpad.net/hundredpapercuts/+bug/1469995
Marmer Organik