[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 下一頁 ]


APT HOWTO (Obsolete Documentation)
第 4 章 - 幾個非常有用的工具


4.1 如何安裝本地編譯的套裝軟體:equivs

有時,使用者想使用某些軟體的特殊版本,它們只以來源程式碼的形式存在,沒有現成 的Debian套裝軟體。套裝軟體管理系統在處理這類事務時可能會出問題。假設你想編 譯新版本的信件伺服器,所有的事情都很正常,但是Debian中的很多套裝軟體是依 賴於MTA(信件傳輸代理)的。由於你是自己手動編譯安裝軟體,套裝軟體管理系統 對此一無所知。

現在是equivs登台的時候了。用它來安裝套裝軟體,它所做 的工作就是建立一個新的空套裝軟體來實作關聯,讓套裝軟體管理系統相信所有的依 賴關係都可以滿足。

在我們開始以前,我必須提醒你,編譯某個軟體最安全的方法是對該軟體現有 的Debian套裝軟體進行修改後重新編譯,如果你並不知道你正在干什麼,勸你不要使 用equivs取代關聯包。更多資訊請參考來源碼包操作, 第 6 章

繼續上面的例子,你安裝好了新編譯的postfix,接下來打算安裝 mutt。突然你發現mutt想安裝另外一 個MTA,但實際上你已經有了你的MTA。

前往某個目錄(例如/tmp)執行:

      # equivs-control name

name取代為你建立的控制檔案,控制檔案按如下格式建立:

      Section: misc
      Priority: optional
      Standards-Version: 3.0.1
      
      Package: <enter package name; defaults to equivs-dummy>
      Version: <enter version here; defaults to 1.0>
      Maintainer: <your name and email address; defaults to username>
      Pre-Depends: <packages>
      Depends: <packages>
      Recommends: <packages>
      Suggests: <package>
      Provides: <(virtual)package>
      Architecture: all
      Copyright: <copyright file; defaults to GPL2>
      Changelog: <changelog file; defaults to a generic changelog>
      Readme: <README.Debian file; defaults to a generic one>
      Extra-Files: <additional files for the doc directory, comma-separated>
      Description: <short description; defaults to some wise words>
       long description and info
       .
       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,不過我更愿意使用系統的虛擬包方 案,使用Provides選項。

現在你可以開始組建套裝軟體了:

      # equivs-build name
      dh_testdir
      touch build-stamp
      dh_testdir
      dh_testroot
      dh_clean -k
      # Add here commands to install the package into 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
      dpkg-deb: building package `name' in `../name_1.0_all.deb'.
      
      套裝軟體已經被建立了,注意,套裝軟體是建立在目前目錄中的。

然後安裝這個.deb檔案。

眾所周知,equivs的使用方式很多,譬如你可以建立一個my-favorites套裝軟體,它依賴於你通常安裝的套裝軟體。盡情發揮你的想像力吧,當然還是要小心。

重要提示:在/usr/share/doc/equivs/examples目錄下有控制檔案 的例子,最好看一下。


4.2 移除無用的地區組態(locale)檔案:localepurge

許多Debian使用者只有在固定地區使用Debian。例如,在巴西的Debian使用者,通常使 用pt_BR地區組態檔案而不會關心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

[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 下一頁 ]


APT HOWTO (Obsolete Documentation)

1.8.10.4 - 2005年3月

Gustavo Noronha Silva kov@debian.org

劉浩 iamlyoo@163.com