[ 上一页 ] [ 目录 ] [ 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