Ubuntu 制作run安装包 依赖mono开发的软件 半自动安装包
Ubuntu 18.04 制作run安装包
演示的目录名和文件名约定如下:
安装后的目录名是vinstallfoldernamev,以下出现的“vinstallfoldernamev”字符按照实际目录名替换。
假设主程序名是vappv.exe,以下出现的“vappv”字符按实际名称替换。
其他目录或文件名同理“vxxx xv”类似双v包含的字符都可按实际需要对应替换。
开始制作半自动安装包:
1.新建vsetupv目录,在vsetupv目录下新建vmyappv目录;
2.将已经编译好的程序及子目录、子文件,拷贝到vsetupv目录下的vmyappv目录里;
3.新建脚本文件install.sh,文件内容如下
#!/bin/bash
lines=13
destDir=/opt/vinstallfoldernamev
tail -n +$lines "$0" > /tmp/vappv_tmp.tar.gz
tar -xvzf /tmp/vappv_tmp.tar.gz -C /tmp
if [ ! -d "$destDir" ]; then
mkdir -p -m 777 "$destDir"
fi
cp -rf /tmp/vmyappv/* "$destDir"
chmod 777 "$destDir"/* -R
cp -rf "$destDir"/vappv.desktop /usr/share/applications
exit 0
注意每行结尾必须是“LF”换行符,最后exit 0后要换行。
4.将install.sh保存或拷贝到vsetupv目录下;
5.新建脚本文件vappv.sh,内容如下
#!/bin/sh
exec /usr/bin/mono /opt/vinstallfoldernamev/vappv.exe "$@"
6.将vappv.sh保存或拷贝到vsetupv目录下的vmyappv里;
7.新建脚本文件vappv.desktop,内容如下
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=vappv
GenericName=vappv vlong namev
Comment=vcommentv
Exec=/opt/vinstallfoldernamev/vappv.sh %F
Icon=/opt/vinstallfoldernamev/vIcov/vshortcutv.icns
Path=/opt/vinstallfoldernamev
Type=Application
Categories=Development
Terminal=false
8.将vappv.desktop保存或拷贝到vsetupv目录下的vmyappv里;
9.在当前目录打开终端,执行命令:
tar -zcvf vappv.tar.gz vmyappv/
10.执行命令:
cat install.sh vappv.tar.gz > vsetup_1.0v.run
11.run安装包制作完成。
12.新建脚本文件vmonov.sh,内容如下:
#!/bin/sh
echo "Ubuntu 18.04 (i386, amd64, armhf, arm64, ppc64el)"
sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt install mono-complete
echo "finished"
13.将vmonov.sh保存或拷贝到vsetupv目录下。
测试安装
1.在vsetup_1.0v.run安装包所在目录,打开终端,执行命令:
sudo sh ./vsetup_1.0v.run
2.安装完成后,在系统导航栏的应用程序里将出现vappv启动图标。
3.如果没有装过程序运行依赖的mono组件,在vmonov.sh所在目录打开终端,执行命令:
sudo sh ./vmonov.sh
4.等待安装完成后,即可运行vappv应用程序。
如果有应用程序权限问题,执行命令;
sudo chmod 777 /opt/vinstallfoldernamev/* -R
全自动安装包正在探索中。。。