Apakah menggunakan Pembaruan Perangkat Lunak sama dengan menjalankan pembaruan apt-get dan apt-get upgrade?

Jawaban:

21

Jawaban singkat

Tidak, mereka tidak sama. apt-get upgradetidak menangani perubahan dependensi antar versi, jadi jika sebuah paket telah mengubah dependensinya, itu tidak akan ditingkatkan (itu akan "ditahan"). Lihat jawaban panjang untuk lebih jelasnya.

Menggunakan Pembaruan Perangkat Lunak dan menggunakan sudo apt-get update ; sudo apt-get dist-upgrade(perhatikan dist-) akan hampir setara, kecuali yang satu jelas GUI dan yang lain adalah aplikasi konsol dan juga beberapa perbedaan informasi yang sangat kecil.


Asnwer panjang

Dari man apt-get,

  • apt-get upgrade:

    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.

    (penekanan oleh saya)

    Ini berarti bahwa versi yang lebih baru dari paket yang memiliki ketergantungan baru yang tidak diperlukan di versi lama tidak akan ditingkatkan dengan metode ini (kecuali dependensi baru sudah diinstal). Ini akan ditampilkan sebagai "Diadakan kembali".

  • apt-get dist-upgrade:

    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. The dist-upgrade
           command may therefore 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.

    (penekanan oleh saya)

    Ini berarti bahwa dengan perintah ini alih-alih upgrade, paket dengan dependensi baru (atau dihapus) dapat dengan ditingkatkan.

Contoh

Contoh yang baik dari perbedaan antara keduanya adalah ketika kernel Linux baru dirilis. Ini dikemas ke dalam linux-image-genericpaket yang selalu tergantung pada paket terbaru dari kernel Linux. Karena dependensi linux-image-genericperubahan dengan setiap peningkatan kernel, upgradetidak akan memutakhirkannya.

kiri
sumber
1
Bisakah Anda menjelaskan mengapa, ketika Pembaruan Perangkat Lunak tidak lagi memerlukan kata sandi root untuk memperbarui paket yang ada (yaitu, ketika hanya apt-get upgradediperlukan), apt-gettidak dapat melakukan hal yang sama? Sepertinya ada sesuatu yang berbeda secara fundamental di antara keduanya.
Jonathan Y.
4

Hampir sama tetapi tidak persis. Misalnya, ketika pembaruan kernel ditawarkan, sudo apt-get update && sudo apt-get dist-upgradediperlukan untuk mendapatkan pembaruan tersebut.

sudo apt-get update && sudo apt-get upgrade akan memberi tahu Anda bahwa beberapa paket telah ditahan.

Menggunakan Pembaruan Perangkat Lunak membuat semuanya mulus dan Anda tidak akan melihat apa pun yang ditahan.


sumber
3

Dengan apttersedia, pembaruan bertahap ( disebutkan oleh pabouk ) adalah perbedaan yang paling menonjol antara pembaruan dengan Pembaruan Perangkat Lunak dan baris perintah.

Saat ini, aptutilitas - yang tidak ada ketika pertanyaan ini diposting tetapi kemungkinan akan dimasukkan dalam pertanyaan jika itu - adalah alternatif yang semakin populer apt-getuntuk paket peningkatan. Mereka serupa: paket yang sama (juga disebut apt) menyediakan keduanya , dan semuanya aptdapat dilakukan, apt-utilitas tradisional juga dapat, meskipun dalam beberapa kasus Anda harus melewati opsi konfigurasi khusus. Tetapi aptlebih dekat daripada apt-getPembaruan Perangkat Lunak. Seperti Updater Software, adalah mampu menginstal paket baru ketika versi baru dari paket yang ada menyatakan mereka sebagai dependensi.sudo apt upgrade

Jadi akhir-akhir ini, pengguna yang peduli dengan perbedaan ini hanya dapat menjalankan sudo apt upgradealih-alih sudo apt-get upgradejika mereka ingin dependensi baru diinstal secara otomatis. Akibatnya, fitur Pembaruan Perangkat Lunak menunda sedikit pembaruan, untuk menentukan apakah mereka stabil di alam liar dan membatasi kerusakan jika tidak, sekarang mungkin perbedaan utama antara menggunakan Pembaruan Perangkat Lunak dan memperbarui pada baris perintah.

Perilaku Pembaruan Perangkat Lunak ini disebabkan oleh kebijakan pembaruan bertahap . Kebijakan itu - yang diterapkan dalam Pembaruan Perangkat Lunak tetapi tidak padaapt-get (atau apt) - telah menjadi satu perbedaan besar antara kedua metode sejak kebijakan tersebut diperkenalkan , dan pabouk berkomentar tentang hal itu beberapa tahun yang lalu :

Ada perbedaan lain: apt-gettidak menggunakan PhasedUpdates jadi kadang-kadang Pembaruan Perangkat Lunak menunjukkan pembaruan kurang dari apt-get. Lihat Mengapa Pembaruan Perangkat Lunak Mengatakan Tidak Ada Pembaruan, tetapi pembaruan apt-get Menunjukkan pembaruan tersedia? .

- pabouk 25 Feb '15 jam 7:34

Ini mungkin selalu merupakan perbedaan yang paling signifikan, dalam hal ini seseorang dapat selalu berjalan sudo apt-get dist-upgradeketika dihadapkan dengan upgradekeengganan tindakan untuk menginstal paket baru atau menghapus instalan yang sudah ada. Namun, ketika memperbarui dari baris perintah, kepentingan relatif pembaruan bertahap meningkat dengan apt:

  • Seperti apt-get, aptperintah akan mengunduh dan menginstal pembaruan bahkan jika mereka akan tertunda karena kebijakan pembaruan bertahap jika Pembaruan Perangkat Lunak telah digunakan sebagai gantinya.
  • Tapi tidak seperti apt-get , yang aptperintah ini upgradetindakan akan menginstal paket-paket baru yang sebelumnya tidak terinstal tapi diperlukan sebagai dependensi untuk versi paket baru.

Selain dari (a) lebih memilih antarmuka grafis dan (b) integrasi desktopnya memberikan pemberitahuan ketika pembaruan tersedia, alasan utama saat ini seseorang mungkin menggunakan Pembaruan Perangkat Lunak bahwa itu adalah cara termudah untuk berpartisipasi dalam pembaruan bertahap.

Eliah Kagan
sumber