Saya mencoba membuat gambar Linux dengan paket pilihan.
Apa yang saya coba lakukan adalah membuat paket yang akan saya gunakan pada laptop XO, karena mengkompilasi paket membutuhkan waktu yang sangat lama pada perangkat keras XO yang sebenarnya, jika saya bisa membangun semua paket yang saya butuhkan dan hanya menginstalnya. gambar ke XO, saya bisa menghemat waktu dan ruang.
Ketika saya mencoba untuk menginstal beberapa paket, gagal untuk mengkonfigurasi karena tidak ada direktori proc, sys, dev. Jadi, saya belajar dari tempat lain bahwa saya perlu "me-mount" host proc, ... direktori ke lingkungan chroot saya.
Saya melihat dua sintaks dan tidak yakin yang mana yang akan digunakan.
Di mesin host:
mount --bind /proc <chroot dir>/proc
dan sintaks lain (dalam lingkungan chroot):
mount -t proc none /proc
Mana yang harus saya gunakan, dan apa bedanya?
chroot()
'. Secara khusus, yang ditentukan dapat membaca file di luar bagian mereka dari sistem file jika Anda tidak hati-hati.Jawaban:
Untuk
/proc
dan/sys
, saya kira Anda bisa menggunakan metode mana pun. Keduanya adalah sistem file khusus sehingga dapat dibuat ulang beberapa kali (metode bind mount menggunakan mount yang sama persis dengan sistem host, sedangkan metode lainnya menggunakan mount baru). Saya selalu melihat bind mount yang direkomendasikan dalam panduan, jadi saya akan menggunakannya. Sejauh yang saya tahu, tidak ada perbedaan yang sangat penting.Namun,
/dev
biasanya tmpfs mount yang dikelola oleh udev, jadi itu harus sistem file yang sama seperti pada mesin host. Itu berarti bahwa Anda perlu menggunakan metode bind mount.Jika chroot ini akan ada untuk sementara, Anda dapat memasukkan entri ini
/etc/fstab
pada sistem host untuk menyederhanakan banyak hal.sumber
sys
type
sistem file muncul ( hari ini ) tidak ada lagi?The Arch Linux Wiki menunjukkan perintah berikut:
sumber
--rbind
untuksys
dandev
.The Buku Panduan Gentoo khusus memanggil kedua perintah untuk re-mount / proc dan / dev. Saya sudah menggunakannya beberapa kali.
Saya curiga / sys hanya folder biasa, jadi Anda harus dapat membuat tautan keras.
sumber
Mungkin perlu diperhatikan dalam pertanyaan populer ini, bahwa Arch Linux telah membuat script arch-chroot ; unduh
arch-install-scripts-15-1-any.pkg.tar.xz
Ini yang menangani berbagai masalah terkait baik di Arch-Linux dan Manjaro , di mana saya berhasil menggunakannya juga. Mungkin lebih banyak Arch Turunan seperti Parabola juga kompatibel.
Sementara standar sederhana
chroot
ke instalasi Manjaro sekunder tidak akan memungkinkan Anda untuk menjalankan(Peluru perak setelah sistem crash), mengganti garis dengan
akan memungkinkan Anda untuk memperbaiki instalasi Arch-derivate sekunder Anda via
seperti pesona. Skrip bash
arch-chroot
menangani/dev /sys /proc
dan masih banyak lagi, yang dibiarkan sendiri oleh standarchroot
.lihat juga: Menggunakan arch-chroot
sumber
Ada sistem file pseudo dan lokasi tmpfs lainnya. Ini di debian:
Seharusnya tidak apa-apa untuk memasang
usbfs
,rpc_pipefs
dandevpts
pseudo-filesystems dari dalam chroot. Saya merekomendasikan untuk tidak mengikat/proc
chroot/proc
, karena kernel memiliki konsep namespaces, dan sebenarnya dapat meletakkan hal-hal yang berbeda di proc chroot.Pembaruan: menurut utas milis ini , / sys tidak boleh di-mount, terutama jika proses chroot menggunakan namespace jaringan sendiri.
Merupakan ide yang buruk untuk memasang sistem
/var
atau/run
ke chroot, jika chroot memiliki namespace pid sendiri.sumber
Cara termudah adalah menggunakan for for:
sumber