# GoboLinux
GoboLinux, en belirgin özelliği geleneksel Linux dosya sisteminin yeniden düzenlenmesi olan bir Linux dağıtımıdır. Çoğu Unix benzeri sistem gibi Dosya Sistemi Hiyerarşi Standardını takip etmek yerine, bir GoboLinux sistemindeki her programın, tüm dosyalarının (o programa özgü ayarlar dahil) bulunabileceği kendi alt dizin ağacı vardır. Böylece, bir "Foo" programının tüm özel dosyaları ve kütüphaneleri /Programs/Foo dizininde, bu programın ilgili sürümü altında bulunur. Örneğin, yaygın olarak bilinen GCC derleyici paketinin 8.1.0 sürümü /Programs/GCC/8.1.0. dizini altında bulunur.
GoboLinux geliştiricilerine göre bu, daha temiz bir sistemle sonuçlanır.


## Genel bakış.
GoboLinux hiyerarşisi, belirli dosya türlerinin ortak standart alt dizinlerde (yürütülebilir dosyalar için /bin ve yapılandırma dosyaları için /etc gibi) birlikte depolandığı ve hangi dosyanın hangi programa ait olduğunu takip etmek için paket yöneticilerinin kullanıldığı çoğu UNIX benzeri işletim sistemi tarafından geleneksel olarak kullanılan dosya sisteminden radikal bir ayrılışı temsil eder. GoboLinux'ta, her programdaki dosyalar ilgili programın kendi tahsis edilmiş alt dizinine yerleştirilir. GoboLinux'un yapımcıları, "dosya sisteminin paket yöneticisi olduğunu" söylediler ve GoboLinux paket sistemi, dosya sisteminin kendisini bir paket veritabanı olarak kullanıyor. Bunun daha basit, daha az karmaşık bir dizin ağacı ürettiği söyleniyor. GoboLinux, geleneksel Linux dosya sistemi hiyerarşisiyle tam uyumluluğu korurken tüm bunları başarmak için sembolik bağlantılar ve "GoboHide" adlı isteğe bağlı bir çekirdek modülü kullanır.
GoboLinux'un yaratıcıları, tasarımlarının benzer geleneksel dizinler arasındaki bazı ayrımların kaldırılması gibi başka "modernizmlere" sahip olduğunu belirtmişlerdir (yürütülebilir /bin, /usr/bin ve /usr/local/bin konumları gibi). GoboLinux tasarımcıları, bunun kabuk komut dosyalarının diğer Linux dağıtımlarından daha az kırılmasına neden olduğunu iddia ettiler. GoboLinux tarafından 2003 yılında tanıtılan bu değişiklik, diğer dağıtımlar tarafından ancak çok daha sonra benimsendi: Fedora, /bin ve /usr/bin'i 2012'de birleştirdi; Debian, /usr birleştirmeyi 2018'de varsayılan olarak etkinleştirdi
GoboLinux ayrıca kullanıcının aynı programın farklı sürümlerinin aynı anda yüklenmesine (ve hatta bunları aynı anda çalıştırmasına) izin verir. Ayrıca, varolmayan dosyalara yapılan başvurular basitçe bozuk bağlantılara dönüştüğü ve dolayısıyla etkin olmadığı için, paket yönetimi dizininin dosya sistemiyle hiçbir zaman eşitsiz hale gelemeyeceği iddia edilmiştir. GoboLinux'un dosya sistemi değişiklikleri, System V veya BSD stili başlatma sistemlerini kullanmayan tamamen yeni bir önyükleme sistemi gibi diğer yeniliklere de izin verir.


## Dosya hiyerarşisi.
GoboLinux'un tasarımı, hepsi orijinal dosya sistemi yapılarını benimseyen ve Unix ile önemli ölçüde uyumluluğu koruyan NeXTSTEP, AtheOS ve BeOS gibi eski sistemlerden etkilenmiştir. GoboLinux ağacının kökünde altı dizin vardır: Programs, Users, System, Files, and Mount.


