Pertanyaan Mengapa menggunakan apt-get upgrade daripada apt-get dist-upgrade?


Saya biasanya menggunakan apt-get update && apt-get upgrade untuk menjalankan pembaruan dan pemutakhiran saya sebagai ganti GUI karena tampaknya berjalan lebih cepat.

Namun, saya perhatikan belakangan ini bahwa saya sering mendapat pesan bahwa salah satu pemutakhiran saya ditangguhkan. Saya kemudian biasanya berlari dist-upgrade untuk menjalankannya dan itu berfungsi dengan baik. Sejauh yang saya tahu setelah membaca pertanyaan ini dan jawabannya, dist-upgrade melakukan semua hal yang sama dan kemudian beberapa.

Jadi, pertanyaan saya adalah: Mengapa digunakan apt-get upgrade sama sekali? Mengapa tidak digunakan apt-get dist-upgrade sepanjang waktu? Kenapa apt-get upgrade bahkan ada?


270
2017-09-30 03:21


asal


Di versi Ubuntu yang lebih baru, sudo apt full-upgrade melakukan hal serupa. - Aaron Franke


Jawaban:


Saya biasanya memperbarui mesin saya dengan:

sudo apt-get update && time sudo apt-get dist-upgrade

Di bawah ini adalah kutipan dari man apt-get. Menggunakan peningkatan terus ke aturan: dalam keadaan apa pun paket yang saat ini tidak diinstal dihapus, atau paket yang belum diinstal diambil dan dipasang. Jika itu penting bagi Anda, gunakan apt-get upgrade. Jika Anda ingin hal-hal "hanya berfungsi", Anda mungkin ingin apt-get dist-upgrade untuk memastikan ketergantungan diselesaikan.

Untuk memperluas mengapa Anda menginginkannya meningkatkan dari pada dist-upgrade, jika Anda adalah administrator sistem, Anda perlu prediktabilitas. Anda mungkin menggunakan fitur-fitur canggih seperti memasang pin atau menarik dari koleksi AKP (mungkin Anda memiliki PPA in-house), dengan berbagai otomatisasi di tempat untuk memeriksa sistem Anda dan peningkatan yang tersedia daripada selalu mengupgrade semua paket yang tersedia. Anda akan menjadi sangat frustrasi ketika melakukan perilaku tanpa naskah, terutama jika ini mengarah pada downtime dari layanan produksi.

upgrade
    upgrade is used to install the newest versions of all packages
    currently installed on the system from the sources enumerated in
    /etc/apt/sources.list. Packages currently installed with new
    versions available are retrieved and upgraded; under no
    circumstances are currently installed packages removed, or packages
    not already installed retrieved and installed. New versions of
    currently installed packages that cannot be upgraded without
    changing the install status of another package will be left at
    their current version. An update must be performed first so that
    apt-get knows that new versions of packages are available.

dist-upgrade
    dist-upgrade in addition to performing the function of upgrade,
    also intelligently handles changing dependencies with new versions
    of packages; apt-get has a "smart" conflict resolution system, and
    it will attempt to upgrade the most important packages at the
    expense of less important ones if necessary. So, dist-upgrade
    command may remove some packages. The /etc/apt/sources.list file
    contains a list of locations from which to retrieve desired package
    files. See also apt_preferences(5) for a mechanism for overriding
    the general settings for individual packages.

363
2017-12-06 17:02



Terima kasih karena tidak hanya menjumlahkan perbedaan di antara keduanya, tetapi juga menjelaskan situasi di mana yang mungkin lebih baik daripada yang lain. Ini persis yang saya cari. - jimchristie
dist-upgrade lebih cenderung merusak barang daripada upgrade. upgrade memastikan bahwa sistem Anda tetap lengkap. - Braiam
dist-upgrade lebih mungkin untuk memperbaiki masalah dengan versi paket yang bertentangan, jika Anda merasa nyaman dengan mengambil pendekatan penggilas jalan (yaitu Anda tidak memiliki perangkat lunak produksi misi kritis yang berjalan di kotak) - Henno
Sebuah pertanyaan kecil tentang 'apt-get upgrade' mengacu pada fakta bahwa "tidak ada paket yang diinstal saat ini dihapus atau yang baru ditambahkan": apakah paket yang ada juga di-upgrade sesuai. Misalnya oldA tergantung pada oldB. Akankah oldA dan oldB keduanya ditingkatkan? Bagaimana jika newA bergantung pada oldB dan bukan newB, apa yang terjadi pada keduanya selama proses upgrade? keduanya tidak ditingkatkan atau keduanya ditingkatkan, yang mungkin meninggalkan newA tidak berfungsi karena oldB hilang? - Kenny
Apa alasannya untuk menggunakan time sini? - ItalyPaleAle


Saya tahu pertanyaan ini telah terjawab dan sudah berumur satu tahun, tetapi saya merasa ini perlu dikatakan. Ubuntu 14.04 dan yang lebih baru (dan Debian Jessie dan kemudian, bagi mereka yang menemukan ini dari Google) menggunakan APT 1.0, yang memungkinkan perintah apt dari pada apt-get dan apt-cache untuk beberapa operasi.

  • apt-get upgrade tidak akan mengubah apa yang diinstal (hanya versi),
  • apt-get dist-upgrade akan menginstal atau menghapus paket seperlunya untuk menyelesaikan peningkatan,
  • apt upgrade akan secara otomatis menginstal tetapi tidak menghapus paket.
  • apt full-upgrade melakukan fungsi yang sama dengan apt-get dist-upgrade.

