ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

创建符号链接以供其他Linux实例使用

2019-08-26 06:00:33  阅读:233  来源: 互联网

标签:linux embedded embedded-linux symlink


我正在使用linux开发嵌入式应用程序.我有一个HOST Linux发行版(fedora)和一个TARGET linux发行版(不确定它是什么,但它没关系).

TARGET文件系统是HOST文件系统中的文件夹.例如,TARGET通过HOST文件系统上的/ home / paul / target / rootfs中的nfs引导,其中通常是linux文件结构.

我正在向TARGET添加一个守护程序.我在HOST上交叉编译它并使用make目标(make install)将文件复制到TARGET文件系统并设置守护进程运行.我复制

>守护进程二进制文件
>一些libs&一个启动脚本
>一些符号链接(符号链接),以方便守护进程的自动启动

这些是后者给我带来的问题.为了在启动时自动启动,我需要在/etc/rc.d/rc0.d到rc6.d的TARGET fs中创建符号链接,这指向我的启动脚本/etc/rc.d/init/d / MDNS.

问题是我需要在HOST机器上创建这些符号链接,但是要由TARGET使用.因此,他们无法指向HOST机器所看到的完整路径,他们需要指向TARGET运行时看到的路径.

所以举个例子

我需要在/home/paul/target/rootfs/etc/rc0.d中创建一个符号链接,但符号链接需要调用K16mdns并指向/etc/init.d/mdns而不是/ home / paul / target / rootfs /等/ init.d /的MDNS

如何使用ln命令执行此操作?我需要为ln指定3个东西(除了-s标志): – 链接文件名,链接的目标和创建链接的目录.我在ln手册页中看不到这个组合.

它总是似乎最终破坏HOST上的/etc/rc.d目录或者使用仅与HOST相关的路径在TARGET fs中创建符号链接,这些路径显然会失败(TARGET没有路径/ home / paul / target /rootfs/etc/init.d/mdns).

当我在TARGETs命令行上手动创建符号链接时,一切都很好但很明显这不是一个实用的解决方案.

先感谢您.

解决方法:

在符号链接时应该使用相对路径,例如

cd /home/paul/target/rootfs/etc/init.d
ln -s mndns ../rc0.d/K16mdns

标签:linux,embedded,embedded-linux,symlink
来源: https://codeday.me/bug/20190826/1727036.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有