19 Mart 2008 Çarşamba

debian, paket, ssl, radius ve izmir kordon üzerine

İlk linux kullanmaya başladığım yıllarda (nedense) dağıtımların hazırladıkları paketleri kullanmak yerine her şeyi kaynak koddan derlerdim. Çoğunlukla dağıtımların paketlediklerinden farklı ihtiyaçlarım da olmazdı oysa. Hatta kernel.org'u sürekli takip eder ve yeni duyurulan her çekirdeği sunucularımızda derler ve kullanırdım. Apache, php, mysql gibi programların kaynaktan kurulması vakayı adiyeden bir şeydi bizim için. Serdar, Murat ve Faruk iyi hatırlayacaklardır o günleri. Bu elbette vakit alıcı bir süreçti ama zaten ilk öğrenme dönemlerinde olduğumuzdan en ağır yükte olduğu zaman bile işlemcisinin %5'ini kullanan sunucular için ev yapımı çekirdeğin performansa ne katkısı olur diye düşünmüyordum hiç.

Aradan yıllar geçti (gerçekten bir kaç yıl sürdü bu dönem), dağıtımlar daha iyi dağıtımlar oldular (aslında dediğim gibi; zaten iyiydiler, mevzu o değildi;) ), kurduğum sunucuların ve onların üzerinde koşan yazılımların sayısı arttı ve belki en önemlisi ben yoruldum ya da aklım başıma geldi. Madem dağıtımı kuracak kadar güveniyorum dedim (evet, bir dönem LFS ile bile uğraştım) kendime, neden onların hazırladıkları paketlere güvenip kullanmayayım? Önceden, dağıtımların paketlerinin generic olduğu yönünde bir çekincem olurdu ama varsın genel olsundu paketler, sanki ben derlediğimde Demir Bükey gibi mi derliyordum onları? Hem gerçekten öyle derlenmeye ihtiyacı olan kaç program vardı ki? Redhat bir sürü okumuş çocuk çalıştırırken onlara güvenmemek mantıklı değildi (artık). Hem Deniz Hanım bile dağıtımların paketlerini kullanmayı öneriyordu.

Bu radikal sayılacak kararlardan sonra kademeli olarak dağıtımların paketlerini kullanmaya başladık. Tabi heyecanlı gençler arada gentoo kullanıp, bir gün süren program derleme seanları yapıyorlardı. Bu tercihten gördüğüm en büyük fayda kazandığım zamanım oldu. Hali hazırda bir çok ekip benim ihtiyacım olan programların güncel sürümlerini, açıklarını, yamalarını takip ediyor ve hazırladıkları paketleri depolarına koyuyordu. Bütün bunları bir komutla sisteme kurmak harika bir şeydi (hala öyle). Uzun sayılabilecek süreler boyunca redhat kullandım, hala kullandığım sunucularım var. Bedava indirilebilirken bile redhat 6.2 satın almıştık hatırlıyorum, hala da arada bir alıyoruz. Daha sonra ağırlıklı olarak debian kullandım.

Debian'a geçince paket yönetiminin ne olduğunu anladım çünkü redhat kullanırken, eskiden, bir rpm dosyasını kurmak istediğinizde bilmem_ne.so.3 dosyasının sisteminizde bulanamadığı hatasını alırdınız, o dosyayı içeren rpm paketinin ne olduğunu bulduktan sonra bir de bakardınız o da kurulmak için başka dosyalara ihtiyaç duyuyor. Bu silsile böyle devam ederken günün sonunda aslında ne kurmaya çalıştığınızı bile unutacak durumda eve dönebilirdiniz. Ama debian'da sihirli sözcük apt-get vardı (hala var). apt-get install ıvır-zıvır dediğinizde istediğiniz programı ve onun ihtiyaç duyduğu saz arkadaşlarını alır getirir ve kurardı (uzun süredir başka dağıtımların da benzer işler yaptığını biliyorum elbette). İşin doğrusu program kurmak genelde basit bir iştir, zor olsa bile internette mutlaka açıklayıcı belgeleri bulunur. Bu yüzden, bence, paket denilen şeyin (Akgül hocanın deyimiyle) elini kirletmekten korkmayan birine getirisi program kurmayı kolaylaştırmak olamaz. Program kurmanın zor olmaması bir yana, zaten sunuculara da gün aşırı program kurmazsınız. Tamam bu kurulum işlinde zaman kazandırır ama esas zamanı güncelleme de kazanırsınız. Sunucuya programlar seyrek kurulur ama sık güncellenir (en azından göreceli olarak).

