Saya hanya menambahkan repositori PPA untuk pengembangan versi GIMP, tapi saya mendapatkan error ini:
$ apt-get update && apt-get upgrade
...
The following packages have been kept back:
gimp gimp-data libgegl-0.0-0 libgimp2.0
Mengapa dan bagaimana cara mengatasinya agar saya bisa menggunakan versi terbaru, bukan satu-satunya yang saya miliki sekarang?
Menurut artikel tentang debian-administration.org,
Jika dependensi telah berubah pada salah satu paket yang telah diinstal sehingga paket baru harus diinstal untuk melakukan upgrade maka yang akan terdaftar sebagai "terus-kembali".
Hati-hati larutan 1:
Per Pablo's jawaban, anda dapat menjalankan sudo apt-get --with-new-pkgs upgrade
, dan itu akan menginstal terus-kembali paket.
Ini memiliki manfaat tidak menandai terus-kembali paket-paket sebagai "diinstal secara manual," yang bisa memaksa lebih banyak campur tangan pengguna down the line (lihat komentar).
Jika Pablo's solusi yang bekerja untuk anda, silakan upvote itu. Jika tidak, silakan komentar apa yang salah.
Hati-hati solusi 2:
Hati-hati solusi untuk menjalankan sudo apt-get install <daftar paket disimpan kembali>
. Dalam kebanyakan kasus ini akan memberikan disimpan kembali paket-paket apa yang mereka butuhkan untuk berhasil meng-upgrade.
Agresif solusi:
Yang lebih agresif adalah solusi untuk menjalankan sudo apt-get dist-upgrade
, yang akan memaksa instalasi baru tersebut dependensi.
Tapi dist-upgrade
bisa sangat berbahaya. Tidak seperti upgrade mungkin hapus paket untuk mengatasi ketergantungan yang kompleks situasi. Tidak seperti anda, APT isn't selalu cukup pintar untuk tahu apakah ini penambahan dan penghapusan bisa mendatangkan malapetaka.
Jadi jika anda menemukan diri anda di tempat di mana "hati-hati solusi" tidak't bekerja, dist-upgrade
mungkin bekerja... tetapi anda're mungkin lebih baik belajar sedikit lebih banyak tentang APT dan menyelesaikan masalah ketergantungan "dengan tangan" dengan menginstal dan menghapus paket-paket pada kasus-oleh-kasus dasar.
Anggap saja seperti memperbaiki mobil... jika anda memiliki waktu dan berguna dengan kunci pas, anda'll mendapatkan beberapa ketenangan pikiran dengan membaca dan melakukan perbaikan diri. Jika anda're merasa beruntung, anda bisa drop mobil anda off dengan sepupu dist-upgrade
dan berharap dia tahu barang-barangnya.
Setiap kali anda menerima dari perintah apt-get upgrade
pesan
The following packages have been kept back:
kemudian untuk meng-upgrade salah satu atau semua tetap kembali paket, tanpa melakukan upgrade distribusi (ini adalah apa yang dist-upgrade
tidak, jika saya ingat dengan benar) adalah untuk mengeluarkan perintah:
apt-get install <list of packages kept back>
ini akan menyelesaikan terus-isu kembali dan akan meminta untuk menginstal paket-paket tambahan, dll. seperti yang telah dijelaskan dengan jawaban yang lain.
apt-get dist-upgrade
berbahaya untuk lingkungan yang stabil,
Use case: upgrade kernel disimpan kembali, anda hanya ingin meng-upgrade kernel, tidak ingin meng-upgrade seluruh distribusi.
Cara yang lebih baik untuk menangani disimpan kembali paket:
sudo aptitude
Jika anda telah menyimpan kembali paket yang anda harus melihat Paket yang dapat Diupgrade di atas daftar.
Anda disimpan kembali paket yang diinstal.
Mengapa anda tidak mencoba ini Unix SE jawaban:
sudo apt-get --with-new-pkgs upgrade
Ini memungkinkan paket-paket baru yang akan diinstal. Ini akan membiarkan anda tahu paket apa saja yang akan diinstal dan meminta anda sebelum benar-benar melakukan instalasi.
apt
command (alternatif yang ramah ke apt-get
) berbagi opsi ini.
Menggunakan apt-get install <pkg>
bukannya akan menandai pkg sebagai "diinstal secara manual"!! Untuk menandainya lagi sebagai "secara otomatis diinstal" penggunaan apt-mark auto <pkg>
(lihat juga subcommand showmanual
). Info lebih lanjut on ini jawaban.
Biasanya ada dua alasan anda mungkin melihat pesan ini.
Jika upgrade program (via sudo apt-get upgrade
) akan menyebabkan paket yang akan ditambahkan atau dihapus, maka program akan diadakan kembali. Anda dapat menggunakan sudo apt-get dist-upgrade
dalam kasus ini, yang kemudian akan menawarkan untuk menambahkan atau menghapus program tambahan.
Ini cukup umum dan biasanya tidak menjadi masalah. Kadang-kadang (terutama pada Ubuntu alpha) a dist-upgrade
akan menawarkan untuk menghapus banyak program lain, dalam hal ini anda mungkin ingin membatalkannya.
Jika program ini tergantung pada paket atau versi yang tidak tersedia, maka program akan diadakan kembali. Anda benar-benar dapat't melakukan apa-apa tapi tunggu dalam keadaan ini, karena paket ini pada dasarnya tidak dapat dibongkar. Hal ini dapat terjadi ketika paket akan ditambahkan ke repositori keluar dari ketertiban, ketika sebuah paket adalah nama, atau ketika sebuah paket berhenti menyediakan paket virtual.
Anda juga dapat mencoba:
sudo aptitude safe-upgrade
It's lebih aman dari full-upgrade
(awalnya bernama dist-upgrade) karena "paket tidak akan dihapus kecuali mereka yang tidak terpakai".
Dari man bakat
:
safe-upgrade
Upgrade paket diinstal ke versi terbaru. Dipasang paket tidak akan dihapus kecuali mereka yang tidak terpakai /.../ Paket yang tidak terpasang saat ini dapat diinstal untuk mengatasi dependensi kecuali --no-baru-menginstal opsi baris perintah adalah disediakan.
Kemungkinan besar paket-paket ini diadakan kembali karena instalasi mereka akan menciptakan ketergantungan inkonsistensi. Ini bisa terjadi karena anda menggunakan arsip di bawah pengembangan aktif, ppas, atau karena cermin anda menggunakan tidak sepenuhnya diperbarui.
Dalam kasus terakhir, tunggu saja, ketika dependensi yang diselesaikan itu akan dipasang waktu berikutnya.
Edit:
Ada kemungkinan lain, paket mungkin akan diadakan kembali jika tidak menempatkan terus pada mereka, atau jika mereka disematkan.
Hal ini biasanya karena paket telah menambahkan ketergantungan, dan meng-upgrade doesn't ingin menambahkannya untuk anda tanpa izin.
Jika anda menjalankan:
sudo apt-get install gimp gimp-data libgegl-0.0-0 libgimp2.0
Kemudian versi baru harus dipasang bersama-sama dengan mereka baru ketergantungan.
Saya telah menemukan bahwa bakat melakukan pekerjaan yang lebih baik di upgrade paket jika versi yang berbeda hanya sedikit. Saya mengalami situasi seperti ini:
me@compy:/etc/apt$ apt-cache policy gzip
gzip:
Installed: 1.3.5-15
Candidate: 1.3.5-15+etch1
Version table:
1.3.5-15+etch1 0
500 http://archive.debian.org etch/main Packages
*** 1.3.5-15 0
100 /var/lib/dpkg/status
Hal ini membuat apt-get menahan update, tapi bakat diperbarui itu baik-baik saja. I'm tidak yakin algoritma yang digunakan untuk menentukan jika paket harus diperbarui atau tidak. Saya kira ini memiliki dua versi yang sama, hanya berbeda 'kualifikasi'. Tapi dalam hal apapun, apt-get tidak't update, tapi bakat akan.
Dalam kasus saya paket menahan orang-orang yang terkait dengan linux-header dan kernel. Aku datang untuk ini dengan mencoba untuk memecahkan masalah dengan memiliki tanda seru merah di area pemberitahuan dan tidak mampu untuk memperbarui paket.
Untuk mengatasi hal itu, saya tidak harus menggunakan baik dist-upgrade atau manual apt-get install xxx.
Apa yang saya lakukan dan telah membantu telah sederhana dan bersih:
sudo apt-get update
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get upgrade
Saya harus mengkonfirmasi secara manual Grub update dan konfigurasinya.
Maka saya hanya bekerja dengan komputer selama beberapa saat dan kemudian standar update dialogue telah muncul lagi akhirnya termasuk "Ubuntu dasar" bagian dengan kernel dan terkait. Pembaruan ini dilakukan tanpa ada masalah dan saya tidak melihat diadakan kembali paket lagi.
Juga, sangat penting untuk diingat bahwa orang-orang *buntu update termasuk update kernel yang sensitif untuk hibernasi - I've punya masalah ini beberapa kali dan saya selalu bisa diselesaikan dengan me-restart mesin dan melakukan langkah-langkah di atas.
Jadi mungkin ini akan cukup?!
(situasi yang digambarkan di sini adalah yang berkaitan dengan my Xubuntu 15.10 di akhir desember 2015)
Aku berlari ke dalam masalah ini ketika sebuah kernel yang baru dirilis. (Mungkin karena saya yang tidak stabil update diaktifkan.) Saya menemukan cara paling sederhana untuk melakukan install melalui Ubuntu's installer grafis (update manager
).
Ubuntu 18.04 menyediakan lebih baru, efisien sintaks melalui apt
yang dapat digunakan sebagai pengganti apt-get
.
sudo apt-get dist-upgrade
sudo apt-get upgrade
digunakan untuk menginstal upgrade yang tersedia dari semua paket yang terinstal pada sistem dari sumber-sumber yang dikonfigurasi melalui sumber-sumber.daftar(5). Paket baru akan dipasang jika diperlukan untuk memenuhi dependensi, tapi existing paket akan pernah bisa dihapus. Jika upgrade untuk paket membutuhkan menghapus aplikasi yang diinstal paket upgrade untuk paket ini isn't dilakukan.
sudo apt-get dist-upgrade
melakukan fungsi upgrade tapi akan menghapus saat ini terinstall jika hal ini diperlukan untuk meng-upgrade sistem secara keseluruhan.
Lihat: apt
halaman
Aku berlari ke dalam masalah ini dengan menggunakan synaptic karena itu muncul untuk menggantung, dan untuk mencoba dan memperbaiki ini saya re-boot dan mencoba lagi.
Kemudian saya menemukan pesan yang informatif sebagai bagian dari paket dengan beberapa posting-petunjuk instalasi untuk saya.
Aku harus memukul "detail", dan kemudian 'q' untuk berhenti setelah membaca pesan, dan kemudian hal-hal berjalan normal.
Ini tampak seperti cara yang benar untuk menginstal ulang terus kembali paket:
apt-get install --reinstall libjpeg-progs
Setidaknya ini bekerja untuk saya ketika libjpeg-progs
terjebak setelah upgrade dari Ubuntu 14.04 untuk 16.04. I'm yakin anda dapat melakukan hal yang sama dengan yang lain disimpan kembali aplikasi, misal gimp
.
Saya telah membaca semua posting dan menemukan bahwa ada banyak penjelasan menarik. Aku mencoba semua dari mereka tapi belum ada hasil sama sekali. Saya punya masalah dengan mysql-utilitas yang saya tidak't upgrade. Update diusulkan oleh sistem. Jadi, saya ingin menunjukkan beberapa langkah untuk melakukannya. Tentu saja, saya akan ulangi dalam beberapa saat semua yang tersebut di atas posting. Berikut ini adalah kesalahan saya, ya saya ternyata sudah ada di posting, tapi apa yang harus saya lakukan selanjutnya?
Langkah berikutnya adalah:
sudo apt-get --purge remove mysql-utilities
Hasil yang kita dapat lihat pada gambar di bawah. Aku menghapus paket dan memeriksa ini dengan perintah:
sudo apt-get -f install
Hasil - Baik! Kemudian saya menginstal versi baru dari paket yang benar.
Dengan cara ini, saya pikir bisa membantu untuk lebih banyak orang-orang baru karena memiliki paket-paket lain yang bisa kita lakukan langkah yang sama.
Sekali, saya minta maaf, ketika saya berulang-ulang di beberapa tempat lain posting.