Mam pełną sub-plików wewnątrz ścieżki /home/user/system
zawierającej standardową strukturę Linux z katalogów /bin
, /home
, /root
, /usr
, /var
, /etc
, ...
Ten podsystem plików zawiera dowiązania symboliczne, względne lub bezwzględne. Względne dowiązania symboliczne są w porządku, pozostają w pod-systemie plików /home/user/system
. Ale bezwzględne dowiązania symboliczne są problematyczne, ponieważ wskazują na cel poza podsystemem plików.
Jako przykład przyjmujemy bezwzględne dowiązanie symboliczne w następujący sposób (widoczne w pod-systemie plików):
/usr/file1 -> /usr/lib/file1
W ogólnym systemie plików mamy link, /home/user/system/usr/file1
który teraz wskazuje na plik /usr/lib/file1
poza podsystemem, zamiast na plik /home/user/system/usr/lib/file1
wewnątrz podsystemu.
Chciałbym mieć prosty skrypt, najlepiej pojedynczy wiersz poleceń (rsync, chroot, find, ...), który konwertuje każde absolutne dowiązanie symboliczne na względne.
W podanym przykładzie ten względny link stałby się
/usr/file1 -> ../usr/lib/file1