Ubuntu

Ubuntu'da Paket Bağımlılığı Hataları Nasıl Önlenir ve Düzeltilir

Ubuntu'da Paket Bağımlılığı Hataları Nasıl Önlenir ve Düzeltilir
Bazı uygulamaları yükledikten sonra Ubuntu'da paket bağımlılığı hataları oluşabilir. Kurulum sırasında kullanıcılar tarafından verilen kararlar veya kullanıcıların kontrolü dışındaki sistem düzeyindeki sorunlar, paketlerin bozulmasına neden olabilir.

Terminal çıktısında "karşılanmayan bağımlılıklar", "bozuk paketler", "paketler geri tutuldu" gibi kelimeler görürseniz, bağımlılık çakışmalarınız olabilir. Bu makale, bu tür bağımlılık hatalarını önlemek ve düzeltmek için kullanılabilecek birkaç yöntemi listeleyecektir. Aşağıda önerilen yöntemlerin herhangi bir sırada olmadığını unutmayın.

Paketleri Güncelle

Hata durumunda yapılacak ilk şey güncelleme komutunu çalıştırmaktır. Sisteminize eklediğiniz tüm resmi ve üçüncü taraf depoları yenileyecek ve yeni bir paket listesi çekecektir. Güncelleme komutunu terminalden çalıştırmak, GUI güncelleyici aracılığıyla resmi Ubuntu paketlerinin aşamalı olarak dağıtımını atlar, böylece her zaman en son paket listesini alırsınız.

Aşağıdaki komutu çalıştırarak depoları güncelleyebilirsiniz:

$ sudo uygun güncelleme

Paket İndirme Sunucusunu Değiştir

Yukarıdaki güncelleme komutunu çalıştırdığınızda "paket bulunamıyor" hataları alırsanız, indirme yansıtmalarını değiştirmeyi deneyin. Ubuntu paketleri, dünyanın her yerindeki sunuculardan son kullanıcılara sunulur. Bazen bu sunuculardan yalnızca kısmi veya bozuk paket güncellemeleri alınabilir, bu da güncelleme sırasında hatalara neden olur. Bu sorun genellikle tüm Ubuntu paketleri bu aynalarda doğru şekilde klonlandığında bir süre sonra otomatik olarak çözülür. Ancak, bu sorunu gidermek için yansıtma konumunu manuel olarak değiştirebilirsiniz.

İndirme sunucusunu değiştirmek için uygulama başlatıcıdan "Yazılım ve Güncellemeler" uygulamasını başlatın. "Ubuntu Yazılımı" sekmesinde, "Şuradan indir" açılır listesinden "Ana sunucu" seçeneğinin seçilmesi, paket kullanılabilirliği sorunlarını gidermek için neredeyse garantilidir. Ancak, bulunduğunuz yere ve sunuculara yakınlığa bağlı olarak indirme hızı düşük olabilir. Ubuntu varsayılan olarak mevcut konumunuza göre size maksimum hız sağlayacak bir sunucu seçer. Listelenen herhangi bir sunucuyu seçerek veya seçimi Ubuntu'da bırakmak için “En İyi Sunucuyu Seç” seçeneğine tıklayarak geçersiz kılabilirsiniz.

Yükseltme Paketleri

Kurulu paketleri yükseltmek, bağımlılık hatalarını düzeltebilir. Her ikisi de farklı davranışlara sahip olan Ubuntu paketlerini yükseltmek için kullanılabilecek iki komut vardır:

Sırasıyla yükseltme ve dağıtım yükseltme komutları şunlardır:

$ sudo uygun güncelleme
$ sudo apt dağıtım yükseltme

Önbelleğe Alınmış ve Artık Paketleri Temizleme

Ubuntu'nun paket yöneticisi “apt”, indirilen paketleri bir önbellek klasöründe tutar. Önceden önbelleğe alınmış bir paketi yeniden yüklemeniz gerektiğinde, Ubuntu deb paketini sunucudan yeniden indirmek yerine önbellek klasöründen alacaktır. Bu önbelleği temizlemek, disk alanını temizler ve ayrıca bazı durumlarda bağımlılık ve yükleme hatalarının düzeltilmesine yardımcı olur.

Apt'nin paket önbelleği aşağıdaki komutu çalıştırarak temizlenebilir:

$ sudo uygun temiz

Paket önbelleğini temizleyen başka bir “autoclean” komutu daha var. Ancak tüm klasörü temizlemek yerine, yalnızca depo sunucularından kaldırılan paketleri kaldırır.

$ sudo uygun otomatik temizleme

Sahte Kurulum Yap

Gerçek kurulum sırasında meydana gelebilecek olası hataları kontrol etmek için bir paketin kurulumunu simüle etmek mümkündür. Sahte kurulum yapmak için "paket adını" istediğiniz paket adıyla (tırnak işaretleri olmadan) değiştirirken aşağıdaki komutu çalıştırın.

