PRoot: Menjalankan Debian di Distro Linux Lain / Termux

Pada artikel sebelumnya, sudah dipaparkan secara singkat mengenai bagaimana Menjalankan Distro Linux Lain Menggunakan PRoot.
Kali ini saya akan memberikan contoh implementasinya. Here we go!

Slitaz PRoot

Pada kasus ini, saya mengunakan distro SliTaz sebagai host, dan ingin menjalankan Debian Stable. Nantinya saya dapat menggunakan aplikasi yang ada di Debian tanpa pengurangan performa yang berarti karena saya akan menggunakan arsitektur yang sama antara host dan guest (tanpa emulasi).
Jangan kuatir, artikel ini bisa diikuti untuk host apapun yang kamu gunakan saat ini.

Syarat

debootstrap dan proot sudah terinstall di host OS.

Langkah 1

Hal yang pertama dilakukan adalah mengunduh rootfs Debian dengan debootstrap:

  1. # debootstrap --arch=i386 stable ~/rootfs-debian http://kartolo.sby.datautama.net.id/debian/ 

* Sesuaikan perintah diatas misal jika kamu ingin mengunduh arch selain i386, seperti amd64 atau arm64
* Untuk "stable" bisa diganti dengan "sid", "jessie", dll sesuai yang tersedia di directory mirror
* Bisa menggunakan alamat mirror lain selain "kartolo", lihat daftar alamat mirror Debian di https://www.debian.org/mirror/list

Setelah selesai, sebuah rootfs Debian Stable akan ada di ~/rootfs-debian atau /home/user-kamu/rootfs-debian

Langkah 2

Langkah kedua, ubah owner dan group ~/rootfs-debian ke non-root, mengingat tadi debootstrap dijalankan dengan root sehingga rootfs Debian akan menjadi milik root. Sedangkan proot nantinya dijalankan tanpa root! (Baca pelan-pelan ya agar tidak bingung):

  1. # chown -R user-kamu:group-kamu ~/rootfs-debian 

* Langkah ini tidak perlu dilakukan jika kamu melakukan debootsrap di Termux (host yang kamu gunakan adalah Termux)

Langkah 3

Langkah terakhir jalankan proot:

  1. proot -r ~/rootfs-debian -0 -w /root -b /dev -b /proc -b /sys /usr/bin/env bash --login 

-r dimana letak rootfs / guest
-0 menggunakan fake root
-w working dir untuk perintah yang akan dijalankan di guest
"/usr/bin/env bash --login" menjalankan bash milik guest, bisa diganti dengan path program lain tentunya

Perintah proot diatas hanya menggunakan opsi minimal, asal jalan saja. Untuk yang lebih teroptimasi, akan ada di artikel mendatang.
Bagi yang menggunakan Termux, sebelum menjalankan proot harus unset variable LD_PRELOAD karena konflik dengan proot:

  1. unset LD_PRELOAD 

Perintah-perintah diatas bisa juga ditaruh dalam sebuah skrip bash untuk memudahkan. Misal "start-debian.sh"

Bersambung...

#Linux