⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doc120.htm

📁 本书可以指导您顺利地安装Linux的RedHat发行版本
💻 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=&lt;
实际内存数量&gt; .

<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=&lt;参数设置&gt;
</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 &lt; 文件名称 &gt; 将源代码安装到 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 &gt; /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 + -