📄 doc120.htm
字号:
<html><title>系统管理</title>
<body>
<a href="doc121.htm">Next</a>
<a href="doc111.htm">Up</a>
<a href="doc119.htm">Previous</a>
<a href="doc000.htm">Contents</a>
<a href="doc136.htm">Index</a>
<hr>
<h2><a name="sE.9">E.9 系统管理</a></h2>
<a name="i1306">
<p><h3><a name="sE.9.1">E.9.1 当我使用 usercfg 生成了用户后, (生成的用户)不能登录 .
</a></h3>
<a name="i1307">
<p>usercfg 存在一个 bug , 就是当使用 usercfg 时, 输入的用户密码从不会被加密, 或者
只是在密码域中放一个星号 . 我们正在解决这个问题, 但是目前还未完成 .
<p>点击输入域左边的按钮, 选择 'change' ,
然后在输入域中输入两次密码(每一次都用回车结束) .
<p>另外一个可供选择的方法是使用命令行的 passwd 程序 .
<p><h3><a name="sE.9.2">E.9.2 PAM 是什么 ? 为什么使用它 ?
</a></h3>
<a name="i1308">
<p>PAM 是一个其他系统采用的标准, 例如 Solaris 2.6. 请参考
/urlhttp://www.redhat.com/linux-info/pam/ 以获得更多关于 PAM 的资料 .
<p><h3><a name="sE.9.3">E.9.3 我怎样在 Linux 系统商设置安全 shell(SSH) ?
</a></h3>
<a name="i1309">
<p>根据美国政府颁布的限制法令, Red Hat Linux 不能发布 ssh. 不过你可以
在站点 ftp.replay.com 下载大量的 ssh 和 PGP .
<p><h3><a name="sE.9.4">E.9.4 为什么 Linux 只能发现我的计算机的部分内存 ?
</a></h3>
<a name="i1310">
<p>Linux 不能发现全部内存的原因多种多样. 在某些 386 主机上, 你需要激活
'Limit memory to 16M'选项来编译内核.
<p>在大多数系统中, 原因是BIOS在通知操作系统内存数量时存在限制, 即使你的
主板可以容纳更多的内存, 也是一样限制. 通常这种限制是 16M, 32M, 64M, 128M.
为了解决这个问题, 我们需要在启动时明确地告诉内核当前内存的数量, 通过参数
mem=<
实际内存数量> .
<p>如下的例子中, 我们有一台 32M 内存的计算机, 但 Linux 只能发现 16M .
在 LILO 提示符下, 我们键入 :
<blockquote><font size=-1><tt>
<pre>
LILO: linux mem=32M
</pre>
</tt></font></blockquote>
<p>计算机启动后, 我们可以使用 free 命令察看内核是否识别出更多的内存.
如果已经识别出, 我们需要在 /etc/lilo.conf 中加入一行, 重新运行 lilo
以让它永久改变. 下面是一个(/etc/lilo.conf的)例子.
<p><blockquote><font size=-1><tt>
<pre>
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.32
label=linux
root=/dev/sda1
initrd=/boot/initrd-2.0.32.img
read-only
append="mem=32M"
</pre>
</tt></font></blockquote>
<p>在编辑文件(/etc/lilo.conf)后, 不要忘记运行 lilo .
<p><h3><a name="sE.9.5">E.9.5 我的奔腾或更好的主机有超过 64M 的内存, 但是它运行任何程序都很慢 .
当我使用参数 mem=64M 通知 Linux 只使用 64M 内存时, 它的速度提高了. 这是为什么 ? 我能解决这个问题吗 ?
</a></h3>
<a name="i1311">
<p>这是一个有关(缓存)命中率和内存的问题. 一些主板在使用超过 64M 的内存时并不使用外部缓存.
这样系统速度会明显地慢下来, 不幸的是没有什么办法解决此问题. 其他可能情况是你的主板只有
256K 的缓存, 却有超过 64M 的内存. 这时你可以增加(主板的)缓存到512K, 甚至 1M, 也许问题
就可以解决了 .
<p><h3><a name="sE.9.6">E.9.6 我的系统是 Red Hat 5.0, 已经升级到勘误表中列出
的 ld.so RPM 包. 但是我使用 libc5 的应用程序依然产生 'seg fault'. 什么地方错了 ?
</a></h3>
<a name="i1312">
<p>使 libc5 应用程序不能运行的问题关系到几个方面 .
<p><ul>
<li>
<ol>
<li> 在升级前或升级后, 升级过程并未使某一个其他版本的 libc 作废不用, 或者
将 lib5 库放在一个引起冲突的地方.
<p>做如下工作, 看看是否是这个原因引起问题 :
<blockquote><font size=-1><tt>
<pre>
rpm -qa | grep libc
</pre>
</tt></font></blockquote>
<p>它应该产生如下输出信息 :
<blockquote><font size=-1><tt>
<pre>
glibc-devel-2.0.5c-12
libc-5.3.12-24
glibc-debug-2.0.5c-12
rpm-2.4.10-1glibc
rpm-devel-2.4.10-1glibc
glibc-profile-2.0.5c-12
glibc-2.0.5c-12
</pre>
</tt></font></blockquote>
<p>如果你看到 libc-debug-5.3.12-18 或 libc-5.4.44-2, 你需要移去这些包
(rpm -e libc-debug), 然后运行 ldconfig -v
<li>你的 /etc/ld.so.conf 文件设置不正确. 为正确地装载, 你的 /etc/ld.so.conf
文件内容应该按照如下所示顺序 :
<blockquote><font size=-1><tt>
<pre>
/usr/i486-linuxaout/lib
/usr/i486-linux-libc5/lib
/usr/openwin/lib
/usr/X11R6/lib
</pre>
</tt></font></blockquote>
</ol>
</ul>
<p><h3><a name="sE.9.7">E.9.7 当我运行 fstool, 我看到一条信息说
一个分区似乎已经删除了, 并询问我是否需要将它从 /etc/fstab 中移去.
</a></h3>
<a name="i1313">
<p>fstool 程序不能同当前版本的 tcl 一起工作, 它不应该再被使用.
只是由于某些差错, 使它随本版本一起发行.
<p>由于 fstool 也许已经破坏了你的 /etc/fstab , 所以首先修复它.
fstool 经常改动的部分是 cdrom 和 swap. 这里是一个例子(你需要
修改分区以适应你的系统).
<p><blockquote><font size=-1><tt>
<pre>
/dev/sda2 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0
</pre>
</tt></font></blockquote>
<p>现在, 使用 rpm 移去 fstool.
<blockquote><font size=-1><tt>
<pre>
rpm -e fstool
</pre>
</tt></font></blockquote>
<p>请使用另一个类似功能的程序 cabaret. 它位于 /usr/sbin/cabaret,
可以从命令行运行.
<p><h3><a name="sE.9.8">E.9.8 我如何在 Linux 下配置 Jaz 驱动器 ?
</a></h3>
<a name="i1314">
<p>关于在 Linux 下使用 Jaz 驱动器的文档在 cdrom 的目录 doc/HOWTO/mini/Jaz-Drive 下,
或者已经安装系统的目录 /usr/doc/HOWTO/mini/Jaz-Drive 下.
<p><h3><a name="sE.9.9">E.9.9 我如何使用我的并行口驱动zip驱动器 ?
</a></h3>
<a name="i1315">
<p>你可以尝试如下步骤:
编辑 /etc/conf.modules, 加入如下的行
<blockquote><font size=-1><tt>
<pre>
alias scsi_hostadapter ppa
</pre>
</tt></font></blockquote>
<p>如果你想向 ppa 驱动程序传递一些参数, 可以加入如下的行:
<blockquote><font size=-1><tt>
<pre>
options ppa ppa=<参数设置>
</pre>
</tt></font></blockquote>
<p>如过你要获得更多信息, 请到 www.torque.net/paraport
<p><h3><a name="sE.9.10">E.9.10 我不能使用 IDE 接口的 zip 驱动器.
</a></h3>
<a name="i1316">
<p>首先检查并确认驱动器中已经插入了一张盘. 同样, 确认你安装了第 4 分区而不是第 1 分区.
例如 hdc4 .假定它是第四分区的原因是 MAC SCSI 使用(zip的)分区为主分区.
<p><h3><a name="sE.9.11">E.9.11 我以前的一些应用程序的时间发生错误 .
</a></h3>
<a name="i1317">
<p>一些 libc5 应用需要 /usr/lib/zoneinfo, 所以你或者使用 libc6 重新编译,
或者做一个符号连接, 这样它们皆可以正确工作.
<blockquote><font size=-1><tt>
<pre>
ln -s ../share/zoneinfo /usr/lib/zoneinfo
</pre>
</tt></font></blockquote>
<p>请参见 Red Hat 勘误表
(www.redhat.com/errata) , 以得到其他方法.
<p><h3><a name="sE.9.12">E.9.12 我已经安装了所有的更新程序, 但是我的程序依然得到错误的时间.
</a></h3>
<a name="i1318">
<p>如果你已经安装了所有的更新程序, 但你的程序依然(时间)依然出错, 检查一下
/etc/sysconfig/clock 中的设置. 它们看起来大概像这样:
<p><blockquote><font size=-1><tt>
<pre>
UTC=true
ARC=false
</pre>
</tt></font></blockquote>
<p>这说明你的 Linux 假设你的BIOS时钟是属于 UTC 或者 GMT 时区.
很有可能的是(BIOS)时钟设置为本地时区, 因此你需要修改 UTC 行为:
<p><blockquote><font size=-1><tt>
<pre>
UTC=false
</pre>
</tt></font></blockquote>
<p><h3><a name="sE.9.13">E.9.13 安装过程中, 我并没有被要求使用第二张光盘.
当我使用 X 程序 'glint' 时, 它说没有 'rpms', 但是我在目录中发现了大量的 'rpms'.
这时什么原因 ?
</a></h3>
<a name="i1319">
<a name="i1320">
<p>Red Hat Linux 中的第二张光盘中含有所有的开放源代码应用源程序.
通过这些源代码 rpms(SRPMS), 你可以重建所有这些应用.
<p>glint 不能发现这些 SRPMS 的原因是它们并不存放于 RPM 数据库中.
这样若想知道 src.rpm 是否安装过或是否正在覆盖一个较早的版本几乎是不可能的.
因此你需要使用普通的 rpm 安装它们.
<p>rpm -ivh < 文件名称 > 将源代码安装到 SRPM 维护者使用的目录中.
缺省的 src.rpms 包的安装目录(Red Hat)是<br>
/usr/src/redhat .
<p>重建和改进 rpms 已经超过了本解答的范围.
参考书 'Maximum RPM' 和 man pages 将是更好的资料.
<p><h3><a name="sE.9.14">E.9.14 Linux 识别出了我的 CDROM, 但是当我尝试安装它时, 却失败了, 我该怎么办 ?
</a></h3>
<a name="i1321">
<p>如果你的系统安装是正确的话, 那么简单地键入 mount /mnt/cdrom
就应该可以工作了. 如果不是这样, 你必须编辑 /etc/fstab 文件.
这是一个 /etc/fstab 的例子:
<p><blockquote><font size=-1><tt>
<pre>
/dev/hdc /mnt/cdrom iso9660 noauto,ro 0 0
CD-ROM device) (directory) (filesystem type and options)
</pre>
</tt></font></blockquote>
<p>为了发现 CD-ROM 设备, 键入 dmesg | less, 搜索关于你的
CDROM 的信息. 如果你不希望修改 /etc/fstab 而安装 CDROM:
<blockquote><font size=-1><tt>
<pre>
mount -t iso9660 /dev/hdc /mnt/cdrom
</pre>
</tt></font></blockquote>
<p><h3><a name="sE.9.15">E.9.15 我将 Linux 安装在 IDE 硬盘上, 但无论怎样
我需要从软驱启动. 我怎样从安装软盘启动系统?
</a></h3>
<a name="i1322">
<p>如果你在 IDE 硬盘上安装了 Linux, 你可以按照以下的步骤从启动软盘启动系统.
<p>插入启动软盘, 重启计算机. 在 boot: 提示符下键入:
<p><blockquote><font size=-1><tt>
<pre>
vmlinuz root=/dev/hdXY
[例如: vmlinuz root=/dev/hdb5 ]
</pre>
</tt></font></blockquote>
<p> X 是你的 Linux 驱动器字母, Y 是 root(/) 所在的分区.
<p><h3><a name="sE.9.16">E.9.16 我的即插即用适配卡不能工作.
</a></h3>
<a name="i1323">
<p>2.0.xx 系列内核不能直接支持即插即用(PNP)协议.
你需要关闭适配卡的 PNP 功能(通过跳线或者适配卡设置工具配置它).
你也可以改变你的启动方式, 使用 Loadlin.exe 从 Windows 中启动
(因为 windows可以配置 PNP 硬件设备).
<p>最后一种办法, 尝试一下 isapnptools 程序.
首先, 键入:
<p><blockquote><font size=-1><tt>
<pre>
pnpdump > /etc/isapnp.conf
</pre>
</tt></font></blockquote>
<p>它将产生一个配置文件, 你可以编辑并选择符合每一块卡的设置.
然后键入 isapnp /etc/isapnp.conf 启动这些设备.
<p>可以到 /urlhttp://www.roestock.demon.co.uk/isapnptools/ 获得等多信息.
<p><h3><a name="sE.9.17">E.9.17 当系统启动后, 我看到一条信息说有未知的PCI硬件存在.
这说明了什么?
</a></h3>
<a name="i1324">
<p>有几个原因可以引发错误信息 "unknown PCI device". 第一个可能的解释(基本上无害)是
PCI 对于 Linux 的问询所作的答复方式Linux不能理解, 不过 Linux 依然可以继续运行.
最可能的事情是系统在问询 PCI 总线时挂起, 不能继续运行.
<p>由于内核中的一个硬件问题, RedHat 的维护人员在此部分不能达到你的期望值.
他们可以让你知道正在做什么, 也许想看一下(出问题的)你的硬件, 这样他们可以在未来
做得更好. 可以使用如下地址联系维护人员:
<p><blockquote><font size=-1><tt>
<pre>
linux-pcisupport@cck.uni-kl.de
</pre>
</tt></font></blockquote>
<p>(联系时)请包括如下信息:
<p><ul>
<li>/proc/pci
<li> 你的硬件得精确描述. 想办法找出未知的硬件. 它也许是
主板上的芯片组, PCI-CPU 桥或者 PCI-ISA 桥.
<li>如果你不能在硬件手册中找到明确的信息, 尝试读一下主板芯片指南.
</ul>
<p><h3><a name="sE.9.18">E.9.18 现在当我的计算机启动时, LILO 缺省设置是启动 Linux.
我希望(LILO)缺省启动其他操作系统. 我怎样做? </a></h3>
<a name="i1325">
<p>若想改变缺省启动的操作系统, 你需要需要修改文件 /etc/lilo.conf,
改变各个操作系统的顺序. 在下面的例子中, 我们演示了如何改变启动的顺序,
使 DOS 取代 Linux 成为缺省的操作系统.
<p><blockquote><font size=-1><tt>
<pre>
pico /etc/lilo.conf
# 这里使原来的文件
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.31
label=linux
root=/dev/hda2
read-only
other = /dev/hda1
label = dos
table = /dev/hda
# 下面是修改后的文件:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
other = /dev/hda1
label = dos
table = /dev/hda
image=/boot/vmlinuz-2.0.31
label=linux
root=/dev/hda2
read-only
</pre>
</tt></font></blockquote>
<p>保存你的文件, 退出编辑器. 运行命令:
<p><blockquote><font size=-1><tt>
<pre>
/sbin/lilo -v
</pre>
</tt></font></blockquote>
<p>修改后的 lilo 已经写到启动设备中. 在启动过程中, DOS 取代了 Linux
成为缺省启动的操作系统, 另外在启动时, 有 50 秒的延时, 同时提示你可以
选择启动 Linux.
<p><h3><a name="sE.9.19">E.9.19 无论什么原因, 我现在需要进入 rescue 模式
以编辑一个文件. 但是编辑器告诉我 'unknown window type'. 当我进入 rescue
模式时, 我怎样才可以编辑文件 ?
</a></h3>
<a name="i1326">
<a name="i1327">
<p>在选择了 rescue 模式并回答了几个问题后, 你会见到 root 提示符(#).
你需要像本例中一样安装 Linux 分区. 下面演示中的分区只是一个例子.
你可以根据你的系统修改他们(sda1,sdb1,hda5,等等).
<p><blockquote><font size=-1><tt>
<pre>
mkdir /mnt
mount /dev/sdb1 /mnt
cd /mnt/etc
export TERMCAP=/mnt/etc/termcap
vi filename
</pre>
</tt></font></blockquote>
<p>或者, 如果你需要使用一个不同的编辑器, 例如 pico, 你也许需要 chroot /mnt.
<p><p><hr>
<a href="doc121.htm">Next</a>
<a href="doc111.htm">Up</a>
<a href="doc119.htm">Previous</a>
<a href="doc000.htm">Contents</a>
<a href="doc136.htm">Index</a>
<hr>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -