pacman 4.0 ve yetersiz entropi

arch logoGünlük hayatta Mac OS X kullandığım için geliştirme yapacağımda Arch Linux üstünden yapmayı tercih ediyorum. Aynı anda çift işletim sistemi kullanmanın da çeşitli zorlukları vs olduğundan Virtualbox içine kurduğum Arch Linux'u başlatıp işimi yapıyorum. Bu şekilde, Virtualbox'ın da çeşitli özellikleri sayesinde, bilgisayarımda çalışan bir başka işletim sistemini aynı ağdaki bir sunucuymuş gibi kullanabiliyorum. Yeni pacman'in kurulumu sırasında yaşadığım bir problemi ve çözümünü bilgimin yettiği ölçüde aktarmaya çalışacağım. Bu konuların uzmanı olan kişiler, teknik terimlerle ilgili düzeltmelerde bulunurlarsa seve seve yazıyı düzeltebilirim. Hatalarım varsa affola.

Arch Linux'un paket yöneticisi olan pacman'in 4.0 sürümü [testing] deposuna girmiş ve ben de güncellemiş bulundum. Bu sürümün en büyük özelliği paketleri dijital imza kontrolünden geçirmesi ve her daim doğru, onaylanmış paketleri kullandığınızdan emin olunması. Dijital imzalamanın bir ayağı, anahtar kontrollerinin yapılabilmesi için sizin de bir anahtara sahip olmanız. Haliyle sistemin pacman 4.0 kurulumu sonrasında anahtar yaratabilmesi için;

pacman-key --init

komutunu vermeniz gerekiyor. Anahtar yaratılırken yeterince güvenli olabilmesi için bilgisayarınız, entropi denen karmaşık bir diziye ihtiyaç duyuyor ve bu dizilerin sayısı belli bir limit dahilinde. Normal bir makinede bu işi yaptığınızda, işlem sırasında yeterince karmaşık bir dizinin oluşturulabilmesi ve entropi sayısının maksimuma çıkarılabilmesi için grafiksel arayüzde farenizi oynatmanız, pencere taşımanız istenir. Eğer metinsel bir ortamdaysanız (örneğin Terminal) bu durumda da rastgele bir şeyler yazmanız ya da herhangi bir işlem yapmanız yetmeli. Bulabildiğim yazılarda tavsiye edilen bazı komutlar şunlardı:

cat /dev/urandom > /dev/null

ls -R /

Temelinde ilk komut urandom denen ve rastgele sayılar üreten bir (sanal) cihazdan gelen çıktıyı (/dev/null'u nasıl açıklayacağımı bilemedim) kullanıyor. İkinci komut ise sistem dizinlerini içiçe ekrana bastırmanızı sağlıyor. Kısaca; sistem kaynaklarını kullanarak entropi sayısını yükseltmeniz isteniyor.

Maalesef her iki komut da benim işime yaramadı. Sanal sunucu (VM) kullandığım için bu sayının ancak ve ancak belli bir limit dahilinde artabildiğini sanıyorum. Dolayısıyla bu sayıyı ihtiyaç oranında artırabilmek amacıyla rng-tools denen paketi kurmam tavsiye edildi. Bu paketi kurduktan sonra /etc/conf.d/rngd dosyasında TIMEOUT değerini 0 yerine 10'a çektim ve:

rngd -f -r /dev/urandom

komutuyla entropi sayısını artırma yoluna gidiyorsunuz. Bunu yaptıktan sonra yukarıdaki pacman komutunu verdiğinizde işlem bir kaç saniye içerisinde tamamlanıyor. Son olarak eğer yaourt kullanıyorsanız; kütüphanelerin yanlış referansları göstermesi nedeniyle yaourt'u ve package-query paketlerini yeniden derlemeniz gerekiyor.