LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3503|回复: 1

Debian APT HOWTO 第四章 几个非常有用的工具

[复制链接]
发表于 2003-1-27 12:08:19 | 显示全部楼层 |阅读模式
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: <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, commaseperated>
    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共用的一个虚拟包(virtual package),我可以简单地将这个软件包命名为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的用法很多,它甚至可以帮你为那些常用软件的底层关联包创建个性化版本。尽情发挥你的想像力吧,不过要小心。

重要提示:管理文件(control files)的样例文件在/usr/share/doc/equivs/examples目录下。



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

====================================
APT HOWTO

1.8.2 - November 2002
Gustavo Noronha Silva kov@debian.org
中文翻译:LYOO iamlyoo@163.com
          2003/01/25
====================================
发表于 2003-1-27 12:10:04 | 显示全部楼层
这一章一直没有看得很明白
这下好了

感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表