shell的強大功能使得linux中自解壓安裝程式的製作變的很簡單。
[隱藏]
2原理簡介
3參考資料
基本思路是建立乙個檔案,前半部分是乙個shell指令碼,後半部分則是tar建立的壓縮檔案。shell指令碼呼叫tar解壓檔案的後半部分,再呼叫解壓後的安裝檔案。本文給出的方法比較靈活,對安裝指令碼的行數沒有要求。
先建立乙個指令碼檔案,內容如下,存為inst_script.sh。注意將程式中間./installer一行修改為你的程式的安裝程式位址。[1]
注意:
檔案末尾不要新增更多的空行。
#!/bin/bash把程式的壓縮包準備好即可,假設名為myfile.tar.gzecho
""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__
直接使用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...