Output dari apt-get upgrade
adalah:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
Apa artinya ini? Haruskah saya mengambil tindakan? Jika ya, apa?
Output dari apt-get upgrade
adalah:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
Apa artinya ini? Haruskah saya mengambil tindakan? Jika ya, apa?
Jawaban:
Saya memiliki masalah yang sama, beberapa kali. JANGAN lakukan
sudo apt-get dist-upgrade
dulu. Sangat penting. **** CATATAN: Solusi ini untuk mesin berbasis Debian tetapi tidak akan berfungsi pada KDE Neon . Untuk memperbarui KDE Neon, Anda harus menggunakansudo pkcon update
. ****
Ini dapat membuat sistem Anda sangat tidak stabil, program dapat macet dan Anda dapat kehilangan banyak fungsi di OS Anda.
Anda HARUS menginstal setiap paket secara terpisah, NAMUN , selama proses itu, dependensi lain juga akan diinstal secara otomatis dan masalah Anda akan terpecahkan hanya dalam beberapa menit.
Saya tidak punya masalah dengan solusi berikut. Ini cukup cepat dan mudah.
apt list --upgradable
sudo apt-get install package-name-here
apt list --upgradable
apt list --upgradable
setelah setiap paket diinstal. Ini hanya perlu beberapa menit untuk selesai.
sudo apt-get autoclean
sudo apt-get update && sudo apt-get dist-upgrade
Jika solusi ini bekerja untuk Anda, jangan lupa untuk meningkatkannya sehingga solusi yang tepat tersedia untuk orang lain dan berada di bagian atas daftar jawaban.
Jika karena alasan tertentu solusi ini tidak berhasil untuk Anda, silakan lihat jawaban pengguna GAD3R di bawah ini. Ini juga solusi yang bagus.
Terima kasih.
Apa artinya ini?
The following packages have been kept back:
Jawabannya ada di sini
Ini berarti bahwa ada versi-versi baru dari paket-paket ini yang tidak akan diinstal karena suatu alasan. Kemungkinan alasannya adalah dependensi yang terputus (paket yang bergantung padanya tidak memiliki versi untuk diunduh) atau dependensi baru (paket menjadi tergantung pada paket baru sejak versi terakhir).
Haruskah saya mengambil tindakan?
Anda perlu menggunakan dist-upgrade
untuk menginstal dependensi baru dan memutakhirkan paket:
sudo apt-get dist-upgrade
Masalahnya dapat diselesaikan dengan menjalankan dist-upgrade
jika tidak Anda perlu:
Perbaiki dependensi yang rusak
sudo apt-get -f install
Hapus beberapa paket yang tidak lagi diinstal pada sistem Anda:
sudo apt-get autoclean
Tunda paket yang diinginkan:
echo "<package_name> hold" | dpkg --set-selections
Mengkonfigurasi ulang paket bernama:
dpkg-reconfigure <package_name>
Dari jawaban Unix SE ini :
Pertama seperti yang disebutkan di atas tolong JANGAN dist-upgrade sistem produksi! Sementara dist-upgrade akan "memecahkan" paket yang disimpan kembali, itu jelas bukan solusi untuk masalah ini dan kemungkinan besar akan menyebabkan Anda lebih sedih daripada baik jika Anda menjalankannya tanpa mengetahui implikasi pada sistem Anda.
Jika memutakhirkan suatu paket membutuhkan penginstalan paket tambahan, itu akan "disimpan kembali" saat berjalan sudo apt-get upgrade
.
Seperti yang disebutkan di atas, Anda dapat menginstal paket-paket "disimpan" ini secara manual dengan menjalankan secara eksplisit sudo apt-get install [paste kept back packages here]
tetapi ini akan menandai paket-paket ini sebagai "diinstal secara manual" yang sering kali bukan yang kita inginkan.
Untuk secara otomatis menginstal paket tambahan yang diperlukan untuk meningkatkan paket "yang disimpan" tanpa menandai paket "yang disimpan" sebagai yang diinstal secara manual, jalankan saja sudo apt-get --with-new-pkgs upgrade
.
Saya memasukkan jawaban ini di blog saya. Jika Anda ingin melihat bahwa Anda dapat pergi ke sana dari tautan ini .
Kesalahan di atas sangat umum di terminal Ubuntu ketika Anda mencoba untuk meningkatkan ( apt-get upgrade
). Ini biasanya terjadi karena dependensi dari satu paket yang Anda instal telah berubah. Untuk meningkatkan, Anda harus meningkatkannya terlebih dahulu. Jadi sangat mudah untuk menyelesaikannya. Anda akan dapat melihat paket-paket yang disimpan di bawah pesan kesalahan ini. sebagai contoh saya bisa melihat paket-paket berikut dalam daftar:
gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Jangan hanya mengetik sudo apt-get dist-upgrade
Ini sangat berbahaya karena menginstal semua pembaruan yang tertunda. Ini bisa membawa lingkungan kerja Anda ke kondisi yang sangat tidak stabil.
Karena itu pendapat saya adalah menggunakan terkenal
sudo apt-get install [package]
Anda dapat mengganti [package]
dengan paket apa pun yang ada dalam pesan kesalahan. Anda juga dapat meletakkannya sebagaimana daftar (cukup salin dan tempel). Sebagai contoh dalam kasus saya, saya bisa masuk
sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Jika Anda ingin melakukannya
sudo apt-get dist-upgrade
untuk beberapa alasan, pastikan untuk memeriksa daftar paket dengan menggunakan opsi simulasi -s
( sudo apt-get -s dist-upgrade
), atau tanpa -s
opsi Anda dapat menghentikan eksekusi sebelum menerima. (Anda selalu dapat memilih opsi no)
Baru-baru ini pembaruan keamanan Debian memperkenalkan beberapa dependensi baru. Dalam hal ini linux-image
paket mulai memerlukan linux-firmware
, di antara beberapa lainnya. Jadi mereka ditahan dan tidak dipasang oleh unattended-upgrade
. Setelah beberapa pengujian dan mengkonfirmasikan saya bisa selektif menginstal hanya paket-paket, sementara tidak menyentuh update tertunda lainnya:
apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')
Artikel ini dengan baik merangkum mengapa ini terjadi:
Jika dependensi telah berubah pada salah satu paket yang telah Anda instal sehingga paket baru harus diinstal untuk melakukan upgrade maka itu akan terdaftar sebagai "disimpan-kembali".
Solusi untuk ini adalah menginstalnya secara eksplisit
sudo apt install [packages]
Anda mungkin ingin menandai paket-paket ini sebagai terinstal secara otomatis, kecuali Anda peduli sendiri dan tidak hanya untuk memenuhi dependensi.
sudo apt-mark auto [packages]
Untuk mencegah hal ini terjadi, saya sarankan untuk menggunakannya
sudo apt --with-new-pkgs upgrade
untuk meningkatkan paket di masa depan, yang memungkinkan pemasangan paket baru untuk memenuhi perubahan dalam dependensi.
--with-new-pkgs
! Dan saya tekankan sekali lagi bahwa, " JANGAN dist-upgrade sistem produksi apa pun! Sementara dist-upgrade akan" menyelesaikan "paket-paket yang sudah disimpan kembali, jelas bukan solusi untuk masalah ini dan kemungkinan besar akan menyebabkan Anda lebih berduka daripada baik jika Anda jalankan tanpa mengetahui implikasinya pada sistem Anda. "