20.10.2009

Pardus 2009 için Truecrypt'i kaynak kodlarından derlemek

Linux'un bu özelliğini sevmiyorum: İstediğin bir program paket yöneticisinde yoksa kendin derlemek zorundasın. Her linux dağıtımı diğerlerinden farklı olduğu için, Windows'da olduğu gibi bir tane setup dosyası her durumda çalışmıyor. Derlemek de kimi zaman gerçekten baş ağrıtıcı olabiliyor.

Dahası çoğu durum için offline bir kurulum yöntemi yok. En modern dağıtımlar bile kurulum yapılacak sistemin internet bağlantısı olan ve online depolara bağlı olan bir sistem olmasını gerektiriyor. Paket bağımlıkları, çakışmalar vs. cabası.

Örnek: truecrypt. Windows'da kurulum çocuk oyuncağı. Kurulum dosyasını indir ve kur. Ama gel de bunu Pardus gibi çok yaygın olmayan bir linux dağıtımında yap! Herşeyin pisi paketini yaptılar, hala truecrypt'in bir pisi pakedi yok.

Öncelikle şunu belirteyim ki, bu derleme süreci bir linux dağıtımından diğerine, hatta Pardus 2008.2'den Pardus 2009'a farklılık gösteren bir süreç. Onun için örneğin bu adreste anlatılan Pardus 2008.2'de truecrypt'i derlemek yazısı ile örneğin bu adreste anlatılan Fedora 9 için truecrypt'i derlemek yazıları benim denemelerimde hatasız bir kuruluma götürmedi.

Hadi bakalım sıvayalım kollarımızı ve Pardus 2009'da truecrypt'i kaynak kodlarından derleyelim.
  • Öncelikle truecrypt sitesinden kaynak kodları indirmek gerek. www.truecrypt.org'a girince kolayca görülebilir bir yerde kaynak dosyaları indirmek için bir bağlantı göremedim. Sonra downloads sayfasında, altta şu bağlantıyı bularak linux için .tar.gz uzantılı sıkıştırılmış dosyayı indirmeye başladım. Dosyayı açtıktan sonra ilk iş Pardus paket yöneticisini açarak contrib deposunu ekledim ve komut satırından şu komutu vererek depoları güncelledim:
    # pisi update-repo
  • Truecryp'in Readme dosyasına göre wxWidgets adındaki bir kütüphaneye ihtiyaç var. LangTurk.com sitesindeki yazıda wxWidgets yerine wxGTK kullanılmıştı. Buna dayanarak Pardus paket yöneticisinde mevcut olan wxGTK ve wxGTK-devel paketlerini kurdum. Aynı işi komut satırından
    # pisi it wxGTK wxGTK-devel
    komutu ile de yapabilirdim.
  • Arkasından, bir program derlemek için gerekli araçların olduğu kümeyi kurmak için root yetkileriyle aşağıdaki komutu verdim:
    # pisi it -c system.devel
    Bu komut, gcc, make, pkgconfig ve kernel-header'in de içinde olduğu birçok paketi sisteme kurdu.
  • Yine Truecryp'in Readme dosyasına göre gerekli olan PKCS11 header dosyalarını rsasecurity'nin FTP sunucusundan truecrypt'in klasörüne (Crypto alt klasörüne değil, doğrudan truecrypt'in içine) indirdim:
    wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h
    Bu satır 9 tane *.h uzantılı dosya indirdi. Bu arada LangTurk.com sitesindeki yazı, header dosyalarını değil, pkcs11 ile başlayan dosyaları indiriyordu. Bu durum, Truecrypt'in Readme dosyasında yazanla uyuşmuyordu.
  • Ve sonunda make komutunu vererek derleme ve link işlemlerini başlattım. Bazı sitelerde söylendiği gibi WX_ROOT veya wxbuild parametresi ile değil, sadece ve yalnızca make komutunu kullandım. Bu işlem uzun sürdü ve sonunda "Linking truecrypt" satırıyla hatasız bir şekilde sonlanarak truecrypt'in Main alt klasöründe truecrypt'in çalıştırılabilir dosyası oluşturuldu.
    # make
    Compiling Buffer.cpp                                
    Compiling Exception.cpp
    ...
    Compiling WizardFrame.cpp                           
    Linking truecrypt
    
    # ls Main/truecrypt -l
    -rwxr-xr-x 1 root root 2561556 Eki 20 11:55 Main/truecrypt
Truecrypt'i bulunduğu klasörde çalıştırmayı seçebilirsiniz. Ama bence doğrusu onu /usr/bin altına taşıyıp masaüstüne bir kısayol yaratmak:
# mv truecrypt /usr/bin
$ ln -s /usr/bin/truecrypt ~/Masaüstü/
Ve işte Pardus'ta çalışan Truecrypt grafik arayüzünün bir ekran görüntüsü:
Meraklısına not : masaüstündeki kısayolun simgesi Windows'da olduğu gibi çıkmıyor. Ama isteyenler için ikon simgesi burada sıkıştırılmış truecrypt'in çıkartıldığı klasörün içindeki mount klasöründe var, 96 ve 288dpi'lık iki kopya.

Hiç yorum yok: