`

Ubunt和Debian下的man文档阅读工具

阅读更多

原帖作者:carlos
第一集、 帮我整理系统文档的龙兄鼠弟 ── dwww和dhelp
  诸位Linux爱用者肯定遇到这样的麻烦事:当您在操作Linux系统的过程中遇到一个问题,却找不相应文档,硬着头皮去论坛提问,又被一句“请先阅读《提问的智慧》”给打了回来。
  其实,在大部分Debian系统里已经有了很多文档可供阅读,比如HOWTO和各软件自带的说明,man和info,当然还有GNOME/KDE的帮
助文档等。尽管Debian已经是最符合FHS规范的系统,但这些文档在系统中依然是分散放置,别说是阅读,光是要找到他们都相当不容易。
  好在早就有DD注意到这个问题,于是开发了一套Debian文档管理系统。任何一个合格的的DD在维护自己的软件包时,都会将软件中的文档资料注册到
这套doc管理系统中。在用户这一端,Debian提供了dwww和dhelp这两个文档分类查询阅读系统,可以通过浏览器来获得统一的集成阅读环境。
  先说dhelp,这是一个超轻量级的软件,仅仅是依赖于libc6、perl-modules、libdb3、debconf这四个非常底层的软件包。安装好以后,用浏览器访问
[url=file:///usr/share/doc/HTML/index.html]file:///usr/share/doc/HTML/index.html[/url]
,或直接在terminal中执行 dhelp 命令,即可看到一个文档分类界面(如图Fig.1)。

如果您的系统已经装有www server,也可以通过
http://localhost/doc/HTML/index.html
来访问这个页面。然后,我们就可以根据需要按分类一层一层的向下挖掘来找到所需的文档资料(仅仅是那些由DD注册过的文件)。但实际上,这个挖掘的过程依 然是很不友好和方便的,很难快速准确的进行定位,有时甚至会迷失方向。因此,我在安装时使用了 [color="blue"]apt-get install dhelp swish++ info2www man2html 。其中,swish++是一个简单的搜索引擎,后两个软件名很明显是将info和man资料即时转换成html以方便阅读。这样,一个简单的文档集成阅读系统就搭好了。
  相对于轻量级的dhelp,dwww就是重量级的老大哥了。与dhelp最大的区别就在于,dwww一定要依赖于www server,好在这年头,大家的机器性能都还不错,而Apache所占用的资源也并不多。要获得一个功能较完整的dwww系统,我的安装方法是 [color="blue"]apt-get install dwww info2www swish++ 。man2html就不需要了,dwww已经内置了这个功能。安装好以后,用浏览器访问
http://localhost/dwww/
即可,(截图见Fig.2),很明显可以感觉到老大哥要比dhelp小弟专业得多。

dwww不仅可以将文档按类别分层布置,也可以将所有文档集中在同一页面
中,这时咱们就可以直接在页面中使用浏览器的“Find”、“Find
Next”进行简单快捷的搜索。另外,虽然dwww与dhelp一样都是使用swish++作搜索引擎,dwww的搜索能力还是要比dhelp高很多,不
但可以处理文档和标题和简介,甚至可以对文章内容进行有效的搜索。
  当然,dwww作为老大哥还有自己的一样绝活,那就是可以跟dpkg-www进行配合,在浏览器中查阅软件包的状况(界面类似于dselect),如
果开放了一定的权限,用户甚至可以在浏览器中安装和卸载软件。怎么样,这下够牛吧!跟以往一样,安装还是那条超简单命令:[color="blue"]apt-get install dpkg-www dlocate 。dlocate是用来加速dpkg搜索用的软件。安装过程中会有些简单的问题,一般来说不建议开放安装和卸载软件的权限,这实在是太危险了。安装完成后,就可以通过dwww界面下方的搜索选项对软件包进行查询喽。
  dpkg-www本身也是一个独立的软件。访问
http://localhost/cgi-bin/dpkg
您就可以见到一个熟悉的界面(见图Fig.3)。

点击一下软件名,还可以看到类似于dselect界面的软件简介、依赖关系、维护人等内容(其中很多都是
可以继续点击的超链接哟,这可比dselect/synaptic/aptitude要方便多了),在这之后,还显示有这个软件包内的文件列表,如果其中
的文件是文本、HTML、info、man的话,也可以点击之,并在浏览器内直接阅读。(见图Fig.4)

  对了,谈了半天文档的管理,还要提一下文档的安装。怎么,这难道还有什么好说的?对了,Debian采用的是micro
package系统,也就是说常常会把一个软件拆分成好几个软件包。就拿Qt3举个例子吧,你知道在Debian系统中Qt3被拆成了多少个包吗?答案可
能会让你非常非常吃惊,数数下面有多少吧: qt3-qtconfig libqt3c102-odbc qt3-designer
libqt3c102-mt-mysql qt3-assistant qt3-apps-dev qt3-dev-tools
libqt3-i18n libqt3-dev libqt3c102 libqt3c102-mysql
qt3-dev-tools-embedded qt3-linguist libqt3c102-psql libqt3-mt-dev
qt3-dev-tools-compat libqt3c102-mt libqt3-headers libqt3c102-mt-odbc
libqt3c102-mt-psql qt3-doc libqt3-compat-headers
qt3-examples。其中还不乏互相冲突的包呢。言归正传,正因为这个micro
package,一个软件xxx的文档很有可能并不在xxx这个软件包中,而在另外一个叫xxx-doc的软件包中,上面的Qt3就是一个好例子,还有
grub/grub-doc也是这样。当然,具体情况还要具体分析,还请各位多看看软件包的说明。
  除了各软件自身的说明文档外,Debian系统中还有一些综合性的文档可供安装,比如HOWTO等。我在下面列举一些特别值得安装的,大家也可以看看Section: doc下的软件包名。
doc-linux-html - Linux HOWTOs and FAQs in HTML format
doc-linux-nonfree-html - Linux HOWTOs in HTML format (non-free)
doc-linux-zh-s - Linux HOWTOs and mini-HOWTOs in Simplified Chinese in HTML
debian-reference-en - Debian system administration guide, English original
debian-reference-zh-cn - Debian system administration guide, Chinese(CN) translation
debian-zh-faq-s - Debian Chinese FAQ (Chinese GB)
developers-reference - guidelines and information for Debian developers
linuxcookbook - Tips and techniques to help the busy modern computer user
lskb - Linux Security Knowledge Base Document
maint-guide - Debian New Maintainers' Guide
maint-guide-zh - Chinese (simplified) translation of Debian New Maintainers' Guide
newbiedoc - Documentation by and for newbies
sysadmin-guide - The Linux System Administrators' Guide
lg-issue??? - 自创刊以来所有的Linux Gazette(Linux公报)
  还要说说dhelp/dwww的缺点和问题。一、一旦跟www
server和cgi-bin搭上了边,在阅读一些被gzip压缩过的中文文档时会出现乱码,幸好这类文件不多;二、搜索功能还是偏弱,连关键词的顺序都
有可能会极大影响到搜索结果;三、没能很好的与GNOME/KDE的帮助系统进行整合。
  另外,还要提一下,专门用于GNOME开发的帮助软件devhelp。安装方法是 [color="blue"]apt-get install devhelp-books 。这个跟dwww/dhelp无关,直接运行devhelp就好。
  怎么样,有了我介绍的这几个软件,各位是不是可以对系统中的文档“心中有数”了呢?我一直都是把dwww放在Mozilla-Firebird的工具栏里,方便我随时查阅文档(尤其是Debian Reference,感谢LYOO兄),生活已经离不开她了。 ;-)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics