Doküman

Ubuntu/Debian’da Geri Tutulan Paketlerin Kurulumunu Zorlamak

Ubuntu Linux dağıtımlarında düzenli yazılım güncellemeleri sırasında bazı paketlerin geri tutulduğu ve güncellenmediği bir durumla karşılaşabilirsiniz.  Bu, farklı sistemlerdeki paketlerin sürümlerinde farklılıklara yol açabilir.

Bu makale Ubuntu’da saklanan paketlerin yönetimini ele alacaktır.  Bu paketlerin otomatik olarak kurulmasına nasıl zorlanacağı konusunda adım adım bir kılavuz sağlayacaktır.  Bu makalenin amacına uygun olarak örnek olarak ‘vol1.2-linuxconfig-1.0’ isimli bir paket kullanacağız.

Senaryoyu Anlamak:

Normalde software upgrade or dist-upgrade sırasında bazı paketlerin geri tutulduğunu belirten mesajlar görünebilir.  Bunlar, bağımlılık sorunları nedeniyle veya manuel olarak yükseltilmeyecek şekilde ayarlandığından yükseltilmeyen paketlerdir.

Örneğimizde iki Ubuntu sistemimiz var: bir ana sistem ve bir ikincil sanal sistem.  Her iki sistem de ideal olarak aynı ‘vol1.2-linuxconfig-1.0’ paket sürümlerine sahip olmalıdır.  Ancak ana sistemde bu paket geri tutulurken, ikincil sistemde aynı paket otomatik olarak yüklenmiştir.

Semptomlar:

Bu farklılığı araştırmak için ana sistemde aşağıdaki komutu çalıştırıyoruz:

$ sudo apt --installed list | grep vol1.2-linuxconfig-1.0

Çıktı, ‘vol1.2-linuxconfig-1.0’ paketinin kurulu olduğunu ancak yükseltilebilir olduğunu gösteriyor.  Ancak ikincil sistemdeki aynı komut, paketin otomatik olarak kurulduğunu gösterir.

Farklılıkları daha iyi anlamak için şu komutu kullanırız:

$ apt-cache policy vol1.2-linuxconfig-1.0

Çıktının “versiyon tablosu” kısmına bakarak Phased Updates özelliğini tespit ediyoruz.  Varsa, bir (%x aşamalı) alanı gösterecektir; x, aşamalı güncellemelerin yüzdesidir.

Phased Updates Nasıl Çalışır?

Phased Updates mekanizması, yeni paket sürümlerini rastgele bir kullanıcı alt kümesine dağıtır.  Bu özellik, yeni ortaya çıkan bir hatanın tüm kullanıcıları aynı anda etkilemesi durumunu önlemek için tasarlanmıştır.

Çözümler:

  1. Otomatik sistem yükseltmesine izin verme: Bir güvenlik özelliği olarak Phased Updates, aşamalı bir dağıtım olduğundan, genellikle bir hafta kadar bir süre sonra, tutulan yedek paketleri otomatik olarak yükler.
    $ sudo apt install unattended-upgrades
    $ sudo dpkg-reconfigure unattended-upgrades
  2. Belirli bir paket yükseltmesini zorlama: Bir paketin geri tutulma durumunu manuel olarak geçersiz kılmak istiyorsanız –only-upgrade seçeneğini kullanabilirsiniz.  Bu şekilde, belirli paket yükseltmeye zorlanacaktır:
    bash
    sudo apt install --only-upgrade vol1.2-linuxconfig-1.0
  3. Phased Updates Devre Dışı Bırakma: Bu özelliği tamamen devre dışı bırakmak ve tüm yükseltmeleri hemen yüklemek istiyorsanız, bunu aşağıdaki komutla APT yapılandırma dosyasını değiştirerek yapabilirsiniz:
    cat <<EOF > /etc/apt/apt.conf.d/80PhasedUpdates
    APT::Get::Never-Include-Phased-Updates: True;
    Update-Manager::Never-Include-Phased-Updates;
    EOF

 

 

Yazının orijinalini buradan okuyabilirsiniz.