Sederhanakan membangun Linux dari sumber menggunakan situs UmVirt LFS Packages

Mungkin banyak pengguna GNU / Linux, mengingat inisiatif pemerintah baru-baru ini untuk menciptakan Internet "berdaulat", bingung dengan tujuan agar tidak terlindungi dari repositori distribusi GNU / Linux populer.

Seseorang yang mengunduh repositori CentOS, Ubuntu, Debian, seseorang membangun distro mereka berdasarkan distribusi yang ada, dan seseorang yang dipersenjatai dengan buku LFS (Linux From Scratch) dan BLFS (Beyond Linux From Scratch) telah mulai mengumpulkan distribusi mereka dari sumber sejak Dia percaya bahwa dalam kondisi serangan hacker internet "berdaulat", wabah virus, kebocoran data pasti akan terjadi, dan biner akan menjadi usang setelah beberapa waktu.

Baru-baru ini, datang untuk mengkompilasi sepenuhnya mesin virtual dari sumber berdasarkan instruksi dalam buku Linux From Scratch Systemd Edition v.8.3. Saya segera membagikan hasilnya dengan Anda.

Proses pembangunan Linux


Proses membangun Linux dari sumber dapat dibagi menjadi tiga tahap:

  1. Berdasarkan sistem operasi yang ada, lingkungan build LFS dibangun.
  2. Lingkungan build membangun gambar dari mesin virtual LFS.
  3. Mesin virtual menginstal paket tambahan dari buku BLFS yang tidak ada di buku LFS.

File Skrip Statis


Saat bekerja dengan lingkungan build, lebih nyaman menggunakan clipboard dan SSH: menyalin perintah dari buku dan menempelkannya ke konsol build environment.

Setelah memulai mesin virtual yang dibuat, masalah serius muncul. Berbeda dengan jendela terminal, kode tidak dapat dimasukkan ke jendela klien mesin virtual. Mengetik perintah keyboard tidak nyaman dan ada risiko kesalahan ketik yang besar. Bahaya kesalahan ketik terletak pada kenyataan bahwa mereka mungkin tidak muncul segera, tetapi setelah beberapa saat dan menyebabkan masalah serius.

Diketahui bahwa perintah dapat dimasukkan tidak hanya dari keyboard tetapi juga dari aliran standar (STDIN). Sumber stream standar dapat menggunakan port serial serta hasil dari program skrip yang disebut output standar (STDOUT).

Banyak orang tahu bahwa perintah wget dapat menampilkan konten file yang diunduh ke standar keluaran (STDOUT):

wget http://example.com -O - 

Jika output dari perintah wget dikirim ke interpreter, kode arbitrer dapat dieksekusi. Kode akan dieksekusi seolah-olah itu diketikkan pada keyboard atau disalin dari clipboard:

 wget http://umvirt.com/linux/helloworld.sh -O - | bash 

Dengan demikian, Anda dapat menempatkan file dengan perintah di beberapa server Web dan mengirimkan kontennya ke penerjemah.

File skrip dinamis


File statis tentu saja merupakan hal yang baik jika Anda tahu persis apa yang harus dilakukan, dan jika paket diinstal, jika dependensi tidak diinstal dengan jelas atau tidak, lalu apa?

Situs dinamis yang didasarkan pada server Web LAMP (Linux-Apache-MySQL-PHP) hadir untuk menyelamatkan. Jika suatu situs dapat secara dinamis menghasilkan halaman (file HTML) dan gambar, itu harus dapat mengatasi file teks biasa.

Dan begitulah yang terjadi. Menulis situs UmVirt Paket LFS yang menghasilkan skrip untuk penerjemah Bash. Basis data situs berisi informasi tentang paket, dependensi, tambalan, tambahan, dan perintah bangun.

Sekarang, untuk menginstal paket mc (komandan tengah malam), Anda dapat menulis perintah:

 wget --no-check-cerificate https://umvirt.com/linux/packages/0.1/mc/install -O - | bash 

Skrip situs itu sendiri akan menerima data dari database dan akan menghasilkan kode untuk memeriksa dependensi dan kode skrip untuk menginstal paket. Penerjemah akan memproses instruksi dari skrip.

Untuk memungkinkan ini, informasi tentang paket yang diinstal dalam database disimpan pada disk mesin virtual.

Basis data paket yang terinstal terletak di direktori / var / cache / ulfs-Packages adalah daftar file kosong dengan nama yang sesuai dengan nama paket.

Jika paket tidak ditemukan dalam database, ketergantungan diinstal secara rekursif.

Fasilitas


Untuk membuat instalasi paket lebih mudah, saya menulis skrip simpanse situs web UmVirt LFS Assistant lain yang menggunakan database UmVirt LFS Packages . Tugas utama UmVirt LFS Assistant adalah mengeksekusi perintah lain.

Menggunakan simpanse, menginstal paket lebih mudah:

 chimp install mc 

Demonstrasi


Untuk berkenalan dengan pekerjaan layanan Paket LFS UmVirt dan Asisten LFS UmVirt, Anda dapat mengunduh gambar dasar Pembaruan UmVirt LFS v.0.1 Awal 1 . Instal Xorg dengan menjalankan satu perintah:

 chimp install X 

Dalam proses script akan diinstal 141 paket dalam mode otomatis. Untuk menghemat waktu kompilasi, Anda dapat mengganti nilai di file / etc / profile dengan variabel MAKEFLAGS dari "-j1" (satu aliran), misalnya, menjadi "-j6" (enam utas).

Desentralisasi dan kustomisasi


Untuk tujuan keamanan, otonomi dan kustomisasi, kode sumber dari Paket LFS UmVirt dan layanan Asisten LFS UmVirt telah diterbitkan dalam domain publik. Siapa pun dapat mengunduhnya, menyebarkannya, dan mengubah layanan dalam infrastrukturnya.

Source: https://habr.com/ru/post/id445178/


All Articles