挂载损坏系统时如何创建指向/usr/lib的相对符号链接以修复lib目录缺失
挂载损坏系统时如何创建指向/usr/lib的相对符号链接以修复lib目录缺失
嘿,太懂你这种搞挂系统后的头疼了——用checkinstall整出问题,就缺个lib目录,还卡在符号链接的路径坑上,之前建的绝对链接在系统正常启动时完全没用,对吧?
别慌,问题出在你用了绝对路径创建符号链接,那路径只在系统挂载到/mnt/root时有效,等系统正常启动后根目录变成/,那链接指向的/mnt/root/usr/lib就不存在了。解决办法很简单:创建相对路径的符号链接,这样不管系统是挂载状态还是正常启动,链接都能正确指向目标。
具体操作步骤:
- 先切换到你挂载的系统根目录:
cd /mnt/root - 然后用相对路径创建符号链接,这里的
./usr/lib是相对于当前根目录的路径,创建后系统正常启动时,根目录下的lib会自动指向同目录的usr/lib:sudo ln -s ./usr/lib lib - 你可以验证一下,在
/mnt/root目录下执行ll lib,应该会显示lib -> usr/lib/(是相对路径,不是带/mnt/root的绝对路径),这就对了。
为啥这方法管用?因为相对符号链接是基于当前目录的位置来解析的,当系统正常启动后,根目录就是/,这个链接会自动解析成/usr/lib,完美适配两种状态。从你给出的目录结构来看,usr目录肯定是存在的(毕竟bin已经指向usr/bin了),所以不用担心目标路径不存在的问题。
备注:内容来源于stack exchange,提问作者Jamie Hutber
相关产品推荐
相关产品推荐

