|
08 19 |
ipkg-輕量級套件管理系統作者: Joey 日期: 2008-08-19 16:55 |
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文件內容如下
control文件裡面比較重要的是architecture欄位,等一下我們會用到它
4. 下載ipkg-build.sh,我用這個shell script製造ipk package
5. 執行命令./ipkg-build.sh [source directory] [destination directory],範例為./ipkg-build.sh test package,執行完後你會發現有一個ipk package擺在package目錄下
package製做好後,我們來安裝看看吧,在安裝前必需設定ipkg的config檔,此檔案位置在/etc資料夾內,名稱為ipkg.conf,我的config檔內容如下,請注意arch這個欄位,一定要跟我們package內的control文件的Architecture一樣,而dest root就是指明軟體安裝的位置從那裡開始
安裝的命令為ipkg-cl –f /etc/ipkg.conf install [your package name],安裝完後,可看到/home資料夾下多出了test.txt這個純文字檔,用ipkg-cl list_intalled,可以看到目前系統安裝的套件,用ipkg-cl remove [package name]可以移除安裝的軟體,下面的圖就是整個安裝和移除的過程

不過ipkg有趣的地方是在於設定安裝軟體前後的script,這方面的文章可參考wiki上的說明,舉個範例來說,在CONTROL資料夾下擺preinst和postinst這兩個script,其各自內容如下
[preinst]
上面的script意思為在安裝前請把aaa拷貝為xxx
[postinst]
上面的script意思為在安裝時請把bbb拷貝為yyy
我上述所列的只是很簡單的描述,如果要看更詳細的資料,請至ipkg的官方網站查詢
訂閱
上一篇
返回
下一篇
標籤:


fw_printenv-control u-boot enviroment variables under linux (2009-05-12 16:35)
rpcapd與netcat-測試嵌入式系統的好工具 (2009-04-09 17:06)
udev-強大的device node管理系統 (2009-02-02 20:35)
Framebuffer兩三事-Test On QT2410 (2009-01-12 16:29)
UIO-Linux user space I/O driver (2008-12-15 14:50)
GDB-刺入bug心臟的寶劍 (2008-10-15 16:11)
Telnet daemon-RS232以外的選擇 (2008-10-03 18:57)
在嵌入式系統切換file system-以squashfs和jffs2為例 (2008-10-01 19:44)
Linux kernel module-進入系統核心的鑰匙 (2008-09-12 14:03)