Linux 中升级后(拷贝读写)软链接失效

Linux 中升级后(拷贝读写)软链接失效

1. 背景

做项目时,将一个时区文件夹放在升级包中,每次升级都会重新刷写该文件夹。该文件夹中的时区文件有些是使用基于相对路径的软链接文件,但会出现一种现象:有些机器在升级后,软链接都失效了。也就是本该是这样的:

在这里插入图片描述

但是有些机器就变成这样:
在这里插入图片描述

升级后,这些原本是软链接的文件都不在是软链接文件了。且文件里面的内容变成了,它们链接的文件的相对路径。如下图:
在这里插入图片描述

2. 为什么软链接失效了,文件内容改变了

原因是软链接文件中存储的是目标文件的路径,而不是目标文件的内容。当你访问软链接时,操作系统会根据路径重定向到目标文件或目录。

所以这也就是为什么上面那些失效的软链接文件的文件内容变成了:link xxx(目标文件的相对路径)。

3. 为什么软链接会失效呢?

基于上述情况,目前猜测的有一个可能:
在升级过程中,文件夹的结构可能被重新组织或移动。软链接又是基于相对路径创建的,这种变化会导致软链接失效。

4. 如何解决?

目前我的想法是把软链接文件的内容直接替换成目标文件的内容,也就是将软链接文件转成普通文件,这样可能会更安全些、可靠一些。

如果有知道具体原因或更好的解决方法的大佬,可以一起讨论一下!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值