GNU/Linux >> Belajar Linux >  >> Ubuntu

Siapkan lingkungan chroot di Ubuntu dengan debootstrap

Croot

Croot menyediakan cara untuk mengatur lingkungan yang terisolasi di dalam OS, di mana aplikasi tertentu dapat berjalan tanpa berinteraksi dengan sistem lainnya. Ini juga disebut jail dan sering digunakan untuk membuat lingkungan pengujian untuk aplikasi yang mungkin tidak langsung diinstal pada sistem karena berbagai masalah seperti stabilitas atau keamanan.

Menjalankan aplikasi 32 bit di lingkungan chroot 64 bit ubuntu

Karena chroot mengisolasi aplikasi ke dalam lingkungan yang terpisah, chroot juga digunakan untuk menjalankan aplikasi 32 bit di dalam lingkungan OS 64bit. Saat ini sebagian besar OS dan aplikasi 64bit di desktop dan server.

Namun ada skenario di mana aplikasi tidak dapat dimigrasikan ke 64 bit, karena berbagai batasan. Ini terjadi di organisasi di mana aplikasi warisan besar telah berjalan lama. Agar aplikasi tersebut tetap berjalan, Anda perlu menginstal OS 32bit atau membuat lingkungan 32bit di dalam instalasi OS 64bit.

Lingkungan chroot

Lingkungan chroot adalah cara untuk membuat apa yang disebut "jail" terpisah di sistem Anda, menjalankan sistem operasi yang berbeda dari host. Dengan kata lain, ini adalah sistem operasi yang berjalan di dalam sistem operasi lain. Secara teknis, pengguna mengubah sementara direktori root (biasanya /) ke direktori root lain (dalam contoh kita, /srv/chroot).

Di semua sistem operasi berbasis Unix, direktori root adalah bagian atas pohon sistem file, dan aplikasi tidak dapat mengakses file atau direktori apa pun yang lebih tinggi, oleh karena itu, memiliki root baru, berbeda, dan mengubahnya, aplikasi berjalan di sana, diisolasi dari sistem host lainnya.

Pendekatan ini memiliki banyak keuntungan:

-  Test applications without the risk of compromising the entire host system.
-  From the security point of view, whatever happens in the chroot environment won't affect the host system (not even under root user)
-  A different operating system running in the same hardware

Dalam hal ini, kami akan memanfaatkan fitur ini untuk menjalankan aplikasi 32-bit secara native di host 64 bit.

Paket yang diperlukan untuk menyiapkan lingkungan chroot adalah debootstrap dan schroot , yang tersedia di repositori ubuntu. Perintah schroot digunakan untuk mengatur lingkungan chroot.

Debootstrap memungkinkan Anda menginstal salinan baru dari sistem Debian (atau berbasis debian) apa pun di direktori dengan semua perintah dasar dan binari yang diperlukan untuk menjalankan instance dasar sistem operasi.

Anda dapat melakukan chroot secara langsung sebagai root hanya dengan menjalankan perintah chroot, tetapi pengguna biasa tidak dapat menggunakan perintah ini. schroot mengizinkan akses ke chroot untuk pengguna biasa menggunakan mekanisme yang sama,  tetapi  dengan  izin  memeriksa  dan mengizinkan penyiapan otomatis tambahan untuk lingkungan chroot, seperti memasang sistem file tambahan dan tugas konfigurasi lainnya.

Penyiapan otomatis ini dilakukan melalui tindakan skrip penyiapan yang dapat disesuaikan dan diperluas untuk melakukan tindakan apa pun yang diperlukan, dijelaskan di bawah.

Ini adalah langkah-langkah untuk mengimplementasikan fungsi ini di Ubuntu 12.04:

1. Instal paket:

Langkah pertama adalah menginstal paket dengan apt-get:

$ sudo apt-get install debootstrap
$ sudo apt-get install schroot

2. Buat konfigurasi schroot:

Kita harus mengkonfigurasi schroot agar sesuai dengan kebutuhan kita di file konfigurasi.

Pilih nama pendek untuk chroot, kami menggunakan precision_i386 :

$ sudo gedit /etc/schroot/chroot.d/precise_i386.conf

Kemudian lanjutkan dengan konfigurasi, seperti pada contoh ini:

[precise_i386]
description=Ubuntu 12.04 Precise for i386
location=/srv/chroot/precise_i386
personality=linux32
root-users=bob
type=directory
users=alice,bob,charlie

