如何在Linux上安装和使用Makeself

2016-02-19 11:36 5 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐如何在Linux上安装和使用Makeself,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - Linux教程 】

Makeself只是Linux下的一个脚本,可用于文件的创建,因为makeself重写过,所以会有不少人不懂怎么使用makeself,下面图老师小编就给大家介绍下Linux安装使用makeself的方法。

 如何在Linux上安装和使用Makeself

Makeself.sh是一个小的Shell脚本,用于从一个目录中生成自解压的tar.gz压缩包。结果文件以一个shell脚本显示(大多数以.run作为后缀名),可以自动运行。该文档会解压自己到一个临时目录,并且执行一个可选的任意命令(例如:一个安装脚本)。它非常类似于Windows中的Winzip自解压生成的文件。Makeself文档也包括校验和用于集成子验证(CRC或MD5校验和)。

Makeself.sh脚本自身只用于从文件目录中创建一个的文档。生成的文档实际上是一个压缩(使用gzip,bzip2或压缩)TAR文件,在文件的开始加入一小段Shell脚本。这是一个小的Stub脚本,用于执行解压文件,运行嵌入命令和删除临时文件。为了安装包含在该文档中的软件,用户只需要运行文档,例如:sh nice-software.rum。我推荐这些文件使用run或sh作为后缀,不要迷惑用户,因为他们知道它实际上是一个Shell脚本,它后面带有相当多的二进制数据。

从2.1开始,makeself已经重写过,在下面的平台上进行测试:

1. Linux(所有发行版)

2. Sun Solaris(8以上版本)

3. HP-UX(HPPA RISC上的11.0和11i)

4. SCO OpenUnix和OpenServer

5. IBM AIX 5.1L

6 MacOS X(Dario)

7. SG IRIX 6.5

8. FreeBSD

9. UnicOS/Cray

10.Cygwin(Windows)

Makeself安装

为了在Linux上安装makeself,下载最新版本的存档格式文件,执行下载的文件,当文件自解压以后会在当前目录下创建一个新的目录称为makeself-2.2.0,拷贝所有的shell脚本到/usr/bin目录下完成安装。

$ wgethttp://megastep.org/makeself/makeself-2.2.0.run

$ chmod 755 makeself-2.2.0.run

$ 。/makeself-2.2.2.run

$ cd makeself-2.2.0

$ sudo cp *.sh /usr/bin

使用方法

makeself.sh的基本使用方法如下:

makeself.sh [args] archive_dir file_namelabel startup_script [script_args]

label参数是SFX解压缩时打印的消息,start_script指定在SFX归档文件成功解压缩后执行的脚本和命令。当你想创建一个自解压的安装文件时会有用处。通常启动脚本将拷贝和安装解压的内容到合适的目标目录中。启动脚本必须位于打包的目录中,因此脚本包含在SFX归档文件中。

1. args是Makeself的可选参数,可用的有:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

--vesion:打印版本信息到控制台,然后立即退出;

- --gzip: 使用GZIP压缩(缺省选项)

- --bzip2:使用bzip2压缩

- --compress:使用Unix的compress命令压缩数据

- --nocomp:不压缩

- --notemp:不解压文件到一个临时目录,但是在当前目录下创建一个新的子目录。

- --current:文件将解压到当前目录,而不是子目录中,隐含--notemp选项

- --follow:跟随所有的符号链接,也打包那些符号链接的文件。

- --append:最近数据到现有的文档中,而不是创建一个新的数据。

- --header:Makeself2.0开始可以使用一个单独文件存储头部stub,称为makeelf-header.sh,假设位于makeself相同的位置。

- --copy:。

2. archive_dir:包含归档文件的目录名称

3. file_name:创建归档文件的名称

4. label:描述软件包的任意文本字符串,当解压文件时显示

5. startup_script:在提取文件目录中的命令,因此如果你希望执行一个

在该目录中的程序,你必须在你的命令之前加上前缀。/,例如:。/program是正确的,script_args是改命令的附加参数。

这里有一个示例,假设用户有一个包镜像存储在/home/joe/mysoft目录中,它希望生成一个自解压的mysoft.sh软件包,它将启动存储在/home/joe/mysoft目录下的setup脚本,执行命令如下:

makeself.sh/home/joe/mysoft mysoft.sh Joe‘s Nice Software Package 。/setup

下面是创建包含Makeself发行版的makeself.run文档的命令:

makeself.sh --notempmakeself makeself.run Makeself by Stephane Peter echoMakeself has extracted itself

由makeself生成的文档可以传递下面的参数:

- --keep:放置文件解压到一个临时目录中(在嵌入脚本执行之后会被删除掉)。文件将直接解压到当前的工作目录中,直到你删除它。

- --verbose:在执行嵌入式命令之前提示用户

- --target:允许解压目录到任意位置

- --confirm:运行嵌入式命令之前提示用户确认

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

- --info:打印出关于文档的通用信息(不解压)

- --lsm:打印LSM条目

- --check:使用嵌入的校验和检查文档,不解压文档

- --nochown:缺省,在解压之后在目标目录下运行chown -R命令,以便所有文件属于当前用户。如果你以root用户运行大部分需要这样,tar将尝试重新创建初始化用户所有者。你可以禁用这个行为。

- --tar:对文档的内容运行tar命令,使用后面的参数作为命令的参数。

- --noexec:解压后不运行嵌入式脚本

任何文档后面的参数将作为附加参数传递给嵌入的命令。在任何这些选项之前,你应该显示的使用--专用命令行结构,确保Makeself不会尝试解释它们。

上面就是Linux安装使用makeself的方法介绍了,要注意的是,使用makeself创建的文件是压缩TAR文件,在里面加上shell脚本进行解压。

来源:http://www.tulaoshi.com/n/20160219/1597952.html

延伸阅读
  ================================== 文 档 名: 如何在大硬盘上安装 Linux 作 者: Rocky S. Lee E - mail: coolrocky@21cn.com 发布日期: 2000 年 1 月 5 日 ================================== 许可证: 本文档的发布遵循 DGPL,&nb...
标签: 电脑入门
在Linux系统操作中,logwatch能够对系统log报告进行分析,用于Linux日志的处理,下面图老师小编就详细介绍下Linux安装使用logwatch的方法,感兴趣的朋友不妨来了解下。 logwatch 的主要目的是生成更易于使用的日志摘要,并不是用来对日志进行实时的处理和监控的。正因为如此,logwatch 通常被设定好时间和频率的自动定时任务来调度运行或者...
标签: 电脑入门
Git是一款开源分布式版本控制系统,能够帮助Linux管理内核开发,那么Linux要如何使用Git呢?下面图老师小编就给大家介绍下Linux使用Git的方法,感兴趣的朋友不妨来了解下。 *初始化git仓库,使用git init命令 *添加文件到git仓库分两步: 1、使用git add filename ;可分多次使用,添加多个文件到暂存区 2、使用git commit -m 说明 ;...
标签: 服务器
在Linux服务器上安装使用Memcache   服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。 下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz 另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安...
标签: 电脑入门
Linux系统监控的命令其实有很多,pidstat命令就是其中的一种,使用pidstat命令可以对Linux系统进程数据进行监控,但要先对pidstat进行安装才能使用,下面图老师小编就给大家介绍下Linux安装使用pidstat的方法,感兴趣的朋友不妨来了解下。 pidstat命令用来监控被Linux内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pids...

经验教程

852

收藏

84
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部