Linux/GNU/Ubuntu
Ubuntu Türkiye SUDO dergisinin sekizinci sayısına verdiğim yazıyı buraya da geçeyim istedim. Ola ki dergiye ulaşamayan Google yolcuları vardır.
1. Giriş
Bu yazıdaki amaç Linux diye tabir edilen dünyaya yeni yelken açacak kullanıcılar için temel anlamda bir rehber teşkil etmektir. Böylece bu dünyaya ilk girildiği anda etrafta oluşan karanlığa bürünme hissi bir nebze olsa da azaltılmak istenmektedir. Bir konudaki detayları öğrenmek için öncelikle temel meseleleri anlamamız gerekir. Aksi düşünüldüğünde bir süre sonra kullanıcılar üzerilerine bir anda yığılan detaylar içinde boğularak sıkılabilirler. Basamaklar yavaş yavaş çıkılırsa, geriye dönüp baktığımızda her şeyin yerli yerine oturduğunu görürüz. Şimdi bu amaca yönelik ilerleyelim ve öncelikle Linux nedir bunu anlamaya çalışalım. Ancak hemen belirtelim ki bu yazıda anlatılanlar için detay asgari seviyede tutulmaya çalışılacaktır. Daha fazla bilgi için kullanıcıların mutlaka anlatılanları kendi başlarına araştırmaları gerekmektedir.
2. Linux nedir?
Bilgisayarların işlevlerini yerine getirmesi yani kullanıcılarının isteklerine cevap verebilmesi için üzerilerinde bir işletim sisteminin koşması gerekmektedir. Bu işletim sistemi sayesinde kullanıcı istediği yazılımı yükler ve çalışmalarını gerçekleştirir. Günümüzde işletim sistemleri kullanıcılarını memnun etmek için bazı toplu yazılımlarla beraber geliyor olabilir. Linux dünyasında da bu böyledir. Peki Linux cidden nedir ve işletim sistemleri dünyasında tam olarak nerede bulunur?
Her işletim sisteminin üzerinde durduğu çok sağlam bir direk vardır: Çekirdek ya da İngilizce’deki ifadesiyle kernel. Çekirdek genel anlamda bilgisayarın üzerindeki yazılımlarla donanımları arasında iletişimi sağlar. İletişim sağlamakla da kalmaz, bu kaynakları yönetir. Kısacası sistemimizde bulunan işlemci, bellek ve diğer donanımlarla haberleşme ve yönetim işini çekirdeğin ta kendisi yapar. Bu nedenle rahatlıkla anlaşılabileceği üzere çekirdeklerin işletim sistemleri açısından önemleri çok büyüktür. Bir işletim sisteminin çekirdeği ne kadar sağlamsa, kendisi de buna doğru orantılı olarak o kadar sağlamdır demek yanlış olmaz. Linux’un kendisi ise çekirdeğin ta kendisi olmasından öte, başka bir şey değildir. Peki, etrafımızda işletim sisteminin kendisi için Linux yaygın kullanım ifadesi nereden gelmektedir ve tam anlamıyla doğru mudur? Bu bölümde yazdıklarımızı gözden geçirdiğimizde bir çekirdeğin klasik anlamdaki işletim sistemleri için yeterli olmadığı görülmektedir. O zaman duruma açıklık kazandırmaya çalışmadan hemen önce Linux çekirdeğinin kendisinden bir miktar bahsedelim, ardından da bu son sorumuza cevap arayalım.
Bu yazıları RSS beslemesi ile takip edin
Lapis Linux
Beni tanıyan az çok biliyordur, Lapis olarak yaklaşık bir senedir kendi Linux dağıtımımız üzerinde çalışıp duruyorduk. Bir süre önce kararlı sürümü yayımlamayı başardık ancak benim tembelliğimden olsa gerek ancak bir yazı koyabiliyorum buraya. Son zamanlarımız az sıkıntılı geçtiğinden kararlı sürümü çıkartmak biraz gecikmişdi, nihayet bunu da gerçekleştirdik. Hatta 1.0 sürümünün üzerine bir takas alanı problemi nedeniyle 1.0.1 sürümü bile çıkartıldı.
Burada uzun uzadıya bahsetmek istemiyorum ancak şunu söyleyebilirim ki Lapis Linux yaklaşık bir senedir benim kullandığım yegane dağıtım oldu. Özellikle RC10 sürümünden sonra kararlı hale geldi ve yaşadığım büyük bir problem olduğunu hatırlamıyorum. Şu an itibariyle 1.0 üzerinde işlerimi keyifli bir şekilde yürütüyorum. Sistemi tanıyorum, eksiği gediği olduğunda kapatabiliyorum. PCLinuxOS üzerinden geliştirilen bu dağıtım yavaş yavaş kendi ayaklarını üzerinde duruyor artık. Eksiklerimiz, gediklerimiz olduğunun farkındayız. Dostlar ve kullanıcılarımız sayesinde bunları görüp, tespit ederek Lapis Linux‘u daha hoş ve kolay kullanılabilir bir hale getirmek ise şu anki ilk hedefimiz.
Biraz daha malumat edinmek isteyenler sitemize bakabilirler. Doğrudan indirip denemek isteyenler ise şu bağlantıyı kullanabilirler. Görüş, eleştiri ve isteklerinizi ise forumumuzdan ulaştırabilirsiniz.
Linux’un (kernel) değişimi ve gelişimi
Linux Vakfı (Linux Foundation)‘nın son yayımlanan raporunda Linux’u kimin kodladığına ve desteklediğine değinilmiş. Linus Torvalds’ın tek başına çıktığı bu yolculuk 2008′e gelindiğinde bir hayli değişmiş durumda. Artık Linus, Linux’un gelişimine sadece 0.6′lık bir yüzdeyle yardımcı oluyor. Duyunca şaşırdığımı itiraf edeyim. Linux’un gelişiminde çok fazla insanın etkisinin olduğunu bilsem de Linus’un payının bu kadar düşük olduğunu bilmiyordum. Buradaki sebep sanırım artık kişisel bazda katkının bir hayli az olması. Kişisel olarak Linux’a katkıda bulunan liste başı 10 geliştirici, toplamda %15′lik bir paya sahiplermiş. Şu anda 1000 geliştiricinin yanında 100 şirket desteklemekte bu gelişimi. Toplamda bir şirkette çalışıp destek verenlerin katkısı ise %70. Şirket oranlarına bakacak olursak:
- Red Hat %11.2
- Novell %8.9
- IBM %8.3
- Intel %4.1
- Oracle %1.3
- MontaVista %1.2
- Cisco %0.5
Şimdi rapordan bazı kısımları geçeyim.
Linux’u kim kodluyor?
- Her Linux kerneli 100′ün üzerinde şirkette çalışan 1000′e yakın geliştirici tarafından kodlanmakta. Bu vakıf dünyadaki en yaygın olan yazılım projesi anlamına gelmekte.
- 2005′ten bu yana geliştirici sayısı üçe katlanmış durumda.
- Bu geliştiricilerin %70′i ile %95′i arasındaki bölüm yaptığı işin ücretini alıyor. Böylece açık kaynak kodlu program geliştirmek sadece bir hobi işidir efsanesi bertaraf edilmiş oluyor.
Linux’u kim destekliyor?
- Kernel gelişimine %70′in üzerinde katkı başı çeken şirketler IBM, Intel, The Linux Foundation, MIPS Technology, MontaVista, Movial, NetApp, Novell ve Red Hat olmak üzere bir çok şirket tarafından yapılmakta.
Linux ne hızda gelişip yayımlanıyor?
- Kernele her gün ortalama 3.631 satır kod ekleniyor ve yeni kernel ortalama 2.7 ayda bir yayımlanıyor.
- Kernel 2005′ten bu yana her sene %10 oranında büyüme göstermekte.
Linux bir hayli kabuk değiştirdi. Şüphesiz doğduğu günden bu yana bir hayli değişme uğradı. Bu kadar şirketin destek vermesi insanı umutlandırıyor. Kazanan her zaman son kullanıcı olsun.
Kaynaklar
Gnome-do görev başında.
Bir süredir Gnome-do kullanmaktayım. Böyle hem göze hoş gelen hem de kullanışlı programlara bayılıyorum. Kendisi Apple’ın kendi işletim sisteminde kullandığı quicksilver’dan esinlenmiş. Hiç kullanmadığım için ne kadar benzer, hangisi diğerini döver bilemiyorum, beni çok da ilgilendirmiyor açıkçası. Gnome-do Mono ile yazılan bir uygulama (eribol’un kulakları çınlasın) ve ana geliştiricisi David Siegel. Tabi ki kendisi tek başına değil. Projede bir çok geliştirici var ve hepsi de son derece iyi insanlar. Nereden biliyorsun, beraber mi takılıyorsunuz gibi bir soruya, “eh birazcık öyle” diye cevap verebilirim. Yazının devamını okuyun »
Kaynaktan Program Kurulumu
Bu makalede tar.gz veya tar.bz2 uzantılı kaynak kodu ile dağıtılan
uygulamaların nasıl derlenip sistemimize kurulacağı anlatılmıştır.
Örnek uygulamamız linuxcmd programıdır.
- Edindiğimiz linuxcmd-0.5.2.tar.gz veya linuxcmd-0.5.2.tar.bz2
isimli dosyamızı istediğimiz bir dizine yerleştiriyoruz.
Örnek Resim
- Eğer dosyamız .gz uzantılı ise;
tar zxvf
.bz2 uzantılı ise
tar jzxv
komutları ile açıyoruz. (Bunu dosyanın üzerine ters tıklayıp buraya aç diyerek de yapabiliriz.)
Burada bizim uygulamamız tar.gz uzantılı olduğu için
tar zxvf komutunu kullandık.
- Daha sonra açtığımız dizine düşüyoruz.
cd linuxcmd-0.5.2
- Genellikle uygulamanın kaynak kodlarının yanında README ve INSTALL gibi
dosyalar da bulunur. Derlemeye başlamadan önce bu dosyaları okumamız
bizim yararımıza olacaktır.less INSTALL
İşte INSTALL dosyasının içeriği:
Görüldüğü gibi aslında burada kurulum aşamaları anlatılmakta. Bu
uygulama standart bir kuruluma sahip. Ancak kendine has bir betik ile
kurulum yapılacaksa da burada anlatılacaktır.
Ayırca bir başka yardım alma şansımız da ./configure –help komutudur.
Burada INSTALL veya README sayfalarında olmayan bilgileri de bulmanız
bazen mümkün olabilir.
- Genellikle derleme 3 aşamada yapılır:
1. ./configure ile uygulamanın derlenmesi için gerekli olan paketler kontrol edilir.
2. make ile derleme yapılır.
3. make install ile derlenen paket sistemde gerekli yerlere kopyalanır.
Son aşamayı yapabilmek için root hakları gerekmektdir. (su)Şimdi bunun nasıl olduğunu görelim.
./configure
Örnek Resim
Görüldüğü gibi configure bizim için uygulama için gereken paketlerin
kontrolünü yaptı ve herhangi bir eksik bulamadığı için Makefile
dosyasını oluşturdu.
- Şimdi make ile uygulamayı derlemeye başlayalım.
make
- Evet sıra geldi derlenen paketlerin sisteme kopyalanmasına
(kurulması
da diyebiliriz). Ancak bunu yapabilmek için root haklarına sahip
olmamız gerekir. Bunun sebebi derlenen paketlerin /usr/bin veya
/usr/local/bin gibi dizinlere kopyalanacağıdır. Root hakkını alabilmek
için su komutunu kullanıyoruz:
su (burada root parolası istenecektir)
Root hakları ile uygulamayı kuruyoruz.
make install
Görüldüğü gibi make install gerekli yerlere (burada /usr/local/bin) uygulamamızı kopyaladı.
Kurulan uygulamalar genellikle /usr/bin veya /usr/local/bin altına kopyalanırlar.
- Gelelim uygulamamızı çalıştırmaya.Uygulamayı konsola ismini yazarak çalıştırabiliriz.
Eğer uygulamanın ismi uzunsa veya karışık ise sadece ilk bir kaç
harfini yazdıktan sonra TAB’a basarak kabuğun otomatik olarak ismi
tamamlamasını sağlayabiliriz.
- Uygulamayı çalıştırmanın bir başka yolu da ALT+F2 tuş kombinasyonunu
kullanmaktır. (KDE ve Gnome kullanıcıları için). Buraya da uygulamanın
ismini girerek çalıştırmamız mümkün.
- Eğer kurulan uygulamanın yerini öğrenmek isiyorsak bu mümkün.
Eğer sadece çalışan kısmı öğrenmek istiyorsak
which linuxcmd işimizi görecektir.
Man,share,doc,lib gibi uygulamanın alakalı olduğu dosyaları da görmek
istiyorsak whereis linuxcmd komutu son derece kullanışlıdır.
- Şimdi de KDE kullanıcıları için kaynak koddan derlenerek kurulan bir
uygulama için Masaüstüne nasıl bağlantı verileceğini anlatalım.Masaüstünde
faremizle ters tıkladıktan sonra Yeni –> Uygulmaya Bağlantı
penceresinin Genel sekmesini açıyoruz. Buraya önce uygulamanın ismini
yazıyor ve istediğimiz bir simgeyi seçiyoruz. Bu simge KDE’nin kendi
öntanımlı simgelerinden biri veya sizin belirleyeceğiniz başka bir
simge de olabilir. Eğer uygulamanın bir share dizini varsa, orada
muhtemelen simgesini de bulabilirsiniz. Linuxcmd için olmadığı için ben
KDE’ninkilerden birini seçtim.
Daha sonra Aynı pencerenin Uygulama sekmesini açıyor ve uygulamamızı çalıştırmak için verdiğimiz komutu buraya yazıyoruz.
Daha sonra tamam diyerek pencereyi kapatıyoruz. Artık kısayolumuz Masaüstüne yereşmiş oluyor.
Simgemize tıklayarak uygulamayı çalıştırıyoruz.
- Kaynak koddan uygulamaların kaldırılması biraz sıkıntılıdır.
Eğer uygulamanın kaynak kodunun bulunduğu pakete eklenmişse make
uninstall
ile bu isteğimiz yerine getirilebilir. Eğer yoksa elle kaldırmak
zorunda kalabiliriz.Ancak yine de çok sağlıklı olduğu söylenemez. Bu
arada make işlemini sıfırlamak için make clean ve ./configure işlemini
sıfırlamak için make distclean komutlarını da kullanabiliriz.
Bunun yerine kaynak koddan uygulama kurarken yararlanabileceğimiz son
derece kullanışlı bir uygulama var: checkinstall. Bu uygulama ile hem
uygulamayı son make install aşamasında kendi sistem pakedimiz haline
getirebilir ve böyle kurabiliriz. Bu program benim şahsi
tercihimdir.




