linux下的 run包的製作

2021-06-26 08:53:48 字數 2081 閱讀 5765

首先開始我的嘮叨幾句,網上有很多.run包的製作,那為什麼我還要寫呢?原因很簡單,他們的執行不了啊,各種錯誤,今天我給大家講乙個能執行的,一步一步手把手教你們。

程式設計前需要有的東西:install.sh檔案 hello.c檔案(這些檔案我都放在hello資料夾,沒要求,大家隨意)

目標:hello_install.run檔案

步驟:1.將hello.c編寫成可應用程式hello,再將hello打包為hello.tar.gz

2.編寫install.sh檔案

3.執行命令cat install.sh hello.tar.gz > myinstall.sh

4.執行myinstall.sh檔案,只需執行命令sh myinstall.sh

ok,現在開始實現

第一步是比較簡單的,簡單過過

1.#include

int main()  

{printf("hello");

return 0;

}linux命令:

gcc -c hello.c

gcc -o hello hello.o

此時生成hello應用程式,

對hello 進行打包:

tar -zcvf hello.tar.gz hello

2.編寫install.sh檔案

**如下:

1>#!/bin/bash

2>lines=7

3>tail -n +$lines "$0" > /tmp/hello_tmp.tar.gz

4>tar -xvzf /tmp/

hello_tmp

.tar.gz -c /tmp

5.>cp /tmp/hello /usr/bin

6>exit

第三行的目的是讓程式從本指令碼的第7行執行,將執行的結果放到hello_tmp.tar.gz,好多人就說了第7行後面沒東西啊,怎麼執行,問的很好,那我現在要問問你我們執行最終要執行的是什麼檔案?我們要執行的是myinstall.run檔案對吧,那我們將這些語句放到myinstall.run包中就清楚了,一會說

3.cat install.sh hello.tar.gz > myinstall.run

//我們都知道這是資料流,將install.sh檔案讀入到myinstall.run中,讀完後,hello.tar.gz接著讀入,我們可以用vim工具對myinstall.run檔案進行檢視,回答現他大概是這樣的:

myinstall.run內容:

#!/bin/bash

lines=7

tail -n +$lines "$0" > /tmp/hello_tmp.tar.gz

tar -xvzf /tmp/

hello_tmp

.tar.gz -c /tmp

cp /tmp/hello /usr/bin

exit

........亂碼

...................

很明顯他的結構是這樣的,上面是install.sh檔案,下面是亂碼,很多朋友這時就鬱悶了我靠,這些亂碼是什麼東西,當然是hello.tar.gz的檔案形式了,大家知道linux的功能實現都是通過檔案實現的,其實hello.tar.gz也是檔案。

接著我為大家解釋下上面留著下面說的問題,myinstall.run的第三行(也就是之前的install.sh的第三行)將亂碼的所有都打包到/tmp/hello_tmp.tar.gz中,我們知道亂碼實際上就是hello.tar.gz,這時我們好像明白了什麼,這不類似拷貝嘛,對啊,拷貝過去解壓,將應用程式拷貝到/usr/bin下,這就安裝成功了。

是啊,我們只能裝成功了,細心的網友可能又要說我靠了,咱把hello.tar.gz檔案像類似拷貝的拷到hello_tmp.targz中,解壓,安裝,那我直接對hello.tar.gz進行解壓,安裝不就行了,繞那麼大圈幹嘛,閒的沒事幹,好的,這個其實就是本文做.run包的關鍵。我們回顧一下,我們是用資料流將install.sh和hello.tar.gz讀入到檔案myinstall.run中的,讀完後的myinstall.run已經包含了hello.tar.gz這個檔案資料,那麼我們只需要在以後只要myinstall.run檔案就可以對hello就行安裝了,不再用任何其他檔案,是不是省事多了。

linux下run安裝包的製作

run程式安裝包實質上是乙個安裝指令碼加要安裝的程式,如下圖所示 安裝指令碼 程式 圖 run安裝包的結構 這樣整個run安裝包結構就一目了然了,實際上因為實際需要結構多少有點變動但這個無關緊要,只需要明白原理就行了。製作run安裝包以下舉個實際的例子 為了簡單起見,要安裝的程式就是hellowor...

製作linux下的 run安裝包

之前往linux上安裝乙個軟體,都是以壓縮包或者壓縮包 shell的方法,這每次安裝,都是先scp到某個目錄,解壓,安裝.稍微厲害的,會寫個shell指令碼.但是還是達不到真正的快速方便安裝.現在我們就介紹一種.run的軟體包 run 程式安裝包實質上是乙個安裝指令碼加要安裝的程式,如下所示 安裝指...

linux的deb包製作

linux的deb包製作 醉清風xf linux的deb包製作 deb包已被廣泛應用但是也在不斷的更新,這裡介紹ubuntu deb包安裝設定使用,幫助大家安裝更新ubuntu deb包系統。製作ubuntu deb包的三種方法 sean s blog 製作ubuntu deb包的三種方法poste...