Dukungan asli
Sejak Ubuntu 11.04 dan Debian wheezy (7.0), Debian dan Ubuntu memiliki dukungan multiarch: Anda dapat mencampur paket x86_32 (i386) dan x86_64 (amd64) pada sistem yang sama secara langsung. Ini dikenal sebagai dukungan multiarch. Lihat jawaban warl0ck untuk lebih jelasnya.
Dalam rilis yang lebih lama, Debian dan Ubuntu dikirimkan dengan sejumlah perpustakaan 32-bit di amd64. Instal paket untuk memiliki satu set dasar perpustakaan 32-bit, dan mungkin paket lain yang bergantung pada yang satu ini. Eksekusi 32-bit Anda seharusnya dijalankan jika Anda memiliki semua pustaka yang diperlukan. Untuk pengembangan, instal , dan lagi mungkin paket lain yang bergantung padanya seperti . Anda mungkin menemukan berguna juga, dan di Debian. Lewati opsi untuk gcc untuk mengkompilasi untuk ix86.ia32-libs 
gcc-multilib 
g++-multilibbinutils-multiarch 
ia32-libs-dev-m32
Perhatikan bahwa uname -mmasih akan muncul x64_64jika Anda menjalankan kernel 64-bit, terlepas dari komponen mode pengguna 32-bit apa yang telah Anda instal. Schroot yang dijelaskan di bawah menangani ini.
Schroot
Bagian ini adalah panduan untuk menginstal distribusi mirip-Debian “di dalam” distribusi Linux lainnya. Itu adalah kata dalam hal menginstal Ubuntu 32-bit di dalam 64-bit Ubuntu, tetapi harus diterapkan dengan modifikasi kecil untuk situasi lain, seperti menginstal Debian tidak stabil di dalam stabil Debian atau sebaliknya.
pengantar
Idenya adalah untuk menginstal distribusi alternatif dalam subtree dan lari darinya. Anda dapat menginstal sistem 32-bit pada sistem 64-bit dengan cara itu, atau rilis distribusi Anda yang berbeda, atau lingkungan pengujian dengan paket paket berbeda yang diinstal.
The chrootkomando dan sistem panggilan dimulai proses dengan pemandangan filesystem yang terbatas pada subtree dari pohon direktori. Debian dan Ubuntu mengirimkan schroot , sebuah utilitas yang membungkus fitur ini untuk membuat sub-lingkungan yang lebih bermanfaat.
Instal schrootpaket
( Debian ) dan debootstrappaket
( Debian ). Debootstrap hanya diperlukan untuk instalasi distribusi alternatif dan dapat dihapus sesudahnya.
Siapkan schroot
Contoh ini menjelaskan cara mengatur lingkungan alternatif Ubuntu 10.04LTS (lucid lynx) 32-bit. Pengaturan serupa harus bekerja dengan rilis Debian dan Ubuntu lainnya. Buat file /etc/schroot/chroot.d/lucid32dengan konten berikut:
[lucid32]
description=Ubuntu 10.04LTS 32-bit
directory=/32
type=directory
personality=linux32
users=yourusername
groups=users,admin
Baris directory=/32memberitahu schroot di mana kita akan meletakkan file instalasi 32-bit. Baris username=yourusernamemengatakan pengguna yourusernameakan diizinkan untuk menggunakan schroot. Baris tersebut groups=users,adminmengatakan bahwa pengguna dalam kelompok mana pun akan diizinkan untuk menggunakan schroot; Anda juga bisa menaruh users=…arahan.
Instal distribusi baru
Buat direktori dan mulai mengisinya dengan debootstrap. Debootstrap mengunduh dan menginstal paket inti untuk distribusi dan arsitektur yang ditentukan.
mkdir /32
debootstrap --arch i386 lucid /32 http://archive.ubuntu.com/ubuntu
Anda hampir memiliki sistem kerja; berikut ini adalah peningkatan kecil. Schroot secara otomatis menimpa beberapa file /32/etcketika Anda menjalankannya, khususnya konfigurasi DNS di /etc/resolv.confdan database pengguna di /etc/passwddan file lainnya (ini dapat ditimpa, lihat dokumentasi). Ada beberapa file lagi yang mungkin ingin Anda salin secara manual sekali dan untuk semua:
cp -p /etc/apt/apt.conf /32/etc/apt/ # for proxy settings
cp -p /etc/apt/sources.list /32/etc/apt/ # for universe, security, etc
cp -p /etc/environment /32/etc/ # for proxy and locale settings
cp -p /etc/sudoers /32/etc/ # for custom sudo settings
Tidak akan ada file /etc/mtabatau /etc/fstabchroot. Saya tidak merekomendasikan menggunakan mountperintah secara manual di chroot, lakukan dari luar. Tapi jangan buat yang cukup bagus /etc/mtabuntuk membuat perintah seperti dfbekerja dengan wajar.
ln -s /proc/mounts /32/etc/mtab
Dengan directoryjenis, schroot akan melakukan mengikat tunggangan dari sejumlah direktori, yaitu direktori akan dibagi dengan instalasi orangtua: /proc, /dev, /home, /tmp.
Layanan di chroot
Seperti dijelaskan di sini, schroot tidak cocok untuk menjalankan daemon. Program di schroot akan dibunuh ketika Anda keluar dari schroot. Gunakan schroot "biasa" alih-alih schroot "direktori" jika Anda menginginkannya lebih permanen, dan atur pemasangan ikatan permanen /etc/fstabpada instalasi induk.
Di Debian dan Ubuntu, layanan mulai secara otomatis saat instalasi. Untuk menghindari hal ini (yang dapat mengganggu layanan yang berjalan di luar chroot, khususnya karena port jaringan dibagikan), buat kebijakan tidak menjalankan layanan di chroot. Letakkan skrip berikut sebagai /32/usr/sbin/policy-rc.ddan buat itu executable ( chmod a+rx /32/usr/sbin/policy-rc.d).
#!/bin/sh
## Don't start any service if running in a chroot.
## See /usr/share/doc/sysv-rc/README.policy-rc.d.gz
if [ "$(stat -c %d:%i /)" != "$(stat -c %d:%i /proc/1/root/.)" ]; then
exit 101
fi
Mengisi sistem baru
Sekarang kita bisa mulai menggunakan chroot. Anda ingin menginstal beberapa paket lagi pada saat ini.
schroot -c lucid32
sudo apt-get update
apt-get install lsb-core nano
...
Anda mungkin perlu membuat beberapa lokal, mis
locale-gen en_US en_US.utf8
Jika schroot untuk rilis Ubuntu yang lebih lama seperti 8.04 (hardy), perhatikan bahwa paket standar-ubuntu menarik dalam MTA. Pilih nullmailersebagai ganti default postfix(Anda mungkin ingin chroot mengirim email tetapi Anda jelas tidak ingin menerima).
Melangkah lebih jauh
Untuk informasi lebih lanjut, lihat schrootmanual , FAQ schroot dan
schroot.confmanual . Schroot adalah bagian dari proyek autobuilder (buildd) Debian . Mungkin ada tips berguna tambahan di halaman komunitas Ubuntu tentang debootstrap .
Mesin virtual
Jika Anda membutuhkan isolasi lengkap dari lingkungan alternatif, gunakan mesin virtual seperti KVM ( qemu-kvm
) atau VirtualBox .