Bedrock Linux: Lego Kit untuk Membangun Distro Linux yang Sempurna





Sejak kemunculan Linux, banyak distro bermunculan cukup cepat: Slack, RedHat, Debian, SUSE, dll. Kemudian timbul masalah dalam memilih distribusi, karena masing-masing memiliki karakteristik dan kelebihan yang membuatnya istimewa. RedHat dan Debian adalah distribusi yang paling stabil dan konservatif, Ubuntu berfokus pada kegunaan dan memiliki antarmuka pengguna yang hebat, Gentoo bebas dari pilihan dan fleksibilitas.



Setiap pengguna Linux pernah mengalami saat-saat ketika mereka kekurangan beberapa fitur yang diterapkan di distribusi lain. Banyak orang pada satu waktu tidak suka Debian beralih ke systemd dan mereka membuat distribusi baru berdasarkan itu - Devuan. Beberapa telah beralih ke Gentoo, di mana pengguna dapat membuat lingkungan dengan dua sistem init: openrc dan systemd.



Distribusi yang berbeda menangani masalah ini secara berbeda. Menginstal paket yang tidak ada dalam repositori biasa diselesaikan menggunakan kontainer buruh pelabuhan, atau menggunakan sistem paket mandiri snap dan flatpak. Anda bahkan dapat menginstal paket RPM pada sistem dengan pengelola paket DEB. Gentoo memiliki dukungan untuk paket RPM dan DEB. Semua ini berfungsi, tetapi tidak diskalakan dengan baik dan sangat tidak stabil.



Pencipta Bedrock Linux melangkah lebih jauh dan menciptakan meta-distribusi yang lengkap. Dimungkinkan untuk menggunakan tidak hanya paket, tetapi juga komponen dari berbagai distribusi Linux, seperti Lego bricks. Dalam satu lingkungan, Anda dapat membuat sistem dari beberapa OS Linux, misalnya, menginstal paket Ubuntu tambahan di atas komponen dasar Debian dan Arch. Skrip penginstalan tersedia untuk platform berikut.



  • aarch64;
  • armv7hl;
  • armv7l;
  • mips64el;
  • mips64;
  • mips;
  • mipsel;
  • ppc64;
  • ppc64le;
  • ppc;
  • s390;
  • x86_64;
  • x86;


Omong-omong, mengapa skrip instalasi, dan bukan disk instalasi lengkap, atau gambar? Alasannya adalah Bedrock Linux tidak memiliki distribusi kanoniknya sendiri, melainkan ada satu set resep untuk merakit sistem operasi dari satu set bahan. Dalam hal ini, Bedrock Linux mirip dengan meta-distribusi Gentoo lainnya, tetapi dalam upaya untuk merangkul luasnya, ia telah mendorong hingga batas kewarasan, dan mungkin melewatinya.



Memasang Bedrock dan perintah dasar



Menggunakan distribusi Linux tradisional yang sudah terinstal dengan skrip instalasi, Bedrock mengubahnya menjadi sistem hybrid. Misalnya, Anda sudah menginstal Debian, menggunakan skrip instalasi, Anda mendapatkan lingkungan yang ditempatkan bersama dengan Ubuntu. Pertama, Anda perlu menjalankan sebagai root.



sh ./bedrock-linux-<release>-<arch>.sh --hijack
      
      





Skrip akan memberi peringatan bahwa ini bukan latihan.



* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                                                               *
* Continuing will:                                              *
* - Move the existing install to a temporary location           *
* - Install Bedrock Linux on the root of the filesystem         *
* - Add the previous install as a new Bedrock Linux stratum     *
*                                                               *
* YOU ARE ABOUT TO REPLACE YOUR EXISTING LINUX INSTALL WITH A   *
* BEDROCK LINUX INSTALL! THIS IS NOT INTENDED TO BE REVERSIBLE! *
*                                                               *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Please type "Not reversible!" without quotes at the prompt to continue:
> Not reversible!
__          __             __
\ \_________\ \____________\ \___
 \  _ \  _\ _  \  _\ __ \ __\   /
  \___/\__/\__/ \_\ \___/\__/\_\_\
          Bedrock Linux 0.7.19 Poki
      
      





Saatnya membiasakan diri dengan tabel kompatibilitas distribusi Linux. Distribusi populer utama memiliki tingkat dukungan yang baik, selain dari kemungkinan OpenSUSE. Pembongkaran dan penginstalan tanpa pengawasan tidak didukung untuk Linux Mint. Juga, jangan lupa tentang tabel kompatibilitas antar komponen . Binari, misalnya, mentransfer dengan baik dari satu distribusi ke distribusi lainnya, tetapi font tidak.



Jika semua pemeriksaan berhasil, skrip membuat perubahan yang diperlukan pada OS, setelah itu Anda perlu menghidupkan ulang komputer agar perubahan diterapkan. Mulai saat ini, pengguna berada di lingkungan Linux Bedrock. Sekarang Anda dapat menginstal OS tambahan di wadah yang disebut stratum - sesuatu seperti lingkungan chroot, di mana lubang khusus dibuat untuk berkomunikasi dengan stratas lain.

