makeself 的使用
ssk-wh Lv4

在 Linux 中,创建自解压安装脚本是一种常见的方法,可以将多个文件打包成一个可执行文件,以便于分发和安装。这种方法通常使用 shar(Shell Archive)或者 makeself 工具来实现。

以下是使用 makeself 创建自解压安装脚本的步骤。

安装

在大多数 Linux 发行版中,makeself 工具可以通过包管理器安装。以下是一些常见的安装方法:

  • Ubuntu/Debian:

    1
    sudo apt-get install makeself
  • Fedora:

    1
    sudo dnf install makeself
  • Arch Linux:

    1
    sudo pacman -S makeself

准备文件

假设你有一组文件或一个目录需要打包。在这个例子中,我们将使用一个目录 my_app

编写安装脚本

编写一个名为 install.sh 的脚本,定义如何安装和配置你的应用程序。以下是一个简单的例子:

1
2
3
4
5
#!/bin/bash
echo "正在安装 My App..."
# 执行安装步骤,例如复制文件、设置权限等
cp -r * /opt/my_app/
echo "安装完成!"

确保你的安装脚本是可执行的:

1
chmod +x install.sh

使用makeself创建自解压安装包

使用 makeself 工具创建自解压安装包。以下是一个示例命令:

1
makeself my_app my_app_installer.run "My App Installer" ./install.sh
  • my_app 是包含你所有文件的目录。
  • my_app_installer.run 是生成的自解压安装包的名称。
  • "My App Installer" 是安装包的描述。
  • ./install.sh 是安装脚本的路径。

完整示例

假设你有以下目录结构:

1
2
3
4
5
6
my_app/
├── install.sh
├── bin/
│ └── my_app_executable
└── lib/
└── my_app_library.so
  1. 创建 install.sh

    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    echo "正在安装 My App..."
    # 创建目标目录
    mkdir -p /opt/my_app
    # 复制文件
    cp -r * /opt/my_app/
    echo "安装完成!"
  2. 确保 install.sh 是可执行的:

    1
    chmod +x my_app/install.sh
  3. 使用 makeself 创建自解压安装包:

    1
    makeself my_app my_app_installer.run "My App Installer" ./install.sh

运行自解压安装包

用户可以通过执行生成的 .run 文件来安装应用程序:

1
./my_app_installer.run

这会解压文件并运行 install.sh 脚本,完成应用程序的安装。
通过这些步骤,你可以轻松创建一个自解压安装脚本,方便分发和安装你的 Linux 应用程序。

解压为原始文件

通过 makeself 制作的自解压安装包同样支持解压为原始文件,您可以在修改后重新打包为 .run 格式的自解压安装包。

1
./my_app_installer.run --noexec --targegt my_app_dir

查看压缩包内容

压缩后的可执行文件可以通过 –list 参数查看文件内容

1
./my_app_installer.run --list
 Comments
Comment plugin failed to load
Loading comment plugin