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


APT HOWTO(过时文档)
第 4 章 - 非常有用的助手


4.1 如何安装本地编译的软件包:equivs

有时,人们想要使用特定版本的程序,但该程序仅以源代码形式提供,没有 Debian 软件包。但是,在执行此操作时,软件包管理系统可能会成为问题。假设您想要编译新版本的电子邮件服务器。一切都很好,但 Debian 中的许多软件包都依赖于 MTA(邮件传输代理)。由于您安装的是自己编译的东西,因此软件包管理系统对此一无所知。

这就是 equivs 发挥作用的地方。要使用它,请安装同名的软件包。Equivs 创建一个空的软件包,以满足依赖关系,使软件包系统相信依赖关系已得到满足。

在我们开始之前,有必要提醒您,对于已经为 Debian 打包的程序,有更安全的方法可以使用不同的选项进行编译,并且如果您不知道自己在做什么,则不应使用 equivs 来替换依赖项。有关更多信息,请参见第 6 章,使用源代码包部分。

让我们继续 MTA 的示例,您刚刚安装了新编译的 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'.
     
     The package has been created.
     Attention, the package has been created in the current directory,

并安装生成的 .deb

正如您所看到的,equivs 有多种用途。例如,甚至可以创建一个 my-favorites 软件包,它依赖于您通常安装的程序。尽情发挥您的想象力,但请务必小心。

重要的是要注意,/usr/share/doc/equivs/examples 中有示例控制文件。请查看它们。


4.2 删除未使用的语言环境文件:localepurge

许多 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(过时文档)

1.8.11 - 2005 年 8 月

Gustavo Noronha Silva kov@debian.org