全部博文(1144)
分类: LINUX
2006-02-07 17:52:17
一份不可多得的Linux 网管资料A
转载自 中国开源世界
dsj注:可能有些过时,但很经典和详尽的资料。
Linux 网管 123 --- 1. 前言 2. 简介
第1章. 前言
目录
请求协助
可以在以下网址 ;找到更多
有关 SGML格式的工具之相关资讯
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Copyright Information and Legal Disclaimers
Copyright (C) 1997-1999 by Steve Frampton. This material may be distributed only subject
to the terms and conditions set forth in the Open Publication License, v0.4 or later (the
latest version is presently available at ).
I've written this documentation and am providing it free to the Linux community as a
public-service. I have made every attempt to ensure that the information contained herein
is timely, accurate, and helpful, but in no way will I be held liable for any damage(s)
caused directly or indirectly by any misinformation contained herein.
I will not appreciate being flamed for any errors or omissions. However, if you notice a
glaring inaccuracy, or have suggestions for further improvement, please, let me know. However,
please check the version number and date of this document (see the table of contents) to ensure
you are looking at the most recent version. If this document is more than three months old,
please check the Linux Documentation Project home page at ;in case
a newer version is available.
This document, currently, should be considered moderate-beta. I began writing it in 1997, and
continue to update it as time permits. Development in the Open Source community continues at a
rapid pace, and at times it is a challenge to keep this document up to date. As such, this
document may have one or more sections which contain obsolete information.
In short, I make no guarantees for any of this information to be correct. If it helps you out,
that's great!
译:为避免误解作者原意,本页内容以原文之英文版本为准,中译部分供对照之用。
版权资讯及法律上的拒绝承诺
版权(C) 1997-1999 属 Steve Frampton 所有。本文内容只限於以 Open Publication License v0.4 或以
後版本为前提的情况下才可以被散。(目前最新的版本位於 )。
我写好的这份文件免费提供给 Linux 社群作为公益事业。我已经一切可能以确保这里的资讯即时,正确,
及有帮助,但我绝不对任何因为这里的错误资讯所造成的直接或间接损害负责。
我不希望受到任何因为错误或疏漏所造成的恶言侮辱。然而如果您发现明显的错误,或者有进一步改善的建议,
请让我知道。然而,请确定这份文件的版本和日期(查看目录)以确保您所看到的是最新版本。如果这份文件已
经旧了三个月以上,请查看位於 的 Linux 文件发展计划网页是否有较新的版本。
这份文件,在目前应该被视为修正的试用版。我从1997年开始撰写,并且当时间允许的话持续更新它。在开放
来源社群中持续发展的步调很快,而且维持这份文件持续更新是项挑战。因此,这份文件中可能有一些或更多
部分包含了已废弃的内容。
总之,我不保所有这些资料都是正确的。如果它帮您解决了问题,那很好 !
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
请求协助
如果您觉得这份文件很有用并且想表示您的赏的话,请考虑捐献一些食物到本地的食物银行吧。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
第2章. 简介
目录
内容围
选择一个 Linux 发行版
Linux 2.2.0, released 25-Jan-99: 向统治世界前进...
或许您对 Linux 感到陌生,想寻找关於组态及管理一类工作的指南。 如果这好像正就是您,也许这份文件就是您所需要的 !
内容围
这份文件试着概述安装和组态,以及每日应该遵照的管理及维护程序,以保持一个以 Linux 为基础的伺服器或桌上型系统持续运作。这对企业或家庭用户的读者一样适合。这里并非试图对 Unix 作业系统作完整的浏览。同样的,当需要更详细的资讯时,有很多很好的线上文件可供参考。
大致说来, 您的 Linux 系统可以在最少使用者的维护下运作。 至於例行工作,像是循环及丢弃系统的 log,是自动地进行。因此,在大部分情况,即使使用者很少介入,Linux 仍会独立进行工作。然而在某些状况下,像是自订功能或系统故障时这份文件会明很有用。
我目前在家中和工作地方都使用 Linux 。 它为我工作得很好, 并且已经在我工作的地方当作可靠的 Internet 及档案/列印服务超过四年了。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
选择一个 Linux 发行版
有很多的 Linux 发行版可供选择。每一个发行版都提供相同的基本 Linux 核心和系统工具,但有不同的安装方法和内附应用软体。每一个发行版有他们的优点和缺点,所以在选择一个发行版之前花点时间研究他们有哪些特点是明智的。
下面是一些您可以看看的网页,那里有一些关於 Linux 发行版的描述,及有关如何购买或下载的资讯 :
;
Red Hat 发行版,来自商业的厂商 Red Hat 软体有限公司,是最受欢迎的版本之一。具有以图形及文字为基础的安装过程, Red Hat 6.1 可能是最容易安装的 Linux 发行版。它经由``RPM''公用程式提供了容易的升级和套件管理,以及包含了 GNU Network Object Model Environment (GNOME) 和 ``K Desktop Environment'' (KDE),这都是最受欢迎的的 X Window 系统 GUI 视窗管理程式。 这个发行版适用於 Intel, Alpha, 及 Sparc 各平台
;
Debian 发行版,来自非营利性组织的“ Debian 计划”,是开放来源社群的宠儿。它也透过``dpkg''公用程式提供了容易的升级和套件管理。这个发行版适用於 Intel, Alpha, Sparc, 及 Motorola (Macintosh, Amiga, Atari) 各平台
;
S.u.S.E. 发行版,来自商业的厂商 S.u.S.E.,是另一个受欢迎的版本,在欧洲是主流的发行版。它包含了 ``K Desktop Environment'' (KDE),也透过``YaST''公用程式提供了容易的升级和套件管理。这个发行版适用 Intel 及 Alpha 平台
;
OpenLinux 发行版,来自商业的厂商 Caldera,主要针对企业用户。在新的 OpenLinux 2.2 版, Caldera 造就了似乎是目前最容易安装的 Linux 发行版。此外,它内附 ``K Desktop Environment'' (KDE)。这个版本只适用 Intel 平台
;
Mandrake 发行版,来自商业的厂商 MandrakeSoft S.A.,结合了 Red Hat 或 Debian 发行版 (随您选择),比原来的发行版多了额外的加值软体套件 。
;
Slackware 发行版,来自Walnut Creek Software 的 Patrick Volkerding,是现代 Linux 发行版的鼻祖。提供相当简单的安装过程, 但很简陋的升级和套件管理。仍然以 libc librarie 为基础,但下一个版本可能迁移到新的 glibc。推荐给较有技术或对 Linux 较熟悉的使用者。这一个发行版只适用於 Intel 平台。
列出所有的发行版超出本文所讨论的围,所以我列出较常见的。然而,更多有关可用的发行版的资讯可以在 ``Distribution-HOWTO'' 指南中找到,位於 ;
小技巧: 如果您决定购买发行版的 CD-ROM,您可能可以从转售者那里得到较好的价钱(例如我已经对几笔和在 Internet 上的软体商 所做的交易感到相当满意)。或是,您可能希望付给发行商较高的价钱以确保他们持续地改良。
我选择的发行版是 Red Hat Linux (这也是偶然发生的,不容争议,它是 Linux 使用者中最普遍的发行版)。几乎有三年,我是 Slackware 狂热的死忠者(在以前核心0.90a那个时代,我在来自 tsx-11的小发行版上鬼混过一段时间),虽然我过去尝试过 Red Hat,我从未能说服我自己对他们的发行版说句好话。 然後,我试了 Red Hat 5.1,并且发现我很快改变了信仰 ! 依我之见,因为有 5.1, Red Hat 终於 “作对事了”。
因为一些原因,包括容易安装,多平台支援(到目前为止,Red Hat 是唯一提供 Intel, Alpha,及 Solaris 平台发行版的厂商),以及最重要的RPM套件管理程式,我已经变成 Red Hat 发行版的爱好者。此外,当有更新档出现,他们做成 RPM 放在他们的 FTP 站 (位於 ) ,这是保持系统更新,扫除任何 bug 或安全问题的好地方。
虽然第一次安装 Red Hat 5.1 是在一部用於测试的电脑上,我已经转换我的两个主 Internet 档案及列印伺服器从 Slackware 到 Red Hat ,并且尚未感到後悔。我也装在家里的系统,并且安装在其他三个系统作为轻负荷的伺服器,我不只有机会试试 Intel-based 的版本,也包括 Alpha- 和 Sparc-based 的版本。最近,我已经将我负责的 Linux 系统都移到 Red Hat 6.1。
因此,这份文件上绝对有 Red Hat 的“感觉”,而且更符合 Intel-based 6.1 版。然而,我希望这份文件的大部分资讯对其他发行版的使用者也会有用。
Linux 网管 123 --- 第3章. 概观 Linux
目录
什麽是 Linux?
打破迷思
一个使用者的观点
什麽是 Linux?
Linux 是在很多不同平台上运作的真正32位元作业系统 ,包括 Intel, Sparc, Alpha, 及 Power-PC
(在某些平台中,像是 Alpha,Linux 事实上是64位元)。 其他还有一些,但我对他们没有任何经验。
Linux 最早发展於 1990 年代早期, 一个芬兰当时正在大学的年轻的学生叫做 Linus Torvalds。
Linus 在家里有一台当时“最顶级”的 386 的机器,并且决定写一个可以在 286机器上运作的 Minix
系统 (很小很像 unix, 主要用来运作 systems classes),为了在当时新奇的晶片上使用更多的指令集,
开始写一个很小的基础核心.
终於他在 USENET 新闻组 comp.os.minix 上面宣它的小计划,寻求有兴趣的人看看,可能的话加入这
个计划。 结果出现了 !
Linux 有趣的是,它完全可以自由使用 ! Linus 决定采纳自由软体基金会的 GNU Copyleft license ,
意思是程式码由版权保护 -- 但是所保护的必须永远可以让人使用。
free 指的是自由 - 可以自由获得,自由使用, 并可以自由贩售获利 (这不像听起来的那样奇怪 ; 一
些组织,包含 Red Hat,已经包装标准 Linux 核心,收集 GNU 公用程式,并加入有他们自己“特色”
的应用程式,然後以发行版的方式贩卖它。一些常见且受欢迎的发行版是 Slackware, Red Hat, SuSe,
及 Debian)! 最棒的是, 您可以接触原始码表示您可以依照自己需求设置自己的作业系统,而这不是大
部分商业厂商的 “市场目标”。
Linux 可以并且应该被认定为是一个完善的 unix 应用环境。 然而,它不应称作 “Unix”; 并非因为缺
乏功能而不相容, 而是因为“Unix”这个字是由AT&T所拥有的册商标, 只有版权允许才能使用这个字。
Linux 支援了每一部份, 像是可靠性,可以像其他任何作业系统一样生存 (依我之见,不仅此而已!)。然而 ,
因为它的来源, 隐藏的哲学, 并且缺乏上百万元的市场竞争推广,有很多关於它的迷思。人们还要多多学
习这个很棒的 OS !
--------------------------------------------------------------------------------
打破迷思
我已经用了 Linux 好几年,而且我喜欢这麽想:既然我懂得一点作业系统,而哪些是它可以哪些是它不
能办到的。我是一个热忱的 USENET 读者,我跟随着最新的发展,当然口舌之争一定会有的 (交叉投寄的
可恶拥护者 ! )。我发现我要分享的这些迷思 (常被称为 FUD -- “害怕, 不确定,及怀疑”,看来是
商业技术厂商用来吓唬他们的市场以防止技术竞争的普遍策略) 不仅只几个人相信。 所以,容我提出几个
常见到的迷思,而且试着去打破他们.
Linux 是免费软体,因此,它是个玩具。
有些人看来有这种观念,因为一段软体是由在心中没有利益为动机的志愿者所撰写,结果一定很明白地会
比商业等级所提供者为差。
过去这可能是事实(我所指的是,在 DOS 及早期的 Windows 系统有很多免费软体绝对是垃圾),但这在最
近一定不是事实。
Internet 的力量使得将全球最聪明的头脑结合在一起变成可能,允许在他们在有兴趣的项目上合作。来自
不同背景的人们致力於发展 Linux 及成千的 GNU 公用程式和应用软体套件,他们每一个人都有愿意贡献
的不同理由。
有些是中坚的骇客,纯粹因为喜欢写程式码而发展它,有些因为需要某些东西 (例如,一个 LAN 的网路流
通量监视器)而决定自己写,其他则是需要 Linux 进行研究的学术人员和电脑科学家。
不像商业软体,所提供的是已经发展好後贩售的套件,对於终端用户不提供原始码。Linux 的原始码已经由
有兴趣及有能力的任何人详细检查过,除错过,而且改良过。这个注视的动作是 Linux 始终提供高可靠度及
高性能表现的原因之一。
不要忘了 : Internet 本身就几乎就是独地建立及运作在开放来源计划下。您每天和别人交换的电子邮件
有 80% 的机会至少有一端是由 Sendmail 所处理的,当您 “网上浪” 时所浏览的网页在世界上有超过
50% 是由 Apache 所伺服的。对您而言够可靠了吧 ?
Linux 没有支援
听到这个虚构的事使我感到心。“其他的”造商真的提供了支援吗 ? 我有关於非常知名的商业作业系统
的个人经验,造商所谓的“支援” 完全无效。
首先, Linux 真的有支援。是的,商业化的支援。有些公司您愿意付多少钱他们就提供多少支援 ; 提供电话
及电子邮件支援,很多还直接到府上处理问题!
然而, 99% 您在 Linux 上会遇到的状况,只要您可以很轻易地得到解答,就可以解决您的问题。这可以在
USENET 上轻易地完成,或从很多有用的邮寄列表 !
我从未遇到无法找到解决方法的问题,可以在 ;上面寻找,或在 comp.os.linux.*
上之一的新闻群组询问。正常的话我可以在寄出的三到十二个小时之内收到关於任何支援内容的解答。
Linux 另一个有趣的观点是,既然整个核心及作业系统大部分其他元件的原始码都是公开的,关键性的支援问
题像是安全,拒绝的服务,或 CPU 的缺陷 (像是 Intel 的 F00F 的问题) 可以很快的搜寻到及解决 -- 通常
对於重大的状况会比商业提供者所提供的相似或相同问题解决方案来得快。所以,商业性的支援在哪里呢 !?
我还可以揭穿其他数不尽的东西,但那超出这份文件的围。然而,为了揭穿更多迷思,请查看
“Linux Myth Dispeller” 位於 ;以及
“The Linux FUDfactor FAQ” 位在 ;
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
一个使用者的观点
我在家中和公司中都使用 Linux 。
在我工作的地方,我们使用 Linux 提供给几百个使用者的 Internet 服务。这些服务包括 TACACS
(数据机拨接使用者) 认,网页伺服和代理快取,还有 SMTP 和 POP 服务。此外,我们使用 Linux
提供 NFS 服务,使用 Samba套件,而且同时提供及挂载 SMB 协定 (WfW/Win95/WinNT)
的档案列印及传真服务。
在家里,我使用 Linux 在个人需求上,像是 Internet 服务,软体研发,当然还有玩游戏 (看 Quake
II 在 Linux 视窗中执行真是美丽啊)! 有一件 Linux 让我很喜欢的事就是,不论我如何打击它,它就是
不崩溃 ! 这也是我学习,发展,及维护 Unix 技巧的很好途径。
我使用 Red Hat 6.1 Linux 发行版 (参考 ;更多有关讯息). 这个发行版包含了
完善的 unix系统所需的所有软体 -- shell,编译器及解译器,网路支援,及 X Window 系统,及更多
Internet 服务 (例如. Mail, news, web server, telnet,等)。这个发行版内附标准的 Linux 核心是
2.2.12.
在我工作的地方,我们以 Linux 为基础的系统用来提供主要的 Internet 服务,其配置如下:
Kernel: 2.2.12
Machine: Pentium II @ 300 MHz (bogo-mips 299.83) with PCI-bus, 256 Mb RAM
one 3 Gb Fujitsu IDE hard drive (/dev/hda)
four 4.4 Gb Quantum Fireball SCSI hard drives (/dev/sd0 through /dev/sd3),
24x speed SCSI CD-ROM (/dev/scd0),
Adaptec AHA-131 SCSI controller
HP SCSI DAT tape drive (/dev/st0 and /dev/nst0),
Intel EtherExpress Pro 10/100 Ethernet card
我们还有第二系统-- 是个更好的 Intel 机器 -- 也是使用 Red Hat 5.2,在另一个办公地点运作。它藉
由 Samba 提供网路档案及列印服务,藉由 Squid 提供区域网页快取,以及次要 DNS 服务。不幸地,这部
机器在距离我常办公的地方50公远,因此有更多工作得靠它自己了-- 目前为止这部机器令我高兴及感到
光荣 ! 这里是一些规格:
Kernel: 2.2.12
Machine: Pentium II @ 350 MHz (bogo-mips 349.80) with PCI-bus, 256 Mb RAM
one 4.1 Gb Quantum Fireball SCSI hard drive (/dev/sda)
four 9.4 Gb Quantum Fireball SCSI hard drives (/dev/rd/c0d0, /dev/rd/c0d1) as hardware RAID level 5 array,
36x speed SCSI CD-ROM (/dev/scd0),
BusLogic BT-948 SCSI controller
Mylex AcceleRAID 250 (DAC960) RAID controller,
HP SCSI DAT tape drive (/dev/st0 and /dev/nst0),
Intel EtherExpress Pro 10/100 Ethernetcard
有着难以置信超过 24 Gb的可用储存空间,将多馀的空间组态为硬体 RAID5 阵列是一种谦卑的感觉。 Mylex RAID 控制器
运作良好,而且我毫不犹豫地推荐给那些正在找寻硬体 RAID 解决方案的人! (如果您对组态您的 Linux 系统 RAID 阵列
感到兴趣的话,参考 第11章,使用 RAID 的高效益一节 更详细的资料)
在这里我们还有四部 Linux 系统; 一部 Alpha, 一部 Sparc, 两部 Intel 机器; 其中两部用於生产,因此在家中那是我
的个人空间,但是我不会让细节厌烦您.
这份文件企图可能让硬体保持独立,但是如果您知道我从何得到它们,还有考虑哪些硬体对您可能有所帮助。
Linux 网管 123 --- 第4章. 安装及硬体组态 - 1.建立一张安装磁片
这一章会详述安装 Red Hat 6.1 到一部 Intel 系统的过程 ; 不论您选择图形或文字介面,其安装过程
很相似。虽然更多的这些资讯已经在 Red Hat 使用者指南中详细说明 (在“正式的”盒装中提供的印
说明手册,包含在其CD中的 ``/doc'' 下。也可以在
上得到)。然而,有些东西
我认为是在 Red Hat 指南中缺少的, 因此我试图将这些项目解释得更仔细。
建立一张安装磁片
要将 Red Hat 的 Linux 发行版本带进您的电脑的第一个步骤, 您需要找到一个启动安装程式的方法。
常见的方法是做一片安装磁片,如果您从 CD-ROM 安装,而且您系统的 BIOS支援,您应该可以直接用 CD
的安装程式启动。
要不然, 建立一片安装磁片, 您需要将 ``boot.img'' (这只是一个 ext2-格式的映像档,附带起动程式
的 Linux 启动磁片) 到一片磁片上。 ``boot.img'' 档可以从 Red Hat CD-ROM 上的/images 目录里
找到, 或者经由 FTP下载,在 ;,位於 /pub/redhat/redhat-6.1/i386/images 的
目录下 (假定您打算安装 Linux 在 Intel 的机器上)。
您可以从 DOS 或 视窗系统下建立启动磁片, 或从已存在的 Linux 或 Unix 系统。 关於您的目的磁片,
您可以选择未格式化或已格式化 ( DOS 格式) 磁片 -- 并无不同
在 DOS 中: 假定您的 CD-ROM 位於 D: , 您可以键入:
d:
cd \images
..\dosutils\rawrite
对於 source file 键入 ``boot.img'', 对於 destination file 键入 ``a:'' (假定您要用的磁片位於
A: 磁碟机)。 ``rawrite'' 程式会将 ``boot.img'' 档拷进磁片。
在 Linux/Unix 中: 假定 ``boot.img'' 档位在目前目录下 (您可能需要先挂载在 CD-ROM 在 /mnt/cdrom 下,
并且在 /mnt/cdrom/images 下找到档案),您可以键入:
dd if=boot.img of=/dev/fd0
``dd'' 公用程式将会拷贝, 它的输入档也是 ``boot.img'' 档 ,输出到 /dev/fd0 (假定您的磁碟机可以在
/dev/fd0 存取)。
除非您的 Linux 或 Unix 系统允许写入磁碟机, 否则您可能需要用到 superuser 的密码。 (如果您知道
root 密码, 键入 ``su'' 变成 superuser, 执行 ``dd''指令, 然後键入 ``exit'' 回到一般使用者状态)。
不论您用以上何种方法, 您现在应该已经有了可启动的 Red Hat 6.1 安装磁片,您可以用它来安装您新的
Red Hat Linux 系统 !
Linux 网管 123 --- 第4章. 安装及硬体组态 - 2.启动 Linux 安装程式
要设定您新的 Red Hat 系统,可以从 CD 启动,或在系统的 A: 磁碟机插入启动磁片,重新开机或将电脑
的电源打开,过一下子, Red Hat 安装程式的画面应该出现。
大部分情况,您只要按下 就可以开始安装过程,但是如果您是个较有经验的使用者,而且确定知
道您需要设定哪些硬体装置,您可以键入 ``expert'' 可得到这些功能及更多资讯。 (如果您什麽都不作,
预设的安装程序会在安装画面出现後 10 到 15 秒启动。)
您将会被问到选择语言 (通常是英文 “English”) 以及键盘类别 (即使在加拿大我也选 “US 101-key”),
以及从哪里安装 (像是从 CD-ROM或是网路), Red Hat 对於从哪里安装很有弹性。
您应该可能选择 ``Local CDROM'' 从 Red Hat CD-ROM 安装(CD-ROM 应该放在光碟机中)。 然而,如果您的
系统未配有光碟机,您还有其他好几种安装方法可以选择。
如果您还有其他 Linux 系统 (或其他作业系统支援 NFS 档案挂载),您可以选择``NFS'' 从 NFS 挂载中安装。
要这样做的话,您必须将您的 CD-ROM 挂载在其他系统 (或其他有 Red Hat 发行版档案树状目录的系统 -- 可
由 FTP 下载全部档案到您另一部系统的硬碟里),确定您在 /etc/exports 档案中已经加入项目,允许新系统
可以存取合适的目录 (查看 第7章,网路档案系统 (NFS) 服务一节 关於如何设定及使用 NFS 的细节),然後
进到下一步。这里是简单的例:
在其他系统中插入 Red Hat CD (例如. 叫做 ``spock''的系统).
要挂载 CD 的话, 键入: mount /dev/cdrom /mnt/cdrom -t iso9660
如果是 superuser的话,编辑您的 ``/etc/exports'' 档并且加入一项像是: /mnt/cdrom newsys.mydomain.name(ro)
(这表示允许位於 newsys.mydomain.name 的新系统唯读存取 ``/mnt/cdrom/'' 及其下面的目录).
如果您的新系统尚未指定其网域名称,您可以改用其 IP address:
/mnt/cdrom 10.23.14.8(ro)
(假定您的新系统以 10.23.14.8 作为其 IP address).
再一次以 superuser 身分, 键入 : killall -HUP rpc.nfsd ; killall -HUP rpc.mountd
这会重新启动 NFS 及 mount daemon,这在您的 NFS 输出可以工作之前是必须的。
现在从您的新系统,您可以选择 ``NFS'' 做为安装来源。您会被要求提供您的网路卡资讯,以及您的 IP 设定。
如果您位於区域网路的话很可能会使用固定的 IP 设定,或是 DHCP 设定。如果,您的系统连接到缆线数据机。。
在您的新系统输入适当的资料。
您然後会被要求键入 NFS 伺服器名称及 Red Hat 目录。在例的这个系统,我们键入 ``spock'' 作为 NFS伺服
器名称,以及 ``/mnt/cdrom/'' 作为 Red Hat 目录。
还有其他安装 Red Hat 的方法。像是使用 Samba (Windows 型态的网路)连结,从在您硬碟上一个已存在的
partition (像是您的 DOS 或 Windows 95 partition) ,或透过 FTP。查看 Red Hat 使用手册更多有关这些安
装方法的细节,或直接去做 (其过程事实上不大困难 !)
一但您选择好安装的方法, Red Hat 会询问您想要安装“Install”或升级“Upgrade”您的系统。既然您是安装
新的系统,您应该选择安装“Install”。 (提外话,我从未从原有的系统升级新的发行版 -- 我猜想在遭受过
Microsoft 产品的这麽多问题後我变得不再相信所有系统的升级。我宁愿从头安装起,然後从备份简单地回存我的
个人及用户档案资料。)
安装程式会询问您是否有 SCSI 介面。如果您回答 yes,您会被要求选择合适的驱动程式。在某些状况, Red Hat
可以进行自动侦测。
下一步,您会被要求建立档案系统 (例如 .Linux 所用的 partition )。有两个工具程式可以用来建立这些 partition,
包括 Red Hat 提供的 “Disk Druid”,及标准的 Linux “/fdisk” 公用程式。
两个工具功能上都相似,让您指定 partition 的型态及大小。然而,Disk Druid 看起来更“使用者友善”,
且比 fdisk 更完整一些。事实上,如果您使用 fdisk来 partition 您的硬碟,最後还是会出现 Disk Druid
指定您的挂载点。说是这样,但做为前 Slackware 使用者,我个人都是使用 fdisk -- 是习惯吧,我猜 !
下一节将会详述您如何及为何设定您 partition 的资讯。
Linux 网管 123 --- 第4章. 安装及硬体组态 - 3.分割硬碟机
为什麽要分割 ? 虽然可能找得到在单 partition 的系统上运作相当正常的 Linux 系统,但事实上,
在您的储存媒体上分割成多个 partition 有很多好处,这样做可能更容易组态。
管 Linux 可以在只定义一个很大的磁碟上运作良好是个事实,但将您的硬碟分割成至少四个主要档案
系统(root, usr, home, and swap)有一些优点 。其中包括:
第一,这可以减少档案系统检查所需时间 (当紧接在开机之後和当进手动的 fsck时),因为这些检查可以
同步进行。(此外,千万不要 执行 fsck 在一个已挂载的档案系统!!! 您几乎可以确定会感到遗憾。一个
例外是如果档案系统被挂载成唯读,这样做就无害。) 同样的,在多重 partition的系统上进行档案系统
的检查更简单。例如,如果我知道我的 /home partition 有问题,我可以轻松地解挂载它,进行档案系统
检查,然後重新挂载这个已修好的档案系统 (如果不行的话也可以利用救援磁片,重新启动电脑进入单人
模式,然後进行修复)。
第二,有了多重 partition,如果您愿意的话,可以将您的一个或多个 partition 挂载成唯读。例如,
如果您决定在 /usr 下的所有东西即使是 root 也不能接触,您可以将 /usr partition 挂载成唯读。
最後,partition 提供的最重要好处是保护您的档案系统。如果一个档案系统出了问题 (不论是人为错误
或机器故障),在一个已分割的系统您可能失去单一档案系统中的档案。在一个未分割的系统,您可能在所
有的档案系统失去它。
这个小事实可以变成大效益。例如,如果您的 root partition 损坏了而您不能开机,您基本上可以从救
援磁片开机,挂载您的 root partition,然後从其他 partition 可能它 (或从备份中回存; 参考第
8 章有关您可以如何备份及回存档案的详细说明),像是从home, 然後使用紧急开机磁片再一次重新启动,
键入 “mount root=/dev/hda3” (假设包含您的临时 root 档案系统的 partition 是位於hda上的第三个
partition ) 然後完全启动您的 Linux 系统。然後您可以在您未挂载的损坏 root partition执行 fsck 。
我有关於档案系统灾变的个人经验,我很感激因为使用多重 partition 而使得损失有限。
最後,既然 Linux 允许您设置其他作业系统 (像是 Windows 95/98/NT, BeOS, 或其他您有的),然後双
重- (或是三重-, ...) 启动您的系统,为了这个好处您可能会想要设置其馀的 partition。典型地,您会想
要为每一个作业系统设置至少一个单独的 partition 。 Linux 包含了一个大方的 boot loader (在 Intel
为基础的系统叫做 LILO , 在 Alpha 上相同的东西叫做 MILO, Sparc 上叫做 SILO ) 它可以让您指定在开机
时要用哪一个作业系统启动,还有预设时间到时地预定启动您最喜欢的作业系统 (大概是 Linux, 是吧 ?)
您应该根据您的需要分割一部硬碟(或一组)。在我对 Intel,Alpha, 及 Sparc 等平台的经验,对於相当负
荷的系统,进行相当多的工作时(例如家中的桌上型系统,或是作为工作上的 Internet 伺服器),我发现下列
的估计值对於决定 partition 大小时相当实用。
Given:
一部磁碟机 X Mb/Gb (eg. 2 Gb)
(或是超过一部磁碟机其总和为 X Mb/Gb)
Calculate:
(swap) 大约是主记忆体的两倍 (eg. 64 Mb 系统有 128 Mb swap)
/ (root) 大约占可用空间 10% (eg. 200 Mb)
/home 大约占可用空间 20% (eg. 400 Mb)
/usr 占所有其馀空间 (eg. 1272 Mb)
/var (可选择 -- 参考下面)
/boot (可选择 -- 参考下面)
/archive (可选择 -- 参考下面)
当然, 上面只是估计的方案。 明显地您会按照您的 Linux 系统的用途而想要改变这些百分比。如果您想要
增加庞大的应用软体像是 WordPerfect 或 Netscape,或是增加对日文字型的支援,增加一些 /usr 空间的
大小可能有些好处。
我好像总是在 /home 里保留很多空间,所以果您的用户并未用得很多 (或是您严格控制 quota 大小),或您
没有提供 shell 帐号及个人网页等,您可以减少 /home 空间并且增加 /usr。
这里是有关各种挂载点及档案系统资料的描述,这可以给您有关如何依需求决定最佳 partition大小的较好
意见:
/ (root) - 用来存放像暂存档等东西,Linux 核心及启动影像档,重要的二进位档 (在 Linux 可以挂载到
/usr partition之前所需要的东西), 还有不重要的 log 档,印表伫列及外寄的 e-mail,及使用者收到的
e-mail。当进行重要动作时也被用来作为暂存区,例如当从原始RPM档建立 RPM 套件时。因此,如果您有很
多使用者及很多 e-mail,或考虑到您可能需要大量的暂存空间,您可能需要更多可用空间。这个 partition
应该使用预设值83 (Linux native)。此外,您可能将 boot flag 设定在这个 partition 以便将启动资讯放
在这里。
/usr/ -应该是最大的 partition, 因为 Linux 需要的大多数二进位档,像是安装的软体,网页,代理快取,
Samba 分享服务,有些安装软体的 log 档等等都放在这里。partition 型态应为预设值 83 (Linux native)。
/home/ -如果您没有提供 shell 帐号给用户,您不需要将这 partition 做得很大。除非您提供给用户摆放他
们的网页(像学校的网页),这样您就必须将这个 partition 设得大一点。再一次, partition型态应设定
为 83 (Linux native)。
(swap) - Linux 提供了所谓“虚拟记忆体”以建立比系统上实体记忆体更多的记忆体数量。 swap partition
和主记忆体一起被 Linux 使用以达到此目的。根据一般的原则,置换空间的大小至少应为系统上实体记忆体
的两倍。
如果您的系统中有不只一台实体硬碟,可以建立多重 swap partition。这样可以利用平行磁碟存取改善置换效
率。例如,在一 256 Mb 的系统有四台硬碟机,我可能建立四个 128 Mb swap partition,这有总共有 256 Mb RAM,
512 Mb 置换 (加起来总共有 768 Mb 可用的虚拟记忆体)。partition 型态要变更为 82 (Linux swap)。
注意: 有一个普遍的误解就是Linux有 128 Mb 置换大小的限制。过去这是事实,但新的 Linux 发行版本,其大
小决定於您的硬体架构(例如,Intel 硬体的置换大小可达 2 Gb)。键入 ``man mkswap'' 可以得到更多讯息。
/var/ (可选择) - 您可能打算考虑进一步划分您的 / (root) partition 。 将 /var 目录用来储存 runtime 是个
好主意,包括邮寄伫列 (外寄和收入的都是),列印工作,行程锁定等。将这个目录挂载在 / (root) 下面可能有一
点危险,因为所收到的大量 e-mail (举例)可能突然灌满 partition。当 / (root) partition 装满时坏事可能
发生 (例如. 系统崩溃 ?),让 /var 在他自己的 partition 里可以避免这个危险。我已经得到我分配给 / (root)
的任何空间,也许两倍,并且然後对 / (root) 及对 /var建立分别的 partition。 这个 partition 型态应该保留
预设值 83 (Linux native)。
/boot/ (可选择) - 在某些情况 (像是您的系统设定软体的 RAID 组态)必须有有独立的 partition 以便启动
Linux 系统。这个 partition 将允许启动,然後载入用来读取其他档案系统的驱动程式。这个 partition 的尺寸
可以小到几 Mb; 我建议大约 10 Mb (必须有充足空间存放核心,起始的 RAMdisk映像档,或许还有备份核心等)。
partition 型态应该保留为 83 (Linux native)。
/archive/ (选项) - 如果您还有多馀的空间,也许您还可以因为其他目录得到一些好处,例如 /archive。您可
以使用 /archive 目录存放备份的东西, 很大或不常用的档案,samba 档案服务,或其他您可以发现的用途。
partition 可以保留预设的 83 (Linux native),或是如果您想让 Linux 和其他作业系统一起使用它,您可以变
更它的 ID,像是 6 (DOS 16-bit >=32M).
当加入新的硬碟时,更多的 partition可以加入新的硬碟机,依需求挂载在各个挂载点 -- 意指 Linux 系统永远不
必担心空间用完。例如, 如果在以後sda6 快要用满了,我们可以加入另一个硬碟,於 /usr/local 大小合适的 partition
做一个挂载点 -- 然後将所有资料从 /usr/local 传送到新硬碟。系统或应用软体组件不会中断,因为 Linux 会看见
/usr/local ,不论它位在哪里。
为了给您一个别人可能怎样设定 partition 的例,我已经使用下面的分割方案在一部 Intel 的系统上 (双重开机,
Windows 95 和Linux):
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 254 1024096+ 6 DOS 16-bit >=32M
/dev/hda2 255 255 782 2128896 5 Extended
/dev/hda5 255 255 331 310432+ 83 Linux native
/dev/hda6 332 332 636 1229728+ 83 Linux native
/dev/hda7 637 637 749 455584+ 83 Linux native
/dev/hda8 750 750 782 133024+ 82 Linux swap
第一个 partition, /dev/hda1,是一个dos格式的档案系统,用来存放可供选择的作业系统 (Windows 95)。这给了
我 1 Gb 空间在作业系统上。
第二个 partition, /dev/hda2, 是一个实体的 partition (叫做 “extended”) 包含了硬碟上剩下的其馀空间。
这只是用来封装其馀的逻辑 partition(硬碟上可以有 4 个实体 partition ; 在我的例子中我需要超过 4 个 partition,
因此对於其馀的我必须使用逻辑 partition方案)。
从第三到第五个 partitions, /dev/hda5, /dev/hda6,及 /dev/hda7,全都是 e2fs-格式档案系统用在 / (root),
/usr,以及 /home partition。
最後,第六个 partition, /dev/hda8 用作 swap partition。
另一个例子,这一次是有两部硬碟的 Alpha的机器 (只有 Linux 单独开机),我已经选择下面两个分割方案 :
Device Boot Begin Start End Blocks Id System
/dev/sda1 1 1 1 2046 4 DOS 16-bit <32M
/dev/sda2 2 2 168 346859 83 Linux native
/dev/sda3 169 169 231 130851 82 Linux swap
/dev/sda4 232 232 1009 1615906 5 Extended
/dev/sda5 232 232 398 346828 83 Linux native
/dev/sda6 399 399 1009 1269016 83 Linux native
/dev/sdb1 1 1 509 2114355 83 Linux native
/dev/sdb2 510 510 1019 2118540 83 Linux native
第一个 partition, /dev/sda1,是一个储存 MILO boot loader的 DOS-格式的档案系统。Alpha 的平台和 Intel
的系统有一个不一样的启动方式,因此 Linux 存放 boot 资料在一个 FAT partition。这个 partition 在允许围
内可以可能的小 -- 在这里只有2Mb。
第二个 partition, /dev/sda2,是一个用在 / (root) partition的 e2fs 格式档案系统。
但三个 partition, /dev/sda3, 用来作 swap partition。
第四个 partition, /dev/sda4, 是一个 “extended” partition (前面的例子有更详尽的说明)。
第五及第六个 partition, /dev/sda5 及 /dev/sda6,是分别用在 /home 及 /usr partitions 的 e2fs 格式档案
系统。
第七个 partition, /dev/sdb1, 是用在 /archive partition的 e2fs 格式档案系统。
第八及最後的 partition,/dev/sdb2,是用在 /archive2 partitions 的 e2fs 格式档案系统。
在您设定好 partition 资料之後,需要将新的 partition 写进磁碟中。然後 Red Hat 安装程式重新载入 partition
table 到记忆体中,您就可以进行下一步的安装步骤。
Linux 网管 123 --- 第4章. 安装及硬体组态 - 4.设定Swap格式化Partition
设定 Swap 空间
一但您设定好 partition 资料,并且指定好“挂载点”(例如 . /usr 是 /usr 档案系统的挂载点),
安装程式会询问您哪个或哪些 partition 应该当作 swap 空间,既然您的 swap partition 应该已经确
认为 (partition ID # 82),可以按下 开始格式化这些 partition 作为 swap 之用。我建议您
enable“Check for bad blocks during format” 以确定这些 partition 没有潜在的损坏问题。这样做
实质上确实会减慢格式化速度,但我认为这是值得的。
--------------------------------------------------------------------------------
选择要进行格式化的 Partition
现在,安装程式会显示出一份您已经分配给 Linux 的 partition 列表, 并且要求您选择任何您想要格式
化成新的档案系统的 partition 。除非您是升级您的系统,或是可能有些资料 (例如. 在 /home) 您不
想失去,很可能,您会想把他们全都格式化。
再一次,我建议您 enable“Check for bad blocks during format”这个选项。
Linux 网管 123 --- 第4章. 安装及硬体组态 - 5.选择想要安装的套件
下一步,您会看到一份系统组件的列表,并且被要求指定哪些套件应该被安装。如果您是一位有经验
的 Linux 使用者,可以根据您的需求挑选,如果您对 Linux 很陌生的话,最好选择底部的选项,
“Everything”(所有的东西 )。
我常做的是选择我知道将会需要的组件,然後 enable “Select individual packages”(选择个别套件)
选项,这可以让我更仔细地控制整个安装过程。
一但您选好了想要安装的组件,选择“Ok” 就可以开始安装。 如果您已经 enable 了“Select individual packages”,
您会被要求个别地选择将要安装的套件。这十分的明确,并且如果您对所选择的套件用途没有把握的话,可以按下
键得到有关其用途的简介。
不要担心选错了一个或两个套件 (或是没有选到)。毕竟,所有的套件都在您的 CD-ROM 里(或其他来源媒介),所以您
可以在您的系统设定好能运作之後,使用方便的 Red Hat RPM 公用程式作调整 (查看 第10章,使用 Red Hat 套件管理
程式 (RPM) 一节 有关细节)。
在您选好想要安装的套件之後,安装程式会将您定义好的 partition 格式化。可能会花上几分钟,特别是当您的
partition 很大或您 enable 了 bad block 检查,所以不要以为在这个过程您的系统当机了!
在完成格式化以後,Red Hat Linux 会开始安装您选好的套件,完成它需要花上五到十五分钟,依您的系统速度而定。
Linux 网管 123 --- 第4章. 安装及硬体组态 - 6.硬体组态
在套件安装好之後,Red Hat 将会开始组态您系统上的装置。在大部分情况,除非有很新的硬体可能
Linux 无法完全支援,否则安装程式可以正常地进行自动组态。
您会看到的提示相当明确:
侦测您的滑鼠 (包括选择 2键及3键型式。如果您有 2 键滑鼠您可能需要选择 3 键模拟)
侦测您的显示卡
选择您的显示器
执行 ``XConfigurator'' 以组态 X Window 系统 (您可能需要“Probe”(侦测) 您的显示卡。如果在
这里出现错误,不要担心,因为您可以在您的系统完成运作之後,再进行X的组态,; 查看 第五章 相关细节.)
选择影像模式 (您可以选择预设值,或是您可以调整您想在 X Window 系统下使用的影像模式)
组态区域网路
组态时钟和时区
启动的服务 (预设的选择可能是最好的,但是再一次,您可以按下 得到有关所选择服务的介绍)
组态印表机
分配 root 密码 (选一个安全的 !)
作一片启动磁片 [ 不要懒惰 ! 作一片吧 !
Linux 网管 123 --- 第4章. 安装及硬体组态 - 7.从 LILO 启动
下一步,启动程式需要写入一个 boot loader 到您的硬碟中。如果您将您的系统设定为多重开机 (查看 和
其他作业系统的多重开机 一节 有关细节) ,boot loader (在 Intel系统上叫做 LILO ) 负责自其他作业
系统中启动 Linux 。
“Lilo Installation”(安装 lilo ) 交谈框将会询问您应该写入哪一个 boot loader 映像档。您可能要安
装在您第一部硬碟(对 IDE而言通常是 /dev/hda,对 SCSI 则是 /dev/sda ) 的 master boot record (mbr)上 .
一但您选好要写入 boot loader 的位置後,第二个交谈框会出现,允许您输入额外的启动时组态参数。通常您
不需要在这里输入任何东西,但是如果您有超过 64 Mb的RAM您将会需要输入一个特别参数,以便让 Linux 使用
额外的 RAM (否则只会用到第一个 64 Mb)。例如,如果您的系统有 128 Mb 的 RAM, 您应该输入:
append="mem=128M"
如果您的系统有 SCSI 硬碟机,或是您希望将 LILO 安装到超过1023 cylinder的 partition上,也许需要
enable“Use linear mode”这个选项。如果没有的话,enable这个选项也不会造成任何损伤,所以这样做可能
是个好主意。
和其他作业系统的多重开机
最後,如果您将 Linux和其他作业系统一起设定为多重开机,您会见到第三个对话框列出所有的 partition。
在这里,您可以分配名称给您的其他作业系统 (在开机“LILO” 出现提示时,您输入用来启动所想要的作业系统)。
安装程式会分配名称给每一个可以启动的 partition,所以除非您不喜欢预设值,否则不需要去更动他。
在系统开机时预设将用来启动的作业系统,当然,是 Linux。然而如果您愿意的话,您可以变更预设值到任何一个
其他已定义的作业系统。
在安装 boot loader 到硬碟之後,安装程式应该会出现一个恭喜“Congratulations”的对话框,表示 Linux 已
经成功的安装好了。将磁片移出 (如果有的话),然後按下 重新启动系统...进入 Linux!
Linux 将会启动,并且如果一切正常的话您会看见“login”这个提示。在这里,您应该可以用您安装时指定的密
码以“root”身分登入。
Linux 网管 123 --- 第4章. 安装及硬体组态 - 8.下载及安装 Red Hat 更新程式
到目前为止,Red Hat 已经生产出一些相当令人印象深刻的发行版本。但从过去看来,当他们已经不
是在“黄金时段”才会被释出。为了得到您 Linux 系统的最佳表现,下载及使用更新套件是必要的。
这些套件,也叫做“rpm 档 ”是配合 RPM 公用程式使用 (关於这个公用程式的细节, 查看 第10章,
使用 Red Hat 套件管理程式 (RPM) 一节) 。
这将明是将您 Linux 系统准备好最花时间的部分之一 (除非您有很快的 Internet 连线)。然而花
时间去做这些事是值得的 !
首先,从这里下载所有档案:
;
(在这里假定您使用 Linux 在一部 Intel 的机器上).
您应该下载所有档案到同一目录内,然後可以简单地键入 : ``rpm -Uvh *'' 。这样做会更新所有的套
件。如果您下载了任何的核心 rpm 档,您目前应该把他们移动到另一个目录。升级或订您的核心比较
困难一点,而且要更加仔细去做(查看 第10章,Linux 核心的升级 有关细节)。因此当您进行升级时,
可能要考虑将所有的 kernel-*.rpm 档从您升级的暂时目录中移出。
要进行升级时,您可以同时对所有的套件执行 ``rpm'' (ie. “rpm -Uvh *”),或是愿意的话,也可以
一次一个进行升级 (即.“rpm -Uvh file_to_upgrade.rpm”)。後者的方法我们可以用来确定每一个升级
进行正确无误.
也许您在升级之前对於某个已安装的套件感到好奇想要看看。或是也许想要查看某个已安装套件的版本。
这些全都可以利用 RPM 公用程式完成 ; 查看 第10章,使用 Red Hat 套件管理程式 (RPM) 一节 相关细节。
Linux 网管 123 --- 第5章. 组态 X Window 系统 -1.使用 X-Configurator
X Window 系统,又称作 “X” (常被很多人误解为“X-Windows”) 是一个 Linux 上的 GUI。和微软的视窗并
不一样,X Window 系统看起来及运作起来有很多不同点。它可以很基本或很先进地运作,可以看起来很漂亮或
很丑陋,很快或很慢 (其中每一样都是主观性质并且在很多使者之间引起像是“Linux 对 Microsoft NT”这
类争议)。
要让 X 正常工作其围可以从很简单到很杂 ! 在 Linux 的新使用者中常常被抱怨,而且我自己本身也已经和
组态设定奋战过无数次了,所以我可以完全理解。幸运地,在新的 Linux 发行版中这类组态已经变得更简单及更
自动化。事实上,如果您正在使用 Red Hat 6.1 您可能不需要担心这个问题。
虽然在大多数的情况中 X 可以自动地组态,但有些是例外 ; 我会建议您先了解或是察明显示卡的形式及系统所
安装显示记忆体的数量,以及显示器的形式和水平及垂直扫描频率 (这些资料通常在显示器的使用手册上可以查
到,或是可以在 WWW 上找到)。
使用 X-Configurator 让 X Window 系统运作
要让 X 运作在 Red Hat 的发行版的下有两种主要的方法。第一种也是最简单的方法,是使用 Red Hat 自己的
``Xconfigurator'' 公用程式。这个公用程式会尝试去侦测硬体并且用适当的组态设定来安装合适的 X 软体。
如果您在 Xconfigurator 中尝试各种设定後仍然不成功的话,不仿试试 ``xf86config'' 这个工具软体,管其
介面无疑地不如 Xconfigurator 那麽友善或吸引人,但它可以让您控制组态过程中的更多细节。
最後,如果您手气仍然不佳的话,可能需要透过手动编辑 ``/etc/X11/XF86Config'' 这个档案变动各种设定。如
果这是事实的话,您可能需要从 Linux 社群寻求协助 (查看 第13章,在哪里可以得到帮助 一节 有关细节)。但
是,放轻松,在大部分情况中 Xconfigurator 可以胜任工作 !
在让 X 正常运作後,您可能会对色彩不够丰富而感到失望。这是因为 X 预设每画素色阶为 8位元
8-bit per pixel (``bpp'')。您可以使用较高的色阶,但是,前题是您的硬体可以支援。
各种色阶列在 ``/etc/X11/XF86Config'' 这个档中,并且看起来像这个样子 :
Subsection "Display"
Depth 24
Modes "800x600" "1024x768"
ViewPort 0 0
Virtual 1024 768
EndSubsection
上列片段显示出当使用 24位元色阶时所有可能使用的解析度 (800x600 及 1024x768,列在“Modes”之後) ; 这些
解析度可以使用 及 键作“即时”切换 。
小技巧:因为这个缘故,当 X 启动时会使用最低解析度。如果您和我一样不喜欢这个性质,只要编辑
``/etc/X11/XF86Config'' 这个档并且将解析度反过来 (亦即.“1024x768” “800x600”).
当您都设定好後,可以键入``startx -- -bpp 24'' (使用 24位元色阶) 手动测试每一个色阶并且确定 X可以在您想
要的色阶下正常工作.)
如果您可以成功地使用一个较高的色阶,并且您希望作为预设值, 您需要作一个像下面的
``/etc/X11/xinit/xserverrc'' 档:
exec X :0 -bpp 24
上述的改变会允许 X 使用 24 bits per pixel (如果您遇到困难,试试 16 或 32 以取代 24)
假使您已经正确地组态 X ,任何使用者只要键入 ``startx'' 就可以开始, X GUI 将会启动,并且当您结束您的
session 并且离开 X ,您将会返回一般的 Linux 主控台。
或者,X 会随着开机而启动,并且一直执行 (查看使用 X 桌面管理程式 一节 有关如何达成的相关资讯)。这对於那
些不喜欢黑白且无味的主控台的使用者,或是那些想可能避免处理命令列 shell 的人而言是很便利的。
Linux 网管 123 --- 第5章. 组态 X Window 系统 -2.使用 X 桌面管理程式
如果愿意的话, 可以在系统开机时利用 X 桌面管理程式 (``xdm'') 自动启动 X Window 系统。这样作可以让您
的系统一直处在 X 之下运作 (您仍然可以从 GUI 利用-- 切换到一般的主控台,必要的话也可
以用- 回到 GUI)。这样做是提供您使用者一个友善且吸引人的环境的好办法,且可以避免常常需要键
入 ``startx''。
要 enable xdm,只要编辑 ``/etc/inittab'' 档并且变更“id:3:initdefault:”这一行成下面这个样子:
id:5:initdefault:
上述的改变将会使 Linux 在启动时切换到 run level 5 ; 这一个 run level 根据预设值会启动 xdm。您也可以
查看``/etc/inittab'' 这个档案,可能位於底部的地方,确定有下面这一行:
x:5:respawn:/usr/bin/X11/xdm -nodaemon
如果您已经 enable xdm 且希望使用一个比预设值 8 较高的 ``bpp'' 值 (当然您的显示卡及萤幕也要支援才行),
您需要将``/etc/X11/xdm/Xservers'' 改变成像下面着个样子:
:0 local /usr/X11R6/bin/X -bpp 24
上面的更动会启动 xdm 为每像素 24 位元.
您可能需要利用``#'' 符号编辑 ``/etc/X11/xdm/Xsetup_0'' 档,依下例在 ``xbanner'' 这行之前记:
#/usr/X11R6/bin/xbanner
这可以避免预设的 xdm 标题画面将 KDE session之间分开。
小技巧: 有时您会发现需要切换到主控台 (例如,有些在主控台而不是 X 下的游戏)。要这麽做有两个方法,
要暂时从 X 切换到主控台,按, 。要从 X 切回来,按 。或是您想完全终止 X (将您的
记忆体空出 ),您可以“root”身分键入``/sbin/telinit 3'' 切换系统的 run-level;这通知 XDM 终止。要
切换回来时,键入 ``/sbin/telinit 5''。
Linux 网管 123 --- 第5章. 组态 X Window 系统 -3.改善X下的字型
坦白说 , X 从未因有特别吸引人的字型而知名。事实上,很多人顺从相信这些看来难看且心的字型
是在 X 生涯中不幸的事实。
幸运地,这些外表可以戏剧化的改善,并且在 X下增加很多您可以使用的字型。事实上,如果您手上有
Window,您也可以将那些 TrueType 字型到您的 X 下使用 ! 这些字型的支援是透过 ``xfstt'' 或
``xfs''之类的 server 所完成。
Red Hat 6.1 现在内建对 ``xfs'' 支援, 结果提供了十分吸引人的字型支援。因此,如果您使用这版的
Linux,您应该对这些感到满意。然而, 还有一些您可以进一步改善的东西,以及使用您现有的 TrueType
字型。
要 enable TrueType 字型支援,首先建立一个目录 (例如. ``/usr/local/share/ttfonts'') ,从您的
Windows 系统中将字型 (可以在``c:\windows\fonts'' 目录下找到)到新目录下。
小技巧: 如果您手上没有任何 TrueType 字型, 您可以直接从 Microsoft 下载,位於
. ;
要使用这些字型,从您的 ``ttfonts'' 目录内,键入 (以 root 身分):
ttmkfdir -o fonts.scale
mkfontdir
下一步,编辑 ``/etc/X11/fs/config'' 档,将您新的字型目录加入到原有的目录列表内。以及,将
default-point-size 从 120 改到 140,可以提供您更大更易读的字型。
最後,离开 X (如果您还没这样做),依下例重新启动您的 xfs server :
/etc/rc.d/init.d/xfs restart
最後,重新启动 X 并且享受您的漂亮新字型 !
有关改善在 X 下字型支援的进一步资讯,有一个很棒的来源叫做
``XFree86 Font Deuglification Mini HOW-TO'' ,位在 .
Linux 网管 123 --- 第5章. 组态 X Window 系统 -4.选择 X 的视窗管理程式
现在您应该选择一个视窗管理程式, X Window 系统是一个可以在您的硬体上显示图形的简单环境 ;
视窗管理程式负责您的 X 外观,以及您如何和您的应用程式达成互动。
Red Hat 的 Linux 发行版内含几种视窗管理程式,包括 fvwm, olvm, twm, AfterStep, 以及其他的。
您第一次启动 X 时可能看到的预设选项是 fvwm95,一个像 Win95的环境。
就个人来说,我觉得一般的不合我的品味,而且我推荐使用 GNOME 或 KDE (或者两个都用 !),
其安装在後面两部分解说。
Linux 网管 123 --- 第5章. 组态 X Window 系统 -5.GNOME 安装及组态
GNU 网路物件模组环境 (GNU Network Object Model Environment GNOME) 是一个强化您 X window 环境的
视窗环境。它是全功能,包括很多您可能会发现很有用的选项。然而,在写这份文件的时候,GNOME 仍有一
点小 bug,表示您可能必须处在偶尔不正常的情况下。然而,它很稳定且绝对可用 !
如果您使用 Red Hat 6.1,最新版的 GNOME (至少在写这份文章时是最新版!) 包含在发行版本中。要不然,
您必须下载最新的 RPM 套件。在写这份文件时,Red Hat 6.0 的 i386系统 RPM 档可以在下面位址找到
;(或从其对映站)。
注意: 如果您使用 Red Hat 6.0,您应该注意里面所附送的 GNOME 是个有很大问题的版本。您应该从上述
的位址下载最新版的 RPM档。
当您拿到所有必备的档案後,GNOME 套件可以用很间单的指令安装,以“root”身分键入:
rpm -Uvh gtk*.rpm *.rpm
(上述的指令确定 GTK 函式库已经先安装,避免发生附属的错误)。
和一般人所想的相反,GNOME 事实上不是视窗管理程式,但已经取代於其上变成最被喜欢的一个,并提供额外的
功能。因此,一但您安装了 GNOME,您应该要选择想要使用的视窗管理程式,并且在启动 GNOME 及载入应用程
式的目录下建立一个 ``.xinitrc'' 档。这个档案看起来应该是这个样子:
afterstep &
exec gnome-session
上面的档案会载入 AfterStep 作为视窗管理程式,并且在上面启动 GNOME。
有关 GNU Network Object Model Environment的更多资讯可以在 GNOME 网页 上找到。
不要忘了查看萤幕快照画面,位在
Linux 网管 123 --- 第5章. 组态 X Window 系统 -6.KDE 的安装及组态
K 桌面套件 (K Desktop Package KDE) 是另一个受欢迎的视窗管理程式,在写这份文件的时候还比 GNOME
更稍微成熟一些。 然而它似乎比 GNOME 需要更多的记忆体,所以考虑一下您的系统上有多少可用的 RAM
(如果您的 RAM少於 64 Mb 及 128 Mb 的 swap,您可能选择 GNOME 较好)。
安装 KDE 的第一步是下载最新的 RPM 发行版套件。要进行时,从 ;找一
个 FTP 对映站,试着选一个离你地理位置较近的对映站,但确定您选的那个是常常更新的(可以从对应站的目
录列表中找寻决定)。
当您找到合适的对映站之後,下载所有适合您的系统平台及Red Hat版本的 RPM 档。例如,如果您使用 Red Hat 5.2
(或以上版本) 在一部 Intel的机器上,您可能会从一个FTP对应站上的
``/pub/mirrors/kde/stable/latest/distribution/rpm/RedHat-5.2/i386/'' 目录下载套件。
在您获得所有档案之後,可以利用下列的简单指令安装 KDE 套件,以“root”身分登入 (确定您位於和所有的
KDE rpm 档同一个目录):
rpm -Uvh qt*.rpm
install-kde-1.1-base
上面的指令会先安装 Qt 函式馆,然後再安装 KDE 基本套件。一但完成,您应该先登出( log off)然後再重新
登入 (或是您已经 ``su' 成 root, 只要离开然後重新 ``su'') 这样您的环境就设定好了,然後键入:
install-kde-1.1-apps
上面的指令会安装应用程式。
以上的安装过程在您下载的KDE档内所附的 ``readme-redhat-rpms.txt'' 档案中有更详细的解说。
如果一切正常,并且 KDE 在没有任何错误发生下安装好,必要的话您可以组态 KDE ,成为所有使用者的预设视
窗管理程式 (在键入 ``startx'' 後会立即看到),以“root”身分,照着下述键入:
/opt/kde/bin/usekde userid
(请确定将 userid 换成真正的使用者 id!)
更多有关 K 桌面环境的资讯可以在 KDE 网页 上找到。不要忘了看看萤幕快照,位在
.
Linux 网管 123 --- 第6章. 一般系统管理问题 -1.Root 帐号
“root”帐号在 Unix 系统中是有最大特权的帐号。 这个帐号给予您管理整个系统的权利,
包括增加帐号,变更使用者密码,检视 log档, 安装软体等。
当使用这个帐号时应可能小心。“root”帐号没有加上安全限制。这表示进行管理工作时比较
不麻烦。然而,系统假设您知道您很了解所做的事, 并且确实依您的要求进行 -- 不会提出询问。
因此很容易因为误打指令,而清除掉重要的系统档案。
当您以“root”身分登入或代理时, shell 的提示以 '#' 作为最後一个符号(如果您使用 bash)。
这用来警告您这个帐号的绝对权力。
基本的原则是, 除非必要否则绝对不要使用“root”帐号。 当使用“root”时,小心地键入指令
并且在按下return 之前再一次确认。当您完成所需的工作之後尽快登出“root”帐号。最後,
(每一个帐号都是,但这一个特别重要),妥善保管密码 !
Linux 网管 123 --- 第6章. 一般系统管理问题 -2.建立使用者帐号
(警告 : 这里以 SLACKWARE 为主,RED HAT 需要更新)
这个部分假设您在您的 Linux 系统上使用 Slackware Shadow password 套件。如果不是的话,您应该
考虑去做,因为它可以强化安全。Shadow 套件非常容易安装,而且会自动转换您的非 shadow 密码档格
式成为新的 shadow 格式。
要建立使用者帐号有两种方法。第一种是真正地建立帐号本身,第二种是用化名提供他们的 e-mail 位址
(在我工作的地方,我们定为”)
要建立帐号时,选择您想分配给用户的使用者名称。使用者名称通常是 8 位元长,不论如何,您应该选
择他们的 first name 或者 last name,以及当帐号已经存在时要加上的前置元 (adduser script 将会
侦测并且防止您加入重的帐号)。
您会被提示要加入其他资料: 使用者全名,使用者群组 (通常是预设值),一个使用者 id # (自动分配 ),
home 目录 (自动分配),一个使用者 shell,, 一些密码期限值,以及最後想要的密码 (不会出现在萤幕上 ;
因为安全因素您应该要求使用者选择密码 6 到 8 个字元长)。
请注意所有键入的资料都是小写,除了是使用者键入全名 (例如. Joe Smith) 及密码。大小写是不同的,
所以要告知使用者当键入使用者姓名及密码时必须使用相同大小写。
这里是一个加入一个名叫 Joe Smith 使用者帐号的例:
mail:~# /sbin/adduser
User to add (^C to quit): smith
That name is in use, choose another.
User to add (^C to quit): smithj
Editing information for new user [smithj]
Full Name: Joe Smith
GID [100]:
Checking for an available UID after 500
First unused uid is 859
UID [859]:
Home Directory [/home/smithj]:
Shell [/bin/bash]:
Min. Password Change Days [0]:
Max. Password Change Days [30]: 90
Password Warning Days [15]:
Days after Password Expiry for Account Locking [10]: 0
Password [smithj]: FL1539
Retype Password:
Uid: 859 Gid: 100
Min pass: 0 maX pass: 99999
Warn pass: 7 Lock account: 0
public home Directory: no
Type 'y' if this is correct, 'q' to cancel and quit the program,
or the letter of the item you wish to change: Y
下一个步骤是建立使用者 e-mail 帐号化名。 这让使用者可以使用帐号名称或他们的全名
(First.Last 的组合)作为他们的 e-mail 位址,使得外界的人第一次和他们接触时“较容易” 猜测他们
的 e-mail 位址。
要加入 e-mail 化名时,依下述编辑 ``/etc/aliases'' 档:
mail# pico -w /etc/aliases
在档案底部加入新的化名,化名的格式是:
First.Lastname:username
您应该询问使用者他们的偏好 (例如. Joseph.Smith 或 Joe.Smith)。对我们的新使用者 Joe Smith,
加入的一行应该像这样子:
Joe.Smith:smith
当完成加入化名後,按 - 并且存档。然後键入 ``newaliases'' 更新化名资料库。
在此时使用者帐号已经建好并且准备使用。 提醒使用者使用小写作为使用者名称及密码,以及它们的
e-mail 位址将是什麽样子 (例如. )是个好主意。
Linux 网管 123 --- 第6章. 一般系统管理问题 -3.变更使用者密码
当要代表使用者变更密码时,首先登入或“su”到“root”帐号。然後键入, ``passwd user''
(user 是要变更密码的使用者姓名)。系统会提示您键入使用者密码。当键入时密码不会回应在萤幕上。
您也可以变更自己的密码, 键入 ``passwd'' (不要指定使用者姓名)。您会被提示键入确认密码,
然後键入新密码。
Linux 网管 123 --- 第6章. 一般系统管理问题 -4.关闭删除使用者帐号
关闭使用者帐号
要关闭使用者帐号时,以 root 身分编辑 ``/etc/shadow'' 档 (假设您使用 shadow password; 如果不是的话,改由编辑 ``/etc/passwd'' 档),使用一个``*'' 星号取代密码 (以加密格式储存) 。 所有 Unix 密码,无论长短(最大8位元),以13字元长的加密字串格式储存在密码档。 因此,将密码以单一 ``*'' 号取代,使用者就无法签入。
注意:使用这种方法後,当您再次启用帐号时需要分配新的密码给使用者,因为加密过的密码栏已被取代。系统管理者常用来解决的一个方法是只加入 ``*'' 星号字首於加密过的密码前以停止该帐号,然後只要移去该符号就可以再次启用。
关於 ``/etc/passwd'' 及 ``/etc/shadow'' 档的进一步资讯,查阅下面 Linux 密码及 Shadow 档案格式 一节 。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
删除使用者帐号
偶尔,您可能想从伺服器上完全删除一个使用者帐号。
如果您是 Red Hat 使用者, 删除不必要的使用者帐号的最简单方法是使用 ``userdel'' 指令, 必须使用 ``root''身分。 举例如下:
/usr/sbin/userdel baduser
上述的指令会从``/etc/passwd'' 档中删除符合 ``baduser ''的使用者名称, 并且如果您使用 Shadow password 格式(您应该是 ; 查看 Linux 密码及 Shadow 档案格式 一节 有关详情),就是``/etc/shadow''.
注意: ``/etc/group'' 并未变更,以避免删除群组中其他使用者帐号。这没什麽大不了, 但若影响使用,您可以编辑群组档案并且手动删除该项目。
如果您希望同时删除使用者的 home 目录,可以加上 ``-r'' 选项於 ``userdel'' 指令, 例如 :
/usr/sbin/userdel -r baduser
我建议先不要马上删除使用者帐号,只要先关闭它,特别是当您在一部有很多使用者的企业伺服器上工作时。究竟,先前的使用者可能有一天会需要再度使用他们的帐号,或者需要他们 home 目录下的一两个档案。 或者可能一个新使用者 (像是接替的员工 ) 可能需要存取先前使用者的档案。 在任何情况,确定您已经备分好先前使用者的 home 目录“以防万一”。查看 关闭使用者帐号 一节有关如何关闭帐号的进一步资料, 以及 第八章有关进行备份的细节。
Linux 网管 123 --- 第6章. 一般系统管理问题 -5.Linux 密码及 Shadow 档案格式
传统的 Unix 系统保留使用者帐号资料,包括单向加密的密码,存放在一个称做``/etc/passwd'' 的文字档。
既然这个档案会被很多工具 (像是 ``ls'') 用做显示档案的拥有者等,为了用来比对 user id # 和使用者名称,
这个档案必须是可读的。 结果, 这造成安全上的风险。
另一个存放帐号的方法,我常使用的一个,是 shadow 密码格式。和传统方法一样,这个方法以相容的方式存放
帐号资料於 /etc/passwd 档案中。 然而,密码的部分是一个“x” 符号 (换言之. 并非真正放在档案中)。
另一个档案,称作 ``/etc/shadow'',存放加密过的密码以及其他资料像是帐号及密码的期限值等。 /etc/shadow
这个档案只能由 root 读取因此减少了风险。
有时一些 Linux 发行版本会强迫安装 Shadow 密码套件 以便使用 shadow 格式, Red Hat 让它变得很简单。
要在两者之间切换, 键入(以 root 身分):
/usr/sbin/pwconv 转换到 shadow 格式
/usr/sbin/pwunconv 转换回传统格式
使用 shadow 密码时, ``/etc/passwd'' 档内含帐号资料,看起来像这个样子:
smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash
每一项目栏位都由“:”冒号所分隔,意义如下:
使用者名称,最多 8 个符号,可以用大小写,通常都是小写
一个“x”在密码栏。密码存放在 ``/etc/shadow'' 档中。
user id 数值。由``adduser'' script 所分配。 Unix 使用这个栏位,以及後面的群组栏以辨别档案属於
哪个使用者。
group id 数值。 Red Hat 使用 group id 作为很独特的强化档案安全的方法。通常 group id 会和 user id
相同。
使用者全名。我不大确定这个栏位的最大长度,但是尽量保持合理 (30个字元以下).
使用者的 home 目录。 通常是 /home/username (例如. /home/smithj). 所有使用者个人档案,网页,回覆信
件等。会放在这里。
使用者的“shell 帐号”。常被设为``/bin/bash'' 提供取用 bash shell (我个人最喜欢的 shell)。
也许您不想提供给使用者 shell 帐号。您可以建立一个名为 ``/bin/sorrysh''的 script档。例如显示错误讯
息以及把使用者 log off,然後将这个 script 视为他们的预设 shell。
注意: 如果帐号需要提供“FTP”传送更新网页等。 shell 帐号要被设定为 ``/bin/bash'' -- 使用者的
home 目录必须设定特别的权限以防 shell 登入。 查看第7章,网页伺服器及 HTTP 快取代理主机管理
一节 有关的细节。
``/etc/shadow'' 档案内含使用者的密码及帐号期限资料 ,看起来像这个样子:
smithj:Ep6mckrOLChF.:10063:0:99999:7:::
像密码档一样,shadow 档的每一个栏位也是由“:” 冒号所分开,意义如下:
使用者名称,最多 8 个符号,可以用大小写,通常都是小写。直接对应 /etc/passwd 档案中的使用者名称。
密码,加密过的 13 个字元。一个空格 (就是. : 表示登入时不需密码 (不是个好主意),一个 ``*'' 项目
(就是 :* 指出帐号已经关闭。
密码最後一次变更起所经过的日数 (从1970年一月一日起 ) 。
密码经过几天可以变更 (0 表示可以随时变更)
密码经过几天必须变更 (99999 表示使用者可以保留他们的密码很多很多年不变)
密码过期之前几天要警告使用者 (7 为一)
密码过期几天後帐号会被取消
从1970年一月一日起,帐号经过几天会被取消
Linux 网管 123 --- 第6章. 一般系统管理问题 -6.关闭系统及重新启动
要在终端模式下关闭您的系统,先登入或是“su” 到“root”帐号。然後键入 ``/sbin/shutdown -r now''。
这可能会花一点时间终止所有的程序, Linux 然後会关闭系统,电脑会自行重新开机。如果您就在电脑前,
一个较快的选择是按下 -- 关机。请耐心等候,Linux 可能会花几分钟才终止。
您也可以选择关闭系统後悬置它(就是. 它不会关闭系统後再重新启动)。系统在电源重开或按下--
重新启动之前是无法使用的。当您需要关闭电源後将系统搬移到其他地点时这是很有用处。先签入或“su”到“root”
帐号,键入 ``/sbin/shutdown -h now''。Linux 将会自行关闭且显示“System halted”这样的讯息,这时您可以将
电源关掉。
只有当您在电脑前的时候才将系统关闭可能是一个好主意,虽然您可以经由一个 shell session关闭系统,但若有任
何差错发生而系统无法正常重新启动时,在对主机进行处理之前系统将无法使用。(虽然我自己从未遇过这种问题)
系统重开後,Linux 会自行启动,并且载入必要的所有服务包括网路的支援,及 Internet 服务。
小技巧: 如果您想提供给所有线上使用者一些警告的话 (线上指的是已登入的 shell 帐号),您可以将 “now”
这个关键字用时间取代,您也可以设置关机警告讯息. 例如, ``/sbin/shutdown -r +5 Hardware upgrade'' 将
会通知使用者因为该原因系统即将关闭。他们在这时间来临之前会循环地收到警告讯息,通知他们应该关闭档案及
离线。
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -1.HTTP
对於个人及工作上的使用,我可以从 Red Hat Linux 发行版的标准安装後立刻提供服务,只要对预设的组
态设定做一点变动,甚至不必变动。
然而,要提供所有的 Internet 档案及列印服务仍需要一些小改变及额外的服务,而且其他的服务被用在我
工作的地方。本地的管理员应该要有以下的认知:
``/etc/rc.d/rc.local'' 这个档案在系统启动後就开始执行,并且包含任何在 bootup 时应加入伺服器的
额外服务。
在 /etc 寻找任何需要做的修改,他们可能包括:
``/etc/inetd.conf'' (您应该确定不需要的服务已经 disable ,像是 echo、 chargen ; 并且加入或改变
所需的任何服务)
``/etc/exports'' (包含允许挂载 NFS 卷册的主机列表; 查看网路档案系统 (NFS) 服务 一节有关细节)
``/etc/organization'', ``/etc/nntpserver'', ``/etc/NNTP_INEWS_DOMAIN'' (适当地设定)
``/etc/lilo.conf'' (包含了 LILO boot loader 所需的资料 -- 在 bootup上载入 Linux 核心的程序:
查看 第4章,从 LILO 启动 一节 有关细节)
``/etc/sudoers'' (应给予特权的使用者目录,接着是允许他们使用的指令 )
``/etc/named.boot'' (给 DNS 使用; 查看网域名称伺服器 (DNS) 组态及管理 一节 有关细节)
任何位於 ``/usr/local/'' (及子目录下) 的东西是额外的套件或是安装後的所做的修改,如果您已经安装
像是 tarball 的东西而并非 RPM(或至少您在这里已经安装好他们了) 。这些档案,特别是位於 /usr/local/src/,
应保持更新。 查看 第10章 有关细节。
网页伺服器及 HTTP 快取代理主机的管理
(警告: 不要理会这个部分 !)
依一般状况建立一个 Internet 使用者。“shell”帐号应该是 ``/bin/bash'' (按正常 shell 的 FTP 要求).
``cd /home ; chown root.root theuser'' 这使得“theuser”的目录属於 root,因为安全理由。
``cd /home/theuser ; mkdir www ; chown theuser.theuser'' 这建立他们的“www”目录,并且设定拥有者以
便读写他们。
``echo "exit" > .profile'' 建立一个 ``.profile'' 档,里面只有一行 ``exit'' 。 如果使用者打算透过
telnet 登入,他们会立即被切断。
进行 ``ls -l'' 并且确保目录中只有两个档案 (不包括 ``..'' 和 ``.''):
.profile (由 root.root 拥有)
www (由 theuser.theuser 拥有)
其他档案可以删掉 (就是. ``rm .less ; rm .lessrc'')
如果使用者需要可以转送 e-mail ,您可以建立一个 .forward 档,里面只有一行恰当的 e-mail 。
这样使用者就可以用 FTP 更新网页。
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -2.DNS
网域名称伺服器 (DNS) 组态及管理
在我工作的很多地方,我们使用 Linux 作为 DNS 伺服器。它表现的非常好。这一节将会指出使用 Red Hat
发行版内含的标准 BIND 8.x 套件所提供这些服务的 DNS table 组态
注意: Red Hat 5.1 及更早的版本使用 BIND 4.x 套件,它的组态档格式有一点点不同。 BIND 8.x 比
BIND 4.x 提供更多的功能,而且 4.x 已经不再发展了, 您可能需要考虑升级到最新版的 BIND 套件。
先安装 BIND RPM 套件 (查看 第10章,使用 Red Hat 套件管理程式 (RPM) 一节 有关使用 RPM 公用程式
的细节),然後转换您的组态成新的格式。
幸运地,转换原有的 BIND 4.x 组态档以符合 BIND 8.x 很简单 ! 就像是 BIND 位於文件档的目录下的一部份
(例如, ``/usr/doc/bind-8.1.2/'' 相对於 BIND version 8.1.2),有一个档叫做 ``named-bootconf.pl'' ,
这是一个可执行的 Perl 程式。 假设您已经在系统上安装好 Perl,您可以利用这个程式转换您的组态档。键入
下列指令完成它 (以 root 身分):
cd /usr/doc/bind-8.1.2
./named-bootconf.pl /etc/named.conf
mv /etc/named.boot /etc/named.boot-obsolete
您现在应该会得到一个可以在 BIND 8.x 下使用的档案 ``/etc/named.conf'' 。 原有的 DNS table 在新版的
BIND 下也可以使用, 因为 table 的格式还是一样。
在 Linux 下组态 DNS 服务与下列步骤有关:
要起始 DNS 服务, ``/etc/host.conf''这个档案看起来应该像下面着个样子:
# Lookup names via /etc/hosts first, then by DNS query
order hosts, bind
# We don't have machines with multiple addresses
multi on
# Check for IP address spoofing
nospoof on
# Warn us if someone attempts to spoof
alert on
加大的 spoof 侦测可以增加一点 DNS 搜寻的命中率(管可以忽略),所以如果您不担心这个的话可以
disable “nospool”及“alert” 项目。
依需要编辑 ``/etc/hosts'' 档。一般在这里不必改太多, 但为了增加效率可以增加您最常存取的主机
(像是本地伺服器) 以避免过度使用 DNS 搜寻在他们身上。
``/etc/named.conf'' 档应该根据下面例组态指出 DNS table
(注意:下面的 IP 位址只是例,必须根据您自己的 class 位址更改!):
options {
// DNS tables are located in the /var/named directory
directory "/var/named";
// Forward any unresolved requests to our ISP's name server
// (this is an example IP address only -- do not use!)
forwarders {
123.12.40.17;
};
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
// Enable caching and load root server info
zone "named;
// All our DNS information is stored in /var/named/mydomain_name.db
// (eg. if mydomain.name = foobar.com then use foobar_com.db)
zone "mydomain;
};
// Reverse lookups for 123.12.41.*, .42.*, .43.*, .44.* class C's
// (these are example Class C's only -- do not use!)
zone "12;
};
// Reverse lookups for 126.27.18.*, .19.*, .20.* class C's
// (these are example Class C's only -- do not use!)
zone "27;
};
小技巧: 注意上面的 allow-transfer 选项,它限制 DNS对於特定 IP 位址的 zone transfer。 举例来说,
我们允许位於123.12.41.40 的主机(可能是我们网域上的一个次要 DNS伺服器)请求 zone transfer。如果您
漏了这个选项,位於 Internet 的任何人都可以请求这个转换。因为这些资讯常被存心不良的人运用,我强
烈建议您除了到次要 DNS伺服器以外都限制 zone transfer,或使用 loopback address, ``127.0.0.1''作为替代。
现在您可以像在第三步骤组态``/etc/named.conf''档一样,设定位於 ``var/named/'' 目录的 DNS table 。
第一次组态 DNS 资料库档是个大工程,并且超出本文讨论围。有一些线上及印刷品型式的指南应该参考。然而下
面有提供 一些例。
位於 ``/var/named/mydomain_name.db'' 正向查询档的例列:
; This is the Start of Authority (SOA) record. Contains contact
; & other information about the name server. The serial number
; must be changed whenever the file is updated (to inform secondary
; servers that zone information has changed).
@ IN SOA mydomain.name. postmaster.mydomain.name. (
19990811 ; Serial number
3600 ; 1 hour refresh
300 ; 5 minutes retry
172800 ; 2 days expiry
43200 ) ; 12 hours minimum
; List the name servers in use. Unresolved (entries in other zones)
; will go to our ISP's name server isp.domain.name.com
IN NS mydomain.name.
IN NS isp.domain.name.com.
; This is the mail-exchanger. You can list more than one (if
; applicable), with the integer field indicating priority (lowest
; being a higher priority)
IN MX mail.mydomain.name.
; Provides optional information on the machine type & operating system
; used for the server
IN HINFO Pentium/350 LINUX
; A list of machine names & addresses
spock.mydomain.name. IN A 123.12.41.40 ; OpenVMS Alpha
mail.mydomain.name. IN A 123.12.41.41 ; Linux (main server)
kirk.mydomain.name. IN A 123.12.41.42 ; Windows NT (blech!)
; Including any in our other class C's
twixel.mydomain.name. IN A 126.27.18.161 ; Linux test machine
foxone.mydomain.name. IN A 126.27.18.162 ; Linux devel. kernel
; Alias (canonical) names
gopher IN CNAME mail.mydomain.name.
ftp IN CNAME mail.mydomain.name.
www IN CNAME mail.mydomain.name.
位於 ``/var/named/123_12.rev'' 反向查询档的例列:
; This is the Start of Authority record. Same as in forward lookup table.
@ IN SOA mydomain.name. postmaster.mydomain.name. (
19990811 ; Serial number
3600 ; 1 hour refresh
300 ; 5 minutes retry
172800 ; 2 days expiry
43200 ) ; 12 hours minimum
; Name servers listed as in forward lookup table
IN NS mail.mydomain.name.
IN NS isp.domain.name.com.
; A list of machine names & addresses, in reverse. We are mapping
; more than one class C here, so we need to list the class B portion
; as well.
40.41 IN PTR spock.mydomain.name.
41.41 IN PTR mail.mydomain.name.
42.41 IN PTR kirk.mydomain.name.
; As you can see, we can map our other class C's as long as they are
; under the 123.12.* class B addresses
24.42 IN PTR tsingtao.mydomain.name.
250.42 IN PTR redstripe.mydomain.name.
24.43 IN PTR kirin.mydomain.name.
66.44 IN PTR sapporo.mydomain.name.
; No alias (canonical) names should be listed in the reverse lookup
; file (for obvious reasons).
任何其他的 reverse 搜寻档需要 map 位址,在不同的 class B (像是 126.27.*) 会被建立,并且会和上面
的反向查询档更相似。
确定 named daemon 正在执行。这个 daemon 通常在系统开机时由``/etc/rc.d/init.d/named'' 这个档案启动。
您也可以手动地启动及停止这个 daemon ; 分别是键入 ``named start'' 及 ``named stop''。
无论对 DNS table 做了什麽改变,应该键入 ``/etc/rc.d/init.d/named restart''重新启动 DNS 伺服器。
您可以使用像是“nslookup”的工具去询问机器以测试您所做的变更。更多有关如何组态 DNS 服务的资料可以
在位於 的 ``DNS-HOWTO'' 指南上找到。
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -3.使用 TACACS
使用 TACACS 进行 Internet 用户认
在我工作的地方,为了拨接的 Internet 用户TACACS 认 (连接到我们的数据机埠,轮流接到几部 Cisco 25
0x 存取伺服器),我们使用 Vikas 版的 “xtacacsd”。
在编译及安装好 Vikas 套件後 (最新的版本在 ; 我不相信该套件有
RPM 格式),您应该加入下面几行到``/etc/inetd.conf'' 这个档案,如此一来无论何时收到该TACACS请求
时该 daemon 会由 inetd daemon 载入。
# TACACS is a user authentication protocol used for Cisco Router products.
tacacs dgram udp wait root /etc/xtacacsd xtacacsd -c /etc/xtacacsd-conf
下一步您应该编辑 ``/etc/xtacacsd-conf'' 档并依您的系统需要订它 (然而您可以使用原来预设的设定).
注意: 如果您使用 shadow password (查看 Linux 密码及 Shadow 档案格式 有关细节), 您用这套件
会有问题。不幸地,Red Hat用来作用户认的 PAM (Pluggable Authentication Module)并不支援这个
套件。我用来解决这问题的方法是在 ``/usr/local/xtacacs/etc/'' 下保留一个另外的``passwd''档,
它和位於 /etc/ 下的相符合但并未 shadow。 这麽做有一点麻烦,而且如果您选择这麽做,必须确定其
他的密码档已经设定成只有 root 才能读取 :
chmod a-wr,u+r /usr/local/xtacacs/etc/passwd
如果您真的需要 shadow, 几乎可以确定您必需编辑 ``/etc/xtacacsd-conf'' 档,并且要指定未 shadow
密码档的位置 (假设您使用上面我提的方法的话).
下一步是组态您的存取伺服器,以认由 TACACS 登入的设备 (像是拨接数据机)。这里是如何完成的示:
mail:/tftpboot# telnet xyzrouter
Escape character is '^]'.
User Access Verification
Password: ****
xyzrouter> enable
Password: ****
xyzrouter# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
xyzrouter(config)# tacacs-server attempts 3
xyzrouter(config)# tacacs-server authenticate connections
xyzrouter(config)# tacacs-server extended
xyzrouter(config)# tacacs-server host 123.12.41.41
xyzrouter(config)# tacacs-server notify connections
xyzrouter(config)# tacacs-server notify enable
xyzrouter(config)# tacacs-server notify logouts
xyzrouter(config)# tacacs-server notify slip
xyzrouter(config)# line 2 10
xyzrouter(config-line)# login tacacs
xyzrouter(config-line)# exit
xyzrouter(config)# exit
xyzrouter# write
Building configuration...
[OK]
xyzrouter# exit
Connection closed by foreign host.
所有 TACACS 运作的 log 讯息将会记录在 ``/var/log/messages'' 档中。
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -4.使用 Samba
使用 Samba 进行 Windows型态的档案及列印服务
Linux可以使用 Samba 套件提供 SMB 服务 (例如. WfW, Win95,及 NT型态的网路档案及列印分享)。
这一节会描述如何组态分享,以及如何从客户端存取这些服务。
Samba 套件包含在 Red Hat 发行版中,您可以检查是否安装以及其版本,键入:
rpm -q samba
如果尚未安装,您需要使用 RPM 公用程式安装它。 查看 第10章,使用 Red Hat 套件管理程式 (RPM)
一节 有关如何做的细节。
这些 Samba 档中您应该关心的最重要部分是:
/etc/smb.conf
Samba 组态档是分享及其他组态参数的设定 (查看下面)
/var/log/samba/
放 Samba log 档的地方
/home/samba/
建议应该设定的档案分享位置。 然而, 您应该选择一个符合足够您存放档案空间的地方。个人来说,
我常设定一个大的 partition 挂载在 /archive/ 下并且放我的分享档案。
``/etc/smb.conf'' 档包含了档案及列印分享的组态资讯。档案的开头几行包含了整体的组态方针,所
有的分享都相同 (除非他们超越了每一个独立分享的基础),其馀的是分享部分。
Samba 安装包括了一个预设的 smb.conf 档,可以满足您大多数的需求,且只需作稍微的修改。
这是这个档的 一些例 (我会大幅地自订它给您看看更多重要及有趣的部分):
# Items common to all shares (unless over-ridden on a per-share basis)
[global]
# Number of minutes of inactivity before client is disconnected
# to avoid consuming resources. Most clients will automatically
# reconnect so this is a good idea to enable.
dead time = 10
# Don't let users connect as “root”, just-in-case.
invalid users = root
# Specify the account for guest shares (shares that don't require
# a password to connect to. This username must be a valid user
# in the /etc/passwd file.
guest account = guest
# Specify where log files should be written to. The “%m” suffix
# means that log files will be created in the format
# log.machine-name (eg. “log.twixel”)
log file = /usr/local/samba/logs/log.%m
# Maximum size of log file, in Kilobytes.
max log size = 1000
# Password level 3 means that case is not an issue when entering
# passwords. A little less secure than level 1 or 2 would be,
# but seems to be a fair compromise for user convenience.
password level = 3
# Specify that all shares should appear in the browse list
# (override any you don't want on a per-share basis).
browseable = yes
# If this is enabled, you can see active connections using the
# “smbstatus” command.
status = yes
# The level of debugging information that is recorded in the log
# files. Higher values generate more information (which is
# probably not very useful, most of the time).
debug level = 2
# This will send any Windows-style “POPUP” messages received on
# the server to the postmaster by e-mail. Not very useful, but
# an interesting demonstration of what can be accomplished.
message command = /bin/mail -s 'Message from %f on %m' postmaster < %s; rm %s &
# This is a form of caching that, when enabled, may improve
# performance when reading files.
read prediction = true
# A list of services that should be added automatically to the
# browse-list.
auto services = cdrom
# The location of your “printcap” file, a text file containing
# definitions for your printers.
printcap name = /etc/printcap
# If enabled all printers in the /etc/printcap file will be
# loaded into the browse-list.
load printers = yes
# The print command by which data is spooled to a printer under Linux.
print command = lpr -r -P%p %s
# The print command by which job queue information (printer status)
# can be obtained.
lpq command = lpq -P%p
# The print command by which unwanted print jobs can be deleted
# from the queue.
lprm command = lprm -P%p %j
# The level at which Samba advertises itself for browse elections.
# Currently set to a high value to give it an even “foot-hold” with
# any swarmy NT servers on the network.
os level = 34
# These are user's personal shares. If the client's username matches on the
# server, they can access their home directory (provided they enter the
# correct password).
[homes]
# The comments appear in the browse list.
comment = Home Directories
# This matches the username of the client to that of the share.
# If they do not match, no share will be displayed in the browse
# list, or available to connect to.
user = %S
# The path to the share. For example, “smithj” would map to
# “/home/smithj”
path = /home/%S
# If enabled, allow read/write access to the shares.
writeable = yes
# Just an inverted synonym for “writeable”. We don't *really* need
# to use both.
read only = no
# Keep this disabled so that a password is required to access these
# shares.
public = no
# We don't want this share (after all, it is private) to appear in
# the browse-list of other users.
browseable = no
# This is a publicly available print share, called “hp_laser”. It appears
# on the browse lists and can be accessed without a password by any client.
[hp_laser]
# The comment that appears in the browse-list.
comment = Main office printer (HP Laserjet 400)
# The username that this share is accessed as (guest means all users).
user = guest
# All generated print files will first be created in the /tmp
# directory.
path = /tmp
# Do not allow file creation except through print spooling.
writeable = no
# Set permissions accordingly -- root access to print jobs only.
create mode = 0700
# If this is enabled a password is not required to access the share.
public = yes
# This should be enabled to indicate that this is a printer share.
printable = yes
# Here is a service providing access to the CD-ROM device.
[cdrom]
comment = Shared CD-ROM drive on Linux
user = guest
path = /cdrom
writeable = no
read only = true
browseable = yes
public = yes
guest ok = yes
小技巧: 最近的 Samba 版本, 从 2.0 以後,提供了一个非常灵活以网页为基础的组态公用程式叫做``swat'',
可以使得组态过程更为友善。这个公用程式倾听伺服器上的 TCP port 901 ,所以要使用的话必须将您的浏览器
指向下面的位址:
mydomain.name:901
(当然如果要使用 SWAT 的话您需要让网页伺服器执行,像是 Apache。 查看 第7章,网页伺服器及 HTTP 快取代理
主机管理 一节 有关细节。)
最新版的 Samba 和 2.0 版之前的相比增加了很多功能。 升级到这个版本是值得的。
客户端必须有 TCP/IP network stack 以连接分享。更进一步,为了浏览工作,TCP/IP 协定必须 bound 到
NETBEUI。在 Windows 95 可以由控制台中的``网路''进行组态。
假设客端已经正常地组态好, 您应该可以看到伺服端的分享出现在“网路上的芳邻” (或如果您不是使用
Windows 95/NT的相等的方案)。您可以从网路上的芳邻对映到网路磁碟,或键入到分享的绝对路径
(例如. “\\mail\cdrom”)。 如果分享服务需要键入密码,您会被提示。
更多有关 Samba的资料可以在 Samba Home Page 中找到。
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -5.使用 Netatalk
使用 Netatalk 进行 Macintosh 型态的档案及列印服务
Linux 也可以使用 Netatalk 套件提供 Appleshare 服务 (就是. Macintosh-型态的网路档案及列印分享) 。
这一节会描述如何组态分享,以及如何从客户端机器存取他们。
为了使用 Netatalk,必需在您的 Linux 核心中有支援 Appletalk 网路。来自 Red Hat 的原始核心通常已经以
模组型态提供这个支援,或者您也可可编译组态有这个支援的自己核心。
注意: 确定 Appletalk 的支援是以模组的形式编译而并非包括在核心的一部份 (查看 第10章,Linux 核心
的升级 有关如何升级或订 Linux 核心的细节)。否则您在停止然後重新启动 Netatalk daemon时会遇到
困难。
一但您确定您的核心有支援 Appletalk , 您需要安装 Netatalk 套件。因为 Netatalk 并未包含在 Red Hat
发行版之内,您需要先下载再安装。Netatalk 套件可以在 Red Hat的网页上找到,位於
. ;
在 Netatalk 安装好後, 您需要更改位於 ``/etc/atalk/''的组态档。这些档案大都有组态的例,所以至少有
一些自我说明。这些档案是:
config
这一个档案包含有关调整您 Netatalk daemon 的组态资讯。这些资讯以环境变数所指定,这个档案是服务开始之
前 Netatalk启动 script 的“来源” (就是. 读取) 。您可以指定同时连接的数量,是否接受 guest 登入等等。
无疑地您会根据需要修改它。
atalk.conf
这个档案包含网路介面所使用的资料,以及您的 Appletalk 路由,名称登录,及其他相关资讯。您会需要修改这
个档 ; 当您第一次启动 Netatalk 伺服器时,所需的网路资讯会被侦测且自动加入这个档中。然而,您可能希望
加入伺服器名称。
注意: 键入 ``man atalkd'' 可以得到关於这个档案的更多资讯
afpd.conf
这个档案让您指定用在 Netatalk 的命令列选项的额外的参数。您可以指定 Netatalk 伺服器的 IP 位址及 port,
加入登入讯息让用户登入时可以看到,及其他相关选项。您可能需要修改这个档。
注意: 键入 ``man afpd'' 可以得到关於这个档案的更多资讯
papd.conf
这一个档案包含使麦金塔的用户指向网路分享印表机的资料。 我还没试过这个,所以很不幸我无法给您任何建议。
注意: 键入 ``man papd'' 可以得到关於这个档案的更多资讯
AppleVolumes.default
这个档案包含麦金塔用户登入後可以看见的档案分享列表。要 enable 一个分享时,键入档案目录的路径,後面跟
着文字叙述。例如:
~ "Home"
/archive/busdept "Business Department Common Files"
(上面会提供连接的麦金塔用户两个分享: 他们的 home 目录,以及它们工作部门的分享区域。)
小技巧: 在这里有一个技巧是在 Samba 下对相同的档案路径设立两个分享, 这样可以让您的 Mac 以及 Windows
用户系统平台有各自独立的档案分享。 查看 使用 Samba 进行 Windows 型态的档案及列印服务 有关 Samba
的细节。
AppleVolumes.system
这个档案列出也像 ``AppleVolumes.default'' 所做的分享档案,不同的是这些分享是指定给所有使用者,不论他
们登入了没有。这个档案同时包含了档案型态对应表。除非您想加入通用的分享给所有人,否则不用修改它 ; 对大
部分人这是坏主意。
一但所有组态资料都设定正确, 您可以键入下面这行以手动启动 Netatalk 服务:
/etc/rc.d/init.d/atalk start
(这个服务当系统开机时应该会自动启动).
更多有关 Netatalk 的资料可以在 Netatalk 网页 上找到。此外, 很有
用的组态资料也可以在 Linux Netatalk HOWTO 上找到,位在 .
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -6.NFS
网路档案系统 (NFS) 服务
Linux 可以在使用网路档案系统(NFS)协定的档案系统分享中扮演伺服端及用户端,事实上在 Unix 系统
中它是提供档案系统挂载的标准。
注意: 请了解在您的系统中提供 NFS 服务可能会是安全上的风险。就个人来说,我不建议使用它。
要使用 NFS,您必须确定 NFS 的支援已经包含在您的核心或核心模组中。 查看 第10章,Linux 核心的升级
有关如何更新或个人化 Linux 核心的细节。
NFS 组态是由修改 ``/etc/exports'' 这个档案而组态。 这是一些例项目,列出一些可用的选项 :
/archive spock.mydomain.name(ro)
/archive2 spock.mydomain.name(ro)
/mnt/cdrom other.domain(ro)
/archive2 10.23.14.8(ro,insecure)
前面两行允许主机 ``spock.mydomain.name'' 经由 NFS 存取 ``/archive'' 以及 ``/archive2'' 目录。
这些分享是利用 ``(ro)'' 选项而形成唯读。因为安全的因素,可能的话将您的所有的 NFS 分享都这样做。
第三行允许位於 ``domain.name'' 网域名称区域的主机存取 CD-ROM。当然,必需先将 CD-ROM 设备挂载到
``/mnt/cdrom'' 。
注意: 利用 ``(ro))'' 选项将这个装置标定成唯读看来有点多馀,然而这样做可以避免万一 CD-ROM 没有
挂载上的话,被无聊的人写到了真正的档案系统。
在您改好了 ``/etc/exports'' 档之後, 您需要重新启动 NFS daemon。要这麽做时键入:
/etc/rc.d/init.d/nfs restart
您也可以使用包含在 ``Linuxconf'' 公用程式的``Network Configurator'' 这个工具组态 NFS 挂载点。 有
关 Linuxconf 公用程式的进一步资讯, 查看使用 Linuxconf 进行所有的组态