相关疑难解决方法(0)

使用简单的 Linux 命令将绝对符号链接转换为相对符号链接

我在/home/user/system包含标准 Linux 结构的路径中有一个完整的子文件系统,其中包含目录/bin, /home, /root, /usr, /var, /etc,...

这个子文件系统包含符号链接,无论是相对的还是绝对的。相对符号链接很好,它们保留在/home/user/system. 但是绝对符号链接是有问题的,因为它们指向子文件系统之外的目标。

作为一个例子,我们假设一个绝对符号链接如下(在子文件系统中看到):

/usr/file1 -> /usr/lib/file1
Run Code Online (Sandbox Code Playgroud)

在整个文件系统中,我们现在有一个链接/home/user/system/usr/file1指向/usr/lib/file1子文件系统外部的文件,而不是子文件系统/home/user/system/usr/lib/file1 内部的文件。

我想要一个简单的脚本,最好是一个将每个绝对符号链接转换为相对符号链接的单个命令行(rsync、chroot、find 等)。

在给定的示例中,该相对链接将变为

/usr/file1 -> ../usr/lib/file1
Run Code Online (Sandbox Code Playgroud)

filesystems symlink

37
推荐指数
2
解决办法
2万
查看次数

标签 统计

filesystems ×1

symlink ×1