Strategi untuk berurusan dengan QA Canonical yang semakin buruk?

13

installed (local or obsolete)Kategori saya terisi karena Canonical belakangan ini mendorong pembaruan dan menariknya kembali. Itu terjadi dengan dua kernel di masa lalu dan itu terjadi lagi dengan cupspagi ini. Saya telah menggunakan Ubuntu selama sekitar tiga tahun sekarang dan saya tidak ingat ini terjadi sesering tahun ini.

Jadi, bagaimana cara menghadapi hal ini secara rasional?

Saya berpikir untuk hanya menginstal pembaruan sekali seminggu, tetapi itu tidak akan melindungi dari mengambil pembaruan buruk yang mereka mendorong keluar sebelum saya memeriksa minggu itu.

Apakah strategi yang baik untuk hanya menginstal pembaruan pada akhir pekan? Tampaknya pembaruan sistem tidak sering didorong keluar pada akhir pekan. Saya kira mereka bisa mendorong pembaruan yang buruk pada Jumat sore dan menariknya pada Senin pagi.

Atau, entah bagaimana tidak menginstal pembaruan sampai mereka dikeluarkan untuk jangka waktu tertentu - seperti dua hari? Apakah ada cara otomatis untuk melakukan itu?

Sunting: Salah satu sistem yang terpengaruh menjalankan Lubuntu 16.04 dengan linux-generickernel, yang lain menjalankan Lubuntu 16.04 dengan linux-generic-hwe-16.04kernel. Keduanya dipengaruhi oleh cupspembaruan versi 2.13-4ubuntu0.2 yang didorong keluar dan kemudian ditarik kembali pada 27 Maret 2017. linux-genericMesin menerima pembaruan kernel versi 4.4.0.67.12 yang kemudian ditarik kembali. Pembaruan ini juga menjadi yatim snapdversi 2.23.1 linux-generic-hwe-16.04Mesin menerima versi kernel 4.8.0.42.14 yang kemudian menjadi yatim piatu.

Marmer organik
sumber
2
Terima kasih telah menjelaskan versi. Saya bertanya-tanya apakah Anda berurusan dengan versi LTS, sedangkan versi menengah (bagi saya) terutama untuk menguji dengan banyak perubahan yang mungkin membuatnya menjadi LTS. Sejauh versi LTS yang saya fokuskan, saya belum cukup jeli untuk melihat kesalahan yang luar biasa. Saya secara teratur memperbarui. Saya melihat masalah kecil dari waktu ke waktu yang tampaknya terus-menerus ditangani oleh para pengembang. Anda mungkin mempertimbangkan untuk berfokus pada pembaruan Keamanan untuk sistem yang aman dan memungkinkan perubahan harian ditangani oleh yang lebih berani.
LD James
1
@ fkraiem ya, saya telah melihat dua rilis kernel baru-baru ini ditarik kembali tak lama setelah saya diberitahu bahwa mereka tersedia. Cukup lucu, saya memutuskan untuk melakukan pembaruan nanti, dan ketika saya kembali, semuanya hilang!
heynnema
Saya menggunakan mematikan pembaruan otomatis Windows sebagian karena pengalaman Anda baru-baru ini di Ubuntu. Saya perhatikan bahwa akhir-akhir ini pembaruan tampaknya dilakukan setiap hari. Mungkin saya harus mematikan milik saya karena saya tidak memiliki bug sekarang.
WinEunuuchs2Unix
Apakah mereka melewatkan porton esensial dari StableReleaseUpdates yang lebih sering, terutama untuk paket inti? AFAIK yang belum diumumkan, dan membuka diskusi di milis ubuntu-devel akan menjadi langkah yang tepat untuk dilakukan.
Gunnar Hjalmarsson

Jawaban:

2

Alternatif drastis adalah beralih ke Debian Stable, daripada * buntu atau turunannya, karena Debian Stable telah melalui proses QA penuh, sedangkan Ubuntu berasal dari Debian Testing, yang memiliki beberapa cara untuk pergi sebelum menjadi Stabil.

