1.免安装打包方式
将可执行文件的关联动态库拷贝到特定文件夹下(例如3DCamera)即可;
具体方式,ldd 可执行文件;查看所关联的库;
也可以使用脚本:创建一个copy.sh文件,输入以下内容:
dep=$( ldd $1 | awk '{if (match($3,"so")){print $3}}' )
cp -L -n $dep $2
执行:copy.sh 可执行文件 目标文件夹(3DCamera)
将可执行文件和库文件放在一个目录下,创建与可执行文件同名的脚本文件;(例如:3DCamera.sh,脚本名称和可执行文件的名称必须相同)
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname $*
运行脚本 ./3DCamera.sh
2.Linux下制作run安装包
该run安装包,分别由一个sh脚本和一个压缩包组成。该压缩包可以由步骤一获得。
test.sh脚本:
#!/bin/bash
lines=8 #这个值是指这个脚本的行数加 1,这个脚本共有 7 行
tail -n +$lines $0 >/home/user/test.tar.gz # $0 表示脚本本身,这个命令用来把从 $lines 开始的内容写入一个 /home/user/目录的 test.tar.gz 文件里。 /home/user/test.tar.gz 这个文件就是步骤一得到的压缩文件,可以自行替换名称后缀和路径
tar zxvf /home/user/test.tar.gz #解压该文件
cp test /usr/bin #将文件复制到 /usr/bin下
rm test -f #删除test文件夹
exit 0
连接脚本和压缩包
cat test.sh test.tar.gz > test.run
参考:https://www.cnblogs.com/shuiche/p/9323757.html
本文介绍了如何在Linux环境下实现免安装程序的方法,包括将可执行文件及其依赖库打包到同一目录,以及创建运行脚本来指定库路径。此外,还详细讲解了如何制作run安装包,通过shell脚本将压缩包解压并复制到指定位置,最后生成可执行的run文件。
2220

被折叠的 条评论
为什么被折叠?



