ipkg 輕量級適用於嵌入式軟體公升級包管理工具

2021-05-23 10:57:33 字數 1479 閱讀 1417

ipkg是在嵌入式裝置上最常見到的套件管理系統,如ipaq,或linksys的wrt54g都 可以看到它的身影,其實這幾年來,隨筆者玩的板子越來越多,也發現很多家公司連實驗板都使用ipkg套件管理系統,這樣的目的其一是為了簡化安裝軟體的手 序,其二是為了讓實驗板安裝不同的ipk而達到不同的功能,如果一塊板子裝完server.ipk,它就搖身一變為擁有各種不同網路伺服器功能的裝置,如 果改裝phone.ipk,它可能又被用來當作**交換機使用

廢話不多說,我們先來做個實驗,首先到ipkg的官方**下 載最新的ipkg source tar ball,並編譯它,編譯的步驟很簡單,輸入configure,make,make install即可,編譯和安裝完後可得到一可執行的shell script名稱為ipkg-cl,如果執行ipkg-cl發現有缺library,那請把.lib資料夾下的 libipkg.so,libipkg.so.0,libipkg.so.0.0.0都一起複製到/usr/lib資料夾下

接下來我們要製造乙個測試的ipk package,而這個package幹得事很簡單,就是在home資料夾上創造乙個test.txt檔案,詳細的製作過程我列如下

1. 創造乙個新資料夾名稱為test,並在test下面創造兩個目錄分別為control和home

2. 在home資料夾下擺test.txt

3. 在control資料夾下創造乙個control檔案內容如下

1. package: test

2. priority: optional

3. section: misc

4. version: 0.9.3.2

5. architecture: intel

6. maintainer: [email protected]

不過ipkg有趣的地方是在於設定安裝軟體前後的script,這方面的文章可參考wiki上的說明,舉個範例來說,在control資料夾下擺preinst和postinst這兩個script,其各自內容如下

[preinst]

1. #!/bin/sh

2. cp aaa ***

3. 4. exit 0

上面的script意思為在安裝前請把aaa拷貝為***

[postinst]

1. #!/bin/sh

2. case "$1" in

3. update)

4. ;;

5. install)

6. cp bbb yyy

7. ;;

8. configure)

9. ;;

10. remove)

11. ;;

12. *)

13. ;;

14. esac

15.

16. exit

上面的script意思為在安裝時請把bbb拷貝為yyy

我上述所列的只是很簡單的描述,如果要看更詳細的資料,請至ipkg的官方**查詢

多執行緒適用於阻塞式IO場景,不適用於平行計算場景

python的標準實現是cpython。cpython執行python 分為2個步驟 首先,將文字原始碼解釋編譯為位元組碼,然後再用乙個直譯器去 解釋執行位元組碼。位元組碼直譯器是有狀態的,需要維護該狀態的一致性,因此使用了gil global interpreter lock,全域性直譯器鎖 gi...

Linux用於嵌入式

步驟1 linux工具和專案布局 每個嵌入式軟體設計都從選擇合適的工具開始。工具鏈是一組連線 或鏈結 在一起的軟體開發工具,它包含諸如gnu編譯器集合 gcc binutils 一組包括聯結器 彙編器和其它用於目標檔案和檔案工具的開發工具 和glibc 提供系統呼叫和基本函式的c函式庫 等元件 在某...

jquery實現流動式導航,適用於個人部落格風格

w3c dtd html 4.01 transitional en main n li n n ul n ul li n ul li a desc document ready function time function time 下面是自己的一點學習心得 個人覺得在網頁特效方面,其實最重要的還是...