apt-get dist-upgrade yerine apt-get upgrade kullanmalıyım?

269

GUI yerine güncellemelerimi ve yükseltmeleri çalıştırmak için genellikle apt-get update && apt-get upgrade kullanıyorum çünkü daha hızlı çalışıyor gibi görünüyor.

Ancak son zamanlarda, yeni sürüme geçirdiğim güncellemelerin geri alındığına dair bir mesaj aldığımı fark ettim. Daha sonra genellikle bunu çalıştırmak için dist-upgrade çalıştırıyorum ve iyi çalışıyor. Okuduktan sonra, Bu soruya ve cevaplarına, dist-upgrade 'sinin hepsi aynı şeyleri ve daha sonra bazılarını yapıyor.

Yani sorum şu: Neden apt-get upgrade kullanmalıyım? Neden apt-get dist-upgrade kullanmıyorsunuz? % Co_de% neden var?

    
sordu jimchristie 30.09.2012 05:21

5 cevap

363

Genellikle makinelerimi şu şekilde yükseltebilirim:

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

Aşağıda man apt-get 'den bir alıntı var. Yükseltme özelliğini kullanmak kurallara uygun değildir: hiçbir koşulda şu anda yüklü olmayan paketler kaldırılmamış veya önceden yüklenmemiş ve yüklenmemiş paketler var. Sizin için önemliyse, apt-get upgrade kullanın. İşlerin "sadece çalışmasını" istiyorsanız, bağımlılıkların çözülmesini sağlamak için muhtemelen apt-get dist-upgrade olmasını istersiniz.

Sistem yöneticisi iseniz, dist-upgrade yerine yükseltme 'yi neden istediğinizi genişletmek için, tahmin edilebilirliğe ihtiyacınız vardır. apt pinning veya PPA'lar (belki de bir kurum içi PPA'nız var), mevcut tüm paketleri hevesle yükseltmek yerine sisteminizi ve mevcut yükseltmelerinizi incelemek için çeşitli otomasyonlarla birlikte. Apt, unscripted davranış gerçekleştirdiğinde, özellikle de bu, bir üretim hizmetinin kesintiye uğramasına neden oluyorsa çok sinirlenirsiniz.

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.
    
verilen cevap rduplain 06.12.2012 18:02
111

Bu sorunun yanıtlandığını biliyorum ve bir yaşında, ama bunun söylenmesi gerektiğini hissediyorum. Ubuntu 14.04 ve sonrası (ve Debian Jessie ve daha sonra, bunu Google'dan alan kullanıcılar için), APT 1.0'ı kullanır. Bu, bazı işlemler için apt ve apt-get yerine% co_de komutu sağlar.

  • apt-cache , yüklü olanları değiştirmeyecektir (yalnızca sürümler),
  • apt-get upgrade , güncellemeleri tamamlamak için paketleri gerektiği gibi yükleyecek veya kaldıracaktır
  • apt-get dist-upgrade otomatik olarak yüklenecek ancak paketleri kaldırmayacaktır.
  • apt upgrade , apt full-upgrade işleviyle aynı işlevi gerçekleştirir.
verilen cevap Stephen Angelico 22.07.2014 07:22
6

upgrade seçeneği, yalnızca sistemde yüklü olan paketlerin yeni sürümünü yükler (ve evet, çekirdek güncellemeleri bunlara aittir).

Ancak, bazen güncellemeler bağımlılıkları değiştirir: örneğin, bir paketin yeni bir sürümü artık yüklediğiniz bir kitaplığa bağlı olmayacak veya ek kitaplıkların yüklenmesini gerektirecektir. % Co_de% seçeneği, artık ihtiyacınız olmayan yüklü paketleri asla kaldırmayacaktır.

Ancak, upgrade seçeneği, bağımlı sistemlerdeki değişiklikleri "akıllıca" halledebilir. Bu, artık gerekli olmayan paketlerin kaldırılmasını veya bağımlılıklardaki değişiklikler nedeniyle ortaya çıkan paketler arasındaki çakışmaların giderilmesini içerir.

    
verilen cevap January 30.09.2012 08:17
2

Kullanıcılar, diğer (açıkça yüklenmiş) paketlerin bağımlı olmalarından dolayı örtük olarak yüklenen paketlere güvenmiş olabilirler. Böylelikle, ambalajlama sistemi, bir kullanıcı / yönetici isteğinin, dist-upgrade yoluyla aksi halde kaldırılabilen belirli işlevleri koruma isteğinin farkında olamaz.

    
verilen cevap user244474 04.02.2014 14:42
-4

Win-Home Kullanıcılarının her zaman "dist-upgrade" yapması için bir sorun olmamalı, fakat karmaşık sistemler çalıştırıyorsanız, "çalışan bir sistemi asla (asla) değiştirmeyecekseniz)" ... sorun değil, orada "olabilir" probs - seni kesecek ne! SİZ , 2 kararına sahip olan siz olmalısınız; -)

    
verilen cevap Thorben Kaufmann 12.08.2015 14:17

Etiketlerdeki diğer soruları oku