## "Compile" programı.
Compile, "recipes" olarak bilinen basit derleme betiklerini kullanarak tek bir komutla (Compile foo gibi) tarballs kaynak kodunu indiren, paketten çıkaran, derleyen ve ortaya çıkan yürütülebilir kodu yükleyen bir programdır.
Compile sistemi, Gentoo'nun FreeBSD Ports koleksiyonuna dayanan Portage sistemine benzer. Bununla birlikte, Portage, Dosya Sistemi Hiyerarşisi Standardı ile uyumlu geleneksel bir dosya sistemi hiyerarşisi için yapılırken Compile, GoboLinux'un kendine özgü dosya sistemi hiyerarşisinin kapasitesini paket yönetimi alanına genişletir. Böylece, GoboLinux'ta dosya sisteminin kendisi doğal olarak bir tür paket yöneticisi veritabanı işlevi görür.
Derleme programı, GoboLinux 011 sürümünde tanıtıldı. Bundan önce, Gentoo'nun Portage sisteminin GoboLinux'a taşınması ve limanın "GoboPortage" adı altında bir SourceForge.net projesi olarak geliştirilmesi hakkında tartışmalar vardı.
Compile diğer özellikleri şunlardır:
  - Her programın kendi indirme sitesinin kullanımı
 Dağıtım deposu (veya yansılarından biri) yalnızca tarifleri indirmek için kullanılır. Tarifler anında veya toplu olarak indirilebilir.
  - Minimalist ve bildirim odaklı derleme betikleri
 Tipik "yapılandır; yap; kur" yazılımı, bakımı büyük ölçüde kolaylaştıracak şekilde iki satırda yazılabilir.
  - GoboLinux tarzı bağımlılıkların desteği
 Kullanıcı tarafından "elle" derlenen yazılım, bir algılama mekanizması tarafından dikkate alınır.
  - Dizin-bağımsız
 Ayrıca köksüz bir GoboLinux kurulumunda da çalışır (yani, herhangi bir başka dağıtımın ana dizini içinde).


## Sürümler.
Bültenler, sekizli taban sistemi kullanılarak numaralandırılmıştır. Yazarlara göre, bu şema, birçok ücretsiz yazılım sürüm numarasında bulunan tipik baştaki sıfırı koruduğu için seçildi (çünkü baştaki sıfır genellikle bir sayının sekizli olduğunu gösterir) ve "sürüm numaraları yarışında" bir oyundur. 1999 civarında Linux dağıtımları arasında oldu. Ondalık sayılar olarak okunduğunda, sekizli sayıların kullanılması, her sekiz sürümde bir deterministik "versiyon artışına" neden olur. Sürüm 013'e kadar, GoboLinux, bazı sürümlerin diğerlerinden daha kararlı olduğu imasından kaçınmak için "nokta yayınları" yapmadı. Bu gelenek, hata düzeltmelerine odaklanan bir 014 güncellemesi olan 014.01 sürümüyle bozuldu.


## Uyarlamalar.
GoboLinux şu anda x86-64 için geliştirilmiştir. Resmi olarak yalnızca 015 sürümüne kadar i686 için yapıldı, ancak bir noktada i386'ya tamamlanmamış bir bağlantı noktası yapıldı. ARM ve SuperH gibi gömülü mimarilere de bağlantı noktaları yapılmıştır; bu görevler, özellikle port oluşturmayı otomatikleştirmek için geliştirilmiş bir araç olan Bootstrap ile gerçekleştirildi.


## İsim ve logo.
"Gobo" kurgusal bir karakterdir. <q>Onun hakkında pek bir şey bilinmiyor, çünkü onu görenler onun hakkında bilgi verecek kadar hayatta kalmadılar.</q> Ayrıca "Fibo" adında kurgusal bir sadık hizmetkarı var. GoboLinux'un maskotu "Que," Fibo'nun kıyafetlerini giyen bir penguendir.