Namun, sebelum Anda mulai, disarankan untuk membiasakan diri dengan instruksi manual dengan menelepon dasar-dasar tutorial brl. Perintah Bedrock paling sederhana, tujuan masing-masing sudah jelas.



# brl update
# brl version
# brl ctatus
      
      





Lihat daftar distribusi yang tersedia dan instal.



# brl fetch --list
# brl fetch alpine
# brl fetch void
      
      







Bagaimana distribusi batuan dasar berinteraksi?



Dalam situasi tertentu, Anda dapat menjalankan perintah dari berbagai tingkatan seolah-olah mereka adalah bagian dari OS Linux yang sama. Misalnya, perintah dari void dan alpine dapat digunakan di pipeline yang sama. Perintah pertama menyetel paket jq ke alpine, yang kedua - jo void. Pipeline membaca dari yang kedua dan mentransfer ke yang pertama, semuanya terjadi secara transparan bagi pengguna.



$ sudo apk add jq
$ sudo xbps-install -y jo
$ jo "distro=bedrock" | jq ".distro"
      
      





OS Linux Debian asli, yang dipengaruhi oleh --hijack, sekarang juga hanya lapisan. Keberadaannya bisa ditebak dengan menjalankan beberapa perintah berikut.



$ brl which ls	
debian
$ brl which /
debian
      
      





Lebih khusus lagi, output dari perintah ini akan cocok dengan konten file / etc / os-release seperti yang terlihat dari proses shell saat ini. Ini logis, karena setiap lapisan hanya melihat file lokalnya sendiri, jika tidak, Debian dan Ubuntu yang diinstal paralel akan tersandung konten dari file /etc/apt/sources.list.



Namun, jika semua file adalah lokal, distribusi yang berbeda tidak akan dapat berkomunikasi satu sama lain. Agar ini mungkin, file global diperlukan. File seperti itu memang ada.



$ brl which /bedrock/etc/bedrock.conf	
global
$ brl which /run	
global
$ brl which /tmp
global

      
      





Untuk kasus-kasus ketika proses dari satu distribusi perlu mencapai file lokal lain, lintas jalur diimplementasikan. Misalnya, untuk membaca file os-release dari satu strata ke strata lainnya, Anda perlu mengakses sumber daya sistem file menggunakan jalur / bedrock / strata /. Batuan strata itu sendiri hanya berfungsi untuk membaca dan menulis file secara silang. Secara internal, crossfs adalah sistem file FUSE di mana file yang diminta ditimpa dengan cepat untuk memastikan kompatibilitas antara strata yang berbeda.



$ brl which /bedrock/strata/bedrock/etc/os-release 
bedrock
$ cat /bedrock/strata/bedrock/etc/os-release
NAME="Bedrock Linux"
ID=bedrock
ID_LIKE=bedrocklinux
VERSION="0.7.19 (Poki)"
VERSION_ID="0.7.19"
PRETTY_NAME="Bedrock Linux 0.7.19 Poki"
HOME_URL="https://bedrocklinux.org"
$ brl which /bedrock/strata/my-alpine/etc/os-release 
my-alpine
      
      





Jika Anda perlu menjalankan perintah internal dari strata tertentu, Anda harus menggunakan awalan yang sesuai.



$ strat void sh -c 'apk --help'
      
      





Pembaruan batuan dasar



Bedrock sederhana dan mudah diupdate Seperti semua distribusi Linux, jalankan saja brl update sebagai root. Perintah ini hanya akan memperbarui lapisan Batuan Dasar, lapisan lainnya diperbarui dengan alat standar mereka sendiri: misalnya, pembaruan yum, atau pembaruan dnf untuk Redhat dan CentOS.



Menghapus strata



Tidak terlalu rumit - pertama distribusinya dimatikan, kemudian hapus instalannya.



$ sudo brl disable alpine
$ sudo brl remove alpine
$ sudo remove -d void
      
      





Perintah terakhir menggabungkan operasi nonaktifkan dan hapus.



Untuk apa Bedrock Linux sebenarnya?



Pada titik ini, banyak pembaca kemungkinan besar mengajukan pertanyaan: mengapa Anda perlu membiakkan landak dengan ular dan membuat OS hybrid, karena workstation Linux itu sendiri tidak selalu cukup stabil, terutama dengan driver kartu grafis tertutup, atau dalam Sesi wayland . Mari mencoba membuat daftar beberapa skenario untuk menggunakan Bedrock Linux dalam praktiknya.



  • Anda lebih suka distribusi Linux yang stabil seperti RedHat dan Debian, tetapi Anda juga memerlukan dukungan untuk perangkat keras baru: CPU, atau printer yang baru dibeli. Untuk mendapatkan dukungan ini, Anda perlu menginstal paket kernel dan cups yang lebih baru, hplips. Tugas ini dapat diselesaikan sekali, tetapi sistem yang stabil dengan paket yang tidak stabil tidak lagi sama
  • , . , systemd openrc, runit, Ubuntu.
  • , Linux, . sh bash Debian, /bin/sh /bin/bash. Bedrock Linux stratum Debian Linux.
  • Linux OS. .





All Articles