萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 如何在Linux上安裝和使用Makeself

如何在Linux上安裝和使用Makeself

  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的可選參數,可用的有:

  --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” echo“Makeself has extracted itself”

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

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

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

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

  - --confirm:運行嵌入式命令之前提示用戶確認

  - --info:打印出關於文檔的通用信息(不解壓)

  - --lsm:打印LSM條目

  - --check:使用嵌入的校驗和檢查文檔,不解壓文檔

  - --nochown:缺省,在解壓之後在目標目錄下運行“chown -R”命令,以便所有文件屬於當前用戶。如果你以root用戶運行大部分需要這樣,tar將嘗試重新創建初始化用戶所有者。你可以禁用這個行為。

  - --tar:對文檔的內容運行tar命令,使用後面的參數作為命令的參數。

  - --noexec:解壓後不運行嵌入式腳本

  任何文檔後面的參數將作為附加參數傳遞給嵌入的命令。在任何這些選項之前,你應該顯示的使用--專用命令行結構,確保Makeself不會嘗試解釋它們。

  上面就是Linux安裝使用makeself的方法介紹了,要注意的是,使用makeself創建的文件是壓縮TAR文件,在裡面加上shell腳本進行解壓。

copyright © 萬盛學電腦網 all rights reserved