製作自解壓安裝檔案

2021-06-18 12:47:20 字數 1535 閱讀 2758

shell的強大功能使得linux中自解壓安裝程式的製作變的很簡單。

[隱藏]

2原理簡介

3參考資料

基本思路是建立乙個檔案,前半部分是乙個shell指令碼,後半部分則是tar建立的壓縮檔案。shell指令碼呼叫tar解壓檔案的後半部分,再呼叫解壓後的安裝檔案。本文給出的方法比較靈活,對安裝指令碼的行數沒有要求。

先建立乙個指令碼檔案,內容如下,存為inst_script.sh。注意將程式中間./installer一行修改為你的程式的安裝程式位址。[1]

注意:

檔案末尾不要新增更多的空行。

#!/bin/bash

echo

""echo

"self extracting installer"

echo

""export

tmpdir=`

mktemp

-d/tmp/selfextract.******`

archive=`

awk'/^__archive_below__/ '$0`

tail -n+$archive$0|

tar xzv -c

$tmpdir

cdir=`

pwd`

cd$tmpdir

./installer # 改為壓縮包中安裝程式的位址

cd$cdir

rm-rf

$tmpdir

exit0 

__archive_below__

把程式的壓縮包準備好即可,假設名為myfile.tar.gz

直接使用cat命令把兩個檔案連在一起就可以了:

$ cat inst_script.sh myfile.tar.gz > myinstaller

$ chmod +x myinstaller

下面給出帶注釋的**

#!/bin/bash

echo""

echo

"self extracting installer"

echo""

# 用mktemp建立乙個臨時資料夾

export

tmpdir=

`mktemp

-d/tmp

/selfextract.******

`# 找到壓縮檔案在包中的偏移量,即含__archive_below__的下一行

archive=

`awk'/^__archive_below__/ '$0`

# 解壓檔案

tail -n+

$archive$0|

tar xzv

-c$tmpdir

cdir=

`pwd` cd

$tmpdir .

/installer  

# 改為壓縮包中安裝程式的位址 cd

$cdir rm

-rf$tmpdir

exit0

__archive_below__

安裝檔案製作總結

檔名 private string getsql string name 指定的資料庫執行sql語句 資料庫名 sql語句 private void executesql string databasename,string sqlstring finally 建立資料庫及資料庫表 資料庫名 配件中...

shell run安裝檔案製作

在linux,我們經常會看到有一些安裝檔案型別為.run,只有乙個檔案,可以自動化安裝,非常舒服整潔,對於部分在linux下開發的工程師來說,製作乙個方便安裝的程式檔案是非常必要的,大大減輕使用者的安裝時間,增強使用者體驗。製作與解析run安裝包,需要三個指令,cat tail head。原理就是利...

NSIS製作安裝檔案記錄

軟體名稱 nsis 功能 製作安裝程式 學習文章 指令碼記錄 1.自啟動 針對當前使用者 writeregstr hkcu software microsoft windows currentversion run 啟動項名稱 啟動項命令 針對本機所有使用者 writeregstr hklm sof...