Manjaro Linux'un paket ve depolar ile ilgili yeniden yapılandırmaya gittigini duyurmuştuk. Bu anlamda sistem güncellemelerin alınabilmesi için bazı dosyalarda geçici olarak elle düzenleme yapılması gerekmektedir. Bu dosyalar pacman.conf ve mirrorlist dosyalarıdır. Bu düzenlemeler nasıl olmalı? Aşağıda anlatılmıştır.
Senkronize ve güncelleme komutlarını verdigimizde şöyle bir hata ile karşılaşabilirsiniz:
# pacman -Syy # pacman -Syu [root@manjaro cuma]# pacman -Syy :: Paket veritabanları senkronize ediliyor... basis 118,7 KiB 161K/s 00:01 [######################] 100% hata: The requested URL returned error: 404 Not Found hatası nedeniyle 'platform.db' dosyası mirror.dacentec.com adresinden alınamadı hata: platform (indirme kütüphanesi hatası) güncellenemedi hata: The requested URL returned error: 404 Not Found hatası nedeniyle 'addon.db' dosyası mirror.dacentec.com adresinden alınamadı hata: addon (indirme kütüphanesi hatası) güncellenemedi hata: The requested URL returned error: 404 Not Found hatası nedeniyle 'extra.db' dosyası mirror.dacentec.com adresinden alınamadı hata: extra (indirme kütüphanesi hatası) güncellenemedi hata: The requested URL returned error: 404 Not Found hatası nedeniyle 'community.db' dosyası mirror.dacentec.com adresinden alınamadı hata: community (indirme kütüphanesi hatası) güncellenemedi [root@manjaro cuma]#
İlk önce yapılması gereken sisteminize uygun ( 32-bit yada 64-bit) pacman.conf dosyasını düzenlemek. Bu dosyalar ayrı ayrı aşağıda verilmiştir.
32-bit için pacman.conf dosyası:
# # /etc/pacman.conf # # See the pacman.conf(5) manpage for option and repository directives # # GENERAL OPTIONS # [options] # The following paths are commented out with their default values listed. # If you wish to use different paths, uncomment and update the paths. #RootDir = / #DBPath = /var/lib/pacman/ #CacheDir = /var/cache/pacman/pkg/ #LogFile = /var/log/pacman.log #GPGDir = /etc/pacman.d/gnupg/ HoldPkg = pacman glibc manjaro-system # If upgrades are available for these packages they will be asked for first SyncFirst = manjaro-system pacman #XferCommand = /usr/bin/curl -C - -f %u > %o #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #CleanMethod = KeepInstalled #UseDelta = 0.7 Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup #IgnorePkg = #IgnoreGroup = #NoUpgrade = #NoExtract = # Misc options #UseSyslog #Color #TotalDownload CheckSpace #VerbosePkgLists # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. SigLevel = Required DatabaseOptional LocalFileSigLevel = Optional #RemoteFileSigLevel = Required # NOTE: You must run `pacman-key --init` before first using pacman; the local # keyring can then be populated with the keys of all official Arch Linux # packagers with `pacman-key --populate archlinux`. # # REPOSITORIES # - can be defined here or included from another file # - pacman will search repositories in the order defined here # - local/custom mirrors can be added here or in separate files # - repositories listed first will take precedence when packages # have identical names, regardless of version number # - URLs will have $repo replaced by the name of the current repo # - URLs will have $arch replaced by the name of the architecture # # Repository entries are of the format: # [repo-name] # Server = ServerName # Include = IncludePath # # The header [repo-name] is crucial - it must be present and # uncommented to enable the repo. # [core] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [community] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] #SigLevel = Optional TrustAll #Server = file:///home/custompkgs
64-bit için pacman.conf dosyası:
# # /etc/pacman.conf # # See the pacman.conf(5) manpage for option and repository directives # # GENERAL OPTIONS # [options] # The following paths are commented out with their default values listed. # If you wish to use different paths, uncomment and update the paths. #RootDir = / #DBPath = /var/lib/pacman/ #CacheDir = /var/cache/pacman/pkg/ #LogFile = /var/log/pacman.log #GPGDir = /etc/pacman.d/gnupg/ HoldPkg = pacman glibc manjaro-system # If upgrades are available for these packages they will be asked for first SyncFirst = manjaro-system pacman #XferCommand = /usr/bin/curl -C - -f %u > %o #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #CleanMethod = KeepInstalled #UseDelta = 0.7 Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup #IgnorePkg = #IgnoreGroup = #NoUpgrade = #NoExtract = # Misc options #UseSyslog #Color #TotalDownload CheckSpace #VerbosePkgLists # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. SigLevel = Required DatabaseOptional LocalFileSigLevel = Optional #RemoteFileSigLevel = Required # NOTE: You must run `pacman-key --init` before first using pacman; the local # keyring can then be populated with the keys of all official Arch Linux # packagers with `pacman-key --populate archlinux`. # # REPOSITORIES # - can be defined here or included from another file # - pacman will search repositories in the order defined here # - local/custom mirrors can be added here or in separate files # - repositories listed first will take precedence when packages # have identical names, regardless of version number # - URLs will have $repo replaced by the name of the current repo # - URLs will have $arch replaced by the name of the architecture # # Repository entries are of the format: # [repo-name] # Server = ServerName # Include = IncludePath # # The header [repo-name] is crucial - it must be present and # uncommented to enable the repo. # [core] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [community] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist # If you want to run 32 bit applications on your x86_64 system, # enable the multilib repositories as required here. [multilib] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] #SigLevel = Optional TrustAll #Server = file:///home/custompkgs
Peki bu degişiklik nasıl yapılacak? Kullandığınız metin edidörü ile ( gedit,leafpad, kwrite gibi ) uçbirimden örnegin şu komutu uygulayın: Örnegin;
sudo gedit /etc/pacman.conf
açılan dosya içerigini silip yukarıda sisteminize uygun pacman.conf içerigini kopyalayıp yapıştırın. Kaydedip çıkın.
Bu aşamadan sonra mirrorlist dosya içerigini degiştirmelisiniz. Aşağıda stable (kararlı) ve unstable (kararsız) olmak üzere iki ayrı mirrorlist seçenegi verilmiştir. Hangisini kullanıyorsanız bununla mirrorlist dosya içerigini degişmelisiniz.
mirrorlist ( stable )
## ## Manjaro Linux repository mirrorlist ## Generated on 2013-03-27 ## Server = http://repo.manjaro.org/stable/$repo/$arch
mirrorlist ( unstable )
## ## Manjaro Linux repository mirrorlist ## Generated on 2013-03-27 ## Server = http://repo.manjaro.org/unstable/$repo/$arch
Degişikligi yukarıda anlatılan yöntemle degiştirip kaydedin. Bu aşamadan sonra uçbirimi root olarak açıp:
#pacman -Syy #pacman -Syu
komutlarını uygulayın. Uygulama sırasında pacman güncelleme veya sürüm yükseltme sorularına evet yanıtını verin. Paket imza hatası alırsanız şu komutu uygulayın:
#pacman-key --init && sudo pacman-key --populate archlinux manjaro
Ardından bir kaç kez pacman -Syy ve pacman -Syu komutlarını uygulayın. Tüm bunlardan sonra şöyle bir tablo oluşur:
[cuma@manjaro ~]$ sudo pacman-key --init && sudo pacman-key --populate archlinux manjaro gpg: Generating pacman keyring master key... gpg: anahtar 8B52C220 son derece güvenli olarak imlendi. gpg: Done ==> Güvenilir veritabanı güncelleniyor ... gpg: 3 şöyle böyle gerekli, 1 tamamen gerekli, PGP güvence modeli gpg: derinlik: 0 geçerli: 1 imzalı: 0 güvenilir: 0-, 0q, 0n, 0m, 0f, 1u ==> Anahtarlar archlinux.gpg' den ekleniyor ... ==> Anahtarlar manjaro.gpg' den ekleniyor ... ==> Anahtar dizisindeki güvenilir anahtarlar yerel olarak imzalanıyor ... -> 0E8B644079F599DFC1DDC3973348882F6AC6A4C2 anahtarı yerel olarak imzalanıyor ... -> B4663188A692DB1E45A98EE95BD96CC4247B52CC anahtarı yerel olarak imzalanıyor ... -> 684148BB25B49E986A4944C55184252D824B18E8 anahtarı yerel olarak imzalanıyor ... -> 1E7908935AAB9A00D6B47503363DFFFD59152F77 anahtarı yerel olarak imzalanıyor ... -> 44D4A033AC140143927397D47EFD567D4C7EA887 anahtarı yerel olarak imzalanıyor ... -> 27FFC4769E19F096D41D9265A04F9397CDFD6BB0 anahtarı yerel olarak imzalanıyor ... -> E4CDFE50A2DA85D58C8A8C70CAA6A59611C7F07E anahtarı yerel olarak imzalanıyor ... -> AB19265E5D7D20687D303246BA1DFB64FFF979E7 anahtarı yerel olarak imzalanıyor ... ==> Sahiplik güven değerleri içe aktarılıyor ... gpg: inserting ownertrust of 4 gpg: setting ownertrust to 4 gpg: setting ownertrust to 4 gpg: setting ownertrust to 4 gpg: setting ownertrust to 4 gpg: setting ownertrust to 4 gpg: setting ownertrust to 4 gpg: setting ownertrust to 4 ==> Güvenilir veritabanı güncelleniyor ... gpg: 3 şöyle böyle gerekli, 1 tamamen gerekli, PGP güvence modeli gpg: derinlik: 0 geçerli: 1 imzalı: 8 güvenilir: 0-, 0q, 0n, 0m, 0f, 1u gpg: derinlik: 1 geçerli: 8 imzalı: 64 güvenilir: 0-, 0q, 0n, 8m, 0f, 0u gpg: derinlik: 2 geçerli: 64 imzalı: 1 güvenilir: 64-, 0q, 0n, 0m, 0f, 0u gpg: sonraki güvence veritabanı denetimi 2014-01-22 de [cuma@manjaro ~]$ su Parola: [root@manjaro cuma]# pacman -Syu :: Paket veritabanları senkronize ediliyor... core deposu güncel extra deposu güncel community deposu güncel :: Öncelikle şu paketler güncellenmelidir : pacman :: Yürütülen işlemi şimdi durdurup :: yeni sürümün yüklenmesini ister misiniz? [E/h] paket bağımlılıkları çözümleniyor... varsa paketler arası çakışmalara bakılıyor... Paketler (2): pacman-mirrorlist-20130421-1 pacman-4.1.0-3 Toplam Kurulum Boyutu: 3,86 MiB Güncelleme Boyutu: 0,03 MiB :: Kuruluma onay veriyor musunuz? [E/h] (2/2) anahtarlıktaki anahtarlar kontrol ediliyor [######################] 100% (2/2) paket bütünlüğü kontrol ediliyor [######################] 100% (2/2) paket dosyaları yükleniyor [######################] 100% (2/2) dosya çakışmaları kontrol ediliyor [######################] 100% (2/2) disk alanı kontrol ediliyor [######################] 100% uyarı: /etc/pacman.d/mirrorlist, /etc/pacman.d/mirrorlist.pacsave olarak kaydedildi (1/2) güncelleniyor pacman-mirrorlist [######################] 100% :: Querying servers, this may take some time... -> unreachable http://manjaro.fis.unb.br/stable/$repo/$arch -> 1.251 http://manjarolinux.polymorf.fr/stable/$repo/$arch -> 1.144 http://ftp.halifax.rwth-aachen.de/manjaro/stable/$repo/$arch -> 0.816 http://mirror-europe1.vinzv.de/manjaro/repo/stable/$repo/$arch -> unreachable http://mirror-europe2.vinzv.de/manjaro/repo/stable/$repo/$arch -> 1.364 http://ftp.tu-chemnitz.de/pub/linux/manjaro/stable/$repo/$arch -> unreachable http://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/stable/$repo/$arch -> 1.157 http://ftp.cc.uoc.gr/mirrors/linux/manjaro/stable/$repo/$arch -> unreachable http://ftp.heanet.ie/mirrors/manjaro/stable/$repo/$arch -> unreachable ftp://ftp.heanet.ie/mirrors/manjaro/stable/$repo/$arch -> 2.013 ftp://ftp.nluug.nl/pub/os/Linux/distr/manjaro/stable/$repo/$arch -> 0.683 http://ftp.nluug.nl/pub/os/Linux/distr/manjaro/stable/$repo/$arch -> 0.833 http://repo.manjaro.org.uk/stable/$repo/$arch -> 1.364 http://mirror.dacentec.com/manjaro/stable/$repo/$arch -> unreachable http://spiralinear.org/manjaro/repo/stable/$repo/$arch -> unreachable http://mirror-us1.vinzv.de/manjaro/repo/stable/$repo/$arch :: Generated and saved '/etc/pacman.d/mirrorlist' mirrorlist. hint: use `pacman-mirrors` to generate and update your pacman mirrorlist. (2/2) güncelleniyor pacman [######################] 100% [root@manjaro cuma]#
Bunun anlamı artık yeni mirrorlist dosyanız oluşmuştur. Örnegin otomatik oluşan yeni mirrorlist dosyası;##
## Manjaro Linux repository mirrorlist ## Generated on 25 Nisan 2013 ## Use pacman-mirrors to modify ## ## Location: Netherlands ## Time: 0.683 Server = http://ftp.nluug.nl/pub/os/Linux/distr/manjaro/stable/$repo/$arch ## Location: Germany ## Time: 0.816 Server = http://mirror-europe1.vinzv.de/manjaro/repo/stable/$repo/$arch ## Location: United_Kingdom ## Time: 0.833 Server = http://repo.manjaro.org.uk/stable/$repo/$arch ## Location: Germany ## Time: 1.144 Server = http://ftp.halifax.rwth-aachen.de/manjaro/stable/$repo/$arch ## Location: Greece ## Time: 1.157 Server = http://ftp.cc.uoc.gr/mirrors/linux/manjaro/stable/$repo/$arch ## Location: France ## Time: 1.251 Server = http://manjarolinux.polymorf.fr/stable/$repo/$arch ## Location: Germany ## Time: 1.364 Server = http://ftp.tu-chemnitz.de/pub/linux/manjaro/stable/$repo/$arch ## Location: United_States ## Time: 1.364 Server = http://mirror.dacentec.com/manjaro/stable/$repo/$arch ## Location: Netherlands ## Time: 2.013 Server = ftp://ftp.nluug.nl/pub/os/Linux/distr/manjaro/stable/$repo/$arch
Güncelleme sonucu:
[root@manjaro cuma]# pacman -Syu :: Paket veritabanları senkronize ediliyor... core deposu güncel extra deposu güncel community deposu güncel :: Sistem güncellemesi başlatılıyor... yapılacak bir şey yok [root@manjaro cuma]#