Hampir semua pengetahuan dapat ditransfer secara langsung, tetapi Debian tidak akan memberi Anda semua "lonceng dan peluit" kosmetik terbaru. Namun, ia memiliki lebih banyak paket di repositori ...

Saya beralih ke Debian, dalam kasus saya dengan KDE, berasal dari Kubuntu, sekitar 5 tahun yang lalu, setelah memiliki masalah yang sama. Tetapi itu tergantung pada pilihan pribadi.

tiger99
sumber
1
Itu informasi yang bagus. Saya akhirnya berurusan dengan itu dengan membuat mirror lokal saya sendiri yang pada dasarnya mengunduh semua pembaruan setiap hari. PC LAN rumah saya mendapatkan pembaruan dari mirror lokal tetapi hanya atas perintah, tidak secara otomatis. Jadi, jika ada yang terlihat menyeramkan, saya bisa duduk selama beberapa hari jika saya mau.
Marmer Organik
Itu adalah solusi yang sangat baik untuk masalah ini. Banyak jaringan bisnis diatur untuk melakukan hal yang sama dengan pembaruan Windows, untuk alasan yang sama!
tiger99
0

Kembalikan pembaruan paket ke versi yang lebih lama

Jika Anda memiliki nomor versi, atau rilis target, dukungan apt-get memilih versi atau rilis target tertentu.

  1. Instal bakat

    sudo apt-get install aptitude
    
  2. Tampilkan versi lama paket.

    aptitude versions <package-name> | less # use less to display only the top of the list of versions
    
  3. Kembalikan paket yang dipilih ke versi yang lebih lama.

    sudo apt-get -t=<target release> install <package-name>  # target release is old version
    
  4. Copot pemasangan pembaruan buruk dari paket yang dipilih.

    sudo apt-get -t=<target release> remove <package-name> # target release is new version
    
  5. Cegah versi paket yang digulirkan agar tidak diperbarui secara otomatis menggunakan apt-mark hold. apt-mark holddigunakan untuk menandai paket sebagai ditahan, yang akan mencegah paket dari yang diinstal, ditingkatkan atau dihapus secara otomatis.

    sudo apt-mark hold <package-name>  
    

Kembalikan pembaruan kernel ke versi yang lebih lama

Ikuti langkah-langkah yang sama seperti pada bagian sebelumnya kecuali Anda harus mengikuti langkah-langkah pengujian tambahan bahwa Anda masih menginstal versi kernel yang berfungsi sebelum menghapus instalasi paket kernel yang rusak. Sayangnya ini membutuhkan reboot sistem. Saya minta maaf tentang me-reboot, karena saya tahu ini bisa merepotkan dan menghabiskan waktu ketika Anda memelihara banyak sistem.


aptitude versions <package-name> tidak menampilkan semua versi kernel yang saat ini diinstal, namun Anda dapat menampilkan semua versi kernel yang saat ini diinstal dengan perintah ini:

dpkg-query -W -f='${Package}\n' | grep -f <(ls -1 /boot/vmlinuz* | cut -d- -f2,3)  

Hasil dari perintah ini akan mencantumkan nama paket semua paket kernel yang tidak berfungsi yang harus dihapus instalasinya.

Setelah Anda menghapus paket yang merupakan versi kernel tidak berfungsi, Anda akan mendapatkan pesan ini:

The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]

Pesan ini ditampilkan karena vmlinuz.old ditautkan ke file yang dihapus, jadi Anda perlu memperbarui grub dengan menjalankan perintah ini:

