Shell下制作自解压安装包,实现脚本的简单加密 | 张戈博客

  • 时间:
  • 浏览:12
  • 来源:我爱搬资源网 - 专注共享唐朝博客活动

申明:以下内容大主次搜集于网络,由此人 整理成更容易理解的简明教程!

一、原理阐述

在linux下还上能用2个最基本的命令制作本来自解压的进程。其原理是:利用cat 命令还上能将本来文件连起来(用>>追加不能达到同样效果),前本来文件是shell脚本,负责执行解压和安装;后本来文件是本来压缩包。

把这本来文件通过cat连接成本来新的可执行文件,前面是解压进程,里边是压缩包,当你执行你什儿 自解压文件时,会先执行前面的shell脚本,利用tail -n 取得里边的压缩包内容并往下执行解压和调用动作。本来就具有自动解压和安装的功能了。这里比较重要的命令是tail -n将后2个行(也本来压缩文件的内容)进行解压。

如此 一来,也实现了内容的简单加密,使用cat合并本来文件本来 ,你再用cat去获取得到的内容会发现就有乱码,否则否则shell脚本行数和解压路径别问我,一时半会也没能找到源代码(当然,应该还上能通过history来查看。)

二、进程执行逻辑

  • 执行进程中的shell脚本代码
  • 把进程里边的主次进行解压
  • 执行源码安装和部署脚本
  • 退出进程

三、应用举例

否则当前目录下有本来压缩文件httpd.tar.gz,压缩包内有本来httpd文件夹,文件夹内有httpd的安装脚本install.sh和你什儿 相关文件,现在上能将你什儿 压缩文件制作成自解压并自动执行install.sh的可执行文件。现在始于介绍:

1.编写自解压引导脚本setup.sh

#vim setup.sh

#!/bin/bash   
line=`wc -l $0|awk '{print $1}'`   
line=`expr $line - 10`    
tail -n $line $0 |tar zx -C /usr/local/src   
cd /usr/local/src/httpd   
./install.sh   
ret=$?   
#以下注释行(含此行)由代码中$line-10的10(否则叫n)来决定,应该补齐代码总行数为n+1行,这里即为11行   
#   
#   
exit $ret

你什儿 本来负责解压和调用安装脚本(install.sh)的引导脚本(或称“头文件”)

2.制作安装tar包

httpd.tar.gz是本来apache源码包的本来tar.gz包,里边可能DIY加入了install.sh脚本,也本来中有 了手动安装apache所用的如./configure –with prefix=/usr/local/apache2,make,make install类式的安装命令。

反正本来在apache原始安装包解压后加入了install.sh脚本,否则使用命令

tar cvzf httpd.tar.gz httpd/

重新打包为httpd.tar.gz

Ps:也本来说,若要手动安装,这解压你什儿 包,否则执行./install.sh即可安装apache了。

3.制作最后的自解压安装进程

cat setup.sh httpd.tar.gz >install_httpd   
chmod +x install_httpd

自解压安装进程的使用法律法律法律依据非常简单:

执行 ./install_httpd即可自动安装apache

注意:上能以root用户执行。

写在最后:你什儿 教程百度能搜到本来,否则本来 的内容可能是新手去看的话,可能特别难理解,一旦理解了就会嘴笨 很容易,我重新整理了下,改成了更容易理解的应用举例即相关说明,希望和我当初一样的刚学linux的新人能快速研究会你什儿 法律法律法律依据。