Programları kaynak koddan kurmak ve güncellemek yerine dağıtımların paketlerini kullanınca üzerinizdeki büyük bir işi outsource etmiş olursunuz. Paket kullanmanın önemli avantajlarından biri de kurduğunuz programların, ihtiyaç duydukları diğer programların, kütüphanelerin, yapılandırma dosyalarının ve diğer ıvır zıvırın nerede olduğunu bilmesidir.

Her ne kadar bazıları (kendilerince haklı sayılabilecek sebeplerle) beğenmese de debian ve onun paket yönetim sistemi iyi çalışır, kararlıdır, güven verir. Tamam; kararlı olanı biraz eskidir.

Henüz bir sunucuda değil ama günlük işlerimi yapmak için dizüstü ve masaüstü bilgisayarlarımda kullandığım Pardus'un PiSi'sinin bir özelliğini kullandığımı söyleyemem. Kurulumda paket seçimi olmadığından, sonra da grafik arayüzü kullanıp güncelleme yapıp yeni paket kurduğumdan aa şunu daha iyi yapıyormuş ya da şunu şöyle yapsaydı keşke diyemiyorum. Şimdilik bir yamuğunu görmediğimi yazabilirim sadece.

Uzun süredir yeni bir şeyin sunucusunu kurmadan, olanları hayatta tutup vaktimi doktora tezime ayırdığımdan (asla yeteri kadarı olmuyor) sunucu tarafında işler ne durumda bilmiyordum. Her ne kadar pardus'un sunucu sürümü çıkmamış olsa bile kurmamız gereken radius sunucusu için pardus'u kullanabiliriz belki diye düşünmüştüm. Yukarıda yeterince açıkladığımı düşündüğüm sebeplerden deposunda freeradius paketi olmadığından ben yine eski dostum debian'a döndüm. apt-get install ne_gerekiyorsa dememize rağmen yapılandırma sırasında aldığımız hatalar deli etti bizi; ne openssl.cnf dosyası, ne CA.pl ne de CA.all sanki debian paketinden çıkmış gibi değildi. Dosyaların içine baktığımda openssl'in yolunun /usr/local altında arandığını şaşırarak gördüm. Eğer programları kaynak koddan kurarsanız bunlar gibi dosyaların generic olması sizi şaşırtmaz ama debian'ın openssl paketinden çıkan dosyada path doğru olmalı diye bekliyor insan. Şaşırmış olsak da gerekli değişiklikleri yapıp, kurulum için kullandığımız NASIL belgesindeki talimatları takip edip kurulumu tamamladık.

Son iş olarak freeradius'un doğru çalışıp çalışmadığının test edilmesi aşamasını az önce yaptım ve gerçekten şaşırdım. Önce aldığım hatayı yazayım:
rlm_eap: Failed to link EAP-Type/tls: rlm_eap_tls.so: cannot open shared object file: No such file or directory

Kurulumda bir hata almamama rağmen burada hata çıkması canımı sıksa da google'da ilk aramada doğru ve kısa cevabı bulacağımdan emindim. Bulduğum yanıtlardan biri bu örneğin. Tıklamaya üşenenler için yazayım: rlm_eap_tls.so dosyasının lisansıyla ilgili problem olduğundan debian'la birlikte gelmiyormuş. Hadi canım bu kadar da olmaz, aradan geçen zamanda işler değişmiştir diyerek, debian'ın paket deposunda yaptığım aramanın sonucu: Sorry, your search gave no results.

Firefox'un logosu özgür değil diyerek iceweasel'e bile sıcak bakmış biriyimdir aslında ama buna da yuh diyorum artık. Kolayca tahmin edileceği gibi bu .so dosyası olmadan istediğim işi yapamayacağım. Debian'da bu dosyayı kendi paketine dahil etmemiş. İnternette herkes kaynak koddan kurmayı önermiş ama o zaman bir dağıtımı kullanmanın anlamı benim için çok azalıyor (sistemin diğer bileşenleri hala dağıtımın paketlerinden oluşuyor).

Sabah bir dağıtım seçip bütün yaptıklarımızı kaynak koddan kurup tekrarlayacağız maalesef. Figen, Şule ve Mehtap memnun olacaktır bu işe ama ben çok sinir oldum.

Belki de Pardus'daki arkadaşlara yazıp freeradius ve saz arkadaşlarını paketlemelerini istemek mantıklı olabilir. Aslında bu paketleme işini Cem de yapar ama o zaman kaynak koddan kurmaktan ne farkı olur ki?

İnsan bazen bu işleri bırakıp İzmir kordon'da kafa dinlemek istiyor.

Tam sayılarda kalansız bölme

Ortaokulda hepimizin öğrendiğimizi sandığımız ama pek azımızın öğrendiği bir konu tam sayılarda kalansız bölme konusu. Diğer bütün konular g...