sudo update-grub
karel
sumber
1
Um, ini sangat menyebalkan jika Anda memiliki beberapa sistem untuk dipelihara, dan kemudian harus kembali dan mengatur semuanya untuk boot dari kernel yang baik. Dan berurusan dengan restart untuk kernel yang buruk, dan restart lain untuk mendapatkan kernel yang baik.
Marmer Organik
1
Anggota keluarga saya perlu menyalakan komputer mereka tanpa harus memikirkan kernel apa yang digunakan. Dan, saya tahu cara memperbaiki masalah ini begitu terjadi. Saya mencari strategi untuk menghindari masalah pada awalnya. Saya tidak mencatat jawaban Anda, tetapi tidak responsif terhadap pertanyaan saya.
Marmer Organik
2
@OrganicMarble Untuk anak-anak Anda, yang mungkin bukan yang paling paham komputer atau peduli untuk memikirkan kernel dan masalah, sudahkah Anda menguji konfigurasi komputer mereka untuk pembaruan keamanan saja ? Apakah masalah yang sama terjadi dengan konfigurasi itu? Saya tidak bisa membayangkan keadaan di mana pembaruan umum akan sempurna sampai sejumlah besar komputer dan lingkungan yang diuji setelah dirilis ketika bekerja tanpa masalah di lab. Setidaknya pertanyaan Anda menunjukkan perbaikan cepat ketika masalah muncul.
LD James
1
@LDJames itu saran yang bagus. Saya curiga, bagaimanapun, bahwa pembaruan kernel ini adalah pembaruan keamanan. Saya tidak yakin bagaimana untuk kembali dan memeriksanya.
Marmer Organik
1
@OrganicMarble Anda dapat kembali dan memeriksa dengan memeriksa unattendedfile log ( /var/log/unattended-upgrades). Saya percaya unattended-upgradespaket ini untuk pembaruan keamanan.
LD James
-1

Strategi terbaik Anda, seperti OS apa pun, adalah memeriksa pembaruan minimal sekali sehari.

Dari sudut pandang keamanan, itu tidak realistis untuk satu pengguna untuk berjalan pada pembaruan yang tertunda sementara mereka secara individual diuji dan diprioritaskan. Dan pembaruan yang mendesak selalu lebih penting daripada yang ditarik.

Karena itu, kecuali Anda punya waktu untuk menyelidiki setiap pembaruan, strategi terbaik adalah menerapkan pembaruan saat dirilis, bahkan jika ini menghasilkan banyak pembaruan yang menarik. Ini selalu bisa dibersihkan nanti.

Sebagai strategi cadangan, Anda harus selalu ... membuat cadangan! Cadangkan sering, cadangkan semuanya. Pembaruan buruk adalah salah satu alasannya. Ini sangat berguna jika Anda menyimpan dokumen penting Anda di cloud.

EDIT: Jawaban saya didasarkan pada asumsi bahwa Anda adalah orang tunggal dengan komputer pribadi di rumah.

Dorian
sumber
1
Strategi "nyengir dan tahan" bukanlah yang saya cari.
Marmer Organik
@OrganicMarble Saya tidak pernah mengatakan itu. Tetapi saya menganggap Anda adalah pengguna tunggal dan Anda berbicara tentang sistem pribadi. Kalau tidak, perluas pertanyaan Anda. Hanya ada begitu banyak yang dapat Anda lakukan sebagai satu orang ketika datang untuk mengelola pembaruan. Saya mengelola situs besar dengan puluhan server dan ratusan workstation di organisasi yang ratusan kali lebih besar dari situs saya. Kita semua berurusan dengan pembaruan dengan cara yang sangat kompleks yang tidak dapat dilakukan oleh satu orang.
Dorian
Ya, saya dalam kasus sudut, saya kira, di mana kami adalah keluarga menggunakan Ubuntu dengan 5 komputer, ditambah saya menjalankan beberapa mesin virtual. Jadi kira-kira. 10 sistem yang harus saya kelola. Terlalu sedikit untuk mendapatkan sistem manajemen otomatis, tetapi cukup untuk membuat hal-hal seperti ini sangat menjengkelkan.
Marmer Organik
@OrganicMarble Ya itu menyulitkan satu orang untuk mengelola. Dan jujur, hal terbaik yang dapat Anda lakukan adalah terus memperbarui sesering mungkin. Demo cepat untuk anggota keluarga Anda mungkin akan membantu ketika muncul beberapa opsi kernel yang muncul. Anda hanya perlu menunjukkannya sekali atau dua kali. Sudahkah Anda mempertimbangkan skrip sederhana yang dijalankan dari cronpekerjaan untuk memeriksa beberapa kernel? Apakah banyak kernel menjadi perhatian utama?
Dorian