Debian Türkiye`de çok tanınmıyor veya Debian kullanıcılarını ben tanımıyorum :). Uzunca bir süredir - yani FM`den sonra- takip edemediğim Akgül hoca`nın Linux listesinde Türkiye`de yaşayan Alman uyruklu bir arkadaşımız Debian konusunda yazıyordu bir aralar. www.tr.debian.org`u kendisi mi yönetiyor bilemiyorum, fakat Türkiye yansısı mevcut olduğuna göre Debian mevzuunda meydan boş değil. Ha bir de Debian geliştiricileri listesinde bir kaç vatandaşımızın ismine rastlamışlığım oldu. Türkiye-Debian bağlamında bildiklerim bunlar. Başlangıçta mutad bir inceleme-review olarak tasarladığım yazıyı söz konusu nedenlerle bir miktar başvuru içeriği ile donatmayı uygun gördüm, umarım fazla bir öğreten kıvamına düşmemiştir. Debian`ın yeni yeni kullanmaya başladığım bir dağıtım olduğunu hatırlatayım. Özellikle kurulum nasılları konusunda yazdıklarım hiçbir şekilde Woody`nin resmî kurulum kılavuzunun yerini tutamaz.
Debian nedir?
Önce şu garip isimler nereden geliyor, izah edelim. İsimlerin kaynağı bir Disney yapımı olan Toy Story`deki karakterler. Meselâ ilk Debian sürümlerinden Rex filmdeki sulugöz ve naif dinozor oluyor. Woody, filmin baş aktörü olan kovboy`un ismi ve bu yüzden sürümün -unofficial- logosu bir kovboy şapkası. Woody`den sonraki dağıtım bir çavuş rütbesi ile temsil ediliyor şu günlerde. Çünkü isim olarak filmdeki kurşun askerlere ithafen Sarge seçilmiş.
Debian`ın dağıtım süreci şöyle işliyor: Yansılardaki dizin hiyerarşisine
bakıldığında herhangi bir dönemde üç tip sürümünün olduğu görülür:
unstable
, testing
ve stable
. Bu üç tip
sürüme -sırasıyla- ``en yeni ve kararsız'', ``yeni fakat test edilmiş'' ve
``yeterince test edilmiş (ve bir miktar eski)'' olarak bakılabilir. Bununla
beraber özellikle unstable
ve -yaşam süresinin sonlarına doğru-
testing
sürümlerinin stable
sürüme göre önemli
düzeyde infrastructure farklılığı gösterdiğini söylememiz gerekir.
Infrastructure farklılığı, modifiye edilmiş bazı Debian
standartlarına (Debian Policy, FHS vb.) uyum ve hayatî
paketlerdeki (gcc
, XFree86
ve ikincil düzeyde
gtk
, GNOME
vb.) önemli davranış değişiklikleri
sonucunda ortaya çıkıyor. Peki, ``Dağıtım (yani testing
`den
stable
`a geçiş) kararı nasıl veriliyor?''. Öncelikle bu kararın
Debian geliştiricilerinin -Debian Society ;) - oylarıyla seçilen
sürüm yöneticisinin inisiyatifinde olduğunu belirtelim. (Woody`nin
sürüm yöneticisi Anthony Towns -aka, aj- meselâ.) Fakat
dağıtım kararı için ``Release Critical Bugs'' gibi niceliksel
ölçütler de var. Paket testlerinde karşılaşılan böcekler öncelikle o paketten
sorumlu geliştirici tarafından inceleniyor ve mümkünse düzeltiliyor.
Düzeltilsin veya düzeltilmesin, her halükârda, paket geliştiricisi programın
yaratıcısı olan asıl geliştirici ile (upstream author) sürekli temas
halinde.
Kararlı sürümü çok yaşlı bulan son versiyon düşkünü kullanıcılar için
unstable
sürümün piyasada bilinen Debian dışı diğer dağıtımların
en azından test sürümleri kadar kullanılabilirlik sunduğu iddia edilebilir.
testing
sürümü ise kararlılık ile yenilik arasında bir orta yol
arayan kullanıcılar için uygun seçim ve taşıdığı kalite Debian harici
dağıtımların resmî sürüm kalitesinden kesinlikle aşağı değil. (Bu gerçeklere
rağmen Woody`nin release tarihinin aşırı gecikmesi bir problem olarak Debian
forumlarında tartışılıyor. Anthony Towns`ın önerileri var. Meselâ
Sarge ISO`larının inkrimental şekilde -haftalık- üretilmesi
gündemde.)
Debian hardcore GNU`cuları hedefleyen bir dağıtım. Çekirdek olarak
sadece GNU/Linux
değil, GNU/Hurd
da kullanılıyor.
Yani Debian çekirdekler -ve platformlar- üstü bir dağıtım olarak plânlanmış.
İlginç bulacağınız bir not: NetBSD çekirdeğinin Debian`a taşınması çalışmaları
da sürdürülüyor. GNU/NetBSD
dağıtımı ile sonuçlanacak bu çalışma
hayli ilerlemiş durumda. Bir önceki Woody haberinde de ifade ettiğim gibi
Debian bu yönüyle bir taşınabilirlik laboratuvarı. Sadece serbest dağıtıma
açık yazılımları içermesini öngören Sosyal
Sözleşmesi (Debian Social Contract) özelliği de eklenecek
olursa Debian, serbest yazılım değerlerini temsil eden amiral gemisi
niteliğinde bir dağıtım. Debian`ın çalıştığı platformların
çeşitliliği gerçekten inanılmaz. Clustering`le ilginenler için Beowulf Debian sürümünü de
belirtelim bu arada.
Debian`ın alâmeti farikası kendi paket yönetim sistemi şüphesiz. Debian Policy
gözetiminde hazırlanan deb
paketleriyle yaratılan bir linux
sistemi FHS (File
System Hierarchy) uyumludur ki bendenizin aesthetics
kaygularını tatmin eden bir özellik oluyor bu. Daha fiyakalı cümlelerle
formüle edilecek olursa, Debian Policy Debian`ın sürüm
mühendisliğinde öngörülen toplam kalite kontrolunun ( quality
assurance ) amentüsü, `şunu şöyle, bunu böyle yap`ı oluyor. Meseleyi
biraz örneklendireyim. Sürekli /usr/local
`a tarball derleyenler
gözlemiştir, bazı programlar bu dizin seviyesinin altında yarattıkları
etc
dizinine konfigürasyon dosyası atarlar. Tarball`u
--sysconfdir=/etc
kullanmadan --prefix=/usr
ile
derlemeniz halinde daha da kötüsü olur ve ayar dosyaları
/usr/etc
`ye gider -berbat-. FHS uyumlu olmayan bu dizin seçimleri
Debian maintainer`ları tarafından insanlık suçu muamelesi görür (en azından
Policy öyle der :) FHS`ye vakıf bir kullanıcı için Debian`da herşey
aradığı yerdedir: system-wide ayar dosyaları /etc
`de,
mimari bağımlı ortak dosyalar /usr/lib
`de, mimariden bağımsızlar
/usr/share
`de, paket dokümanları
/usr/share/doc/
paket`te, paketle gelen örnekler
/usr/share/doc/
paket/examples
`ta ve böyle
gider... Şimdi şu denilebilir: `Eee iyi de diğer dağıtımlarda da bu böyle
zati`, ben de cevaben derim ki (1) Yeni yeni (LSB`den sonra) akıllanmaya
başladılar (2) Debian`da daima böyle. Merak edenler kullandıkları
dağıtımda mc
(midnight commander)`ın ayar dosyası olarak
yorumlanması daha doğru olan mc.ext
, mc.ini
vb.
dosyalarının yerine bir baksınlar. Mandrake 8.0`da ben bunları
/usr/lib/mc
`de buluyorum. Debian`da ise bu dosyalar
/etc/mc
altındadır. Ne kadar güsel ;)
Sürüm bilgileri
Adetten olduğu üzere Woody hakkında bir miktar künye bilgisi verelim:- Dağıtım toplamda 7 CD (veya 1 DVD) olarak geliyor ve 8000`in üzerinde paket mevcut. Bu paket sayısı Potato`ya göre 4000 civarı bir ekstra`yı temsil ediyor. (Ben de olsam sürümün kod ismi olarak Toy Story``nin namespace``i içindeki en önemli ismi, yani baş kahraman Woody`yi seçerdim.)
- Ön tanımlı kernel 2.2.20, 2.4.18 ise opsiyonel. Bıçak sırtı kullanıcıları için bunun gıcıklık olduğunu tahmin edebiliyorum, fakat durumu ``Debian sağlamlığı'' olarak değerlendirmek lâzım. (Potato`nun son release`inde kullanılan kernel 2.2.19 idi.)
-
X Window ön tanımlı olarak XFree86 4.1. Potato`daki XFree86 3.3.6 da opsiyon
olarak mevcut. ``O kadar beklenildi, niçin XFree86 4.2 yok?" derseniz, kod adı
X Striker Force` olan X paket geliştiricisi Branden Robinson`ın
protestoculara cevaben yazdığı açıklamayı okuyun derim. (Yoksa onlar
arasında ben de mi vardım? ;) Woody duyurulmadan hemen önce Robinson 4.2`yi
experimental olarak kullanıma sundu ve birkaç kez de güncelledi. Bu adamın
yüksek bir sorumluluk taşıdığı aşikâr. Robinson, Debian listelerine yazdığı
mesajlardan takip ettiğim kadarıyla XFree geliştirme grubu ile de yakın temas
halinde çalışan eğlenceli bir isim. Adamcağızın karşılaştığı -ve kesinlikle
umursamadığı- tepkileri anlamak için
xfree86-common/FAQ.gz
dosyasından bir bölüm. Aynen alıntılıyorum :)(I often get this question, accompanied by rhetoric like, "1 CANT BEL1EVE U DONT MAKE THE SURVUR DEPEND ON THE BASE FONTZ PACKAGE BECAUSE IT ALWAYZ ALWAYZ ALWAYZ ALWAYZ ALWAYZ NEEDZ 1T!!11! U ARE SO STUPID 4 NOT MAKING 1T DO THAT!!1 U ARE EVEN STUP1DUR 4 NOT DOCUMENTING WHY IT DOESNT + 4 NOT FIXING TH1Z CRITICAL BUG YEARZ AGO!!11!1!1!! UR SUCH A MORON NO WONDUR PEOPLE USE REDHAT". Seriously.)
- GNOME 1.4, KDE ise 2.2 olarak geliyor. Potato`da GNOME 1.0.56, KDE 1.1.2 idi. (Debian KDE konusunda Woody`ye kadar biraz isteksiz ve ağır hareket ediyordu.) GNOME 2.0 henüz resmîleşmedi ve bu yüzden GNOME sürümü konusunda fazla gürültü kopmadı, fakat KDE 3.x istekleri had safhadaydı. KDE 3.x isteyenler için experimental paketler yeni çıktı.
- Mozilla 1.0 son anda resmî dağıtıma yetiştirildi (ve çok da güzel oldu.)
-
Merak edenleri OpenOffice hakkında da bilgilendirelim. OpenOffice Woody`nin
resmî CD seti içinde yok, fakat
testing
fazındaki Debian paketleri -duyurudan hemen sonra- çıktı. OO kurulumuna ilişkin ileride daha tafsilatlı bilgi vereceğim.
Yeni ne var?
Versiyon değişiklikleri bir yana sürümün özde ne yenilikler taşıdığı duyuruda anlatılmış, mealen aktaralım:-
apt
`a apt-pinning özelliği eklenmiş. Meselâ bir paketin Potato versiyonu isteniyorsa paket pinleniyor (/etc/apt/preferences
satırlarında) ve böylelikle, müstakbel bir upgrade işleminden paket etkilenmiyor. İlginç bir yan sonuç: apt-pinning ile downgrade yapılabilmesi. Dağıtımın bütünü pinlendiğinde varılan sonuç oluyor bu. Sistemi önceunstable
`a alıp sonra tekrartesting
`e downgrade yapabilirsiniz. Benzer şekilde mixed system`de oluşturulabiliyor. Önce bir default release tanımlanıyor (Ör.testing
) Daha sonra birunstable
paketi kurulacaksaapt-get
`in-t
anahtarı kullanılıyor -muş, denemedim, bu kısım kitabî-. -
Artık yaşlanmış olan
dselect
`in yerineaptitude
alternatifi ön plana çıkarılmış.aptitude
,deselect
`in sunduğu işlevselliği daha kolay veapt
tabanlı olarak gerçekleştiren bir apt wrapper. -
İlk olarak bu dağıtımda kriptolojik yazılımlar (
ssh
,pgp
vb.) standart kuruluma alınmış ve güvenlik bütün Web yazılımı paketlerine de yansıtılmış. Yani Debian daha da güvenli. - FSH 2.2 ile tam uyum ve ayrıca LSB (Linux Standart Base) desteği sağlanmış. LSB, dağıtımları standardize etmek, binary`lerin dağıtımlar arasında paylaşımını teşvik etmek amacıyla kurulan bir organizasyon. LSB specleri ve test-suite`ler yayımlıyor. Tanıdık bütün firmalar organizasyona üye (Mandrake, Suse, Redhat, IBM, HP vb.)
- Yeniliklerin en hissedilir olanı ise Debconf`un Woody`nin her tarafında kullanılıyor olması. Bu sayede paketler ve dolayısıyla sistem tutarlı ve kolay şekilde konfigüre edilebiliyor. Ayrıntılar için okumaya devam edin.
Debian paket yönetimi
Bu kısımda sazı biraz teknik çalmak durumundayım. Dersimiz Debian paket yönetimi. Seçmeli değil zorunlu gördüğüm bu ders`e iştirak etmeyenlerin Woody kurulumu için kredileri yetmiyor ona göre :) Şaka bir yana, takip eden bölümleri anlamak ve ``Yaw, Woody, Woody dedin; kur artık şunu'' diyenlere Woody = Debian = Debian paket yönetimi eşitliğini ispatlamak üzre bu kısa girizgâh elzem olmakta...
Önce ``Hangi dağıtım hangi paketi kullanır? deb
`in avantajları
nedir?'' suallerine cevaben ``tgz
ile başlasak mı?'' diyorum.
Basit ve straight-forward haliyle etkilendiğim bir paket formatıdır
tgz
. Fakat bu cümlenin yanlış olduğunu biliyorum. Çünkü
tgz
yapısı itibarıyla bir anti-pakettir aslında.
Herhangi bir kontrol bilgisi içermez, paket kontrolü ilgili paket yönetimi
programlarının -ve bunların takip ettiği paket veritabanlarının- insafına
kalmıştır. (Olsun yine de güzeldir, kafa karıştırmaz.)
rpm
`in bir aşama teşkil ettiğini söyleyebiliriz. En azından
bağımlılıklar konusunda, paket yapısının kompleksleştirilmesi bedeliyle
edinilen bir kazanç olarak daha anlamlı işler yapabilirsiniz. Yani yakasına
kontrol bilgilerini de iliştirdiğiniz bir paket, yönetici programın huzuruna
çıktığında, program yapacağı işler konusunda biraz daha aposteriori
vaziyette olur. Lâkin rpm
sizi gıcık eder. ``Şu dosya yok, bu
yok, kuramam vs.'' Halbuki bizi kimliği zor tayin edilir dosyalarla oyalamasa
da doğrudan``şu paket(leri) kur öyle gel'' dese ne güzel olurdu. Sonra, bir
rpm
paketi kendisiyle kardeş paketleri de bilemez. Yani Amazon`un
kitap önerileri gibi, ``Madem bunu istedin, aha bak bunu da şiddetle tavsiye
ederim'' dese... Yine bunların yanısıra kurulmadan önce tutarlı bir arabirim
ve makul sayıda sorularla ( ideali sıfır soru) polimorfik virüsler gibi
kendisini konfigüre edebilse; talep geldiğinde de konfigürasyonun tekrarına
müsaade etse ve hatta böyle bir talep olmaz ise güncelleme halinde ayarları
size sormadan hatırlasa... Sistemin içinde standartlara uygun bir yere -veya
yerlere- yerleşse; windoz registery`deki uyuzluğa bulaşmadan sistemle
entegrasyonu sağlamak adına bir kaç kaydı şuraya buraya eklese... vs. vs.
Evet, bir deb
paketi sayılan bu isteklerin hepsini
gerçekleştirebilir. deb
, rpm
`e mukabilen,
IMHO, ``Madem bedelini ödüyoruz (kompleksleşmek) için, bari tam yapalım
da bir işe yarasın'' yaklaşımının bir ürünüdür. Küçük bir misal: Sistemle
entegrasyonu sağlamak için belirli bir uygulamanın deb
paketi ait
olduğu kategoriyi ve başlığı (title
) belirten bir kontrol bilgisi
içerir. menu
adı verilen bu kontrol bilgisi sayesinde
Zoo kategorisi altında tanımlanan bir foo paketi
WindowMaker menüsünün Zoo alt menüsüne yerleşir ve
koşturulduğu pencerenin başlığında da ``Ben foo`yum'' diye kendini
tanıtır. rpm
`in en büyük sıkıntısı bağımlılığın dosya
bazında olmasıdır. deb
ise dosyalara değil yine başka
deb
paketlerine bağımlıdır. Üstelik deb
üç seviyeli
bir bağımlılık gösterir. DEPENDS, SUGGESTS ve
RECOMMENDS. Eh, bu kadar zengin kontrol paketiyle istediğinizi
yapabilirsiniz öyle değil mi?
Yukarıda sıralanan isteklerden en önemlisi konfigüre edilebilme olsa gerek. Debian aleminde bu işten sorumlu olan sistemin adı Debconf. Bunu da biraz açalım: Debconf, paketlerin konfigüre edilmesi için tutarlı bir kullanıcı arabirimi ve protokol sağlamak için oluşturulmuştur. Bir Debian paketi Debconf`la çalışacak şekilde hazırlanmışsa şunlar yapılabilir:
-
Paket, kurulumundan önce konfigüre edilebilir (
preconfig
).dpkg
paket yöneticisi ailesinde bu işlevselliğin karşılığı olan komutdpkg-preconfigure
`dür. Woody kurulumunda paket içerikleri yerlerine kopyalanmadan önce yapılan ön ayar işlemi bu mekanizma sayesindedir. Ayar sorgularında Debconf`un sunduğu arabirimleri man dosyasından yapıştırıyorum buraya:dialog
(ncurses
tabanlı),readline
(interaktif komut satırı),gnome
,editor
(hardcore),web
ve antifrontend olaraknon-interactive
. Debconf`un kullanılabilmesi için maintainer, paketerpm
`de de bulunan malum scriptler dışında (postinst
vb.) bir deconfig
script`i ve sorulacak soruları içeren bir şablon ekler. Ayar sorularının hangi arayüzle tevcih edileceği güzelliğine ilaveten soruların önem derecesi de (priority) tanımlanabilir. Öncelik dereceleri (ve anlamlarını ifade etmek amacıyla: kullanıcının sorgulama esnasındaki tepkisi) şu şekildedir:low
(``Beni oyalama''),medium
(``Önemli ise cevap veririm''),high
(``Bekle söylüycem''),critical
(``Benden cevap almadan sakın bi yere kaybolma''). -
Paket bir kere kurulduktan sonra tekrar ayarlanabilir, yani preconfig
stage`de yapılan ayarlara (sorulan sorulara) tekrar ulaşılabilir. Bu
işlevin karşılığı da
dpkg-reconfigure
`dür. (Bu komut işletilirken istenen sorgulama derinliği öncelik derecesi olarak gerekiyorsa verilmeli.)
dpkg-reconfigure
paket
Mamaafih Debian`daki her ayarı Debconf`dan beklemeyin.
Debconf dpkg
`ya sonradan yapılan bir eklemedir
(kludge) ve her paket bunu kullanmaz (Kullanımı Woody`de yaygınlaştı
demiştik ya). Paket Debconf`u kullanmıyorsa
dpkg-reconfigure
`e cevap vermez. Bu noktada Debian`da kullanılan
diğer bir konfigürasyon şekli gündeme geliyor: yani Debconfdan
bağımsız olarak çalışan conf araçları. Ağırlıkla script olarak
hazırlanan bu araçlar çoğunlukla /usr/sbin
altında bulunur.
Özetle, birşeyleri ayarlamak istediğimizde takip edilecek ayar
algoritması şu oluyor:
Paket Debconf kullanıyor mu?
dpkg-reconfigure fooYok cevap vermedi, bir de şuraya göz atalım ve varsa kullanalım:
ls /usr/sbin/*conf*(Ör.
fooconfig
veya fooconf
. Aslında bu iş için
ls
`e de gerek yok. Otomatik tamamlama ne güne duruyor?
foo
Tab yapın gitsin.)
Son olarak apt
ve dselect
`ten bahsederek bu bahsi
kapayalım. Tahmin edebileceğiniz gibi gerçek işi yapan program ailesi
``dpkg*
''dir ve söz konusu iki program dpkg
`yi
kullanan yardımcı programlardır. (dpkg
`yi kendi başına
rpm
gibi kullanabilirsiniz, Ör. ``rpm -i
'' =
``dpkg -i
''). dselect
deb
yönetimi için
basit bir konsol ekranı sağlar. Özellikle paketler hakkında (paket kontrol
bilgilerini okuyarak) ayrıntılı bilgi edinmek, paketleri gruplar halinde
görmek, seçmek ve seçilenlerin önerdiği, tavsiye ettiği (SUGGESTS,
RECOMMENDS) diğer paketleri değerlendirmek amacıyla kullanımı biraz
yorucu da olsa dselect kullanılır. `apt-get`
automagically olarak harika işler yapan bir komut satırı programıdır.
apt
`a bir kere deb
kaynaklarını bildirmeniz
yeterlidir. (Kaynak medya; cdrom, nfs, ftp, yerel dosya sistemi vb.
olabilir.) foo
paketi mi kurulacak? ``rpmfind`a git,
indir, kur, şu da gerekiyomuş, tekrar git onu da bul'' dertlerine son:
apt-get install foo
yazın, bağımlılıklarla beraber
apt
herşeyi halletsin.
Kurulumdan önce
Kuruluma geçmeden önce birkaç hususu belirtmekte yarar var:- Hard disk bölümlemesi için (partitioning) küçük bir plânlama yapmak doğru olacaktır. Benim gibi çoklu bölümlemeyi tercih etmiş ve diskiniz zaten dilim dilim olmuş ise bu bölümleri bir yere not edelim ki problem olmasın. Yok eğer yeni bir bölümleme yapacaksanız Woody kurulum rehberinin bölümleme kısmına bakabilirsiniz.
- Kurulumun kaplayacağı alan seçilen görevlere (task) veya paket sayısına göre değişiyor. Hangi görevin ne yer kaplayacağı konusunda şuradan bir fikir edinebilirsiniz. Burada hikayesi anlatılan kurulumun kapladığı disk alanı ilgili kısımda belirtilecektir. Bu değeri de referans alabilirsiniz.
- Önemli bir kurulum disiplini olarak donanımınız hakkında bilgi sahibi olun. Yani ekran, ses, tv, modem vb. kartların marka ve modelleri, chipset`leri nelerdir? Bunları da not edelim. Adettendir diyerek Woody`nin asgari sistem gereksinimlerine de bir göz atalım.
- Özellikle sıradışı bir monitörünüzün varsa yatay (horizontal) ve dikey (vertical) tarama frekanslarını öğrenin. X Window ayarlarında (tercihinize bağlı olarak) sorulacak olan bu değerleri monitörün kitapçığından öğrenebilirsiniz. Woody fazla müdahaleye gerek bırakmayan jenerik değerlerle kurulum imkânı sunuyor, ama siz yine de bu değerleri bir yere not edin.
- 1Ghz Athlon işlemci
- VIA KT133A chipsetli anakart -- Raid desteği aktif değil (ABIT KT7A)
- 256MB PC133 SDRAM (Century)
- 40GB Ultra ATA II - 7200 rpm disk (Seagate Barracuda)
- GeForce2 MX - 64MB ekran kartı (ABIT Siluro T400)
- ESS 1371 ses kartı (Creative)
- BT878 TV/Radio (Avermedia TVPhone98)
- 17 inch monitor - (LG Flatron 775FT)
- Conexant HSF modem (Inca)
- USB - Optik mouse (Microsoft IntelliMouse Explorer - Mouse`ları kalitelidir ;)
- DVD sürücü (Affrey - memnun değilim :()
- Kalanı standart (klavye, floppy vb.)
Ana sistem kurulumu - dbootstrap
Hangi CD`de ne var? Boot parametreleri neler?
Hadi bakalım `Bismillâh`. Kurulum`a basitçe 1 nolu CD`yi yerleştirip CD`den boot ederek başlayabiliriz. Debian özgün bir dağıtım olduğundan bu noktada bazı ilginç özelliklere sahip:
Kurulum seti içindeki her CD belirli bir kernel imajıyla boot edebilecek
şekilde hazırlanmıştır. Dolayısıyla ilk CD`de en azından bir boot problemi
varsa bir başkasını kullanabiliriz. Önemli bir farkla! Birinci CD`deki kernel
imajı boot anında verilecek parametrelerle seçilebilir yani ilk CD`deki kernel
imajı sabit değildir, diğer CD`dekiler ise sabittir. Peki seçilebilecek kernel
imajları neler oluyor? Kurulum kılavuzunda bunlar listelenmiştir. Yeni kernel`ın (2.4.18) kullanılmasına yönelik
endişeler açısından dikkat edilmesi gereken hususlar şunlar: (1) 1 nolu CD ön
tanımlı olarak 2.2.20 idepci
kernel`ı ile boot eder. (eski kernel
!) (2) 1 nolu CD`de 2.4.18 için kullanılacak boot parametresi
bf24
`tür. Yani boot:
promptunda bf24
yazıyoruz! (3) Alternatif olarak 5 nolu CD -sabit- kernel 2.4.18`ı kullanır.
Tips: Kernel imajların kernel-config
`leri de dağıtım ile
birlikte gelmektedir. Dolayısıyla kendi kernel`ınızı pişirmek isterseniz bu
tarifleri baz alabilirsiniz.
İlk CD`yi yerleştirerek boot ettiğimde parametre olarak bf24
`ü
giriyorum. idepci
`ın kernel 2.4.18`li hali olan bu imajda temel
sürücüler dışında USB desteği var ve journaling dosya sistemlerini:
ext3 ve reiserfs kullanma imkânı sunuyor.
İlk işlemler: Dil ve klavye seçimi, bölümleme
Açılışta ekranın framebuffer ortamına girdiğini gözlüyorum. Potato`da text ortam kullanılıyordu, galiba Debian tam grafik ortamda gerçekleşen bir kurulum sistemine geçmeden önce ısınma çalışmaları yapmış ;) Önce framebuffer sonra full grafik... Yalnız benim 17 inch`lik monitörde80x30
`luk vga16 framebuffer
bir miktar kötü durdu.
Eski bir konsol düşkünü olarak kurulumun grafik ortamda yapılmaması kendi
açımdan Woody`ye artı puan kazandırıyor. Fakat ``Hâlâ text ortam mı?''
diyenler için kısa bir not geçeyim. Debian büyük bir olasılıkla bir sonraki
sürüm olan Sarge`da tam grafik ortamlı kuruluma geçecek :( Aslında
grafik ortamlı Debian kurulumu Progeny firması tarafından
halihazırda GPL olarak geliştirilmiş durumda, screenshot`lar
incelenebilir. Tahmin edilebileceği gibi grafik ortamlı kurulum, Debian`ın
X`den sorumlu devlet bakanı Branden Robinson`ın da çok ilgilendiği
bir konu. Robinson -farkedebildiğim kadarıyla- Progeny`nin de hacker`larından.
``Tekerleğin yeniden icadına gerek yok, Progeny`yi adapte edelim''
düşüncesinde. Yani ilgili link`te gördüğünüz screenshot`lar `grafik ortam olsa
idi neye benzerdi?` sorusunun da resmî cevabı olmaya aday görüntüler.
Boot sonrası kurulum faaliyetlerini yürüten programın ismi
dbootstrap
. dbootstrap
belirtildiği gibi
framebuffer`da çalışan karakter tabanlı (ncurses) bir program. Görevi
ilk ayarların yapılması ve ana sistemin kurulması.
Potato`ya göre bir yenilik olarak kurulumda hangi dilin kullanılacağını
belirleyebileceğimiz bir ekran karşılıyor bizi. Listede Türkçe de var.
Seçmemiş de olsam bu imkânı Woody`nin PROS`larına ekliyoruz. Kurulum
diline -varsayılan İngilizce (US)- müdahale etmiyorum, fakat takiben gelen
klavye seçimi aşamasında klavyeyi trq
olarak seçiiorum.
(Alternatif trq
da listede mevcut.)
Kurulum kılavuzunu okumuş olmanın kazandırdığı güvenle
dbootstrap
`ı biraz kurcalama ihtiyacı hissediyorum.
dbootstrap
bu aşamada tty1, tty2 ve
tty3 olarak üç konsolda faaliyet gösteriyor. Normalde kullanıcının
temas halinde olduğu konsol tty1, diğerlerine ise klâsik konsol
değiştirme tuşlarıyla (tty2 için Alt-F2, tty3 için
Alt-F3) geçiş yapabiliyoruz. İkinci konsolda minik bir bash
klonu olan ash, ``olmazsa olmaz'' unix araçlarıyla hizmetinizde.
Hemen vi
yazıyorum ve vi
`ın olmasa da olur
muamelesine maruz kaldığını esef ve hiddetle müşahade ediyorum; zira
vi
yok onun yerine ``nano-tiny
kullan'' uyarısıyla
karşılaşıyorum. nano-tiny
, pico
`nun bir boy küçüğü
nano
`nun kırpılmış hali ve gayet güzel iş görüyor, ama ben
vi
noksanlığını CONS`a eklemiştim bile. Debian`ın
``Kullanıcıya her aşamada müdahale imkânı ver'' ilkesi gereği sunduğu
tty2 ile sonraki aşamalarda neler yapılabileceğini yeri geldiğinde
belirteceğim. Üçüncü konsol bir başka Debian ilkesinin``Saydam ol, ne
yaptığını kullanıcıdan saklama'' düsturunun sonucu olarak her türlü uyarı ve
hata mesajınının yönlendirildiği yer oluyor. Kernel mesajlarını, ilgili
aşamada çalıştırılan komutların ürettiği mesajları bu konsoldan takip
edebiliyoruz. Fevkâlade!
İkinci konsolda dmesg|more
ile kernel mesajlarını ayrıntılı
şekilde okuma olanağına sahibim. Bakalım seçtiğim bf24
imajı
neler yapmış? usb
desteği hemen gözüme çarpıyor:
usb-core
, usb-uhci
ve usbkbd
... Yani
USB klavyesi olanlar rahat olabilirler. Bu modülü çıkarmak üzere not alıyorum,
ihtiyacım yok. USB mouse beklediğim gibi yok. RAID sürücüleri ve SCSI mevcut.
Müteakiben disk bölümleme aşaması geliyor. Kurulum bu şekliyle lineer
olarak devam ediyor gibi gözükse de aslında öyle olmadığını
dbootstrap
`ın ana menü ekranında farkediyorum. Bölümlemede
yapılabilecek işlemler neler olabilir? ``Takas alanı oluştur, Linux bölümü
oluştur ve formatla, mevcut bir Linux bölümünü mount et'' vs.
dbootstrap
`ın sorgulama ekranında varsayılan bir eylem seçili
haldeyken, kullanıcının alternatif olarak gerçekleştirmek isteyeceği eylemler
de hemen onun altında sıralanıyor. Bölümleme aşamasında varsayılan eylem
``takas alanı oluştur'', alternatif eylemler ise saydığım diğer bölümleme
işlemleri olarak gösterilmiş. Alternatif eylemler o aşamaya özgü işlemlerden
oluşuyor. Ana menü ekranında daha altlara indiğimde geçmişte kalan klavye
ayarı adımı da dahil olmak üzere reboot
`a kadar bir dizi gelecek
eylemin de sırayla listelendiğini görüyorum. Demek oluyor ki makinayı
kurtarma amacıyla CD`den boot edip, kuruluma bulaşmadan istediğim bir
adımı icra ederek sistemi tekrar başlatabiliyorum.
Takas alanını ilkledikten sonra ``Linux bölümü oluştur''a geliyorum.
Kullanılacak dosya sistemiyle ilgili bir sorgulama karşılıyor beni:
``ext2, ext3, reiserfs''. Ani sistem kapanmaları
sonucunda ortaya çıkan dosya sistemi hasarlarından muzdarip kalmış birisi
olarak reiserfs``i seçiyorum ve bunu herkese tavsiye de ediyorum.
(reiserfs performans ve veri güvenilirliği bağlamında tanımlı bir
trade off`da ikinci seçeneği ön planda tutan bir dosya sistemidir.)
Seçtiğim bölüm formatlandıktan sonra / (root) olarak ayarlanıyor.
Önceden oluşturduğum bir bölümü seçtiğimden benim ihtiyacım olmadı ama,
Woody`de Potato`da olduğu gibi bölümleme aracı olarak cfdisk
`in
kullanıldığını not etmek isterim. fdisk
`e alışık iseniz ikinci
konsola zıplayarak fdisk
yazmanız yeterli.
Modül kurulumu
Bölümleme kritik bir adımdı ve geldik modül ayarlarına... Debian`da çok temel modüller dışında istediğiniz modülü sisteme siz ekleyeceksiniz. Şişkin olmayan bir sistemle çalışmanın ilk şartı gereksiz modüllerin yüklenmemesi ve Woody size bu imkânı sunuyor. Karşımda modül ekleme/çıkarma ekranı.
Bu ekranda modüller kategoriler halinde sıralanıyor. Herhangi bir modülü
seçmeniz için enter`lamanız yeterli. Aslında modül ekranı kurulum sonrasında
modconf
ile tekrar ulaşabileceğiniz basit bir arabirim. Seçilen
bir modül insmod
ile kuruluyor ve yanına ``+
''
konularak yüklendiği belirtiliyor. Kurulu bir modül enter`landığında
ise rmmod
`la çıkartılıyor ve yanına ``-
''
iliştirilerek yüklenmediği belirtiliyor. Kurulum işleminin sonuçları doğrudan
size gösteriliyor.
Modül kurulum ekranına kurulum sonrasında modconf
ile
ulaşılabileceğini belirtmiştim. Dikkat buyurursanız, daha önce ayar
algoritması bahsinde belirttiğim kural geçerli, yani:
``*conf
'' biçiminde bir modconf
komutu. Sistemi
kurduğunuzda basit bir deneme yaparak kurulum başlangıcındaki klavye seçimi
ekranına da kbdconfig
ile ulaşabildiğinizi göreceksiniz. Buradan
çıkartabileceğimiz bir sonuç var. dbootstrap
, bir dizi ayar
aracını kullanıcı seçimlerine ve kurulumun o anki durumuna bağlı olarak
çağıran bir yönetici program. Bu yönetici program diğer dağıtımlardaki
kardeşlerine nispetle monolitik değil ve kendisini aşırı şekilde merkeze
koymuyor. Bunu da bir Debian farkı olarak PROS`lara ekledikten sonra
Kurulum sonrası:
falanfilan
şeklinde ileriki bölümlerde kullanacağım bir anlatım şablonu türetiyorum.
Yani ``Kurulumun bu aşamasına, kurulum sonrasında falanfilan
komutunu çalıştırarak ulaşabilirsiniz'' demek oluyor bu.
``falanfilan
'', modül kurulumu özelinde ``*conf
''
biçiminde olabileceği gibi `ayar algoritması``nda ifade edildiği gibi
``dpkg-reconfigure *
'' formunda da olabilir. Debian`ın monolitik
bir kurulum programından kaçınmasının bir nedeni de işte bu Debconf
olsa gerek ve özellikle paket seçimlerinde çok ön plana çıkıyor. Malum
demiştik ya rpm
paket değil dosya bağımlıdır, deb
ise -3 seviyeli- paket bağımlıdır. Redhat türevlerinde paket bağımlılıklarına
göre gerekli paketlerin eklenmesi veya çıkarılması işlemi paket kurulum
programının yaptığı bir işlemdir, zira paketin kendisinde bu özellik yoktur.
Debian`da ise bu karar işlemi, doğrudan paket kontrol bilgisinden türetilir ve
paket yönetici programına (örneğimizde dselect
) çok iş düşmez.
Dönelim modül kurulumuna... İstediğiniz bir modülü bulamamış iseniz endişe
etmeyin, çok temel bir özellik olarak bu zaten kurulmuş olabilir.
tty2`den dmesg|more
ile kernel mesajlarını inceleyerek
bunu anlayabilirsiniz. Makinamda sorun çıkarmaya aday en hassas donanımlar USB
Mouse ve WinModem. Conexant sürücüleriyle daha sonra hesaplaşmak üzere mouse
için girişimde bulunuyorum. usb
ve usb-uhci
`nin
zaten kurulduğunu görmüştük. Tabii bunlar yetmez, bir de usbmouse
ve input
altından mousedev
`i kuruyorum. Her şey
yolunda, mouse bulunuyor. (Potato`da mouse kurulumu için bir de
mknod
ile device node yaratmak zorunda kalmıştım. Woody`de
-sonradan da doğruluyacağım gibi- ekstra bir işleme gerek kalmadı.) Bu arada
hazır el atmış iken usbkbd
`yi çıkarıyorum. Ses kartımız
Ensoniq-ES1371 ve kurulu değil... es1371
modülünü
ekliyoruz. TV`miz vardı, o ne olacak? Kolay... bttv
,
tuner
, tvaudio
ve videodev
modülleri
gerekiyor. Geçmiş kurulumların müktesebatı ;)
Tips: btxxx serisi TV kartı olanlar için: xawtv
paketi
Debconf kabiliyetine sahiptir. Dolayısıyla bu aşamayı bütünüyle pas
geçebilirsiniz. xawtv
kurulumunun ön ayar safhasında gerekli
modüller kendiliğinden eklenecektir.
Modüller arasında şöyle bir gezinerek, notlama yapıyorum. Onboard
video`ya sahip kullanıcılar için bir not meselâ. AGP veriyolundan sorumlu
agpgart
modülüne ihtiyacınız olacak. Nvidia tabanlı ekran
kartları için bu modül gerekmiyor. Nvidia`nın referans sürücüsü AGP desteğini
zaten içeriyor. Bu not da Sundance`ın CD Writer`ı ile alâkalı ;) Dahili CD
yazıcı için gerekli SCSI emülasyon desteği ide-scsi
modülünde.
``Niçin manuel girmek durumunda kalıyoruz, otomatik donanım algılama araçları,
meselâ Kudzu nerede?'' diye merak edenler için açıklayayım.
Kudzu 1 nolu -yani bu kurulum sırasında sürücü de olması gereken-
CD`nin içinde, fakat Required olarak sınıflanmamış ve asıl hedefi,
yokluğu halinde ana sistem kurulumunu olanaksız hale getirebilecek kritik
modüllerin eklenmesine imkân vermek olan bu aşamada kullanılmıyor. Peki Redhat
menşeli bu sihirli araç kurulum programı tarafından daha sonra kuruluyor mu?
Bu sorunun cevabı da olumsuz, çünkü paket `Optional``lar listesinde
ve sizin kurmanız gerekiyor. Debian`da otomatik donanım algılama aracı olarak
Kudzu dışında bir de Progeny kaynaklı Discover mevcut, fakat
hiçbirisi kullanılmıyor. xawtv
`de olduğu gibi automagic
modül kurulumu konusunda Debconf`a güveniliyor. (xawtv
dışındaki bir başka örnek samba
paketlerinin smbfs
modüllerini kurması.) Sistem kararlılığı adına benimsenen bir politika
olduğunu tahmin ettiğim bu yaklaşım Debian forumlarında tartışma konusu.
Tarafların bir kısmı -grafik ortamda kurulum konusunda olduğu gibi-
Discover`ı öneriyor, diğer bir kısmı ise zengin sürücü veritabanı ve
mature bir program olmasından dolayı Kudzu`yu tercih ediyor.
Son kullanıcı için özellikle böyle bir fasilite`ye şiddetle ihtiyaç gösteren
X kurulumunda Kudzu`nun kullanımına ilişkin olarak,
X paketlerinden sorumlu Branden Robinson`ın görüşü aşağıdaki
mesajlaşmadan anlaşılabilir:
> the debconf interface to configure X > is quite nice, but for a problem: the choice of the driver for the > video card and for the mouse; > indeed (unless the user is an Xfree86 expert) it is difficult to=20 > guess which driver should be used for a video card, knowning only the > product name (and sim. mouse). This is a limitation of debconf, not of the hardware detection system. I have no plans to implement Kudzu support. -- G. Branden Robinson | I am sorry, but what you have Debian GNU/Linux | mistaken for malicious intent is branden@debian.org | nothing more than sheer http://people.debian.org/~branden/ | incompetence! -- J. L. Rizzo IIYani hazret şöyle buyuruyor (yanlış yorumlamadıysam), ``Ben bu ayar işlerini Debconf ile sürdürmeyi düşünüyorum. Debconf yeterince geliştirildiğinde sorunlar hallolacak.'' Grafik ortamda kurulum konusunda Progeny bağlantısı bilinen Robinson`ın katkılarıyla Discover bakarsınız Sarge`da yerini alır. (Bu konuda rastladığım ara gazı veren mesajları alıntılamıyorum.)
Ağ kurulumu
Modül kurulumu bitti ve network ayarlarındayız. Makinam ağa bağlı olmayan kendi halinde bir ev-makinası olduğundan bu kısmı geçiyorum. Network ayarlarının ana sistemin kurulumundan bir önceki aşama olduğu gerçeğini göz önünde tutarsak kurulumun bundan sonraki kısmının network üzerinden yürütülebileceğini de anlamış oluruz. Nitekim modül ayarlarında NFS de mevcut.Ana sistem, LILO ve reboot
Tamamdır. Ana sistem dosyaları yani Required ve Important olarak sınıflanan paketler (libc
, perl
,
nvi
, ncurses
vb.) kopyalanmaya başlıyor. Artık
dördüncü bir konsolumuz var. tty4 üzerinden bu operasyonun gelişimini
takip edebiliriz.
Ana sistem kuruldu. ``Lilo`yu nereye yerleştirmek istersiniz? Açış disketi oluşturacak mısınız?'' Makinamda birkaç sistem olduğundan orijinal MBR`ı şimdilik kaybetmek istemiyorum. Açış disketi hazırlayarak, disketten boot etmeyi tercih ediyorum.
Post kurulum
Post-boot ayarları (base-config
)
Disketten boot ettik ve artık post-boot (base)
aşamasındayız. Bir fırlatma kapsülü görevindeki dbootstrap
bizi
yörüngeye oturttuğuna göre artık ona ihtiyacımız yok ve zaten kendisi boot
sırasında terkedilmişti, ash
gitti bash
geldi ;)
Şimdi bir dizi standart ayarı yapıyoruz. İşte, timezone`u seçiyor, shadow parola kullanımını onaylıyor, root parolası giriyor ve bir kullanıcı hesabı açıyoruz. (Aşırı güvenlik isteyenler için bir de md5 parolaları var. Ne olduğu dokümantasyondan öğrenilebilir.)
Kurulum sonrası: (Kuralımız tutarlı olarak işliyor!)
/usr/sbin/base-config
ppp
ppp ayarına ulaştık. Modem`in problemli olduğu malum. Geçiniz...Kurulum sonrası:
pppconfig
apt-setup
İşte geldikapt-setup
`a. Meşhur apt
`a hangi
kaynakları kullanacağını belirteceğiz. ppp kurulumu paket kurulumuna
yaklaştığımızın da habercisiydi aslında. Zira ppp bağlantımız var ise
(network ayarımız zaten yapılmıştı) apt
kaynağı olarak
internet`ten bir yerleri gösterebiliriz. Türkiye de dahil olmak üzere dünyanın
yığınla yerinde Debian yansıları var meselâ.
Tips: Hoş bir not olarak şunu da geçelim: netselect-apt
adında bir program var. Bu program mevcut yansılar arasından en hızlı olanları
tespit ederek apt
kaynağı olarak atayabiliyor.
Kaynak olarak CD`leri okutacağız. Sırasıyla bütün CD`leri yerleştirerek
apt
`ın indeksleme yapmasını sağlıyoruz. Bu aşamayı atlamayın ve
temizinden bütün CD`leri okutun. Çünkü dselect
adımında karşınıza
çıkacak paket listesi bu okumalarla oluşturuluyor. Eğer okutmamış veya
okutamamışsanız ne dert:
Kurulum sonrası: (Ehhmm, kural bozuldu)
apt-setup
apt
`a birden fazla kaynak belirtmenin bir sakıncası yok. (Bu
amaçla doğrudan konsol açarak /etc/apt/sources.list
dosyasını
düzenlemeyi de tercih edebilirsiniz.) Hatta ayar programı sizin için fazladan
bir ekleme yapıyor. Güvenlik yamalarını kurmaya yönelik olarak, varsayılan
bir kaynak atanıyor ve bağlantınız varsa hemen bu yamalar alınıyor. Güvenlik
ihmale gelmez ne de olsa. Internet bağlantınız yoksa güvenlik yamalarını
bağlantınız oluştuğunda kurmak da çok kolay:
Kurulum sonrası:
apt-get update; apt-get upgrade
Paket kurulumu
Tam tamlar çalsın :) Paket kurulumuna geldik ve şimditasksel
:
görev seçici çalışacak. Potato`da bu adım ``Paket kurulumu için
basit yöntemi mi, ileri yöntemi mi tercih edersiniz?''
şeklindeydi. Basit yöntemde tasksel
ile paket seçimi bir
dizi görev tanımına göre blok halde yapılıyor, ileri yöntemde ise
dselect
çalıştırılarak sizi biraz terletiyorlar. Woody`de
kurulumun bu safhasında ``şu yöntem, bu yöntem'' sorgulaması yapılmadan direk
tasksel
`in çalıştırılması için onay isteniyor.
Görev seçici`ye girmeden önce bir Debian klâsiğinden bahsetmek uygun düşer. Eğer internet bağlantısı da olan kurulu bir Potato sistemim olsa idi, bunlarla hiç uğraşmadan sistemi mevcut içeriği itibarıyla Woody`ye upgrade etmek için:
apt-get update && apt-get dist-upgradekomutları yeterli olacaktı. (Tabii birkaç pre ve post ayar yapmak kaydıyla)
tasksel
Görev seçimi
(tasksel
) ekranındayız.
Bu ekranda kategorik olarak bir dizi görev tanımlanıyor ve makinanıza
biçtiğiniz role göre seçilen görevlere karşı düşen paketler blok olarak
kurulabiliyor. Woody`de görevlerin sayısı azalmış ve kategorilere ayrılmış.
Potato`da düz bir görev listesi kullanılıyordu. Bu güzel bir gelişme, fakat
azalan görev sayısıyla birlikte biraz fazla genelleştirme yapıldığını
gözlüyorum. Potato`da görev dağılımı bir miktar daha granüler durumdaydı.
Yaptığım başka bir kurulumda bunu doğruladım. Meselâ Potato`da GNOME için
apps, desktop, games ve net şeklinde dört
görev hazırlanmıştı ve KDE yoktu! Woody`de ise tek bir görev: desktop
environment var ve bu görevi seçerseniz hem KDE hem de GNOME kuruluyor
(gimp
, abiword
, koffice
ve
mozilla
dahil). En hafif tabiriyle berbat olan bu durum Woody`ye
yönelteceğim en ağır eleştiriyi de oluşturuyor. Ben Ahmet Vardar`ı çağırmaz
mıyım şimdi? En azından GNOME ve KDE`yi ayırsaydınız bari kardeşim! Çekeyim mi
kulağınızı şimdi! Mandrake bile yapmıyo bunu!
Mandrake`nin ``Doldur hepsini, dursun kenarda, uğraşma'' anlayışından müşteki değilseniz masaüstü ortamı seçin gitsin. Mümkün mertebe hafif bir sistem oluşturmak niyetindeki bendeniz bu seçimi yapmıyorum tabii... Üstelik bu aşamaya daha sonra nasıl ulaşabileceğimi biliyorum:
Kurulum sonrası: (Ehmm, istisna 2)
tasksel
Amaçlarım açısından şimdilik X window system, C and C++,
file server (samba
ve nfs
), print
server (magicfilter
, gs
), conventional
linux server` (telnet
, ftp
, ssh
,
screen
, zsh
ve dikkat buyurun: emacs
)
ve Tex/LaTex (tetex
, xdvi
,
xpdf
, xfig
vb.) görevlerini seçiyorum.
Diğer görevlerden seçmeler: web server (apache
), SQL
server (postgresql
, info`sunda mysql
`i
göremedim!), mail server (mailx
, procmail
),
DNS server (bind
vb.), scientific applications
(gnuplot
, octave
). Bunların dışında iki ilginç görev
var: laptop systems ve Debian Jr. Potato`da da mevcut olan
laptop systems görevi dizüstü bilgisayar sahiplerinin bütün
ihtiyaçlarını karşılayacak paketlerden oluşuyor: apmd
,
irda
, anacron
vb. Debian Jr yani açık
haliyle Debian Junior ise Woody`le gelen bir yenilik. Çocuklara özel
paketlerden (eğitim, matematik, bilmeceler, oyunlar, programlama vb.) oluşan
bu görev sayesinde ``Kur Woody`yi, çocuğunu sevindir'' veya ``Son kullanıcı
için uygun değil mi? Ne saçmalıyorsun, Woody`de çocuklar bile düşünülmüş!''
şeklinde iddialı laflar etme hakkına sahip oluyoruz ;)
dselect
tasksel
`den çıktığımızda ``dselect
`e girmek
istermisiniz?'' sorgusu ile karşılaşıyoruz (Varsayılan: ``No''). Açıklayacağım
nedenlerle buna olumlu cevap veriyoruz. dselect
`in Debian
paketlerindeki kontrol bilgilerini incelemek ve paketler üzerinde işlem yapmak
için kullanılan çok güçlü ve aptitude
dışında alternatifi olmayan
bir araç olduğunu daha önceden belirtmiştim. Kullanımının zor olduğu
eleştirilerini abartılı bulduğumu belirtmek isterim. (Yoksa VIM
kullandığımdan mı böyle diyorum?)
dselect
`in paket seçimi (select) ekranındayız.
dselect
`in kendi yardım sistemi yeterince kullanışlı olmakla
beraber bir miktar açıklama yapmakta fayda var. Ekranda herhangi bir pakete
ilişkin satırı ele alalım. En solda görülen EIOM, paket durumunu
bildiren 4 farklı bayrağın ilk harfleri aslında.
E (Error) Paket kurulumunda hata var mı? Boşluk ise hata yok I (Install) Paket kurulu mu?
Boşluk Kurulu değil *
Kurulu _
Silinmiş (underscore) -
Silinmiş fakat ayar dosyaları bırakılmış (dash) U
Kurulmak üzere açılmış fakat ayar yapılmamış C
Ayar yarım kalmış (hata) I
Kurulum yarım kalmış (hata) O (Old Mark) Şu an yaptığınız işlemden önce paket hangi durumdaydı? Install ile benzer değerler alır M (Mark) Paket şimdi ne durumda? Install ile benzer değerler alır
Diğer sütunlar zannediyorum yeterince açık. Fakat bunlardan Priority yani paketin önem derecesini belirten alan önemli. Bir paketin önem dereceleri şunlar olabilir: Required, Important, Standart, Optional ve Extra
Bunlardan Required ve Important ana sistem (base
system) bileşenlerini oluşturur ve zaten kuruludur. Standart
paketler eksikliği halinde kullanıcının Pertevsel bir ses tonuyla
``Ne xxx yok mu? İnaanmıyorumm!'' tepkisine muhatap kalan hassasiyette
paketlerdir. dselect
bu paketleri sorgusuz sualsiz olarak seçili
hale getirir. İşte ``Hiçbir şey seçmeyecek olsan bile dselect
`e
gir'' önerisinin kaynağı budur.
Tips: Aynı sonuca dselect
`e girmeden dselect
install
veya apt-get -u dselect-upgrade
komutu ile de
ulaşılabilir.
Optional ve Extra paketler sırasıyla azalan bir önem derecesini ifade eder.
dselect
`te kullanılan tuşların bilinmemesi halinde işlem
yapamazsınız. En kritikleri için mini kılavuz:
i Paket hakkında bilgi (info) ver, paket kontrol bilgilerini görüntüle (Bu tuş toggle karakterindedir) d Açıklama alanında bir sonraki sayfa (next page) / Paket bul Son aramayı tekrar et + Paketi kurmak üzere seç - Paketi sil fakat ayar dosyaları kalsın _ Kurulu paketi eser bırakmayacak şekilde sil (Silmek için bunu tercih ediyoruz genellikle) X İşlemleri geri al (Undo) D Yaptığınız seçim dışında dselect
`in otomatik olarak seçili hale getirdiği bağımlı paketleri seçilmemiş hale getir (Yanidselect
`e ``işime karışma'' diyoruz.)R Bu aşamada yapılan seçimlerin (kendi seçimlerimiz ve dselect
`in otomatik olarak seçtikleri) hepsini iptal et, seçilmemiş hale getir. Bu tuşudselect
`in herhangi bir aşamasında yaptığımız işlemleri geri almak amacıyla sıklıkla kullanabiliriz. (X daha köklü bir undo işlemidir.)
Kuruluma geri dönelim. dselect
`te biraz dolaştığımda Potato`da
olduğu gibi bir GNU klâsiği: emacs
`ın Standart paket
olarak tanımlandığını ve dolayısıyla kurulum listesine alındığını gördüm.
(Standart olarak sınıflanmaması durumunda bile
tasksel
`de seçilen conventional linux server görevinden
dolayı kuruluma dahil edilecekti.) Hemen ``_'' ile sil işareti
koyduğumda ``Bak bunu silersen şu paketler bu işlemden etkileniyor, onları da
silmek üzere işaretleyeceğim'' uyarısıyla bir liste sunuluyor bana. ``Olsun,
ne gam, sil hepsini, bana VIM yeter'' diyorum. ``/'' tuşuyla
vim
araması yapıyor ve yine esefle müşahade ediyorum ki
VIM Optional olarak kabul edilmiş ve seçilmemiş. Zira
Debian`la gelen ve Important olarak sınıflanan VI klonu
nvi
. ``+'' ile seçtiğimde Debian`ın paket yapısındaki
RECOMMENDS ve SUGGESTS alanları okunarak ``VIM`i
kullanan tags
de kullanır ctags-exubarent
`i de
ekliyorum'' uyarısı geliyor ve söz konusu paket de -diğer birkaç paketin
yanısıra- seçili hale getiriliyor. Debian`ın hoşluğu... Belirli bir paketi
kurmanın en debianvari yöntemi ``apt-get install
paket'' komutudur ve dselect
`e girmek gerekmez. Fakat
VIM örneğinde olduğu gibi paket önerilerini görmek ve kurmak
istiyorsanız dselect
daha doğru bir yöntem olmakta.
dselect
`te dolaşmaya devam ettiğimde mc
(midnight commander)`ın da Standart olarak seçilmediğini
görüyor ve seçiyorum. Bence bunu değiştirmeliler. Quake 1, Quake
2, Heretic, Doom gibi tanıdıklara rastlıyorum,
dokunmadan geçiyorum. Potato`da olduğu gibi electronics kategorisi
gözüme çarpıyor.
Viva Debian! Çocukların yanısıra Elektronik Mühendislerini de
destekleyen tek dağıtım. (Bu konuyla bir başka zamanda ayrıntılı
ilgileneceğiz.) Tercihlerim istikametinde WindowMaker`ı
``/wmaker
'' olarak arıyor, buluyor ve seçiyorum. Mozilla`yı
işaretliyorum. Televizyonsuz kalmamak için xawtv
`yi de
ekliyorum. Son olarak xmms
, gimp
,
abiword
ve gnumeric
paketlerini de seçiyorum.
Şimdilik bu kadarı kafi.
Son bir uyarıyla dselect
bahsini kapatalım. dselect
paket listelerini ön tanımlı olarak apt
kaynaklarından okur (ve
bu kaynak dselect
`in ayar kısmından değiştirilebilir).
Dolayısıyla apt
kaynaklarını değiştirecek bir eylem gerçekleşmiş
ise (meselâ okutamadığınız bir CD`yi daha sonra apt-setup
ile
apt
kaynaklarına eklediğinizde) dselect
kaynaklarını
da güncellemeyi (update) unutmayın aksi halde aradığınız bir paketi
dselect
`te bulamayabilirsiniz.
Ön ayar (preconfig
)
Az kaldı, kurulum bitmek üzere. dselect
`ten çıktığımda kurulacak
paketlerin toplam boyutu ve diskte kaplayacağı alan raporlanıyor ve kuruluma
geçiliyor. Debconf başlığında anlattığım gibi paketler kurulmadan
önce -eğer Debconf uyumlu olarak hazırlanmış ise- sırayla
konfigüre edilecek (X Window ayarları da buna dahil!). Düpedüz
dpkg-preconfigure
veya bir ``*conf
'' scriptinin
çalışmasından ibaret olan bu işlem müdahalesiz bir paket kurulumunun
gerçekleşmesini ve bu arada sizin de bir çay-kahve içmenizi sağlıyor. (Bir de
DVD olsaydı da CD tak çıkar yapmasaydık.)
Bu ön ayar safhasında yapılan ayarların en önemlileri mail ve X.
Debian`ın MTA tercihi sendmail
veya postfix
değil exim
. Basit, sade ve kullanılışlı. Mail ayarlarına sonradan
nasıl ulaşıyoruz?
Kurulum sonrası:
eximconf
İşte mühim adım: X ayarları. Potato`da anXious
kullanılıyordu. Woody`de ayar işlemi Debconf üzerinden yapılıyor ve
gayet de ağrısız bir işlem. (Özel olarak buna dexter veya
dexconfig de denilmekte.) Ayrıca XFree86 4.1 ile gelen standart ayar
programı xf86cfg
`de mevcut. Karşımdaki ayar ekranının başlığında
Xserver-xfree86 yazıyor.
Demek oluyor ki tekrar bu ayarlara ulaşmak için:
Kurulum sonrası: (Sihirli komut ;)
dpkg-reconfigure xserver-xfree86
Alternatif konfigürasyon: (Debconf`un alternatifi)
xf86cfg -tX server sürücüsü olarak nv`yi seçiyorum. ``Use kernel framebuffer device interface'' sorgusuna ``No'' diyorum (veya demem gerektiğini sonradan anlıyorum, çünkü framebuffer ben de sorun çıkardı). ``
xkb rule set:
xfree86
'' olarak varsayılan değeri kabul ediyorum. Klavye modeli olarak
pc105
giriyorum ve geliyorum klavye yerleşimine (keyboard
layout). Potato`da kullanılan XFree86 3.3.6`da Türkçe klavye desteğini
girecek yer bulamamış ve daha sonra manuel olarak ayarlamıştım. Fakat Woody`de
XFree86 4.1 kullanılıyor ve Türkçe klavye stokta geliyor. Türkçe klavye için
tr
yazmanız yeterli. ``Keyboard variant'' ve ``Keyboard
options''ı boş geçiyorum.
Mouse`u tanıtma safhasındayız.
Farenin takılı olduğu port soruluyor. Atipik mouse`umuz
/dev/input/mouse0
`da fakat bu aygıt listede mevcut değil.
Kurulumdan hemen sonra /dev/input/mouse0
`a
/dev/mouse
symlink`i yaratarak
/etc/X11/XF86Config-4
`de manuel düzenleme yapmak üzere bu kısmı
atlıyorum. Tipik bir PS2 mouse için /dev/psaux
port`u
ve PS/2 protokolü kafi gelecektir.
Sona yaklaştık, monitörü tanıtacağız: ``Monitör karakteristiğini seçmek için hangi yolu tercih edersin?'' sorgusuna cevaben (biraz da bu yazının hatırına :) `basit` seçeneğini tercih ediyoruz. Monitör sınıflarını içeren bir liste...
17 inch`i seçtiğimizde varsayılan değerler olarak bizim adımıza girilen yatay
ve dikey tarama frekanslarını değiştirmek için son bir fırsat veriliyor.
Değişikliğe hiçbir şekilde gerek yok, çünkü önerilen değerler monitör
kitapçığında yazan değerlerle tamı tamına aynı :). Ve son iki adım
``video modes: 1280x1024
'', ``color depth: 24
''...
Bitti...
Bu iki önemli ayarın dışında neler var? Sıra gözetmeksizin kısa notlar halinde geçeyim:
-
Mozilla için freetype2 ile TrueType desteğinin aktive edilip
edilmeyeceği soruluyor. Ayrıca Flushplugin`i olmadığında
/dev/dsp
`nin lock edilmesine karşı önlem alayım mı?'' diye soruluyor. Her ikisi de güzel ve önemli ayrıntılar. -
xawtv
kanal araması -onaya bağlı olarak- otomatik olarak yapılıyor. - Sistem bazında kullanılacak kağıt tipi (a4) ayarlanıyor.
-
Geliştiricilere not:
cvs
içincvsroot
dizini atanıyor. Bu ayar için yan konsoldan tercihen/var/local
altına (FHS`ye daha uygun) bir dizin açmak gerekiyor.
Log in
Ön ayar işlemleri bitiyor ve kurulum başlıyor. Çay molası... Affınıza sığınarak saat tutmadığımı itiraf edeyim. Fakat kurulumun çok çabuk bittiğini söyleyebilirim. Kurulum biter bitmez ``Login prompt''u karşımda buluyorum :)Devamı >>
>commander)`ın ayar dosyası olarak yorumlanması daha
> doğru olan mc.ext, mc.ini vb. dosyalarının yerine
>bir baksınlar. Mandrake 8.0`da ben bunları
>/usr/lib/mc`de buluyorum. Debian`da ise bu dosyalar
> /etc/mc altındadır. Ne kadar güsel ;)
Not:
gentoo`da da /usr/lib/mc altinda.