Apakah menjalankan ldconfig di dalam fakeroot dimungkinkan?

0

Saya mencoba menjalankan debian wheezy di chroot (mendapat file debian dari https://github.com/tianon/docker-brew-debian/blob/02108ee636f54b504e2aec4ee7bb59a2de8a5b99/wheezy/rootfs.tar.xz )

Itulah cara saya menggunakannya:

user$>fakechroot fakeroot-ng chroot /home/user/wheezy

Saat menginstal paket dengan apt-get, ldconfig dieksekusi, tetapi gagal dengan kesalahan:

ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
  • selinux pada os host tidak diinstal
  • / izin home / user / wheezy / sbin / ldconfig adalah -rwxr-xr-x

Apakah mungkin untuk menemukan solusi untuk itu tanpa berjalan di bawah root?

Saya bertanya-tanya apakah, secara umum, adalah mungkin untuk membuat hal-hal bekerja di lingkungan seperti itu, misalnya menginstal paket, menjalankan server (port di atas 1024, tentu saja), skrip dll?

alexdup
sumber

Jawaban:

0

/ home / user / wheezy / etc mungkin tidak dapat ditulis untuk Anda.

Sebagai catatan tambahan, Anda mungkin ingin melihat paket Schroot jika Anda benar-benar ingin menjalankan layanan dari dalam chroot.

marcolz
sumber
echo hello > /etc/ld.so.cache~bekerja. Apakah mungkin /etc/ld.so.cache ~ tidak dapat ditulisi untuk ldconfig?
alexdup
ldconfig disebut sebagai root. Sudahkah pengguna rootdipetakan berdasarkan hak sistem dasar untuk menulis ke file? Atau cukup: di dalam chroot: dapat rootmenyentuh file?
marcolz
untuk marcolz: root (user yang sama seperti menjalankan ldconfig) successfullly berjalan sentuhan pada file /etc/ld.so.cache~: root@debian:/# touch /etc/ld.so.cache~ root@debian:/# ldconfig ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied. Apakah mungkin ldconfig secara eksplisit memeriksa pengguna yang menjalankannya ?:root@debian:/# who am i user pts/0 2015-07-21 07:21 (10.144.31.34)
alexdup
Saya bertanya-tanya bagaimana fakechroot dapat berfungsi dengan baik di tempat pertama karena menggunakan LD_PRELOAD, yang tidak akan berfungsi untuk binari yang terhubung secara statis seperti ldconfig ... Anda mungkin ingin bertanya kepada pengembang. Singkatnya ini berarti bahwa karena panggilan open () ldconfig tidak dicegat, sebenarnya ia mencoba menulis ke direktori / etc / system sistem host, alih-alih dari / etc di dalam chroot.
marcolz