• Linux的.run文件简单制作


    run程序安装包实质上是一个安装脚本加要安装的程序,如下图所示:

    |-----------------|
    | |
    | 安装脚本 |
    | |
    |-----------------|
    | |
    | 程序 |
    | |
    |-----------------|
    图: run安装包的结构

    这样整个run安装包结构就一目了然了,实际上因为实际需要结构多少有点变动但这个无关紧要,只需要明白原理就行了。

    制作run安装包以下举个实际的例子:

    为了简单起见,要安装的程序就是helloworld程序,安装它的过程就是把它拷贝到/bin目录下。

    $ ls
    install.sh helloworld
    $ cat install.sh
    #!/bin/bash
    cp helloworld /bin
    $

    现在有一个安装脚本了,名为install.sh,有一个要安装的程序helloworld.因为要安装的程序一般都是用.tar.bz2来做的。我们这儿也做一下:

    $ tar jcvf helloworld.tar.bz2 helloworld



    现在修改一个安装脚本install.sh

    改为:

    #!/bin/bash
    lines=7 #这个值是指这个脚本的行数加1,这个脚本共有6行
    tail +$lines $0 >/tmp/helloworld.tar.gz # $0表示脚本本身,这个命令用来把从$lines开始的内容写入一个/tmp目录的helloworld.tar.gz文件里。
    tar jxvf /tmp/hellowrold.tar.gz
    cp helloworld /bin
    exit 0



    然后使用cat命令连接安装脚本install.sh和helloworld.tar.bz2。

    $ cat install.sh helloworld.tar.bz2 > myinstall.run

    这样就得到了myinstall.run文件,它的结构如下:

    |------------------| 第1行
    | |
    | install.sh |
    | | 第6行
    |------------------|
    | | 第7行
    |helloworld.tar.bz2|
    | |
    |------------------| 结尾
    图: myinstall.run安装包的结构

    运行myinstall.run时,运行到第6行的exit 0脚本就退出了,所以不会去运行第7行以下的二进制数据(即 helloworld.tar.bz2文件),而我们用了tail巧妙地把第7行以下的数据重新生成了一个helloworld.tar.gz文件。再执行安装。

    run安装包制作较小的程序包是很好的选择,但是它也有缺点,做逻辑比较复杂的安装包,写的安装脚本将会很麻烦。因此此时还是用其他的安装包更好。

    安装方法: 以 ***.run 为例:运行 sh ***.run

    原文出自: http://www.linuxdiyf.com/viewarticle.php?id=84934

  • 相关阅读:
    HBA登录验证
    html转pdf
    html转pdf
    html转word
    python生成html
    python生成pdf
    Word另存为不同的格式
    WORD转HTML-python第三方包Mammoth(官方文档翻译)
    深入浅谈,CPU设计原理
    CPU,寄存器,缓存,RAM,ROM的作用和他们之间的联系
  • 原文地址:https://www.cnblogs.com/Jim-william/p/3774028.html
Copyright © 2020-2023  润新知