首页 > Linux技术, 我读我书 > Linux系统管理技术手册习题实践

Linux系统管理技术手册习题实践

2009年11月23日 wgzhao 发表评论 阅读评论

以前看《Linux系统管理手册》(以下简称LAH)电子版的时候,没有太注意每章后面的习题。现在买来印刷版看后,觉得这些习题有必要做一做,特别那些标有4颗星的,据说能作为整个学期的作业来完成,这不由得让我想起了《计算机程序设计艺术》艺术有关习题的介绍,不过那个太难了,都是偏向理论性的知识。这本LAH的习题偏向实践一些,应该相对来说容易做到吧。

本来想看看网络上有谁已经做了这个工作,这样就不用重复劳动,或者说可以作为一个参考了。但是google一番,没有找到。

那看来只能依靠自己了,我打算在两个不同系统上来实践这些习题,以为我电脑上刚好有这样两套不同的系统,一个为基于DEB包的ubuntu 9.10(也许以后会更新),另外一个就是基于RPM包的RedFlag Asianux Server 3.0 SP1。如果答案中没有特别说明发行版本,就表示这个答案对两个系统都适合,否则会指出。为了方便,以后把debian/ubuntu简称为D系统,RedFlag 简称为R系统。对SuSe,mandriva,gentoo,archlinux等接触的很少。所以就不能兼顾这些了。

ok,少说多做,先从第一章开始:

E1.1 了解系统调用sync(不是sync命令)应该使用什么命令?应该怎样阅读保存在/usr/local/share/man中的sync本地手册页?

A: 这个主要是要了解man命令的一些基本概念和配置。一般情况下,man手册的第2节保存的是系统调用和内核出错代码。而第8节保存的是系统管理命令,因此要了解sync系统调用,需要使用man 2 sync指令,如果是man 8 sync 则表示系统命令。

第二个问题,我的理解应该还是考察man分节的概念,而不是man配置文件的概念,因为下一个题目就是考察man配置文件的问题。所以这里,我觉得答案应该是man 7 sync。

具体的Linux man手册分节及内容列表如下:

节 内容
1    用户级命令和应用程序
2    系统调用和内核出错代码
3    库调用
4   设备驱动和网络协议
5    标准文件格式
6    游戏和演示
7    各种文件和文档
8    系统管理命令
9   少见隐秘的内核规范和接口
E1.2  在您的站点上,有一个系统级的配置文件控制man的行为吗?如果想要在/doc/man中保存本地的文档,应该在这个文件里加入哪些行?必须在/doc/man中使用什么样的目录结构来让它成为man手册页层次结构中的一部分?

A: 对R系统,配置文件是/etc/man.config,对D系统,配置文件是/etc/manpath.config。这个配置里定义了man默认的搜索路径,如果要加入自己定义的路径,则需要在该配置文件里加入对应的目录。格式如下:

MANPATH /doc/man

man目录采取通常采取manX目录格式,X是1~9的数字,或者是字幕l或n。所以如果要在/doc/man下保存本地文档,需要创建man{1..9}目录,然后把文档存放到对应的目录里。

E1.3 man和info的区别是什么?他们各自有什么优点?

A:个人使用man的频率远大于info,而且似乎目前大部分程序都提供了man手册,但不一定提供了info手册。除了那些有历史原因或者比较古老的程序外。另外,大部分情况下,我接触到的是,man手册内容和info内容基本一致。有的时候我找man手册发现太简单,想了解更详细的内容,结果发现对应的info手册也会非常的简单。

所以,从我个人的角度来看,我没有发现他们之间的区别,当然浏览方式上的区别除外。另外相比man,info看不到优势。

或者,这类似vim和emacs的争论吗?

google man和info的区别,能获得一些答案,大家可以移步到这个链接

♥ E1.4  Linux内核当前的发展状态如何?热点问题是什么?关键人物都有谁?项目是怎样进行管理的?

A:目前内核最新稳定版本是2.6.31,2.6.32已经出RC8了,相信很快就release了。我关注的热点问题,目前主要是虚拟化这块。如果是桌面方面的话,图形驱动是我关心的。其他更多的信息,可以从官方站点了解到。

♥ E1.5 研究几种Linux发行版本,为下列每种应用推荐一个发行版本。解释做出选择的理由。

  • 在家办公的单个用户
  • 大学的计算机科学实验室
  • 企业的web服务器

A:这个问题,恐怕十个人做有十个答案,因为不存在所以的标准的,唯一的,权威的答案,而在乎那种对你的环境适合。就我个人目前使用而言。

对于在家办公的单个用户,使用Ubuntu就很好,可能还有一些人会选择Fedora。不管选择哪个,我想大概它需要满足一些基本的桌面条件:首先就是对新硬件要支持得好,这也就意味着内核,程序的版本都会比较新。另外就是软件的安装,更新要方便。其次就是支持的应用程序较多。

对于计算机科学实验室,显然稳定和高效是最需要考虑的,那么各企业发行的企业版应该都能满足需求,特别是那些针对高性能计算有过优化的系统。这里推荐RHEL和Asianux Server。

WEB服务器嘛,企业版都能胜任,目前都有其图形化的配置工具。但是需要考虑到这个版本的生命力,还有就是技术支持,这个很重要!

♥ E1.6 假设您发现了在Fedora Core  5 提供的文中说明中说明的Apache httpd的某些功能并不可行。

  1. 在报告这个bug之前,您应该做什么?
  2. 如果认定这是一个bug,那么您应该通知谁?怎样通知?
  3. 要让bug报告有用处的话,它必须包含什么信息?

A:这应该算是开发人员经常遇到的问题了,对于系统管理员而言,可能要少一些。发现功能不可用,当然是首先需要确认这个问题是否可重现,在当前机器能否重现,其他机器呢?是否是别的程序的影响?这些都要排除。如果确认了,最好是先去网络上搜索一番,看看别人是否遇到了同样的问题,是否已经有解决方案。去官方站点的bugzilla上看看是否有对应的描述,是否有解决方案。

如果很不幸,你是一个发现,那么就可以去官方站点的bugzilla上提交你遇到的问题,一般提交的时候,会告诉你要提交哪些信息,甚至有的是提供一个脚本程序用来收集必要的信息,然后提交。

原创文章,转载请注明: 转载自Linux|系统管理|WEB开发

本文链接地址: Linux系统管理技术手册习题实践

分类: Linux技术, 我读我书 标签: , ,
  1. Colin
    2009年11月23日11:58 | #1

    nice 我来监督你 哈哈

    回复回复
  2. liu
    2009年11月24日17:10 | #2

    太强悍了。。。 基本上就第6题我有把握 :-)

    回复回复
  3. 2009年11月24日17:17 | #3

    @liu
    我这也是一家之言,呵呵

    回复回复
  4. wf
    2009年11月26日23:37 | #4

    支持, 几天没看订阅的文章, 就错过了这么好的一系列文章的沙发, 太不应该了… 呵呵, 顺便问一句, 前面坐沙发的colin是谁?

    回复回复
  5. 2009年11月27日11:12 | #5

    @wf
    不认识,呵呵。

    回复回复
  6. Matt
    2010年2月24日15:50 | #6

    第一个问题的第二小问:
    $man sync -M /usr/local/share/man

    回复回复
  7. 2010年2月24日21:54 | #7

    @Matt
    我明白你的意思了,看来我们考虑的角度不同,不过我觉得你的更有道理,谢谢!

    回复回复
  1. 本文目前尚无任何 trackbacks 和 pingbacks.