shell run安裝檔案製作

2021-08-27 18:01:29 字數 1536 閱讀 3195

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

製作與解析run安裝包,需要三個指令,cat、tail、head。原理就是利用cat將指令碼與檔案合併,利用tail解析尾部,利用head解析頭部,如果只是用於安裝,則不需要head解析頭部。

以下為製作示例:

1、新建乙個資料夾,命名為autorun(隨意,用不到這個名稱),內部新建資料夾source,以及指令碼autoinstall.sh

2、假設我們開發好了乙個程式,我們所有檔案放到source中,裡面有對應的安裝指令碼install.sh(無非就是複製、編譯、移動等等)

3、將source資料夾壓縮成source.tar.xz,減小體積

4、編輯autoinstall.sh,注意lines的數值要比autoinstall.sh的行數要多1,run檔案是由autoinstall.sh和source.tar.xz連線而成,以以下autoinstall.sh為例,前10行為autoinstall.sh,執行run檔案就是從autoinstall.sh執行,命令中要從.run檔案自解析出source.tar.xz,第11行開始到最後都是source.tar.xz。執行到第10行退出,避免後面source.tar.xz異常指令。

autoinstall.sh內容如下:

#!/bin/bash

lines=11 #this file total row + 1

tail -n +$lines "$0" >>/tmp/source.tar.xz # write self from filelines to file。

cd /tmp

xz -d source.tar.xz

tar -xvf source.tar

rm -f source.tar

sh source/install.sh

rm -rf source

exit 0

以上指令碼詳細解釋如下:

a)利用tail命令,將source.tar.xz從run檔案第11行開始剝離出來,放到/tmp/source.tar.xz

b)進入/tmp,解壓source.tar.xz為資料夾

c)刪除壓縮包

d)執行安裝指令碼

e)執行安裝完畢,刪除source資料夾

f)退出

5、連線autoinstall.sh和source.xz

cat autoinstall.sh source.tar.xz >> autorun.run
到這裡為止,run檔案製作完畢,給予執行許可權即可。

若是要分離出autoinstall.sh和source.tar.xz,執行以下命令即可,注意行數:

head -n10 autorun.run >> autoinstall.sh

tail -n +11 autorun.run >> source.tar.xz

安裝檔案製作總結

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

製作自解壓安裝檔案

shell的強大功能使得linux中自解壓安裝程式的製作變的很簡單。隱藏 2原理簡介 3參考資料 基本思路是建立乙個檔案,前半部分是乙個shell指令碼,後半部分則是tar建立的壓縮檔案。shell指令碼呼叫tar解壓檔案的後半部分,再呼叫解壓後的安裝檔案。本文給出的方法比較靈活,對安裝指令碼的行數...

NSIS製作安裝檔案記錄

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