安裝程式的原理與製作

來源:互聯網
上載者:User

安裝程式其實很簡單,但卻是很多軟體特別是商業軟體不可缺少的重要組成部分。在linux這個開源的世界中大部分軟體都是源碼發布的,下載下來一個configure+make+make install就完事了,在或者在不同平台上達成rpm或者deb的包,再或者是直接放到repo倉庫中通過管理工具來更新打包。不過對於商業軟體源碼發表似乎很不現實,而受限於不同的發行版本的打包機制也不是商業軟體的首選(當然也有很多軟體更多的使用的是根據不同平台分別打包的方式)。那如何在linux上發布自己的商業軟體呢?很多廠商的做法是發布一個bin檔案。這個檔案實現了不同平台下的自主安裝的過程。

安裝程式不過是安裝內容組織的容器,說的簡單一點就是一個壓縮包,但是這個bin有解壓的功能,並且自己有自己的配置系統和嚮導系統。而將壓縮包解壓是很簡單的過程。如果我們的程式很簡單,我們可以採用下面的方式來實現直接解壓安裝的功能:

  • 如果是在win下可以用winrar產生一個自解壓檔案的方式來做這樣的簡單的安裝程式。
  • 如果是在linux下我們可以使用指令碼來實現。
    #!/bin/bashINSTDIR=/default/install/path/ARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0`tail -n+$ARCHIVE $0 | tar xzv -C $TMPDIRCDIR=`pwd`cd $TMPDIR./install $INSTDIRcd $CDIRrm -rf $TMPDIRexit 0__ARCHIVE_BELOW__

而如果我們的軟體需要一些·配置,需要與客戶有些互動,並且我們需要給使用者一個相應的提示,那這個過程就是我們要實現的安裝程式的過程。雖然linux的哲學是讓程式自動化運行而不需要要人工幹預他的過程,可是那些讓windows給教壞的使用者們還是希望有這樣的一個人機互動系統的。

而互動介面實現有兩種方式,一種是將GUI的安裝程式靜態編譯以減少對外部系統的依賴;一種是採用shell指令碼來實現。檔案的基本結構都是一致的,前部是預先處理程式和介面程式(或指令碼),後半部分是我們經過壓縮的實際要安裝的內容。安裝過程就是將後半部分解壓縮,並移動到相應位置的過程。

如果在安裝過程中或結束後需要做一些工作,直接在指令碼中進行就可以了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.