3 poin oleh GN⁺ 2024-03-01 | 1 komentar | Bagikan ke WhatsApp
  • Ini adalah distro eksperimental yang secara besar mengubah konvensi direktori distro Linux tradisional, sehingga konfigurasi sistem dipahami dengan berfokus pada direktori per program
  • Alih-alih basis data paket terpisah, distro ini menjadikan sistem berkas itu sendiri sebagai basis data, dan program ditempatkan per versi di jalur seperti /Programs/Nano/8.3
  • Rilis terbaru 017.01 adalah pembaruan perbaikan bug yang hadir sekitar 5 tahun setelah rilis ISO sebelumnya, menangani beberapa masalah penting selama periode tersebut
  • Pendiri Hisham Muhammad mundur setelah 25 tahun mengelola proyek, dan proyek ini kini diteruskan oleh pengguna GitHub @fyrak1s
  • Dapat dijalankan langsung sebagai lingkungan Live atau diinstal ke hard drive, sehingga pengguna bisa benar-benar mencoba struktur sistem berkas yang berbeda dari distro umum

Cara menyusun paket dengan sistem berkas

  • GoboLinux adalah distro Linux eksperimental yang mendefinisikan ulang seluruh hierarki sistem berkas
  • Intinya adalah menggunakan sistem berkas sebagai basis data tanpa memiliki basis data paket terpisah
    • Setiap program ditempatkan di direktori miliknya sendiri
    • Contohnya adalah /Programs/Nano/8.3, /Programs/GCC/14.2.0
  • Karena strukturnya berbeda dari distro Linux pada umumnya, pengguna yang baru pertama kali mencobanya sebaiknya membaca dokumentasi terlebih dahulu

Rilis 017.01 dan pergantian pengelola proyek

  • Versi saat ini adalah 017.01
    • Merupakan lingkungan Live yang dapat dijalankan dari USB drive dan DVD
    • Juga dapat diinstal ke hard drive
    • ISO dapat diunduh dari Downloads
  • v017.01 adalah pembaruan perbaikan bug yang dirilis setelah jeda sekitar 5 tahun
    • Menangani beberapa masalah penting yang muncul sejak rilis ISO sebelumnya
    • Perubahan lebih rinci dapat dilihat di release notes
  • Pengelolaan proyek juga berubah
    • Pendiri sekaligus pemimpin GoboLinux selama 25 tahun, Hisham Muhammad, resmi mundur
    • Proyek akan terus berjalan di bawah pengelolaan @fyrak1s
    • Lucas Correia Villa Real, dengan alias paranoidd, telah memelihara GoboLinux bersama Hisham hingga Juni 2021
  • Pusat komunitas terbagi ke chat, forum, dan wiki