$ sudo apt install --dry-run "paket adı"

Sahte bir kaldırma aynı şekilde yapılabilir:

$ sudo apt remove --dry-run “paket adı”

Bozuk Paketleri Onar

Özellikle aynı anda birden çok paket kurarken, bozuk paketler ve karşılanmayan bağımlılıklar olabilir. Aşağıdaki komut, ya bozuk bağımlılıkları kurarak ve onararak ya da bağımlılık çakışmasından sorumlu bir paketi tamamen kaldırarak bu sorunları düzeltmeye çalışacaktır.

$ sudo apt -f kurulumu

Kesintiler Nedeniyle Yüklenemeyen Paketleri Yapılandırın

Bazen uygun paket yöneticisi, kurulumu başarısız olan paketleri geride bırakarak aniden durur. Bu kesintiler genellikle uygun paket yöneticisinin kontrolü dışındaki faktörlerden kaynaklanır. Örneğin, terminali yanlışlıkla kapattıysanız veya bilgisayarınız aniden kapanırsa, apt kurulumu tamamlayamaz. Aşağıdaki komutu çalıştırmak, bu sorundan kaynaklanan paket hatalarını ve bağımlılık sorunlarını çözecektir.

$ sudo dpkg --configure -a

PPA-Purge kullanın

Bir "Kişisel Paket Arşivi" veya bir PPA, Ubuntu kullanıcılarının resmi olmayan kaynaklardan yeni paketleri yükseltmesine veya yüklemesine izin veren bir yazılım deposudur. PPA-Purge, bu üçüncü taraf PPA kaynaklarını kaldıran ve PPA'lardan kurulan paketleri stok sürümlerine indiren bir araçtır. PPA-Purge kullanmak, PPA'dan yüklenen veya yükseltilen paketlerden kaynaklanan tüm bağımlılık çakışmalarını çözecektir. Ubuntu'da PPA-Purge komut satırı uygulamasını kurmak için aşağıdaki komutu çalıştırın:

$ sudo apt install ppa-purge

Bir PPA'yı temizlemek için komutu aşağıdaki biçimde çalıştırın:

$ sudo ppa-purge “ppa:adres”

Örneğin, Geany metin editörü PPA'sı şuradan eklendi: İşte komutu çalıştırarak temizlenebilir:

$ sudo ppa-purge ppa:geany-dev/ppa

Yetenek Paket Yöneticisi'ni kullanın

Bağımlılık hatalarını çözmek için Ubuntu'daki varsayılan apt paket yöneticisi yerine yetenek paket yöneticisi kullanılabilir. Aptitude, apt paket yöneticisinden daha yenidir ve ekstra seçenekler, terminal tabanlı bir ön uç ve genel kullanım kolaylığı sağlar. Aptitude, birçok uygun seçeneği tek bir komutta birleştirir, böylece hataları düzeltmek için birden çok komut çalıştırmanız gerekmez.

Örneğin, tek bir paketi bile kaldırmak için yetenek paket yöneticisini kullanmak, kullanılmayan ve kalan paketleri kaldırma seçeneği sunarken, apt içinde aynı şeyi yapmak için ayrı bir komut var. Aptitude, bağımlılık çakışması çözümünde apt'den çok daha akıllıdır, genellikle kullanıcı tarafından seçilebilen birden çok seçenekle çakışmaları çözmek için ayrıntılı geri bildirim sağlar. Herhangi bir son derece deneysel paket almadan önce her zaman sistemimde yetenek ve PPA-Purge kurulu olduğundan emin olurum.

Yetenek, aşağıdaki komutu çalıştırarak yüklenebilir:

$ sudo apt yükleme yeteneği

Aptitude ve apt, birkaç farklılığa sahip olan aptitude ile birçok komut satırı seçeneğini paylaşır. Tüm yetenek seçeneklerini şuradan keşfedebilirsiniz: İşte.

Ubuntu Masaüstü Paketini Yeniden Yükleyin

“ubuntu-desktop” paketini yeniden yüklemek, Ubuntu'da varsayılan olarak kurulmuş olan temel paketleri çekecektir. Ubuntu-desktop meta paketine bağlı tüm paketleri alacak. ubuntu-desktop'u yeniden yüklemek için aşağıdaki komutu çalıştırın:

$ sudo apt install --ubuntu-desktop'u yeniden yükleyin

Yukarıdaki komutun Firefox, Thunderbird, video oynatıcı vb. gibi uygulamaları değil, yalnızca temel çekirdek paketleri yükleyeceğini unutmayın.

Ubuntu'nun Daha Yeni Bir Sürümüne Yükseltmeden Önce PPA'ları Kaldırın veya Devre Dışı Bırakın

Ubuntu, bir sistem yükseltmesi yapmadan önce herhangi bir PPA'yı devre dışı bıraksa da, bir sistem yükseltmesi sırasında ve sonrasında karşılanmayan bağımlılık hatalarını önlemek için, üçüncü taraf PPA'ları manuel olarak kaldırmalısınız. Bunu yapmanın en iyi yolu, yukarıda açıklanan PPA-Purge komutunu çalıştırmaktır.

