У меня есть полный суб-файловая система внутри пути , /home/user/system
содержащие стандартную структуру Linux с каталогами /bin
, /home
, /root
, /usr
, /var
, /etc
, ...
Эта субфайловая система содержит символические ссылки, относительные или абсолютные. Относительные символические ссылки просто хороши, они остаются внутри подсистемы /home/user/system
. Но абсолютные символические ссылки проблематичны, так как они указывают на цель вне субфайловой системы.
В качестве примера мы предполагаем абсолютную символическую ссылку следующим образом (видно внутри подсистемы файлов):
/usr/file1 -> /usr/lib/file1
В общей файловой системе у нас есть ссылка /home/user/system/usr/file1
, указывающая на файл /usr/lib/file1
вне субфайловой системы, а не на файл /home/user/system/usr/lib/file1
внутри субфайловой системы.
Я хотел бы иметь простой скрипт, предпочтительно единственную командную строку (rsync, chroot, find, ...), которая преобразует каждую абсолютную символическую ссылку в относительную.
В данном примере эта относительная ссылка станет
/usr/file1 -> ../usr/lib/file1