[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 下一页 ]
有时,人们想要使用特定版本的程序,但该程序仅以源代码形式提供,没有 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
中有示例控制文件。请查看它们。
许多 Debian 用户只使用一种语言环境。例如,巴西 Debian 用户通常一直使用 pt_BR 语言环境,而不在乎 es 语言环境。
localepurge
对于这些用户来说是一个非常有用的工具。您可以通过只保留您真正使用的语言环境来释放大量空间。只需 apt-get install localepurge。
配置它非常容易,debconf 问题会引导用户逐步配置。但请务必小心回答第一个问题,错误的答案可能会删除所有语言环境文件,甚至包括您正在使用的文件。恢复这些文件的唯一方法是重新安装提供它们的所有软件包。
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 月kov@debian.org