以tree實用程序(以樹型結構獲取目錄樹)為例,介紹Ubuntu中如何管理源碼包,包括查詢,獲取,編譯源碼包,直至安裝。
1) 在獲取源碼包之前,確保在軟件源配置文件/etc/apt/sources.list中添加了deb-src項
2) 使用如下命令獲取tree源碼包的詳細信息:
sudo apt-cache showsrc tree
這用來查詢當前鏡像站點中是否有該源碼包。
3)源碼包中通常包含3個文件,分別以dsc,orig.tar.gz和diff.gz為后綴名。使用”apt-get source”命令來獲取源碼包,它會將源碼包下載到用戶當前目錄,並在命令執行過程中,調用dpkg-source命令,根據dsc文件中的信息,將源碼包解壓到同名目錄中,應用程序的源代碼就在這里面。
sudo apt-get source tree
要強調的是,在下載源碼包前,必須確保安裝了dpkg-dev(執行”apt-get install dpkg-dev”來安裝),否則,只會下載源碼包的3個文件,但不會解壓縮源碼包。當然你也可以自己用dpkg-source命令去解壓縮源碼包。
4)在編譯源碼包前,需要安裝具有依賴關系的相關軟件包。使用”apt-get build-dep”命令可以主動獲取並安裝所有相關的軟件包。
sudo apt-get build-dep tree
5)現在可以來編譯源碼包了,首先進入源碼所在目錄,使用dpkg-buildpackage命令來編譯源碼包,它會將生成的Deb軟件包放置在上層目錄中。
cd tree-1.5.1.2
sudo dpkg-buildpackage
這樣就會編譯生成tree-1.5.1.2-1_i386.deb
6)安裝軟件包。使用”dpkg –i”命令來安裝生成的Deb軟件包。
sudo dpkg –I tree-1.5.1.2-1_i386.deb
7)測試tree程序,我們用它來查看編譯所在工作目錄的內容。
tree –L 2