apt howto
第四章 幾個非常有用的工具
4.1 如何安裝本地編譯的軟體包:equivs
***********************************=
有時,使用者想使用某些軟體的特殊版本,它們只以源**的形式存在,沒有現成的debian軟體包。軟體包管理系統在處理這類事務時可能會出問題。假設你想編譯新版本的郵件伺服器,編譯、安裝一切正常,然而,軟體包管理系統並不知道你在系統中安裝了自己編譯的東西,在debian中許多基於mta(mail transport agent 郵件傳輸**)的軟體包也不知道這些。
現在是equivs登台的時候了。用它來安裝軟體包,它所做的工作就是建立乙個新的空軟體包來實現關聯,讓軟體包管理系統相信關聯實現了。
在我們開始以前,我必須提醒你,編譯某個軟體最安全的方法是對該軟體現有的debian軟體包進行修改後重新編譯,如果你並不知道你正在幹什麼,勸你不要使用equivs替換關聯包。更多資訊請參閱 第六章 原始碼包操作。
繼續上面的例子,你安裝好了新編譯的postfix,接下來打算安裝mutt,突然你發現mutt想與另乙個mta建立關聯,而你想讓它使用你剛安裝的新mta。
轉到某個目錄(例如/tmp)執行:
# equivs-control name
將name替換為你建立的管理檔案(control file),管理檔案按如下格式建立:
section: misc
priority: optional
standards-version: 3.0.1
package:
version:
maintainer:
pre-depends:
depends:
re***mends:
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共用的乙個虛擬包(virtual package),我可以簡單地將這個軟體包命名為mail-transport-agent,不過我更願意使用系統的虛擬包方案,使用provides 選項。
現在你可以開始建立軟體包了:
# equivs-build name
dh_testdir
touch build-stamp
dh_testdir
dh_testroot
dh_clean -k
# add here ***mands to install the package into debian/tmp.
touch install-stamp
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_***press
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-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,
然後安裝這個新建立的.deb。
眾所周知,equivs的用法很多,它甚至可以幫你為那些常用軟體的底層關聯包建立個性化版本。盡情發揮你的想像力吧,不過要小心。
4.2 移除無用的locale files檔案:localepurge
****************************************===
許多debian使用者僅在固定地區使用debian。例如,在巴西的debian使用者,通常使用pt_br地區配置檔案(locale file)而不會關心es地區配置檔案。
對於這類使用者而言localepurge是乙個非常有用的工具,你可以僅保留你當前所用的地區配置檔案,刪除其它無用的檔案,從而釋放大量硬碟空間。執行apt-get install localepurge就行了。
它配置起來非常容易,debconf的提問將引導使用者一步一步完成設定。在回答第乙個問題時請務必謹慎,如果回答錯了,系統可能刪掉所有的地區配置檔案,包括你正在使用的這個。復原它們的唯一方法就是重灌那些軟體包。
4.3 如何知曉哪些軟體包可以公升級
******************************
apt-show-versions工具可以告訴你系統中哪些包可以更新以及其它一些有用的資訊。-u選項可以顯示可更新軟體包列表:
$ apt-show-versions -u
libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
第四章 繼承
一 為什麼要繼承 在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類 其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法 二 繼承語法 inte ce circle nsobject 繼承是在介面中定義的 冒號後的類名是要整合的類,nsobject 是co...
第四章 物件
三個特性 身份 型別 值 每個物件都有唯一的身份來標識自己,使用內建函式id 得到。例子 usr bin env python coding utf 8 a 32 print a b a print id a id b 結果 d python27 python.exe e workp python ...
第四章 其他
sizeof和strlen 區別sizeof以位元組為單位給出資料的大小,strlen 函式以字元為單位給出字串的長度。使用strlen 函式要加 include標頭檔案。sizeof計算字元時會將標誌字串結束的不可見的空字元計算在內。定義符號常量 方法一 define name value 優點 ...