學習使用apt 二

2021-04-02 12:21:47 字數 2808 閱讀 3884

4.1如何安裝本地預編譯包:equivs

有時也許我們會希望安裝乙個特定版本的程式,但是卻沒有debian包而只有原始碼包.但是當這樣做時包管理系統會遇到麻煩.假如我們要編譯乙個新版本的郵件伺服器.一切順利,但是在debian系統上許多的軟體包要依賴mta(mail transport agent).因為所安裝的這些內容是我們自己編譯的,所以包管理系統並不知道這些.

這就是我們需要equivs的原因.要使用這個程式我們先要安裝這個程式.equivs可以建立乙個空的包,但是在這個包中充滿著依賴關係,這樣就使得包管理系統認為已經滿足了依賴關係.

在我們開始之前,我們還是要提醒一下朋友們,有更安全的方法可以用來編譯由不同的選項為debain打好包的程式,如果我們對我們現在所做的沒有確切的把握我們最好不要用equivs來替換依賴關係.

下面讓我們來繼續我們mta的例子.我們已經安裝好了我們新編譯的postfix,然後我們要繼續安裝mutt.但是突然我們發現mutt需要安裝另外乙個mta,但是此時我們已經安裝了.

這時我們可以來到某乙個目錄(如/tmp)然後執行下面的命令:

# equivs-control name

在這裡我們可以用我們要建立的控制檔案的名字來替換name.檔案將會以下面的方式來進行建立:

secton: misc

priority: optional

standards-version: 3.0.1

package:

version:

maintainer:

pre-depends:

depends:

recommends:

suggests:

provides:<(virtual)package>

architecture: all

.second paragraph

我們只需要修改這些來完成我們所希望做的.我們可以檢視一下各區域的格式以及他們的描述,在這裡並沒有必要解釋每一行.讓我們來做所需要的內容:

section: misc

priority: optional

standards-version: 3.0.1

package: mta-local

provides: mail-transport-agent

是的.所有的只是這些.mutt依賴於mail-transport-agent,這是由所有的mta提供了虛擬包,我們只是簡單的將他命名為mail-transport-agent,但是我們只是希望使用這個虛擬包的模式.

現在我們所需要做的只是來建立這個包:

# equives-build name

dh_testdir

touch build-stamp

dh_testdir

dh_testroot

dh_clean -k

#可以在這裡加入命令將這個包安裝到debian或是/tmp中

touch install-stamp

dh_testdir

dh_testroot

dh_installdocs

dh_installchangelogs

dh_compress

dh_fixperms

dh_installdeb

dh_gencontrol

dh_md5sums

dh_builddeb

dpgk-deb: building package 'name' in '../name_1.0_all.deb'.

the package has been created.

attention, the package has been created in the current directory,and install the resulting .deb.

從這裡我們可以看到,equives有許多的用法.例如我們可以用這個程式依據我們平常所安裝的軟體可以建立我們最喜歡的安裝包.發揮你的想像,但是切記要小心.

很重要的一點就是我們要注意/usr/share/doc/equives/examples目錄下的例子控制檔案.

4.2移除無用的locale檔案:localepurge

許多的debian使用者只使用乙個locale.例如乙個巴西使用者只使用pt_br locale而並不關心es locale.

localepurge對於這樣的使用者來說是乙個非常有用的工具.只保留乙個我們使用的locale可以釋放大量的磁碟空間.要這樣做我們只需要執行下面的命令:

apt-get install localepurge

配置這個工具是相當容易的,debconf問題嚮導可以引導一步一步的進行配置.但是對於第乙個問題我們一定要小記,錯誤的答案也許就會移除所有的locale檔案,包括我們正在使用的這乙個.而如果是這樣那麼恢復的唯一辦法就是重新安裝提供這些locale檔案的包.

4.3 如何知道要公升級哪些軟體包

apt-show-versions程式可以顯示在我們的系統中哪些包要進行公升級以及其他的一些有用的資訊.而-u選項可以顯示可公升級包的列表:

debian:/home/mylxiaoyi# apt-show-versions -u

libgnome2-0/unstable upgradeable from 2.12.0.1-3 to 2.12.0.1-4

kpovmodeler/stable upgradeable from 4:3.3.2-2sarge1 to 4:3.3.2-2sarge3

libopensc1 0.9.6-3.0.1 newer than version in archive

而如果我們發現沒有這個命令,我們可以用apt進行安裝:

# apt-get install apt-show-versions

學習使用apt 二

4.1如何安裝本地預編譯包 equivs 有時也許我們會希望安裝乙個特定版本的程式,但是卻沒有debian包而只有原始碼包.但是當這樣做時包管理系統會遇到麻煩.假如我們要編譯乙個新版本的郵件伺服器.一切順利,但是在debian系統上許多的軟體包要依賴mta mail transport agent ...

學習使用apt 二

4.1如何安裝本地預編譯包 equivs 有時也許我們會希望安裝乙個特定版本的程式,但是卻沒有debian包而只有原始碼包.但是當這樣做時包管理系統會遇到麻煩.假如我們要編譯乙個新版本的郵件伺服器.一切順利,但是在debian系統上許多的軟體包要依賴mta mail transport agent ...

學習使用apt 四

第六章 使用原始碼包 debian原始碼另乙個常見的用法就是從不穩定發行版中修正乙個新版本的程式以適應穩定版.編譯乙個相對穩定版本的軟體包將會建立一些與當前版本中可獲得的軟體包相匹配依賴關係的deb包.要完成這樣的工作,在我們的 etc apt sources.list檔案中的deb src實體要指...