GoboLinux | |
Aile | Linux |
---|---|
Diller | Almanca , İngilizce , İspanyolca , Fransızca , Macarca , Portekizce |
Çekirdek türü | Modüler monolitik |
Proje durumu | Devam etmekte |
Platformlar | x86-64 |
Lisans | GNU |
Kaynak devletler | Ücretsiz ve Açık Kaynak yazılım |
İlk versiyon | 20 Mart 2002 |
En son kararlı sürüm | 017 (25 Mayıs 2020) |
Ofis ortamı | Harika ya da senin seçimin |
Paketleme yöneticisi | Hayır |
İnternet sitesi | gobolinux.org |
GoboLinux , ana özelliği dosya ağacını yeniden düzenlemek olan ücretsiz ve açık kaynaklı bir Linux dağıtımıdır .
UNIX benzeri bir dosya hiyerarşisine sahip olmak yerine , her program kendi klasörüne yüklenir. Bu klasörde, yapılandırma dosyalarını da içeren tüm program dosyaları toplanır. Bu nedenle, klasik bir Linux dağıtımında olduğu gibi (veya Windows altında Win32 uygulamaları ile diğer klasörlere öğe yerleştirebilen) olduğu gibi, programın birkaç farklı yerde "patlaması" yoktur C:\Windows\System32.
Örneğin, " vlc " adında bir program hayal edin , tüm özel dosyaları ve kitaplıkları klasörde olacaktır /Programs/vlc. Bu nedenle aşağıdaki tam erişim yollarını da bulabiliriz:
"Bir programın farklı parçalarının /usr/bin, diğer parçalarının /etcve daha fazlasının atılması yerine /usr/share/quelquechose/ou/autrechose, her programın kendi ağaç yapısı vardır, bu da tüm programları birbirinden iyi ayrı tutar ve sistemde kurulu olan her şeyi ve hangi dosyaları görmenizi sağlar. basit ve açık bir şekilde hangi programlara aittir. "
GoboLinux'un geliştiricilerine göre, bu daha temiz bir sistemle sonuçlanır.
Dan GoboLinux ağaç yapısı kökten farklıdır FHS bulunan gibi Unix- işletim sistemleri . Aslında, FHS, her programın farklı dosyalarını dosya türüne göre gruplandırır. Bu nedenle, her dosya türü bir alt klasörde gruplanır.
Örneğin, yürütülebilir /bindosyalar klasörde ve yapılandırma dosyaları klasörde bulunur /etc. Bu bölünmenin doğrudan sonucu, hangi dosyanın hangi programa ait olduğunu hatırlamaktan sorumlu bir program olan Paket Yöneticisi kullanma ihtiyacıdır .
GoboLinux ile, ağaç yapısının kendisi paket yöneticisi olduğu için paket yöneticisi gereksiz hale gelir (sistemin geliştiricilerine göre: "dosya sistemi paket yöneticisidir"). Aslında, her programın her dosyası aynı klasöre yerleştirilir. Bu nedenle GoboLinux, dosya sistemini paket veritabanı olarak kullanır.
Bütün, daha az dağınık bir ağaç yapısıyla daha basit, daha mantıklı, daha sezgisel bir sistem sağlar.
Linux çekirdeği besbelli değiştirilmez, çok önemli ve istikrarsız çalışma olacaktır. GoboLinux, çalışması için sembolik bağlantılar kullanır . Gerçekte, FHS ağacı hala mevcuttur, ancak görünmez hale getirilmiştir. GoboLinux ağaç yapısı hemen yanında bir arada bulunur. FHS ağacı , GoboLinux ağacında bulunan gerçek dosyalara götüren sembolik bağlantılarla doludur .
Bunun sistem hızı kaybına yol açtığı düşünülebilir, ancak pratikte durum böyle değildir , Linux çekirdeğinin sembolik bağlantılarının yönetimi yeterince iyi programlanmıştır.
GoboLinux'un geliştiricileri, bu organizasyonun, benzer durumlar arasındaki deneysel farklılıkları ortadan kaldırdığı için FHS'den bile daha iyi performans gösterdiğini keşfettiler . Örneğin, bir yürütülebilir dosyanın içinde /binyerine içeride olduğu /usr/binveya /usr/local/binçözüldüğü için bir Konsol komut dosyası çalıştırırken oluşan hatalar gibi sorunlar . Konsol komut dosyaları bu nedenle diğer dağıtımlara göre daha az sıklıkta kilitlenir.
GoboLinux ağaç yapısının diğer bir avantajı, aynı programın birkaç sürümünü yan yana veya bir programın birkaç kez aynı sürümünü kurmanıza izin vermesidir. Bu, performans karşılaştırmaları yapmak için aynı programı aynı anda birkaç kez başlatmayı mümkün kılar.
FHS ile GoboLinux ağaç yapısı arasında senkronizasyon çözme riski yoktur, çünkü sembolik bir bağlantı mevcut olmayan bir dosyaya işaret ettiğinde , ölü bir bağlantı haline gelir ve bu nedenle devre dışı kalır. Bu ölü bağlantıları sistemden "RemoveBroken" aracı ile kaldırmak mümkündür.
Bu organizasyonun çalışması için GoboLinux sadece 3 unsurdan oluşur. Aslında, daha fazla eleman, sistemi az sayıdaki geliştirici için sürdürülemeyecek kadar ağır hale getirecektir.
Sistemin diğer tüm parçaları, Linux çekirdeğinden herhangi bir programa kadar en yenileriyle değiştirilebilir.
Linux altında , bir dosyayı veya klasörü yeniden adlandırmadan "" karakterini ekleyerek gizlemek mümkün değildir. önde ( bunu dosya veya klasörün özniteliklerinde içeren Windows'un aksine ).
O andan itibaren, FHS'nin dosya ve klasörlerini yeniden adlandırmadan "gizlemeye" izin veren bir program oluşturmak çok önemliydi.
Bu program GoboHide olarak adlandırılır ve çok basit çalışır:
"Ls" komutu, "gobohide" komutuyla gizlenen öğeleri göstermeyecektir. Yalnızca gizli öğeleri görüntüler çünkü adları bir nokta "." İle başlar, Yalnızca "gobohide" komutu gizli öğeleri tek başına görüntüleyebilir.
Tabii ki, öğeler hala var, basit bir Bash komutu bunu ~] [ -f /etc/fstab ] && echo "Il existe"veya gibi onaylayabilir ~] l /etc/zshrc.
GoboHide yaması, kurulumun ardından Linux çekirdeğine uygulanır. Çekirdeği derlemek için Derleme programını kullanarak, Linux çekirdeği "tarifi" GoboHide uzantısını etkinleştirmek için yamaları içerir. Derleme programını kullanmadan çekirdeğin yeniden derlenmesi durumunda, yamayı yeniden uygulamak gerekir.
~/KernelSources] patch -i /path/to/gobohide.patch -p1GoboHide sayesinde artık istediğiniz öğeleri gizlemek veya maskesini kaldırmak mümkün. Bu nedenle Gobohide, Linux öğelerini Windows'ta olduğu gibi , örneğin bu tür komutları kullanarak çevirmeyi mümkün kılar :
$ mkdir /Programmes $ mount -o bind /Programs /Programmes $ gobohide -h /Programsveya
$ mkdir /Utilisateurs $ mount -o bind /Users /Utilisateurs $ gobohide -h /UsersKaynak kodu serbestçe kullanılabilir.
Derleme programı, Gentoo'nun FreeBSD'leri temel alan taşıma sistemine benzer . Ancak bu bağlantı noktası FHS ağacıyla uyumlu olacak şekilde yapılmıştır ve Derleme bunu GoboLinux ağacına uygulayabilir. Compile, kurulu programların veritabanı olarak GoboLinux ağaç yapısını kullanır.
GoboLinux'un "011" sürümü ile tanıtıldı. Bundan önce, Gentoo'nun sistemini GoboPortage adlı bir SourceForge.net projesi olan GoboLinux'a uyarlama olasılığı hakkında birkaç tartışma yapıldı .
Derleme, bir programın kaynaklarının birden çok özel paket biçiminde dağıtılmaması gerektiği fikrine dayanır. Aslında, çeşitli Linux dağıtımlarının yaptığı gibi paket uyumluluğunu korumak büyük bir zaman kaybıdır ve eğer tüm paketler Linux standartlarını takip ederse, her şey çok daha kolay olurdu. Ana fikir, sonunda, bir programın her zaman yüklenecek bir dosya kümesine indirgenmesidir.
Dolayısıyla, Compile programı, kaynak kodunu Tarball formatında indirir , açar ve derler .
Örneğin, DEB formatında bir programı Alien yazılımı ile RPM'ye çevirerek kurmak ve ardından yazılımla kurmak mümkündür . vlc.cpio.gz'yi verin rpm2cpiorpm2cpio vlc.rpm
gzip -d vlc.cpio.gz cpio -d -i vlc.cpio PrepareProgram -t vlc 1.0 mv * /Programs/vlc/1.0 SymlinkProgram vlc 1.0Derleme, sıkıştırılmış programı çok basit bir komut ( compile vlc) kullanarak yükler .
Compile, programı klasöre yerleştirme ve klasörde /Programs/[Nom du programme]/[Version du programme]sembolik bağlantılar oluşturmayla ilgilenir /System/Index.
Sorun şu ki, pratikte tüm paketler bu yöntemi kullanarak düzgün bir şekilde yüklenmez, çünkü tüm Linux paketleri, paketleri oluşturmak için gerekli standartları takip etmez. Aslında, paketlerin yapısında küçük farklılıklar vardır ve bu farklılıklar tesisatları rahatsız eder. Bu nedenle, GoboLinux altında, bu varyasyonlar, programın doğru şekilde yüklenmesi için Compile programı tarafından kullanılan bir tür mikro komut dosyası olan bir "tarif" içinde belirtilecektir.
"Tarif", Compile programının her programı kurarken kullandığı bir tür kurulum yapılandırma dosyasıdır. Aslında, her kurulum için, Compile'ın bir "tarif" e ihtiyacı vardır. İki olasılık var ...
Her programın kurulumu için "tarif" zorunludur. Küçük "MakeRecipe" komut dosyası, sunucuda bulunmayan bir program için "tarif" oluşturulmasını otomatikleştirir. Sadece bir URL verin ve Tarball'u indirecek, sıkıştırmasını açacak ve nasıl derlenmesi gerektiğini anlamak için inceleyecektir ("make", "perl", "python" veya bir yapılandırma betiği kullanarak). Hiçbir hata mesajı "tarifi" değiştirmek zorunda değilse, hemen ardından Derlemeyi başlatabilirsiniz.
Tipik olarak, kurulumla ilgili herhangi bir sorun yaratmayan bir programın standart tarifi şu şekildedir (ikinci satır isteğe bağlıdır):
url=$httpSourceforge/gphoto/libgphoto2-2.1.3.tar.bz2 is_compileprogram=yesYalnızca programın indirildiği URL'yi ve çalıştırma yöntemini içerir. Yöntem compileprogramnormalde en yaygın olanıdır, satır is_compileprogram=yesmevcut olmasa bile varsayılan olarak uygulanan yöntemdir .
"Tarif", Derleme programı için bir yürütme modeli belirtmek için kullanılır. Birkaç model var:
"Tarif", programların kurulumunda var olan küçük varyasyonları derlemek için kullanılır.
GoboLinux bakımının ana kısmı, kullanıcının kurulum zorluklarından kaçınmak için her bir belirli programın çeşitli "tariflerini" güncel tutmaktan ibarettir. 2016 yılının başında, yaklaşık 3.500 paket için tarif var.
Çok fazla iş gibi görünebilir, ancak Debian gibi Linux dağıtımlarının yaptığı gibi paket tariflerini korumak, paketlerin kendileriyle uyumluluğu sürdürmekten çok daha az karmaşıktır . Ve en kötüsü, paketlerin nasıl kurulduğunu inceleyerek kendiniz bir "tarif" oluşturmak mümkündür.
Genel bir kural olarak, her paketin bir "tarif" e ihtiyacı vardır. İstisnalar, önceden yüklenmiş bir paket (Perl'in CPAN'ı, Haskell's Cabal, Lua'dan LuaRocks, Ruby'den RubyGems ve Python'dan PIP) tarafından yönetilebilen bir komut dosyası dilinde programlanmış paketlerdir, bu paketlerin "tarif" e ihtiyacı yoktur. Sadece "PackageManager: PackageName" şablonuna olan bağımlılığı belirtin (örneğin :) CPAN:XML::Parserve Compile, paket yöneticisinin bu programı kurmanın ayrıntılarını işlemesine izin verecektir.
Derleme programı, aynı programın birkaç sürümünü kurmanıza ve her programın kurulum klasöründe bulunan yapılandırma dosyaları sayesinde hangilerini güncel tutmak istediğinize karar vermenize olanak tanır.
Bunu yapmak için, -e <version>içinde bulunan program sürümünün klasör adını değiştirmenize izin veren parametre ile Compile'ı başlatmanız gerekir /Programs/[Nom du programme]/.
GoboLinux'un dosya sistemi NeXTSTEP, AtheOS ve BeOS'tan esinlenmiştir; felsefi ilkesi, bir işletim sisteminin tanımı gereği çeşitli programları çalıştırmak için bir araç olduğunu düşünmektir, bu nedenle bu programların öğelerini ayırmak mantıksızdır. Bu, tüm uygulamaları tek bir klasörde ( ) gruplayarak Linux Android dağıtımı tarafından benimsenen aynı yöndür /data/data.
GoboLinux'un kökünde, ayrıntıları aşağıda verilen birkaç ana klasör vardır.
Klasör işlevi | GoboLinux ağacı | FHS ağacındaki yazışmalar | Windows Ağacında Eşdeğerlik | MacOS ağaç denkliği |
---|---|---|---|---|
Tüm kullanıcılar tarafından kullanılabilen programlar için kurulum klasörü | /Programs | /bin, /sbin, /usr, /usr/bin, /usr/sbin, /usr/share, /usr/games, /usr/local, /usr/local/bin, /opt, /usr/opt, Vb | C:\Program Files | /Applications, /System/Applications |
Mevcut kullanıcı için mevcut programların kurulum klasörü | - | - | C:\Users\[Nom d'utilisateur]\AppData\Roaming | /Users/[Nom d’utilisateur]/Applications |
Tüm kullanıcılar için yapılandırma dosyaları klasörü | /Programs/[Nom du programme]/[Version]/etc | /etc, /usr/etc,/usr/local/etc | C:\ProgramData | /Applications/[Nom du programme].app/Contents |
Mevcut kullanıcı için yapılandırma dosyaları klasörü | /Users/[Nom d'utilisateur]/[Nom du programme]/etc | /home/[Nom d'utilisateur]/[Nom du programme]/etc | C:\Users\[Nom d'utilisateur]\AppData\Local, C:\Users\Utilisateur\AppData\LocalLow | /Users/[Nom d’utilisteur]/Applications/[Nom du programme].app/Contents |
Tüm kullanıcılar için mevcut veri kaydı | - | - | C:\Users\Public, C:\ProgramData\Microsoft\Windows\Start Menu | /Users/Shared |
Her kullanıcı için mevcut veri kaydı | /Users | /home | C:\Users | /Users |
İşletim sistemi dosyaları klasörü | /System | /bin, /sbin, /usr/bin, /usr/sbin, /lib, /proc, /sys, /var, Vb | C:\Windows | /System |
Paylaşılan kaynaklar klasörü | /Files | ? | C:\Program Files\Common Files, C:\Windows\Fonts, C:\Windows\System32\Spool\Drivers\Color, C:\Windows\System32, Vb | /Library |
Bağlama noktalarını içeren klasör | /Mount | /mnt, /mediaVb | Başlat menüsü, Dosya Gezgini, Bu PC | /Volumes |
Kullanıcı açılır klasörü | /Depot | D: ? |
Bu şekilde, her yürütülebilir dosya kendi klasöründe olmasına rağmen, tüm yürütülebilir dosyalar içinde listelenir (sembolik bağlantılarla) /System/Index/bin, tüm kitaplıklar içinde listelenir /System/Index/lib, vb. Bu organizasyon, içinde saklanan önemli olmayan dosyalar /usrve alt klasörlerde depolanan önemli dosyalar nedeniyle oluşan sorunları ortadan kaldırır .
Sürümler sekizlik sistem kullanılarak numaralandırılır . Birçok özgür yazılımda bulunabilen sıfır göstergeye yanıt verdiği için seçildi ve sekizlik sistem 1999 civarında yapılan sürümlerle yarışmanıza izin veriyor .