GoboLinux

GoboLinux
GoboLinux makalesinin açıklayıcı görüntüsü
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.

Genel Bakış

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.

Operasyon

Sembolik bağlantı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.

GoboLinux'a özgü unsurlar

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.

GoboHide

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 -p1

GoboHide 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 /Programs

veya

$ mkdir /Utilisateurs $ mount -o bind /Users /Utilisateurs $ gobohide -h /Users

Kaynak kodu serbestçe kullanılabilir.

Derleme Geçmişi

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

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.0

Derleme, 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.

Yemek tarifi

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=yes

Yalnı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.

Tariflerin bakımı

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.

Eşzamanlı sürümler

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.

/Programs/Firefox/37.0.1/ /Programs/Firefox/40.0.3/ /Programs/Firefox/41.0.2/ /Programs/Firefox/42.0/ /Programs/Firefox/42.0/1/ /Programs/Firefox/42.0/2/ /Programs/Firefox/42.0/3/ /Programs/Firefox/42.0/4/

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]/.

Dosya sistemi

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 .




Versiyonlar

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 .

Notlar ve referanslar

  1. Hisham Muhammad, Unix ağacı yeniden düşünüldü: GoboLinux'a giriş  " ,9 Mayıs 2003( 24 Mayıs 2020'de erişildi )  :“  Fazla karışıklık olmadan, 20 Mart 2002'de GoboLinux doğdu.  "
  2. "  https://github.com/gobolinux/gobolinux.org/blob/master/lang/en_US/pages/k5.html#L28-L71  "
  3. Hisham Muhammad, "  Unix ağacı yeniden düşünüldü: GoboLinux'a giriş  " ,9 Mayıs 2003( 17 Mart 2008'de erişildi )
  4. Marc Weinem, "  GoboLinux üzerinde basitleştirilmiş paket yönetimi - Lucas Villa Real ile röportaj  " ,13 Mart 2008( 31 Mart 2008'de erişildi )
  5. Lucas Correia Villa Real, "  GoboLinux üzerinde basitleştirilmiş paket yönetimi - Lucas Villa Real ile röportaj  " ,9 Aralık 2003(erişilen 1 st Ocak 2015 )
  6. "  GoboLinux Derlemesi - Ölçeklenebilir Bir Portage?  " , Slashdot ,5 Haziran 2004(erişim tarihi: 19 Temmuz 2009 )
  7. "  The Ideas Behind Compile  " , GoboLinux (erişim tarihi 19 Temmuz 2009 )
  8. Gentoo Forumları: Konuyu görüntüle - GoboGentoo
  9. SourceForge.net: GoboPortage
  10. Hisham Muhammad, Derlemenin arkasındaki fikirler  " ,7 Aralık 2003(erişilen 1 st Ocak 2015 )
  11. Mayank Sharma, "  GoboLinux'un lezzetli paket yönetimi tarifi  " , Linux.com ,14 Şubat 2007(erişim tarihi: 19 Temmuz 2009 )
  12. Thom Holwerda, "  GoboLinux 014.01 Yayınlandı  " ,4 Nisan 2008( 4 Nisan 2008'de erişildi )

İlgili Makaleler

Dış bağlantılar