學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux上怎么安裝和使用Makeself

Linux上怎么安裝和使用Makeself

時(shí)間: 孫勝652 分享

Linux上怎么安裝和使用Makeself

  Makeself只是Linux下的一個腳本,可用于文件的創(chuàng)建,因?yàn)閙akeself重寫過,所以會有不少人不懂怎么使用makeself,下面學(xué)習(xí)啦小編就給大家介紹下Linux安裝使用makeself的方法。

  Makeself.sh是一個小的Shell腳本,用于從一個目錄中生成自解壓的tar.gz壓縮包。結(jié)果文件以一個shell腳本顯示(大多數(shù)以.run作為后綴名),可以自動運(yùn)行。該文檔會解壓自己到一個臨時(shí)目錄,并且執(zhí)行一個可選的任意命令(例如:一個安裝腳本)。它非常類似于Windows中的Winzip自解壓生成的文件。Makeself文檔也包括校驗(yàn)和用于集成子驗(yàn)證(CRC或MD5校驗(yàn)和)。

  Makeself.sh腳本自身只用于從文件目錄中創(chuàng)建一個的文檔。生成的文檔實(shí)際上是一個壓縮(使用gzip,bzip2或壓縮)TAR文件,在文件的開始加入一小段Shell腳本。這是一個小的Stub腳本,用于執(zhí)行解壓文件,運(yùn)行嵌入命令和刪除臨時(shí)文件。為了安裝包含在該文檔中的軟件,用戶只需要運(yùn)行“文檔”,例如:sh nice-software.rum。我推薦這些文件使用“run”或“sh”作為后綴,不要迷惑用戶,因?yàn)樗麄冎浪鼘?shí)際上是一個Shell腳本,它后面帶有相當(dāng)多的二進(jìn)制數(shù)據(jù)。

  從2.1開始,makeself已經(jīng)重寫過,在下面的平臺上進(jìn)行測試:

  1. Linux(所有發(fā)行版)

  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,下載最新版本的存檔格式文件,執(zhí)行下載的文件,當(dāng)文件自解壓以后會在當(dāng)前目錄下創(chuàng)建一個新的目錄稱為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”參數(shù)是SFX解壓縮時(shí)打印的消息,“start_script”指定在SFX歸檔文件成功解壓縮后執(zhí)行的腳本和命令。當(dāng)你想創(chuàng)建一個自解壓的安裝文件時(shí)會有用處。通常啟動腳本將拷貝和安裝解壓的內(nèi)容到合適的目標(biāo)目錄中。啟動腳本必須位于打包的目錄中,因此腳本包含在SFX歸檔文件中。

  1. args是Makeself的可選參數(shù),可用的有:

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

  - --gzip: 使用GZIP壓縮(缺省選項(xiàng))

  - --bzip2:使用bzip2壓縮

  - --compress:使用Unix的compress命令壓縮數(shù)據(jù)

  - --nocomp:不壓縮

  - --notemp:不解壓文件到一個臨時(shí)目錄,但是在當(dāng)前目錄下創(chuàng)建一個新的子目錄。

  - --current:文件將解壓到當(dāng)前目錄,而不是子目錄中,隱含--notemp選項(xiàng)

  - --follow:跟隨所有的符號鏈接,也打包那些符號鏈接的文件。

  - --append:最近數(shù)據(jù)到現(xiàn)有的文檔中,而不是創(chuàng)建一個新的數(shù)據(jù)。

  - --header:Makeself2.0開始可以使用一個單獨(dú)文件存儲頭部stub,稱為makeelf-header.sh,假設(shè)位于makeself相同的位置。

  - --copy:…。

  2. archive_dir:包含歸檔文件的目錄名稱

  3. file_name:創(chuàng)建歸檔文件的名稱

  4. label:描述軟件包的任意文本字符串,當(dāng)解壓文件時(shí)顯示

  5. startup_script:在提取文件目錄中的命令,因此如果你希望執(zhí)行一個

  在該目錄中的程序,你必須在你的命令之前加上前綴“。/”,例如:。/program是正確的,script_args是改命令的附加參數(shù)。

  這里有一個示例,假設(shè)用戶有一個包鏡像存儲在/home/joe/mysoft目錄中,它希望生成一個自解壓的mysoft.sh軟件包,它將啟動存儲在/home/joe/mysoft目錄下的setup腳本,執(zhí)行命令如下:

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

  下面是創(chuàng)建包含Makeself發(fā)行版的makeself.run文檔的命令:

  makeself.sh --notempmakeself makeself.run “Makeself by Stephane Peter” echo“Makeself has extracted itself”

  由makeself生成的文檔可以傳遞下面的參數(shù):

  - --keep:放置文件解壓到一個臨時(shí)目錄中(在嵌入腳本執(zhí)行之后會被刪除掉)。文件將直接解壓到當(dāng)前的工作目錄中,直到你刪除它。

  - --verbose:在執(zhí)行嵌入式命令之前提示用戶

  - --target:允許解壓目錄到任意位置

  - --confirm:運(yùn)行嵌入式命令之前提示用戶確認(rèn)

  - --info:打印出關(guān)于文檔的通用信息(不解壓)

  - --lsm:打印LSM條目

  - --check:使用嵌入的校驗(yàn)和檢查文檔,不解壓文檔

  - --nochown:缺省,在解壓之后在目標(biāo)目錄下運(yùn)行“chown -R”命令,以便所有文件屬于當(dāng)前用戶。如果你以root用戶運(yùn)行大部分需要這樣,tar將嘗試重新創(chuàng)建初始化用戶所有者。你可以禁用這個行為。

  - --tar:對文檔的內(nèi)容運(yùn)行tar命令,使用后面的參數(shù)作為命令的參數(shù)。

  - --noexec:解壓后不運(yùn)行嵌入式腳本

  任何文檔后面的參數(shù)將作為附加參數(shù)傳遞給嵌入的命令。在任何這些選項(xiàng)之前,你應(yīng)該顯示的使用--專用命令行結(jié)構(gòu),確保Makeself不會嘗試解釋它們。

  上面就是Linux安裝使用makeself的方法介紹了,要注意的是,使用makeself創(chuàng)建的文件是壓縮TAR文件,在里面加上shell腳本進(jìn)行解壓。

319232