Ubah nilai parameter konfigurasi pada contoh di atas agar sesuai dengan sistem Anda:

location - This should be a directory that is outside of the /home tree. 
The latest schroot documentation recommends /srv/chroot.

personality - Enable this line if the host system is 64-bit running on an amd64/x64 computer 
and the chroot is 32-bit for i386. Otherwise, leave it disabled, by adding "#" as first character.

root-users - These are users on the host system that can invoke the schroot program and 
get direct access to the chroot system as the root user.

users - These are users on the host system that can invoke the schroot program and 
get access to the chroot system. Your username on the host system should be here.

3. Instal ubuntu 32bit dengan debootstrap

Debootstrap mengunduh dan memasang sistem operasi minimal di dalam lingkungan chroot .

Anda dapat menginstal distro berbasis debian apa pun sesuai keinginan Anda, selama Anda memiliki repositori yang tersedia. Saya suka utilitas ini, ini menghemat banyak waktu dan pekerjaan Anda.

Dalam contoh kami, kami menempatkan lingkungan chroot di bawah direktori /srv/chroot/precise_i386 dan ini adalah direktori root dari lingkungan chroot.

$ sudo mkdir -p /srv/chroot/precise_i386
$ sudo debootstrap --variant=buildd --arch=i386 precise /srv/chroot/precise_i386 http://archive.ubuntu.com/ubuntu/

Dibutuhkan beberapa waktu (tergantung pada bandwidth Anda) untuk mengunduh, menginstal, dan mengonfigurasi sistem yang lengkap. Dibutuhkan sekitar 500 juta untuk instalasi minimal.

4. Uji lingkungan chroot

Sekarang, kita harus menginstal Ubuntu 32 bit.

Pertama, buat daftar lingkungan chroot yang tersedia menggunakan perintah schroot.

$ schroot -l
chroot:precise_i386

Anda harus mengharapkan presisi_i386 sebagai hasilnya.

Sekarang mari kita masuk ke dalamnya, cukup ketik sebagai pengguna biasa Anda

$ schroot -c precise_i386 -u root

Sekarang, Anda masuk ke lingkungan chroot sebagai root!

Periksa apakah pesan prompt sedikit berbeda dari biasanya, dan Anda memiliki nilai baru untuk perintah berikut

lsb_release -a
uname -a

5. Konfigurasi tambahan

Sekarang, setelah kita memiliki lingkungan 32 bit yang fungsional, mari selesaikan instalasi persyaratan minimal dan semua pustaka dan aplikasi yang diperlukan.

$ apt-get install ubuntu-minimal

Ini akan mengunduh dan menginstal paket yang diperlukan dari instalasi ubuntu minimal.

Itu saja.

Anda dapat mulai menginstal paket, pustaka, dan dependensi yang dibutuhkan aplikasi Anda, seperti biasa dengan perintah apt-get atau dpkg. Ini akan mengambil versi i386, selama Anda melakukannya dalam lingkungan chroot.

Anda dapat memperbarui dan meningkatkannya, seperti yang Anda lakukan dengan sistem host; edit /etc/apt/sources.list Anda dan ubah sesuai kebutuhan Anda.

Direktori beranda pengguna dalam chroot, dibagikan dengan host.
Ini sangat berguna untuk memiliki akses ke aplikasi, dokumen, dan file yang Anda perlukan.

Untuk menyelesaikan tutorial ini, untuk menjalankan aplikasi grafis dari chroot, Anda harus mengekspor variabel lingkungan DISPLAY.

$ DISPLAY=:0.0 ./yourapp

Silahkan kirimkan pertanyaan atau komentar apapun mengenai artikel ini.

Semoga Anda menyukainya dan merasa terbantu!!


Ubuntu
  1. Pengaturan server awal dengan Ubuntu 14.04

  2. Cara Setup IP Failover dengan KeepAlived di Ubuntu &Debian

  3. Menggunakan Ubuntu Dengan Pengaturan Dua Layar?

  1. Cara Mengkonfigurasi Lingkungan Chroot di Ubuntu 14.04

  2. Siapkan Wadah Linux dengan LXC di Ubuntu 16.04

  3. Siapkan shell yang dipenjara dengan jailkit di ubuntu

  1. Pemantauan Sistem Ubuntu 20.04 dengan widget Conky

  2. Pemantauan Sistem Ubuntu 22.04 dengan widget Conky

  3. Cara Mengatur Server FTP dengan VSFTPD di Ubuntu 20.04