Debian APT HOWTO 第六章 源碼包操作
APT HOWTO
第六章 源碼包操作
6.1 下載源碼包
==============
在自由軟件的世界裡,經常需要學習源碼或為程序除錯,所以你需要下載它們。APT提供了一套簡便的方法幫你獲得發布版中眾多程序的源代碼以及創建一個.debs所需的所有文件。
Debian源碼的另一個普遍用途是將unstable發布版的新版程序進行改寫以供別的發布版使用,例如,從stable發布版外引入新的軟件包,需要重新生成.debs將它在原發布版中的關聯關系遷移到新的發布版。
完成這些工作,/etc/apt/sources.list文件中deb-src所指引用鏡像源應該是unstable,別忘了將行首的注釋符去掉。詳情參閱 2.1/etc/apt/sources.list文件。
用下面的命令下載源碼包:
apt-get source packagename
通常會下載三個文件:a .orig.tar.gz, a .dsc and a .diff.gz。對於Debian專用的軟件包,最後一個文件不會下載,第一個文件的文件名中沒有“orig”項。
dpkg-source讀取.dsc文件信息,將源碼包解包到packagename-version目錄,下載下來的源碼包中有一個debian/目錄,裡面是創建.deb包所需的文件。
想要下載的源碼包自動編譯成軟件包,只需在命令行中加上-b,如下:
apt-get -b source packagename
如果你不打算立即創建.deb包,你可以運行如下命令,以後再創建它。
dpkg-buildpackage -rfakeroot -UC -b
請在下載包所在的目錄中運行上面的命令。
apt-get的source命令與它的其它命令有所不同,普通用戶權限就可以運行source命令,指定文件被下載到用戶調用apt-source package命令時所處的目錄中。
6.2 編譯源碼包所需的軟件包
==========================
通常,編譯源碼包時要用到某些頭文件和共享庫,所有的源碼包的管理文件(control file)中都有一個域“Build-Depends:”,域中指出了編譯該源碼包需要哪些附加包。
APT提供了一個簡單的方法下載這些附加包,你只需運行apt-get build-dep package,其中package就是你打算編譯的源碼包名稱。見下例:
[root]@[/] # apt-get build-dep gmc
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
libgpmg1-dev
0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
Need to get 1069kB of archives. After unpacking 3514kB will be used.
Do you want to continue? [Y/n]
這些用於gmc正確編譯指定源碼包的附加包將會被安裝。注意這個命令不能用來搜索某個軟件的源碼包,你得另外運行apt-get source下載源碼包。
====================================
APT HOWTO
1.8.2 - November 2002
Gustavo Noronha Silva
[email protected]
中文翻譯:LYOO
[email protected]
2003/01/26
====================================