Yazılım/Paket Kurulumu
Bu başlıkta depolardan yüklemek istediğiniz yazılımların/paketlerin yüklenmesi esnasında meydana gelen sorunların çözümü ele alınmıştır.
"Veritabanına kilitlenilemiyor" Hatası
Dağıtımınızın depolarından bir paket indirilirken başka bir paket yükleme işleminin daha aynı anda devreye girip yükleme sorunları meydana getirmemesi için özel bir veritabanı kilit dosyası oluşturulur. Bu kilit dosyası yükleme işlemi tamamlanana kadar başka bir paket yükleme işlemine izin vermez. Eğer izin verilmiş olsaydı aynı anda birden fazla paket yüklenebilir, paketler ve bağımlılıkları çakışabilir, benzer başkaca sorunlar olabilir ve sisteminize zarar verirdi. Oluşturulan bu kilit dosyası paket yüklemesi tamamlanınca otomatik olarak açılmaktadır (kendini silerek kilidi açmaktadır). Bu olağan hareket tarzından farklı olarak zaman zaman kilit dosyasının otomatik olarak açılmadığı yani kilit dosyasının kendini silip kilidi kaldırmadığı durumlar meydana gelebilir:
* Eğer bir veritabanı kilidi uyarısı alıyorsanız, bunun anlamı bir başka paket yükleme işleminin zaten devam ediyor olduğu anlamına gelir. Başka bir paket yükleme işleminin olup olmadığını kontrol edin. Bu paket yüklemesi uçbirimden pacman komutları ile ya da grafik arayüz paket yükleyiciniz aracılığı ile yapılıyor olabilir. Paket yükleyicinizin güncellemeleri kontrol ettiği bir zamana da denk gelmiş olabilirsiniz. Çözüm için devam eden işlemin yani paket yüklemesi ve güncelleme kontrolünün bitmesini beklemelisiniz.
* Herhangi bir yükleme veya güncelleme yok iken veritabanı kilidi uyarısı alıyorsanız, bunun anlamı son yapılan yükleme işlemlerinden veya güncelleme işlemlerinden birisi kesintiye uğramış ve yarım kalmış anlamına gelir. Yapılan iş tamamlanmadığı için pacman, veritabanı kilit dosyasını açmayacaktır yani silmeyecektir. Bunun çözümü küçük bir müdahaleden geçer. Eğer bir paket yüklemesi veya güncellemenin çalışmadığından emin isek kilit dosyasını bilerek biz açacağız. Şu komut ile kilidi kaldırıyoruz. (Uçbirim yani terminal açın:)
sudo rm /var/lib/pacman/db.lck
komutunu girin. Böylece kilit dosyası silinerek kaldırılacaktır. Sonrasında yapmak istediğiniz işlemlere devam edebilirsiniz. Bazan bu komutu verdiğinizde db.lck dosyası bulunamadı gibi bir uyarı alırsınız. Bunun anlamı ise kilit dosyasının siz komut vermeden hemen önce kendiliğinden kalktığını gösterir. Az önce dediğimiz gibi siz normal olarak uçbirimden veya paket yönetim araçlarından yapmak istediğiniz işlemlere devam edebilirsiniz
"İşlem başarısız oldu (geçersiz veya bozuk paket)" Hatası
Arch veya Arch tabanlı bir dağıtımın depolarındaki paketler hasarlı olması yada gayri resmi olarak hazırlanmış riskli paketler olmaması ihtimaline karşı bir imza ile doğrulanarak korunur ve depodaki yerini alır. Bu imzalar paketçilerin oluşturduğu benzersiz şifreli kodlardır. Bazan imza doğrulama sorunları ve paket bütünlüğünün doğrulanmadığı durumlar olur.
Bunun sebebi yüklediğiniz paketin sorunlu olmasıdır;
* Bu paket resmi bir paket olmayabilir, başka kaynaklardan indirmiş olabilirsiniz veya paket güncelliğini yitirmiş olabilir.
* İmzalı ve resmi bir paketin yüklenmesi esnasında işlem yarım kalmış olabilir. Ya da paketçi, paketi imzalamada bir hata yapmış olabilir.
Eğer paketin yaşadığı imza sorunu aşağıdaki yöntemler ile giderilemiyorsa yukarıda da dediğimiz gibi bu paketçinin yaptığı bir paket imzalama hatasıdır. Bu hatayı gidermek geliştiricilerin ve paketçilerin sorumluluğundadır. Böle bir durum var ise forumlardan başlık açarak ya da açılmış ilgili başlıklara yazarak geri bildirim yapınız. Sorun en kısa zamanda geliştirici takım tarafından giderilecektir. Diğer durumlar için ise çözüme ulaşmak için aşağıdaki gibi bir yol izliyoruz.
Öncelikte anahtar dizinini silelim, eğer çalışan başka bir paket yöneticisi varsa kapatmayı unutmayın komutları uygulamadan önce:
sudo rm -fr /etc/pacman.d/gnupg
1. Pacman paket doğrulama anahtarını çalıştırmak şu komutu giriyoruz:
sudo pacman-key --init
2. Şu komut ile imzalanmış paket anahtarlarını yüklüyoruz:
sudo pacman-key --populate archlinux
manjaro kullanıyorsanız: sudo pacman-key --populate archlinux manjaro komutunu kullanın, Arch veya Arch tabanlı ise örneğin; sudo pacman-key --populate archlinux endeavouros komunutu kullanın. Burada endeavouros yerine kullandığınız dağıtımın anahtar girdisi olmalıdır.
3. Şu komut ile anahtar ve imzaları güncelliyoruz (bu işlem uzun sürebilir atlayabilirsiniz. Anahtar sorunu almaya devam ederseniz bu seçeneği uygulayın ve sabırla tamamlanmasını bekleyin):
sudo pacman-key --refresh-keys
4. Eğer yükleme sırasında yarım kalmış paketlerin sorun çıkardığını düşünüyorsanız indirilen paketleri ön bellekten silebilirsiniz (tercihe bağlı, sudo pacman -Syyu komutu ile devam edebilirsiniz, sorun devam ederse uygulayın ve ondan sonra güncelleme komutu verin):
sudo pacman -Sc
UYARI: Yukarıdaki komut önbellekteki bütün paketleri bilecektir. Ön bellekteki paketler bana lazım olabilir, belki bir paketin sürümünü düşürmek (downgrade) istediğimde kullanabilirim diyorsanız, bu durumda sudo pacman -Sc komutunu kullanmak yerine doğrudan size sorun çıkaran paketi silerek çözüme ulaşabilirsiniz
Bu işlemlerden geçtikten sonra sisteminizi
sudo pacman -Syyu
komutu ile güncelleyebilirsiniz.
"Tanınmayan yapılandırma dosyası... (mirrorlist) " Hatası
Paket yöneticisi pacman, paketleri ve paket listelerini almak için mirrorlist adında bir dosya kullanır. bu dosyada güncelliğini yitirmiş veya herhangi bir sebepten bağlantısı çalışmayan bir sunucu listenin baş tarafında olabilir. Pacman paket yönetimi genellikle mirrorlist dosyasında ilk sırada bulunan yansıyı kullandığından, yansı sorunlu ise diğer yansıyı deneyecektir. Diğer yansılarda da hata vermeye devam ediyor ise mirrorlist dosyasındaki yansılarla ilgili başka bir sorun vardır.
Sorunun çözümü için;
* Sistemi yükledikten sonra mirrorlist dosyasını /etc/pacman.d/mirrorlist konumuna yetkili olarak girip elle düzenleyebilirsiniz.
* Ya da hata ile karşılaştığınız zaman mirrorlist dosyasını elle düzenleyebilirsiniz. PAMACve OCTOPI paket yükleme araçları ile de mirrorlist yani yansı listesi dosyasını düzenleyebilirsiniz
Yansı sunucu değiştirme, güncelleme ve düzenleme kılavuzu için şuraya bakabilirsiniz: Change to a Different Download Server
"GPGME Hatası: Veri yok" Hatası
Bu sorun pacman tarafından paketlerin alınması esnasında meydana gelir. Bunun anlamı ise paket listesinin eskidiği yani daha güncel bir paket listesinin ve doğal olarak daha güncel paketlerin bulunduğudur.
Çözüm için izleyeceğimiz yol şudur:
1. Seçenek: Temel Çözüm
Bu sorunu gidermek için mutlaka 1. adımı yani Temel Çözüm yöntemini uygulayın. 1. adımdan sonra sorun hala devam ediyorsa 2. adımı yani Kapsamlı, Detaylı Çözümü uygulayınız.
1. Sunuculardaki paket listeleri ile eş zamanlı bir senkronizasyon yani paket listesi ve paket sürümlerinin eşitlemesini yapmak için şu komutu giriniz:
sudo pacman -Syy
2. Eğer iptal ettiğiniz paketlerden veya paket listelerinden kaynaklanan bir sorun olduğunu düşünüyorsanız şu komutu giriniz:
sudo pacman -Sc
3. Daha sonrasında iptal edilen ya da tamamlayamadığınız işleminize devam edebilir veya sisteminizi sudo pacman -Syyu komutu ile güncelleyebilirsiniz.
2. Seçenek: Kapsamlı, Detaylı Çözüm
Eğer 1. adım yeni Temel Çözüm yöntemi ile sonuç alamamışsanız kapsamlı birkaç adımı uygulamalısınız.
1. Sunuculardaki paket listeleri ile eş zamanlı bir senkronizasyon yani paket listesi ve paket sürümlerinin eşitlemesini yapmak için şu komutu giriniz:
sudo pacman -Syy
2. İmza ve anahtarları güncellemek için şu komutu giriniz:
sudo pacman-key --refresh-keys
3. İmza ve anahtarları yeniden almak için şu komutu giriniz:
sudo pacman-key --populate archlinux
4. İptal edilen, bir şekilde yarım kalan paket veya paket listelerini temizlemek için şu komutu giriniz:
sudo pacman -Sc
5. Daha sonrasında iptal edilen ya da tamamlayamadığınız işleminize devam edebilir veya sisteminizi sudo pacman -Syyu komutu ile güncelleyebilirsiniz.
Anahtar hatası ("keyserver refresh failed: No dirmngr) almaya devam ediyorsanız şu parametre de sizi çözüme ulaştırabilir:
sudo dirmngr </dev/null
Sorununuz halen devam ediyorsa sunucu değiştirmek için şuraya gözatabilirsiniz: Change to a Different Download Server.
Ayrıca.. Bakınız..
Farklı bir yansı kullanmak: Change to a Different Download Server
Hızlı bir sunucuyu kullanmak: Use Rankmirrors to Set the Fastest Download Server
Pacman zaman aşımı sorunu yaşıyorsanız DNS değiştirmek: Set DNS for Pacman to resolve timeout issues
Daha fazla bilgi edinmek için Arch Wiki: Arch wiki for more comprehensive troubleshooting
kaynak: https://wiki.manjaro.org/index.php?title=Pacman_%C3%87%C3%B6z%C3%BCmleri
archman.org - Bizi bilen iyi bilir, bilmeyen de kendi gibi bilir.!
"zaman sapması veya saat problemi" hatası veren güncelleme çıktılarında aşağıdaki yolu izleyiniz.
sudo pacman -Syu haveged
sudo systemctl start haveged
sudo systemctl enable haveged
enable komutunu uygulamak zorunda değilsiniz. İşiniz olduğu zaman üstteki start parametresi ile kullanabilirsiniz
sudo rm -fr /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman-key --refresh-keys
sudo pacman -Scc
önbellekteki depoları da paketleri de evet (E) diyerek siliniz.
sudo pacman -Syyu
düzenleme: ek bilgi girildi ("zaman sapması veya saat problemi" hatası veren güncelleme çıktısının çözümü)
archman.org - Bizi bilen iyi bilir, bilmeyen de kendi gibi bilir.!
Güncelleme çıktısında bir KEY var ise şöyle bir yola başvurabilirsiniz:
==========================
Örnek Çıktı:
tor-browser-en.desktop ... Doğrulandı tor-browser-en.png ... Doğrulandı tor-browser-en.sh ... Doğrulandı ==> source_x86_64 ile sha256sums dosyası doğrulanıyor... tor-browser-linux64-6.0.2_en-US.tar.zst ... Doğrulandı tor-browser-linux64-6.0.2_en-US.tar.zst.asc ... Atlandı ==> Kaynak dosya imzaları gpg ile doğrulanıyor... tor-browser-linux64-6.0.2_en-US.tar.zst ... BAŞARISIZ (bilinmeyen kamu anahtarı 2E1AC68ED40814E0) ==> HATA: Bir veya daha fazla PGP imzası doğrulanamıyor! ==> HATA:makepkg tor-browser-en'i inşa edemedi. ==> tor-browser-en yeniden inşa edilsin mi ? [e/H] ==> ---------------------------------------------- ==>Örnek Çıktı Çözümü:
╔═[20:13]═[ata@ata]
╚═══===═══[]>> gpg --keyserver keys.gnupg.net --recv-keys 2E1AC68ED40814E0
gpg: /home/ata/.gnupg/trustdb.gpg: güvence veritabanı oluşturuldu
gpg: anahtar 4E2C6E8793298290: genel anahtar "Tor Browser Developers (signing key) <[email protected]>" alındı
gpg: son derece güvenli bir anahtar yok
gpg: İşlenmiş toplam miktar: 1
gpg: alınan: 1
==========================
İzleyeceğiniz Çözüm Yöntemi
gpg --list-keys
rm -rd ~/.gnupg
gpg --keyserver keys.gnupg.net --recv-keys KEY YAZILACAK
veya:
sudo gpg --list-keys
sudo rm -fr /etc/pacman.d/gnupg
sudo gpg --keyserver keys.gnupg.net --recv-keys KEY YAZILACAK
KEY YAZILACAK kısmına hata çıktınızdaki KEYi yani anahtarı yazacaksınız:
Örneğin:
sudo gpg --keyserver pool.sks-keyservers.net --recv-keys 2E1AC68ED40814E0
gibi
düzenleme: ek bilgi girildi ("KEY sorunları ile ilgili çözümler")
archman.org - Bizi bilen iyi bilir, bilmeyen de kendi gibi bilir.!
Sistemi güncellerken veya bir paketi yükseltme yapacağınızda, güncelleme içindeki bir paketin ya da yükselteceğiniz paketin kendi içindeki dosyalar arasında da çakışmalar meydana gelebilir.
- 1- Bu durumda öncelikli yöntem; yükselteceğiniz paketi veya sistem güncellemenize mani olan paketi eğer sistemi bozacak uzun veya kritik bir bağımlılık zinciri oluşturmuyor ise ise kaldırmanız ve yeni sürümünü kurmanızdır. Bunu seçeneği atlamayınız.
- 2- Eğer paketi kaldırmak kritik bir bağımlılık zinciri oluşturmuyor ve sistemin ve ya masaüstü yönetiminin tamamını olumsuz etkilemiyor ise bu durumda çakışan dosyaları silip paketin güncel sürümünü yükleyebilirsiniz.
örneğin:
zn_poly: /usr/lib/libzn_poly-0.9.so dosya sisteminde mevcut
gibi bir uyarı alırsanız;
sudo rm zn_poly: /usr/lib/libzn_poly-0.9.so
şeklinde dosyayı silersiniz ve güncelleme veya paket yükleme işlemini tekrarlarsınız. Çakışmalar fazla ise hepsi için bu işlemi yapmanız gerekir.
- 3- Bir başka izlenecek yol ise --overwrite seçeneğini kullanmaktır. İkinci maddede belirttiğimiz gibi dosya sisteminde mevcut uyarısı alırsanız ve ilk yöntem ile sorunu çözememiş iseniz, ikinci yöntem için ise çakışan dosya sayısı fazla ve zahmetli ise --overwrite seçeneği kullanılabilir.
Örneğin:
sudo pacman -Syu --overwrite usr/lib/libzn_poly-0.9.so
gibi...
Eskiden olduğu gibi artık --force parametresi desteklenmemektedir. Bunun yerine --overwrite kullanmalısınız.
Uyarı: Genellikle --overwrite anahtarını kullanmaktan kaçının. Bkz. Sistem bakımı#Bazı pacman komutlarından kaçınmak
Çakışan dosyalar olduğunda dediğimiz gibi ilk çözüm önerimizi yani paketi kaldırıp güncel sürümünü yükleme yolunu tercih ediniz. Kritik veya uzun bir bağımlılık zinciri oluşmamış ise kaldırın ve güncel sürümünü kurunuz. 2. ve 3. yöntem mecburiyet hasıl olursa kullanılacak yöntemlerdir. Standart öneri veya rutin pacman çözümlerinden değildir. Kesinlikle güncelleme komutunuza rutin kullanımda --overwrite parametresi eklemeyiniz. Sisteminizi bozabilirsiniz, bunu aklınızda bulundurun.
archman.org - Bizi bilen iyi bilir, bilmeyen de kendi gibi bilir.!