111
2017-07-22 05:22



@muru Terima kasih atas pengeditan dan catatan tentang peningkatan versi lengkap. Saya terutama menggunakan Debian 7 (yang merupakan pra-APT 1.0), dan saya hanya bermain dengan Debian Jessie dan Ubuntu 14.04. - Stephen Angelico
sama-sama. Sebagai seseorang yang menggunakannya jessie dan 14.04 secara teratur, saya pertama kali mengetahui utilitas baru ini dari jawaban Anda! - muru
Apakah Anda memiliki sumber untuk deskripsi Anda apt upgrade? Semua yang bisa saya sampaikan menunjukkan hal itu apt upgrade sama dengan apt-get upgrade. Sebagai contoh, apt help upgrade pada output sistem saya: "apt upgrade" is equivalent to "sudo apt-get upgrade" - Jon Bentley
Masing-masing manajeman untuk apt dan apt-get tentukan apa yang awalnya saya katakan. - Stephen Angelico
apt safe-upgrade bukan operasi yang valid pada sistem saya. Jika yang kamu maksud aptitude safe-upgrade, tidak terlalu. apt-get upgrade tidak akan pernah menginstal paket, sedangkan apt upgrade dan aptitude safe-upgrade akan menginstal paket baru sesuai kebutuhan dependensinya. Begitu aptitude safe-upgrade setara dengan apt upgradetidak apt-get upgrade. - Stephen Angelico


Itu upgrade opsi hanya menginstal versi baru dari paket yang sudah diinstal pada sistem (dan ya, pembaruan kernel milik mereka).

Namun, terkadang pembaruan mengubah dependensi: misalnya, versi baru dari paket tidak lagi bergantung pada pustaka yang telah Anda instal, atau akan memerlukan instalasi pustaka tambahan. Itu upgrade opsi tidak akan pernah menghapus paket terinstal yang sebenarnya tidak Anda perlukan lagi.

Namun, itu dist-upgrade pilihan dapat "secara cerdas" menangani perubahan dalam sistem dependensi. Ini termasuk menghapus paket yang tidak lagi diperlukan atau menyelesaikan konflik antara paket yang muncul karena perubahan dalam dependensi.


6
2017-09-30 06:17



Meskipun ini akurat, saya tidak berpikir itu menjawab pertanyaan. Jika kita memiliki opsi "cerdas" yang dapat menangani perubahan ketergantungan dan menghapus kekacauan, mengapa tidak selalu menggunakannya? - ændrük
upgrade juga tidak akan pernah menambahkan paket-paket baru itu menjadi dibutuhkan sebagai dependensi. Dari man apt-get: "dalam keadaan apa pun paket yang saat ini tidak diinstal, atau paket yang belum terinstal diambil dan diinstal" @ ændrük Hanya karena sesuatu itu "cerdas" tidak berarti ia akan selalu melakukan apa yang diinginkan pengguna (atau bahkan sesuatu yang wajar). Kapan saja pembaruan sistem menghapus sebuah paket, ada baiknya untuk memeriksa apa yang dilakukannya sebelum menekan Y. - Eliah Kagan


Pengguna mungkin datang untuk bergantung pada paket yang diinstal secara implisit karena ketergantungan paket lain (yang diinstal secara eksplisit) pada mereka. Jadi sistem pengemasan tidak dapat mengetahui keinginan pengguna / administrator untuk mempertahankan fungsi tertentu yang mungkin akan dihapus melalui dist-upgrade.


2
2018-02-04 13:42





Seharusnya tidak menjadi masalah bagi Pengguna Win-Home untuk selalu "dist-upgrade", tetapi jika Anda menjalankan sistem yang kompleks, Anda lebih baik "tidak pernah (benar-benar) mengubah sistem yang sedang berjalan" ... Bahkan jika ada "seharusnya" tidak ada masalah , ada "bisa" menjadi probs - apa yang akan memotong Anda! KAMU harus menjadi orang yang berhak 2 memutuskan ;-)


-4
2017-08-12 12:17



Should not be a problem for Win-Home Users to always "dist-upgrade" ..mengapa demikian ? - heemayl
Nah, katakanlah Anda mengatur ubuntu-server, workstation untuk lingkungan yang produktif: ketika Anda selalu dan otomatis melakukan upgrade-dist Anda mungkin tidak bisa mengendalikan, ketika Anda mendapatkan masalah - bahkan jika Anda tidak punya waktu untuk memecahkan tepat di saat itu upgrade dist otomatis dilakukan. Beberapa konfigurasi mungkin memerlukan sentuhan "manusia" ke port. Itulah yang saya perkirakan beberapa kali. Ketika Anda hanya bekerja pada platform "Home" seperti Win-Home, secara default pengguna tidak diaktifkan untuk mengontrol pembaruan. Jadi Anda yang mungkin tidak mengganggu Anda. - Thorben Kaufmann