fakeroot
Fakeroot programı ya da yeni yardımcı fakeroot-ng (aynı amaç, farklı uygulama tekniği) bir program ve kök olarak çalıştıran bu programa miş akar ve bu sistem, çağrıları chown
başarılı oldu. Sadece program bu çağrıların başarılı olduğuna inanır, hiçbir şey dosya sistemine yansıtılmaz (o zamandan beri fakeroot
ekstra ayrıcalıklara sahip olamaz). Ancak, program bir dosyanın sahipliğini değiştirir ve daha sonra bu dosyanın sahipliğine bağlı olarak bazı işlemler yaparsa, bu programın davranışını değiştirebilir.
Aşağıdakilerin meydana geldiği bir fakeroot ortamı çalıştırarak fakeroot'tan faydalı işler elde etmenin tipik bir yolu:
- Bazı dosyalar oluşturun, onları hareket ettirin, sahipliklerini ve modlarını değiştirin vb.
- Bu dosyaların bir arşivini oluşturun.
Misal:
fakeroot sh -c '
chown root:root usr/bin/foo
tar cf foo.tar usr
'
Tek bir çağrı kullanmanız gerekir fakeroot
, çünkü çağrılar arasında bellek yoktur.
Linux ad alanları
Tam olarak söylemek gerekirse, Linux çekirdeğiniz .83.8 ise, ad alanlarının taklit kök ortamı yaratmanın başka bir yolu olduğunu söyleyeceğim . Kullanıcı desteği henüz tam olarak orada değil, bu yüzden daha fazla ayrıntıya girmeyeceğim.
Arşivi bağlayın
Sorununuzu çözmenin farklı bir yolu, arşivi bir dizin olarak monte etmektir. Sıkıştırılmış katran da dahil olmak üzere, libarchive aracılığıyla çeşitli arşiv formatlarını değiştirebilen archivemount'u kullanabilirsiniz .
mkdir mnt
archivemount foo.tar.xz mnt
chown root:root mnt/usr/bin/foo
fusermount -u mnt
tar --owner=root --group=root cfpJ files.tar.xz files/
bana hata verirtar: You must specify one of the
-Acdtrux 'veya--test-label' options Try
tar --help' veyatar --usage' for more information.