ramboberk
Profesör
- Katılım
- 12 Eylül 2009
- Mesajlar
- 4,418
- Reaksiyon puanı
- 74
- Puanları
- 0
GoboLinux tüm dosya sistemi düzenini baştan tanımlayan bir Linux dağıtımıdır.
GoboLinux'ta bir paket yöneticisine ihtiyacınız yok, çünkü dosya sistemi paket yöneticisinin kendisidir: her program kendi dizininde bulunur, mesela /Programs/Xorg-Lib/7.4 ya da /Programs/KDE-Libs/4.2.0.
GoboLinux birimlerden oluşan bir Linux dağıtımıdır: bilgisayarınızdaki uygulamaları yeni, mantıksal bir şekilde düzenler. Bir uygulamanın bazı kısımlarını /usr/bin'e, başka kısımlarını /etc'ye, ve daha da başka kısımlarını /usr/share/bilmem/neresi'ne atmak yerine her uygulamanın bir dizin ağacı olur, böylece hepsi düzenli bir şekilde birbirinden ayrılmış olur ve siz de bilgisayara yüklenmiş her şeyi basit ve açık bir yolla görebilirsiniz.
GoboLinux bir sistemin kökü şöyledir:
~] cd / /] ls Programs Users System Files Mount Depot
/Programs, tüm uygulamaların bulunduğu yerdir. İstisnasız. Yüklü programları bu dizinin içine bakarak görebilirsiniz:
/] cd /Programs /Programs] ls AfterStep E2FSProgs Htop NTP Subversion ALSA-Driver Ed HTTPD OpenOffice Sudo ALSA-Lib Eject Hydrogen OpenSSH Swfdec ALSA-OSS Elinks IBM-Java2 OpenSSL Synaptics ALSA-Utils Ethereal ID3Lib Pango SysFSUtils Ardour Expat IEEE80211 Patch Sysklogd Audacity File IMLib2 Perl TCL Aumix Firefox InetUtils Pkgconfig TeTeX Autoconf Flac Intltool PodXTPro Texinfo Automake Flex IpodSlave Popt TIFF Bash Fontconfig Iptables PPP TiMidity++ ... ... ... ... ...
Her uygulamanın tüm dosyaları bu uygulamanın girdisinde, sürümler için bir alt dizinde tutulur /Programs] find Bash Bash Bash/3.0 Bash/3.0/bin Bash/3.0/bin/sh Bash/3.0/bin/bash Bash/3.0/bin/bashbug Bash/3.0/info Bash/3.0/info/bash.info Bash/3.0/man Bash/3.0/man/man1 Bash/3.0/man/man1/bash.1 ...
Bir uygulamanın birden fazla sürümü aynı anda sağlanabilir, böylece dilediğinizde ikisi arasında geçiş yapabilir, hatta gerektiğide ikisini aynı anda kullanabilirsiniz. /Programs] ls -l OpenOffice total 8 drwxr-xr-x 9 root root 4096 2005-09-22 01:07 1.1.4 drwxr-xr-x 3 root root 4096 2005-09-23 04:36 2.0 lrwxrwxrwx 1 root root 5 2005-09-23 04:36 Current -> 2.0 /Programs] ls -l GTK+ total 12 drwxr-xr-x 10 root root 4096 2005-10-02 01:39 1.2.10 drwxr-xr-x 9 root root 4096 2005-08-21 05:48 2.6.7 lrwxrwxrwx 1 root root 6 2005-10-02 01:39 Current -> 2.6.7 drwxr-xr-x 4 root root 4096 2005-10-02 01:39 Settings
Bu nasıl oluyor da çalışıyor?
Tıpkı dosya sistemini uygulamaları düzenli bir şekilde saklaması için kullandığımız gibi, bunu aynı zamanda dosyaları kategorilere göre dizmek için kullanıyoruz ki sistem gerekli bir dosyayı yüzlerce uygulama girdisini aramak zorunda kalmadan bulabilsin. GoboLinux'ta bu, asıl dosyalara işaret eden bir simgesel bağları içeren bir dizi dizin tarafından sağlanır. Dikkat ederseniz, bu aynı zamanda "XYZ dosyasının hangi pakete ait olduğu"nu daha rahat görmenizi sağlar. /System/Links/Libraries] ls -l | cut -b 49- ... libgtk-1.2.so.0 -> /Programs/GTK+/1.2.10/lib/libgtk-1.2.so.0.9.1 libgtk-1.2.so.0.9.1 -> /Programs/GTK+/1.2.10/lib/libgtk-1.2.so.0.9.1 libgtk.a -> /Programs/GTK+/1.2.10/lib/libgtk.a libgtk.la -> /Programs/GTK+/1.2.10/lib/libgtk.la libgtk.so -> /Programs/GTK+/1.2.10/lib/libgtk-1.2.so.0.9.1 libgtk-x11-2.0.la -> /Programs/GTK+/2.6.7/lib/libgtk-x11-2.0.la libgtk-x11-2.0.so -> /Programs/GTK+/2.6.7/lib/libgtk-x11-2.0.so.0.600.7 libgtk-x11-2.0.so.0 -> /Programs/GTK+/2.6.7/lib/libgtk-x11-2.0.so.0.600.7 libhfs.a -> /Programs/CDRTools/2.01/lib/libhfs.a libhistory.a -> /Programs/Readline/5.0/lib/libhistory.a libhistory.so -> /Programs/Readline/5.0/lib/libhistory.so.5.0 libhistory.so.5 -> /Programs/Readline/5.0/lib/libhistory.so.5.0 ...
Sistem dosyaları ararken şuralara bakacak şekilde ayarlanmıştır: ~] cat /etc/ld.so.conf /System/Links/Libraries ~] echo $PATH /System/Links/Executables ...
Sistemde tüm ana dosya kategorileri için indisler göreceksiniz: çalıştırılabilirler, kütüphaneler, başlıklar, paylaşılan veri dosyaları, kılavuzlar, ve benzeri. Dizinleme özyinelemelidir, böylece eğer bazı programlar belli türde bir dosyayı saklamak için bir dizin tanımını paylaşıyorsa, otomatik olarak kendi dizinlemelerini de alacaklardır (Örneğin /System/Links/Shared/aclocal).
Bağ-tabanlı dizinlemenin bir başka faydası ise var olmayan dosyalara işaret edildiğinde otomatik olarak kırık bağ olacak ve dolayısıyla etkinsizleşecektir. Bu sorunları görmeyi ve çözmeyi kolaylaştırdığı gibi, en önemlisi, dizinlemenin her zaman sistemin var olan işlevsel durumuyla eşleşmesini garantiler. Artık, dosya orada olmasına rağmen paket yöneticisinin libXYZ'nin yüklü olmadığını söylemesi gibi eski sorunlara elveda diyin. Eğer bağ dizinlemesinde varsa, sistemde de vardır -ve tam tersi.
Peki Unix uyumluluğuna ne oldu?
GoboLinux sistem düzeni Unix geleneğinden çok ayrı gibi görünüyor. Peki bu tüm uygulamaların yeni düzenle çalışabilmek için uydurulması gerektiği anlamına mı gelir? Neyse ki, cevap hayır. Geleneksel adresleri GoboLinux karşılıklarına bağlayarak, Unix geleneğiyle uyumluluğu saydam bir şekilde sağlıyoruz.
~] ls -l /dev/null | cut -b 45- /dev/null ~] ls -l /bin/sh | cut -b 45- sh -> /Programs/Bash/3.0/bin/bash ~] ls -l /usr/include/stdio.h | cut -b 45- stdio.h -> /Programs/Glibc/2.3.6/include/stdio.h
Bunu yapmak için roket teknolojisine gerek yok: /bin, /System/Links/Executables'a bir bağ. Ve dolayısıyla /usr/bin de öyle. Ve /usr/sbin... tüm "ikili" dizinleri aynı yere işaret ediyor. İşin güzel yanı, bu bizi diğer standart-görünen dağıtımlardan daha uyumlu yapıyor. Diğer dağıtımlar uyumsuzluk sorunları yaşayabilirken, mesela /usr/bin/foo'ya işaret eden betikler aslında dosya /usr/local/bin/foo'da olduğu için çalışmazken, GoboLinux'ta tüm standart adresler tüm dosyalar içindir.
İlk örnekte kök dizini listelerken Unix dizinlerinin görünmediğine dikkat etmişsinizdir. Aslında onlar yerinde, sadece GoboHide çekirdek eklentisi sayesinde gözlerden gizlenmiş durumda. Bu sadece estetik sebeplerden var ve tamamiyle isteğinize bağlı, ancak: GoboLinux çekirdekte değişiklik yapmayı gerektirmez, sistemin diğer bileşenlerinde de. Ama kullanıcılarımız bunu oldukça seviyor gibi görünüyor.
Daha fazlası!
Çevrimiçi bir gezi size ancak belli bir yere kadar yol gösterir. Bunu kendiniz denemekten daha iyisi yoktur: GoboLinux Canlı CD aracılığıyla kullanıma elverişli bir şekilde dağıtılmaktadır, bu sayede sistemin iyi ve kötü yanlarını, bilgisayarınıza bir şey kurmadan, doğrudan CD üzerinden keşfedebilirsiniz. Bir CD kalıbı indirin ve eğlenin -- eğer yeniyseniz, daha düzenli dizin yapısını daha rahat bulacaksınız; eğer deneyimli bir kullanıcıysanız, daha birimsel ve saydam bir sistemin getireceği rahat denetimi beğeneceksiniz.
Kaynakhttp://www.gobolinux.org/