1 komentar

 
GN⁺ 2024-03-01
Pendapat Hacker News
  • Jika Anda termasuk orang yang merasakan penolakan spontan yang kuat terhadap rancangan GoboLinux, dokumen berusia 20 tahun “I am not clueless”¹ memuat cukup banyak latar belakang dan logikanya
    Rasa penolakan saya belum sepenuhnya hilang, tetapi tidak sekuat dulu ;)
    ¹ https://gobolinux.org/doc/articles/clueless.html

    • Nuansa tulisannya mirip dokumentasi HTMX atau Tailwind
      Ringkasnya kira-kira: “Kami tahu kami berbeda. Ini sangat sederhana. Mungkin terasa asing, tetapi mudah dipahami dan ditangani. Tidak harus dipakai. Kami menyukai ini dan puas dengannya”
    • Di bagian make all programs relocatable pada tulisan yang ditautkan, disebutkan bahwa semua aplikasi harus ditulis ulang dengan memakai libprefix; saya penasaran apa yang dimaksud dengan libprefix di sini
      Pencarian web tidak menghasilkan sesuatu yang berguna
    • Saya bertanya-tanya apakah sebagian besar penolakan refleks itu datang dari desain yang tampak di permukaan, bukan dari unsur fungsionalnya
      Misalnya, banyak reaksi pertama muncul dari penggunaan huruf kapital; Programs dengan P besar mengingatkan pada Program Files di Windows, sehingga memicu penolakan secara emosional
      Kalau harus mengetik LibX11 alih-alih libx11, rasanya mungkin agak menyebalkan juga
      Filesystem Linux biasanya membedakan huruf besar-kecil, tetapi nama paket kemungkinan akan menghindari duplikasi yang hanya berbeda kapitalisasi, dan kecil kemungkinan distro yang menargetkan lapisan ramah pengguna menaruh direktori di root yang hanya berbeda huruf besar-kecil
      Meski begitu, kalau contohnya adalah /packages/libx11/1.6.9, /packages/gcc/9.2.0, reaksi awal saya rasanya akan jauh lebih ringan, dan manfaatnya sama sekali tidak akan berkurang dengan penamaan seperti itu
  • Sungguh disayangkan ide GoboLinux tidak mengakar di komunitas Linux arus utama
    Struktur filesystem Linux benar-benar berantakan

    • Saya setuju, tetapi senang melihat Nix, Guix, dan Spack—yang paling banyak saya kerjakan—pada dasarnya bergerak ke arah yang sama dan makin mendapatkan momentum
      Membuatnya bekerja dengan benar selalu tidak sepele, dan membuatnya efisien bahkan lebih sulit
      Baru dalam beberapa tahun terakhir saya merasa model ini benar-benar mendekati level yang dapat dipertahankan untuk sebagian besar distribusi perangkat lunak
    • Nix makin populer
      Model GoboLinux mengharuskan direktori versi seperti /Programs/Xorg/7.0 dikelola secara manual, sedangkan Nix menghilangkan masalah itu dengan menentukan jalur instalasi paket dari hash resep build
    • Menurut saya, yang saat ini masih masuk akal secara konsisten hanya /home dan /tmp
      Sisanya lebih mirip tumpukan barang campur aduk tempat apa pun bisa ditaruh di mana saja
    • Ide-ide itu jelas menginspirasi saya
      GoboLinux adalah proyek pertama yang menunjukkan bahwa di Linux kita benar-benar boleh melakukan sesuatu sesuai keinginan
    • /opt dan /srv, serta /usr/local/opt tergantung selera, cukup banyak memberikan kelebihan seperti GoboLinux dalam mengelola komponen satu per satu
      Dari sudut pandang distro, semuanya masuk akal dengan caranya sendiri
      Jika mengetik dpkg -S this-file, kita bisa cepat tahu mengapa sebuah file di dalam /usr ada di sana, dan distro berperan memberi gambaran keseluruhan
      Saya penasaran bagian mana yang Anda anggap paling berantakan
  • Menarik bahwa mereka menjaga kompatibilitas dengan warisan Unix secara transparan dengan memetakan jalur tradisional ke jalur padanan GoboLinux
    Tidak ada sihir khusus; /bin adalah tautan ke /System/Index/bin, dan /usr/bin serta /usr/sbin juga demikian, semua direktori “biner” menunjuk ke tempat yang sama
    Karena itu file tetap bekerja saat diakses lewat jalur standar mana pun, sehingga justru bisa lebih kompatibel daripada distro biasa, ketika file sebenarnya ada di /usr/local/bin/foo tetapi skrip merujuk ke /usr/bin/foo lalu rusak

  • Saya bertanya karena kurang tahu: apakah macOS sampai batas tertentu bekerja seperti ini?
    Saya sangat menyukai cara aplikasi selalu tampak seperti satu “file” yang dikelola dengan drag-and-drop
    Saat mencoba memahami sesuatu berada di mana dan dipasang ke mana di Ubuntu, saya merasa seperti orang bodoh

    • Masalah sulitnya mengetahui apa berada di mana dan masuk ke mana di Ubuntu makin parah karena file manager Linux mencoba menyembunyikan bagian filesystem yang bukan folder home atau drive yang terpasang
      Saya mengerti alasannya
      Struktur direktori instalasi Linux rata-rata adalah labirin yang membingungkan bahkan bagi orang teknis, apalagi bagi pengguna umum yang menjadi target distro besar
      Namun pada akhirnya itu menangani gejala, bukan penyebabnya, dan menurut saya lebih banyak distro Linux perlu serius memikirkan modernisasi struktur filesystem seperti Gobo
      Saya juga ada keinginan untuk mencobanya sendiri
      Tujuannya adalah membuat struktur yang cukup masuk akal dan menjelaskan dirinya sendiri, mengarahkan pemula menjauh dari area berbahaya, serta tetap aman meski file manager hampir tidak menyembunyikan apa pun
    • Bundle di macOS dulu adalah ide bagus dan masih bagus, tetapi aplikasi biasanya tetap menyebarkan sesuatu ke lokasi aneh seperti ~/Library
      Kasus seperti launcher Minecraft, ketika semua hal termasuk world dan file simpanan berada di dalam bundle, jadi menarik
    • Pada prinsipnya saya setuju bahwa aplikasi tampak seperti satu “file”, tetapi pada praktiknya banyak aplikasi menaruh berbagai file di ~/Library dan /Library
      Di macOS pun tidak jarang kita harus mengikuti instruksi penghapusan manual beberapa langkah untuk menghapus sebagian aplikasi
      Ini khususnya penting kalau aplikasinya menambahkan item login
      Add/Remove Programs di Windows setidaknya menyediakan titik pusat untuk menjalankan uninstall, dan sebagian besar aplikasi mengikutinya dengan benar
    • Di Fedora, kueri database rpm itu sederhana
      Apakah hal yang sama tidak bisa dilakukan dengan dpkg?
    • Justru hal itu yang sangat saya benci di Mac
  • Saya kurang suka nama direktori pertama diawali dengan huruf kapital
    Saat menelusuri path, rasanya seperti pekerjaan tambahan, dan harus menekan Shift bersama huruf atau angka setiap kali itu cukup merepotkan dalam penggunaan command line sehari-hari

    • Menurut artikel yang ditautkan di atas, pada shell yang dikonfigurasi dengan benar seperti shell bawaan GoboLinux, mengetik /Programs memerlukan jumlah penekanan tombol yang persis sama dengan /usr
      Cukup slash, huruf kecil p, lalu Tab
    • Saat menelusuri di PowerShell atau cmd.exe, kenapa hal itu sama sekali tidak mengganggu? Karena shell membantu
      Ia tidak memaksa pengguna mengorbankan usability demi menghemat tick dan memori berharga milik PDP-11
      Selalu lucu melihat para penggemar “case-sensitive itu terbaik!” melewatkan fakta bahwa itu hanya hasil dari keterbatasan sistem aslinya
      Itu bukan fitur
      Lagi pula bagian ini dibahas secara eksplisit
      Cukup set completion-ignore-case On saja hidup jadi jauh lebih baik
      Karena meskipun tidak memakai GoboLinux, Anda jadi tidak perlu menekan Shift sekali untuk setiap nama file yang diawali huruf kapital
      Atau silakan saja terus hidup seperti tahun 1977
      VT100 Anda, aturan Anda
      Belakangan saya melihat komentar seperti “kenapa untuk navigasi biasa tidak memakai bash apa adanya saja dan malah memasang shell lain”; itu berarti dia bahkan tidak benar-benar memahami shell-nya sendiri
    • Saya suka sebagai konvensi yang membuat kita bisa membedakan sekilas apakah itu direktori atau file biasa
      Lagi pula shell apa pun bisa menyediakan autocomplete yang mengabaikan kapitalisasi, dan Fish melakukannya secara bawaan
    • Huruf kapital tujuannya untuk menghindari bentrok dengan FSH/direktori legacy
    • Kurang suka
      Terasa seperti Windows
  • Proyek ini punya potensi besar untuk mengurangi beban kognitif kita
    Semoga berhasil
    Sunting: ternyata ini proyek berusia 20 tahun

  • Saking masuk akalnya sampai bikin terharu
    Urusan deduplikasi beberapa salinan library, kalau memang benar-benar diperlukan, biar filesystem yang menanganinya
    Pada akhirnya itu duplikasi di tingkat file, jadi harus diselesaikan di tingkat itu

  • Aplikasi closed source yang sangat buruk mengharapkan terlalu banyak dari sistem pengguna
    Klien Steam adalah contohnya: ia menyediakan skrip bash, bukan skrip sh; sangat mengasumsikan tata letak file ala Debian/Ubuntu karena kebutuhan kontainer userspace mount di Linux; dan bahkan menuntut berbagai opsi aneh khusus GNU dari beberapa perintah
    Library 32-bit juga banyak
    Meski begitu, tampaknya ABI masih mereka kendalikan, mungkin dengan memakai direktif .symver dari binutils gas
    Setidaknya kekacauan saat ini sedang dijejalkan Steam ke tenggorokan kita, dan sulit dihindari kecuali distribusinya memang tidak untuk bermain game

    • Kebanyakan orang tidak bermain game, dan di antara pengguna Linux pun banyak yang sepertinya sejak awal tidak akan memakai aplikasi proprietari
      Bahkan di kelompok gamer, cukup banyak yang kemungkinan punya PC khusus gaming terpisah
  • Saya ingin seseorang yang jauh lebih pintar daripada saya menjelaskan kenapa ini lebih baik daripada distribusi seperti snap/Flatpak atau NixOS, atau apakah memang lebih baik
    Dari tampilan luar, tanpa pemahaman mendalam, cara ini terlihat paling sederhana
    Tentu saja ini saya katakan dengan asumsi pengetahuan saya terbatas

    • Kalau yang dimaksud hanya menaruh tiap aplikasi di foldernya sendiri, itu saja tidak cukup untuk isolasi, dan tergantung sejauh apa dipaksakan, bisa menjadi sangat boros
      Ada alasan mengapa Flatpak dan NixOS lebih kompleks
      Misalnya, mereka tidak menyimpan dependensi dengan versi yang persis sama secara berulang di disk
    • snap dan Flatpak lebih berfokus pada distribusi dan “tersandbox”
      Saya memakai tanda kutip karena ada isu keamanan
      NixOS merusak kompatibilitas dengan program yang sudah ada, sedangkan Gobo tidak
      Namun repositori paket NixOS jauh lebih terkelola dibanding Gobo, sementara pihak Gobo tidak lengkap dan tertinggal bertahun-tahun
      Meski begitu, semua yang disebutkan di sini masih tertinggal dari cara Android menyimpan aplikasi
      Di Android, tiap aplikasi bisa didistribusikan sebagai satu file yang mudah disebarkan, tersandbox dengan benar, dan memiliki direktori sendiri
      Hal lain yang terlewat oleh pendekatan-pendekatan lain: tiap aplikasi punya subdirektori di bawah direktori aplikasi untuk menyimpan state-nya sendiri, dan juga dipisahkan per pengguna
  • Para pengembang GoboLinux benar-benar membuat penataan filesystem yang dapat dipahami manusia menjadi “cerdas”
    Menurut saya, konvensi UNIX kuno yang digunakan saat ini cukup membingungkan di era ketika kita tidak lagi memiliki batasan seperti batas nama 8.3, kekurangan ruang penyimpanan, atau masalah file lebih dari 1GB
    Dulu saya menjalankan GoboLinux 012–015 selama beberapa tahun di server yang meng-hosting perangkat lunak version control, dan secara umum sangat bagus
    Kendalanya adalah jika paket yang dibutuhkan tidak ada, kita harus membuat recipe
    Bahasa penulisan recipe GoboLinux sendiri mudah dipahami, tetapi satu paket sering bergantung pada belasan atau puluhan library, jadi saya menghabiskan banyak waktu untuk melacaknya, mencocokkan versi, mencari URL library dan paket, lalu membuat recipe lagi
    Pada akhirnya saya pindah ke Debian, tetapi sampai sekarang saya masih agak tersentak ketika melihat file konfigurasi ada di /etc dan binary masuk ke /usr/bin atau /usr/local/bin
    Saya termasuk yang menganggap systemd merepotkan dan seperti gurita
    Sering kali saya memakai find untuk mencari file .service terkait, tidak bisa percaya bahwa semuanya ada di satu tempat, dan command line-nya juga tidak intuitif
    Sebaliknya, di Gobo kumpulan skrip untuk mengelola service sangat sederhana dan mudah ditangani
    Meski begitu, kemudahan untuk langsung memasang apa yang dibutuhkan dengan apt get atau dpkg -i mengalahkan desain cerdas GoboLinux yang jauh lebih masuk akal
    Sekarang jumlah distribusi Linux yang didukung sudah berkurang dari pilihan yang dulu tak terhitung banyaknya; hampir selalu Debian atau Ubuntu disertakan secara default, jadi kecil kemungkinan tidak bisa memasang paket atau program meskipun di luar repositori
    macOS juga jelas memakai pendekatan yang agak mirip dengan GoboLinux, dan karena itu sebelum versi-versi terbaru yang cukup tidak ramah pengguna, macOS cukup mudah ditangani dari command line
    Misalnya, USB drive ada di /Volumes, dan file konfigurasi program ada di bawah ~/Library

    • Sebagai catatan, jika service sudah dimuat, menjalankan systemctl status foo saja akan memberi tahu secara tepat file apa saja yang terlibat mulai dari baris kedua
      Misalnya, output systemctl status getty@tty1.service menampilkan sesuatu seperti Loaded: loaded (/lib/systemd/system/getty@.service; enabled; preset: enabled), sehingga /lib/systemd/system/getty@.service langsung bisa diketahui