Ho un completo sub-file system all'interno di un percorso /home/user/systemcontenente la struttura standard di Linux con le directory /bin, /home, /root, /usr, /var, /etc, ...
Questo sottosistema contiene collegamenti simbolici, relativi o assoluti. I relativi link simbolici vanno bene, rimangono all'interno del sottosistema sotto /home/user/system. Ma i symlink assoluti sono problematici, in quanto puntano a un target esterno al sottosistema.
Ad esempio, assumiamo un collegamento simbolico assoluto come segue (visto all'interno del sottosistema):
/usr/file1 -> /usr/lib/file1
Nel filesystem generale abbiamo un collegamento /home/user/system/usr/file1che ora punta a un file /usr/lib/file1esterno al sottosistema, anziché a un file /home/user/system/usr/lib/file1 all'interno del sottosistema.
Vorrei avere un semplice script, preferibilmente una singola riga di comando (rsync, chroot, find, ...) che converte ogni link simbolico assoluto in uno relativo.
Nell'esempio dato, quel collegamento relativo diventerebbe
/usr/file1 -> ../usr/lib/file1