Ayrıca yalnızca PPA depolarını kaldırabilirsiniz. Ancak bu, yükseltme sırasında herhangi bir bağımlılık hatasını engellemeyebilir. PPA'lar iki yolla kaldırılabilir, birincisi komut satırının kullanılmasını içerir ve ikincisi bir GUI uygulaması kullanılmasını gerektirir. Bu yöntemlerin yalnızca PPA depolarını kaldıracağını ve sistemde önceden yükseltilmiş veya kurulmuş paketleri geride bırakacağını unutmayın.

Komut satırını kullanarak bir PPA'yı kaldırmak için aşağıdaki komutu aşağıdaki biçimde çalıştırın:

$ sudo add-apt-repository -- "ppa:name"yi kaldırın

Örneğin, Geany metin editörü PPA'sı şuradan eklendi: İşte komutu çalıştırılarak kaldırılabilir:

$ sudo add-apt-repository --remove ppa:geany-dev/ppa

GUI yöntemini kullanarak bir PPA'yı kaldırmak için genellikle uygulama başlatıcıdan “Yazılım ve Güncellemeler” uygulamasını başlatmanız gerekir. Ancak Ubuntu'daki bir hata nedeniyle bu yöntem her zaman çalışmaz ve PPA'ları devre dışı bırakmada başarısız olur.

Bunu aşmak için, apt için bir ön uç olan Synaptic paket yöneticisini kurmamız gerekiyor. Synaptic'i kurmak için şu komutu çalıştırın:

$ sudo apt yükleme sinaptik

Uygulama başlatıcıdan "Synaptic Paket Yöneticisi"ni başlatın. “Ayarlar” > “Depolar”a tıklayın. “Diğer Yazılımlar” sekmesine gidin ve kaldırmak istediğiniz bir PPA'yı vurgulamak için tıklayın. PPA'yı sistemden kaldırmak için alttaki "Kaldır" düğmesine tıklayın. Ayrıca, sistem yükseltmesinden sonra yeniden etkinleştirilebilmesi için bir PPA'yı kaldırmadan devre dışı bırakabilirsiniz. Bunu yapmak için bir PPA'nın önündeki onay kutusunun işaretini kaldırmanız yeterlidir. Yukarıdaki adımları izledikten sonra “Yazılım ve Güncellemeler” penceresini kapatın. Depoları yenilemeniz istendiğinde, “Yeniden Yükle” düğmesine tıklayın.

Sisteme Yeni PPA'lar Eklerken Dikkatli Olun

Çoğu zaman bağımlılık hataları, üçüncü taraf PPA'ları kullanırken veya resmi olmayan kaynaklardan deb paketleri kurarken ortaya çıkar. Ayrıca bir PPA aracılığıyla sisteminize kötü amaçlı yazılım girme olasılığı da vardır. Bu nedenle, sisteminize herhangi bir rastgele PPA eklerken her zaman dikkatli olmalısınız. Yalnızca kaynağına ve geliştiricilerine/geliştiricilerine güveniyorsanız bir PPA ekleyin. Şimdiye kadar PPA'lar aracılığıyla dağıtılan kötü amaçlı yazılım veya reklam yazılımlarını duymamış olsak da, bunlar Ubuntu geliştiricileri tarafından doğrulanmamış paketlere sahip üçüncü taraf depoları olduğu için her zaman bir risk vardır.

Sonuç

Bunlar, Ubuntu'daki bağımlılık hatalarını düzeltmek ve önlemek için kullanılabilecek bazı yöntemlerdir. Özellikle Ubuntu'yu tonlarca üçüncü taraf uygulaması ve komut satırı aracıyla ana geliştirme ortamınız olarak kullanırken işler bozulma eğilimindedir. Ancak, bu bağımlılık hatalarının çoğu, resmi, tanınmış ve güvenilir kaynaklardan uygulamalar yüklenerek en aza indirilebilir.

Linux için En İyi 5 Arcade Oyunu
Günümüzde bilgisayarlar oyun oynamak için kullanılan ciddi makinelerdir. Yeni yüksek puanı alamazsan, ne demek istediğimi anlayacaksın. Bu yazıda, bug...
Wesnoth 1 Savaşı.13.6 Geliştirme Yayınlandı
Wesnoth 1 Savaşı.13.Geçen ay yayınlanan 6. sürüm, 1. sürümdeki altıncı geliştirme sürümüdür.13.x serisi ve özellikle kullanıcı arayüzü için bir dizi i...
Ubuntu 14'te League Of Legends Nasıl Kurulur.04
League of Legends hayranıysanız, bu, League of Legends koşusunu test etmeniz için bir fırsattır. Linux kullanıcısıysanız LOL'nin PlayOnLinux'ta destek...