У меня есть полный суб-файловая система внутри пути , /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