打印

Linux学习基础

查看磁盘分区情况:
fdisk -l /dev/hd?
  
查询rpm软件包:
rpm -qi filename
  
查询某个程序的安装位置:
whereis filename
  
查看系统进程:
top
ps -e  
  
tar.gz 打包命令
tar cvzf *.tar.gz *
*为需要压缩打包的文件或目录
  
挂载iso文件命令:
mount -o loop *.iso /*

TOP

Red Hat Linux的一般问题

Red Hat Linux的一般问题
问: 我如何取得 Red Hat 的补丁 ?  
答:经常察看 Red Hat Linux 的勘误表。(参见 E.2 (勘误表)。)  
另外也需要察看 FTP 服务器上的 contrib 目录中用户已经发表的程序包。我们也定期发布 redhat-announce-list , 关于补丁的声明。
  
问: 我如何报告一个 bug?  
答:发送 e-mail 到 mailto:bugs@redhat.com。  
  
问: Red Hat Linux 包括源代码吗 ?  
答:是的。 我们包括全部需要的源代码。从版本 2.0 开始 , 我们使用一个名叫 'RPM' 的软件包编译系统, 它只使用与作者站点相同的源代码或者是 Red Hat 发行的补丁。
若想使用 'RPM' 安装一个软件, 键入以下命令 :  
rpm -iv packagename-n.nn-r.src.rpm
RPM 将软件安装在 redhat source tree, 缺省目录为 /usr/src/redhat by default (你可以使用命令 /etc/rpmrc 来重新配置此目录)。说明文件
(packagename-n.nn.spec) 安装在目录 /usr/src/redhat/SPECS, 源代码文件和补丁安装在 /usr/src/redhat/SOURCES。  
若想解包已经安装的源代码, 到目录 /usr/src/redhat/SPECS?, 使用如下命令 :  
rpm -bp packagename-n.nn.spec
RPM 将解包后的文件放在目录 /usr/src/redhat/BUILD/packagename-n.nn 中,  
同时也包括在说明文件中已经列出的补丁。
  
问:我有一个空的硬盘,想同时安装 DOS, Windows95 和 Linux,最好的方法是什么 ?  
答:我们推荐你在安装 Linux 之前, 首先安装其它操作系统。 这样可以让其它操作系统与硬件更好的配合, 也可以避免其它系统修改 Linux 在 MBR 中的数据。
或许你应该按照下面描述的步骤进行安装。首先执行其它操作系统的安装过程, 但是若其它操作系统占用了全部磁盘空间, 你可以尝试是否能 '剥离' 出一部分空间, 即使用 'native fdisk' 产生其它操作系统所需的分区(空间大小根据操作系统不同, 可以自己决定), 然后再重新安装这个操作系统。安装完后, 你就可以开始 Linux 的安装。
  
问:我没有一个可以在 Linux 下工作的 光驱, 同时也不能通过网络进行安装, 有没有其它方法呢 ?  
答:如果你因为 cdrom 问题, 需要从硬盘进行安装, 你可以按以下的步骤进行。
产生一个 DOS 分区, 该分区需要是 FAT16 方式格式化的。 然后产生一个目录 \RedHat, 将光盘的内容拷贝到硬盘上。
mkdir C:\RedHat
mkdir C:\RedHat\base
mkdir C:\RedHat\RPMS
copy E:\RedHat\base C:\RedHat\base
copy E:\RedHat\RPMS C:\RedHat\RPMS
如果你没有足够的磁盘空间拷贝所有的 RPMS 目录, 你需要察看文件\RedHat\base\comps , 然后拷贝基本系统和其他你认为需要的部分。
完成了以上的步骤后, 你可以开始安装, 选择硬盘安装。你将被要求插入补充的软盘, 一个进度条将弹出来告诉你现在在做什么。此软盘加载完毕后, 你将进入安装过程的下一步。
  
问: 我有一台 IDE 硬盘的机器, 相比较于 DOS, 我对 Linux 如何建立自己的驱动器感到很迷惑, 您能解释一下吗 ?  
答:Linux 建立驱动器的方式与 DOS 大不一样, 这的确让人感到迷惑。它通常是使用字符的组合表示哪一种总线( sd 表示 scsi, hd 表示 IDE ), 并按照它识别的顺序标识 , 后面附加的数字表示分区。
对于 IDE 硬盘, 结果决定于该硬盘所在的 IDE 通道和它在这个通道中所处的模式(主或从), 见下表 :  
Channel         Jumper          hdx
===================================
ide0            master          hda
ide0            slave           hdb
ide1            master          hdc
ide1            slave           hdd
ide2            master          hde
ide2            slave           hdf
ide3            master          hdg
ide3            slave           hdh
  
ide0 = primary
ide1 = secondary
ide2 = tertiary
ide3 = quarterary
按照以前的 PC 标准, 每一个硬盘总共可以有四个分区, 其中一个分区可以被指定为扩展分区。在这个扩展分区内部可以定义逻辑分区( 在总共 16 个分区的扩展分区中, 一共可以定义 12 个逻辑分区)。
这些分区的顺序是这样安排的:
* 1-4 主分区  
* 5-16 逻辑分区  
  
问:我不能在我的笔记本电脑中安装 Linux,怎么办?
答:以下的 web 主页中有大量的关于如何在膝上型电脑上安装 Linux 的信息。
http://www.cs.utexas.edu/users/kharker/linux-laptop。
  
问:我想把我的Red Hat系统升级到5.x, 但是它说找不到一个正确的 RPM 数据库, 我需要做什么 ?  
答:这个问题是由于不少早期版本的 rpm 在写入数据库时, 会采取一种让新版 rpm 疑惑的方式。重建此数据库可以解决安装问题。我们需要将现有的 rpm 升级到 (新)安装光盘上的版本 , 然后重建 rpm 数据库。
首先将 5.0 的光盘安装到系统上。
mount /mnt/cdrom
然后从光盘升级 'rpm' :  
cd /mnt/cdrom/RedHat/RPMS
rpm -Uvh --nodeps --force rpm-*rpm
升级完毕后, 重建 'rpm' 数据库。
rpm --rebuilddb
这样原系统的 'rpm' 数据库的格式就可以被安装光盘上的 'RPM' 识别出 ( 他们是一个版本 )。
  
问:我有一块 SCSI 卡, 型号是 'Adaptec 2920'。在安装过程中没有此种卡的选择, 这是为什么 ? 我该如何办呢 ? 或者我有一块 'Future Domain TMC-3260' 卡, 当我为它设置了参数后, 安装程序依然不能发现它 !  
答:'Adaptec 2920' 适配卡并不使用 'Adaptec' 的芯片组, 使用的是 'Future Domain TMC3260' 的芯片组。如果不能自动识别此种类的卡, 你必须手工设置参数。当安装程序问询 SCSI 的设置时, 选择 'choice', 如下输入 : If the card is not found with an auto-probe, you will need to specify options for it. When the installation menu asks you about SCSI, choose "options" and enter the following :  
setup_called=1 port_base=<io base> interrupt_level=<irq>
下面是一个参数设置的例子:  
setup_called=1 port_base=0xd000 interrupt_level=9
万一你没有此卡的端口地址或中断参数, 你可以按下面方法。如果你已经进入安装的第二阶段, 你可以按组合键 'ALT-F2' 进入主控终端 , 键入 cat /proc/pci 看 Linux 是否已经找到 PCI 总线。否则你需要重新启动进入 'rescue' 模式, 选择没有任何 SCSI 设备。然后在 '#'(root 提示符) 下键入 cat /proc/pci , 纪录此卡的参数设置。使用组合键 'CONTROL-ALT-DELETE' 重启系统, 然后填入刚才纪录的数据。  
如果上面的工作并未见效, 那么你的卡子也许有更新的 bios 版本, 我们不能正确识别。我们会解决这个问题, 但是不能确定何时能够解决。
  
问:我有一块 Adaptec 的 SCSI 适配卡, 芯片组是 'aic7xxx' (2940, 2840, 2740, 3940, 等等)。这种卡很常见, 为什么它不能被 Red Hat Linux 完全支持呢 ?  
答:很不幸, Adaptec 并不是积极地支持开发 'AHA2940' SCSI 适配卡和 AIC7xxx SCSI 芯片组的驱动程序。
很明显, Adaptec 继续发布新的 BIOSes 和芯片组修订版本, 而 Linux 驱动程序的作者并不能得到规格说明。因此, 一些配有兼容的芯片组的 AHA2940 卡可以在 Linux 下很好地工作 ; 而另外一些配有不同的芯片组的卡就不能工作。在 Linux 的驱动程序作者能够完成可以让所有的 AHA2940 工作的版本前, 我们不能将它列入已经支持的硬件清单, 但是我们以 'ASIS' 的方式提供一个驱动程序。如果它可以工作, 很好; 否则, 你可以尝试如下的方法。  
1. AHA-2940 , 像大部分 Adaptec 适配卡, 对于终结器极端敏感 。(在 SCSI 电缆的两端设置主动终结器将会很有帮助)。
2. 自带终结器的 SCSI 硬盘可以提供主动的终结器(通常的规律)。反之 , SCSI CDROM 和 SCSI 磁带驱动器则只是被动的终结器(通常规律)。
3. 当你的 SCSI 系统设置为同步协商和激活 disconnect 选项时不能工作, 但关闭同步协商和 disconnect 选项却可以工作时, 则可能是 SCSI 电缆或者终结器坏了。
4. HP C3725S SCSI 驱动器不能运行在 AHA-2940AU 和 Redhat 4.2 系统下, 或许是驱动器原因, 但也许与 Linux 2.0.30 内核的 AHA-2940 驱动程序的一些问题有关。  
5. 对于一些大容量的驱动器, 你必须关闭 Adaptec-SCSI BIOS 的一个缺省参数: "Extended BIOS translation for DOS drives > 1 GByte"。使用这个参数, BIOS 将使用每磁道 255 头, 63 扇区的设置。LILO 不习惯这种设置。关闭这个参数后, 一切都可以工作正常了(包括 windows95 安装, Linux 和 LILO 安装, 双启动等) 。
6. 记住, 你将安装的 SCSI 硬盘的 SCSI ID 必须为 0 ( 或者在没有 IDE 设备时, 可以设置为 1 ) 。
7. 有些人发现使用古老的参数或者 '缓慢' 的设置, 如 "no tagged queuing", "5MB/s" 等等, 也可以解决问题。
  
问:在安装过程中, 致命的信号 11 或者 7 发生了, 这是什么意思, 我该怎么办?
答:信号 11 和信号 7 意味着一个发生在内存或者总线的硬件错误。这可能是由于软件错误或者硬件问题引起的。Linux 内核使用于众多不同类型的 CPU、缓存、和内存, 有可能出错。
首先检查你是否有最新的 Red Hat 安装和补充软盘。检查勘误表的更新和各个 ftp 站点, 看看是否有新的版本。如果还是失败了, 则可能是硬件问题。最常见的问题发生于内存或者 CPU 的缓存。可以尝试在 BIOS 中关闭 CPU 的缓存, 看看问题是否已经解决。或者检查主板上的内存和插槽。
  
问:我的计算机配备了 PCI Ultra DMA 控制器,我能安装 Linux 吗?  
答:由于存在不同类型的问题, 大多数非集成在主板上的 Ultra DMA 控制器不能同稳定的 Linux 内核 2.0.xx 系列工作。在具有这些适配卡的计算机上安装 Linux 是一件痛苦的事情。下面的 HOWTO 文档也许可以告诉你更多关于解决此类问题的途径。
http://www.redhat.com/linux-info/ldp/HOWTO/mini/Ultra-DMA.html by Brion Vibber, brion@pobox.com
如下是重要的段落, 但是我们强烈要求你读完全部文档, 以明白为什么这样可以(和如果不能工作该作什么)。
安装 Red Hat 5.0 时, 使用安装启动软盘, 在 root 提示符下敲入 'rescue' 。它将启动一些程序, 提示你插入补充软盘, 询问你的显示器和键盘类型, 最后进入命令行提示符。然后, 键入 'cat /proc/pci', 纪录显示的数字, 使用启动软盘重启计算机。这次, 键入 'linux ide2=(你刚才纪录的数字) ide3=(更多的数字)'。这样就可以顺利的安装。
如果我们可以使用安装软盘登录到主控台, 就可以使用 'cat /proc/pci' 显示设置参数 :
RAID bus controller: Promise Technology Unknown device (rev 1)。
[$nbsp][$nbsp]Vendor id=105a. Device id=4d33.
[$nbsp][$nbsp]Medium devsel.  IRQ 12.  Master Capable.  Latency=32.
[$nbsp][$nbsp]I/O at 0xe000.   (a)
[$nbsp][$nbsp]I/O at 0xd804.   (b)
[$nbsp][$nbsp]I/O at 0xd400.   (c)
  I/O at 0xd004.   (d)
[$nbsp][$nbsp]I/O at 0xc800.   (e)
然后, 将 "ide2=a,b+2 ide3=c,d+2" 作为命令行参数传递给内核
注意上面显示的数字也许与你的显示不同。只是作为一个例子, 上面的设置参数将是  
ide2=0xe000,0xd806 ide3=0xd400,0xd006。你可以包括(或许不需要)中断参数, 就像这样:
ide2=0xe000,0xd806,12 ide3=0xd400,0xd006,12. 如果你只是使用控制器的第一通道(例如你只有一个驱动器, 或者两个, 都在同一通道, 一个为主设备, 另外一个为从设备), 这时你无需设置 ide3。
  
问:在安装过程中, 我遇到了有关 Ultra DMA IDE drive 和主板控制器的问题, 我该怎么办 ?  
答:Ultra DMA 的支持在 2.0.34 和以前版本的 Linux 内核中是有限的。一些主板工作得很好, 另外一些则根本不工作。因此当你遇到一些配备 Unltra DMA 驱动器的主板时, 也许需要在 BIOS 中设置使用 'PIO mode 2', 而不使用 'PIO mode 4' 。
  
问:我已经安装了 NT,还想安装 Linux, 但是我听说同时启动这两个系统有问题, 我该如何避免这个问题 ?  
答:你可以在 howto 文档 'Linux+NT-Loader' 中找到关于双启动这两个操作系统的建议。它的最新版本在站点:
http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+NT-Loader 另一个可能较早的版本在 cdrom 的目录 /doc/HOWTO/mini/Linux+NT-Loader 中。
  
问:我不能在1023柱面以下安装 Linux, 我该怎样做 ?  
答:你需要突破此限制的内核, 和一个不同于 LILO 的引导程序。BIOS 可能因为以下的某个问题而不能启动(Linux) :  
* 内核位于硬盘的 1023 柱面以外。
* 内核位于 BIOS 不能启动的驱动器上。( 非主 IDE 硬盘或 SCSI 链的启动盘 )  
* 其他难懂的内核/BIOS问题。  
* 你的硬件设备只能在 DOS 下初始化(即插即用设备, 等等)。
你也许需要使用在cdrom的目录 \dosutils 中的 LOADLIN 启动引导程序。你需要将这个目录拷贝到你的 DOS 分区中, 编辑 autoexec.bat 指向它的新目录, 并去除 initrd= 行。若你的系统是 SCSI 系统, 你需要进入 'rescue' 模式, 从硬盘中将 /mnt/boot/initrd.img 拷贝到 DOS 分区, 使用它启动。
  
问:我想从我的硬盘中删除 Linux。我曾经使用 DOS下的,fdisk命令它显示非 DOS 分区, 但是不能删除它。我需要做什么?
答:如果你需要删除 Linux,而且已经尝试过缺省的 DOS fdisk, 你已经遇到了一个有趣的问题"分区存在但又不存在"。删除非 DOS 分区的最好办法是使用一个能识别非 DOS 分区的工具。  
你可以使用启动软盘, 按照如下步骤完成删除工作。开始安装过程, 选择安装(相对升级而言), 当开始分区时, 选择 fdisk。在 fdisk 中使用 'p' 打印分区信息, 使用 'd' 删除 Linux 分区。
完成后, 使用 'w' 退出 fdisk, 此命令将你所作的改动写入硬盘。如果你不想做改动, 可以使用 'q' 退出, 该命令不会对硬盘做任何改变。
一旦你已经删除了 Linux 分区, 你可以使用 'Control-Alt-Delete' 重新启动以中断安装过程。
  
问:我想将 LILO 从主引导纪录(MBR)中删除, 我怎样做?  
答:有几种办法可以将 LILO 从主引导纪录中删除。在 Linux 系统中, 你可以使用以前保存的 MBR 覆盖现有的 MBR , 命令如下 :  
/sbin/lilo -u
在 DOS, NT, 和 Windows 95 中, 你可以使用 fdisk 命令产生一个新的 MBR , 即使用不在文档中的参数 '/mbr'。它将重写 MBR 以启动主 DOS 分区。
fdisk /mbr
  
问:我已经安装完毕 Linux, 但是重新启动时,我只看到 L, LI, 和其它东西。这是怎么回事?我如何恢复呢?
答:如果你重启了系统, 而只看到 L, LI, 或者两者的组合和大量滚动的数字, 这表示 LILO 自身在启动时由于某些问题发生了错误。
纪录打印出的错误代码和它最后停止的字母(L,LI,LIL,等等)。 如果你能从 cdrom 读取文件( 使用DOS软盘或其他机器), 你可以进入目录(假设 DOS)\backslashlive\backslashusr\backslashdoc
\backslashlilo-0.20\backslashREADME 检查错误发生的原因。
大多数时间, LILO 的错误是由于 BIOS 和硬盘参数的不匹配或其它简单的问题引起。
首先, 如果内核(或部分内核)超出了 1023 柱面, 此时 BIOS 已经不能操作此部分数据。如果你的 BIOS 可以使用 LBA 模式(Linear Block Addressing) , 而且它并未被激活, 则激活此选项, 重新运行 lilo(从安装过程或者使用 'rescue' 模式)。在大多数情况下, 你需要在激活 LBA 模式后重新分区 。
如果你可以重新分区或者增加分区, 则可以产生一个 /boot 分区, 让它全部位于 1023 柱面以下。
你将内核放置在 BIOS 不能到达的驱动器上。例如不是在主通道上的 IDE 硬盘(IDE hda, hdb), 或者放置在 ID 不为 0 的 SCSI 硬盘上(或者 1 如果你的系统中无 IDE 驱动器)。
如果你需要收集更多的信息以向其他人求救(通过正式的支持, 或者邮件列表, 新闻组, 朋友, 等等), 你可以使用 'rescue' 模式。
插入启动软盘, 在启动提示符下键入 :  
linux rescue
经过数个屏幕的关于硬件问题的问题后, 你将进入 root 提示符。你需要将 linux 根分区安装到系统上, 就像下面的例子, 它的根区在 /dev/hda5 :  
mkdir /mnt
mount /dev/hda5 /mnt
然后敲入如下命令 :  
lilo -v -r /mnt
纪录下命令的输出信息。如果你想得到更多的信息, 你可以加上 '-v' 选项。如果依然存在错误, 你可以将输出的信息送往合适的支持小组。
  
问:我不能运行编译好的任何文件, 只是看到 "command not found", 我可以在列表中看到这个文件, 但是不能运行。
答:这个问题可以简单的解释为系统的shell并未发现你要运行的程序文件。系统 shell(操作系统解释你的命令的部分)使用严格的路径设置搜索你的运行程序。键入如下命令, 你就可以看到它使用的路径设置是怎样的 :  
echo $PATH
其中不存在的一项是当前工作目录--'cwd' . 为了执行当前工作目录中的命令, 你需要将这个目录加入到你的路径设置中, 或者像下面一样键入命令 :  
/command
  
问:为什么我在运行 ls 时,看不到颜色?
答:若想打开颜色选项, 你必须编辑 .bashrc 文件。下面一行必须放到文件中 :  
alias ls='ls --color=auto'
  
问:当我使用 startx 命令运行 X 系统时, 它报告错误说安装没有服务器程序, 然后回到提示符下。什么地方错了?  
答:当你看到一个没有安装服务器程序的错误时, 首先你应该检查是否安装了正确的 X 服务器程序和(符号)连接是否已经建立。
如果你使用最新版本的 RedHat 系统, 你应该使用 xserver-wrapper 来保护你的系统, 应付各种安全性问题。
/usr/X11R6/bin/X 应该是一个符号连接, 指向 xserver-wrapper and /etc/X11/X 应该是一个符号连接, 指向你所选择的适应于某种显卡的服务器程序, 例如 XF86_SVGA.。
这里是一个如何建立符号连接的例子, 需要 root 权限:  
cd /usr/X11R6/bin
ln -sf xserver-wrapper ./X
cd /etc/X11
ln -sf "../../usr/X11R6/bin/XF86_SVGA" ./X
这样就可以正确地为你的系统建立符号连接。
  
问:当我启动 X 系统后, 我只能看到灰色背景和一个游标,怎么回事?  
答:一个最可能的原因是你没有使用正确的命令启动 X 服务器。启动 X 窗口系统的最好命令是:  
startx
如果你使用了这个命令, 依然只有灰色背景, 那么还有别的原因。首先, 你是否已经等待了足够长的时间? 或是由于处理器的速度, 或是由于内存容量(少于16M), 或是由于网络问题, X 窗口系统也许需要 6分钟才能全部启动完毕。在大多数情况下, 你可以依次为提示查出问题( 更快的处理器, 更多的内存, 网络那里断掉等等)。
另一个问题是启动脚本不能启动某些命令。你可以产生一个很简单的 /.xinitrc, 然后运行 startx, 看看有没有问题。也可以检查流水纪录文件 /var/log/Xerrors, 也许对你解决问题有帮助。
  
问:我如何定制 X window manager?  
答:为了定制缺省的 window magnager 设置参数, 例如从菜单中增加或删除程序, 或是改变自动启动的程序, 你需要修改文件 /etc/X11/AnotherLevel。请参见 xinit, startx, AnotherLevel, fvwm2, FvwmM4, 和 wmconfig 的帮助信息(man pages)。
  
问:我不喜欢类似 Windows 95 的(界面)配置, 我如何改变它?  
答:如果不喜欢缺省的 window manager 配置, 你可以从 Preferences 菜单选项中选择另外一种风格, 然后点击 WM Style 菜单选项。
如果对其他的 window manager 感兴趣, 你可以到这个主页参观:  
http://www.plig.org/xwinman/
  
问:我发现一个错误 'errno=111', 这是什么意思?我该做什么?  
答:当 XFree86 Xserver 崩溃, 死机, 停止或其他难解的问题时, 你将看到 '_X11TransSocketUNIXConnect: Can't connect: errno = 111'或其他类似的信息。
这条信息是由 X-客户方(任何运行在 XFree86 Xserver 下的程序, 例如 window manager)发出的, 通知你它尝试连接 Xserver, 但是由于某些原因失败了。
为了进一步诊断此问题, 你需要查看服务器的输出。一般来说, 你可以看到真正的错误信息(为什么服务器停止工作), 就在 错误 111 信息的前面几行信息。如果你仍然不能确定错误原因, 记住在发送问题报告(发往技术支持或讨论组时), 一定要引用全部的服务器输出信息。
别像许多人所做的一样, 只是提交错误 111 问题, 这样是不可能解决你的问题的。必须提交全部的服务器输出信息, 这可以通过重定向标准输出和标准错误输出到一个文件中做到。你可以如下运行 X :  
startx &> startx.out
其他有用的信息是, 检查 X 的符号连接, 检查 .xinitrc(如果存在), 或者检查发生错误时正在运行的命令。
  
问:我的键盘映射在 X 下不能正确地工作,我该做什么?  
答:如果使用 Metro-X, 你需要做如下工作
cd /usr/X11R6/lib/X11/xkb/keymap
cp xfree86 metro
这可以解决大多数已经发现的问题。但是由于一些 XFree86 的映射已经落后于现代的键盘, 因此这并不是一个完整的解决方案。 如果你依然存在键盘影射问题, 那么需要使用 xmodmap 和 xev 命令来解决问题。请将这些纠正措施发往 bugs@redhat.com 和 bugs@xfree86.org, 这样他们就可以在主要的发行版本中纠正这些问题。
  
问:我发现一个错误, 不能打开 libX . 或者由于某些库文件的丢失, 我不能编译 X 应用程序.  
答:一般来说, 这些必须的库文件并没有安装。你需要安装(或重新安装)这些软件包来获得(必须的库文件)。
插入安装光盘。
mount /mnt/cdrom
cd /mnt/cdrom/RedHat/RPMS
rpm -Uvh --force XFree86-devel* XFree86-libs* Xaw3d*
这样可以安装大多数你需要的 X 库文件。如果依然出错, 那说明我们并没有提供这些你所需要的库文件(qt,xforms, motif, 等等)。
  
问:我有一块 AGP 的显示卡,系统能支持它吗?  
答:3.3.2以前的 XFree86 不支持 AGP 显卡。如果安装了 3.3.2, Xconfigurator 将显示它所支持的 AGP 显卡。注意 Red Hat Linux 5.1 和其后的版本已经带有 XFree86 3.3.2(或更高版本)。
如果你还没有版本3.3.2, 那么需要考虑升级到这个版本。请参观他们(XFree86)的网页以获得更多的信息 http://www.xfree86.org/。
  
问: 我的计算机的显卡是使用 NeoMagic 芯片组, 怎样让 X 工作?  
答:NeoMagic 显卡目前不能被 Red Hat Linux's X 服务器支持,这是因为 NeoMagic 要求在提供编程信息之前, 必须签署不公开(内容)的协议, 这就排除了发行源码的可能性。
Xi Graphics' Accelerated X 已经可以在膝上型 X 服务器中支持 NeoMagic 芯片组。可以到他们的主页 http://www.xig.com/ 得到更多关于他们的 X 服务器的信息。
  
问:我是从版本 4.1(或更早)升级的, 现在我运行 startx, 但是计算机好像已经挂起, 只有灰色的屏幕。
答:这个问题是由于每一个用户目录中的(.Xclients)文件引起, 其中:  
fvwm95-2 -cmd 'FvwmM4 -debug /etc/X11/TheNextLevel/...'
但是 5.0 中并没有包括他们的 window manager, 这可以通过如下命令解决:  
rm -f ~/.Xclients
(超级用户 root 可以采用如下命令解决所有用户的问题):  
rm -f /home/*/.Xclients
  
问: 我怎样在 Linux 系统商设置安全 shell(SSH) ?  
答:根据政府颁布的限制法令, Red Hat Linux 不能发布 ssh。不过你可以在站点 ftp.replay.com 下载大量的 ssh 和 PGP。
  
问:我有一个微软的串行鼠标, 但是在 Linux 下不能工作, 我该做什么修正它?  
我们发现 2.1A或更高版本的微软串行两键鼠标是一种'智能'鼠标。经过测试, 它等待来自 windows 的唤醒信号, 否则它并不回应计算机。所以 X 或 gpm 不能工作, 因为这种鼠标并不按照他们期望的方式反应。若想唤醒这种类型的鼠标, 让它工作, 有几种方法。使用 mouseconfig 在运行 X 以前设置此种鼠标。
mouseconfig --kickstart  --device cuaX
X 是 0 (串口一) 或者 1 (串口二)  
另外一种办法是安装 gpm-1.13, 带所示参数运行 gpm -t pnp -R, 然后配置 XFree86 使用 /dev/gpmdata 作为(鼠标)设备, 运行 MouseSystems 协议。
  
问:当我使用 usercfg 生成了用户后, (生成的用户)不能登录。
答:usercfg 存在一个 bug , 就是当使用 usercfg 时, 输入的用户密码从不会被加密, 或者只是在密码域中放一个星号。我们正在解决这个问题, 但是目前还未完成。
点击输入域左边的按钮, 选择 'change' , 然后在输入域中输入两次密码(每一次都用回车结束)。
另外一个可供选择的方法是使用命令行的 passwd 程序。
  
问:PAM 是什么 ? 为什么使用它 ?  
答:PAM 是一个其他系统采用的标准, 例如 Solaris 2.6. 请参考 http://www.redhat.com/linux-info/pam/ 以获得更多关于 PAM 的资料。
  
问: 为什么 Linux 只能发现我的计算机的部分内存 ?  
答:Linux 不能发现全部内存的原因多种多样。在某些 386 主机上, 你需要激活 'Limit memory to 16M'选项来编译内核。
在大多数系统中, 原因是BIOS在通知操作系统内存数量时存在限制, 即使你的主板可以容纳更多的内存, 也是一样限制。通常这种限制是 16M, 32M, 64M, 128M。为了解决这个问题, 我们需要在启动时明确地告诉内核当前内存的数量, 通过参数 mem=< 实际内存数量>。
如下的例子中, 我们有一台 32M 内存的计算机, 但 Linux 只能发现 16M 。在 LILO 提示符下, 我们键入 :  
LILO: linux mem=32M
计算机启动后, 我们可以使用 free 命令察看内核是否识别出更多的内存。如果已经识别出, 我们需要在 /etc/lilo.conf 中加入一行, 重新运行 lilo 以让它永久改变。下面是一个(/etc/lilo.conf的)例子:
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"
在编辑文件(/etc/lilo.conf)后, 不要忘记运行 lilo。
  
问:我的奔腾或更好的主机有超过 64M 的内存, 但是它运行任何程序都很慢。当我使用参数 mem=64M 通知 Linux 只使用 64M 内存时, 它的速度提高了,这是为什么 ? 我能解决这个问题吗 ?  
答:这是一个有关(缓存)命中率和内存的问题。一些主板在使用超过 64M 的内存时并不使用外部缓存。这样系统速度会明显地慢下来, 不幸的是没有什么办法解决此问题。其他可能情况是你的主板只有 256K 的缓存, 却有超过 64M 的内存。这时你可以增加(主板的)缓存到512K, 甚至 1M, 也许问题就可以解决了。
  
问:我的系统是 Red Hat 5.0, 已经升级到勘误表中列出的 ld.so RPM 包,但是我使用 libc5 的应用程序依然产生 'seg fault'。什么地方错了?  
答:使 libc5 应用程序不能运行的问题关系到几个方面 .  
1. 在升级前或升级后, 升级过程并未使某一个其他版本的 libc 作废不用, 或者将 lib5 库放在一个引起冲突的地方。
做如下工作, 看看是否是这个原因引起问题 :  
rpm -qa | grep libc
它应该产生如下输出信息 :  
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
如果你看到 libc-debug-5.3.12-18 或 libc-5.4.44-2, 你需要移去这些包 (rpm -e libc-debug), 然后运行 ldconfig -v  
2. 你的 /etc/ld.so.conf 文件设置不正确。为正确地装载, 你的 /etc/ld.so.conf 文件内容应该按照如下所示顺序 :  
3. /usr/i486-linuxaout/lib
4. /usr/i486-linux-libc5/lib
5. /usr/openwin/lib
6. /usr/X11R6/lib
  
问:当我运行 fstool, 我看到一条信息说一个分区似乎已经删除了, 并询问我是否需要将它从 /etc/fstab 中移去。  
答:fstool 程序不能同当前版本的 tcl 一起工作, 它不应该再被使用。只是由于某些差错, 使它随本版本一起发行。
由于 fstool 也许已经破坏了你的 /etc/fstab , 所以首先修复它。fstool 经常改动的部分是 cdrom 和 swap。这里是一个例子(你需要修改分区以适应你的系统):
/dev/sda2 swap     swap  defaults      0 0
/dev/cdrom   /mnt/cdrom  iso9660 noauto,ro   0 0
现在, 使用 rpm 移去 fstool。
rpm -e fstool
请使用另一个类似功能的程序 cabaret。它位于 /usr/sbin/cabaret, 可以从命令行运行。
  
问:我如何在 Linux 下配置 Jaz 驱动器?  
答:关于在 Linux 下使用 Jaz 驱动器的文档在 cdrom 的目录 doc/HOWTO/mini/Jaz-Drive 下, 或者已经安装系统的目录 /usr/doc/HOWTO/mini/Jaz-Drive 下。
  
问:我如何使用我的并行口驱动zip驱动器 ?  
答:你可以尝试如下步骤: 编辑 /etc/conf.modules, 加入如下的行:
alias scsi_hostadapter ppa
如果你想向 ppa 驱动程序传递一些参数, 可以加入如下的行:  
options ppa ppa=<参数设置>
如过你要获得更多信息, 请到 www.torque.net/paraport。
  
问:我不能使用IDE接口的zip驱动器。  
答:首先检查并确认驱动器中已经插入了一张盘。同样, 确认你安装了第 4 分区而不是第 1 分区。例如 hdc4 假定它是第四分区的原因是 MAC SCSI 使用(zip的)分区为主分区。
  
问:我以前的一些应用程序的时间发生错误,是怎么回事?
答:一些 libc5 应用需要 /usr/lib/zoneinfo, 所以你或者使用 libc6 重新编译, 或者做一个符号连接, 这样它们皆可以正确工作。
ln -s ../share/zoneinfo /usr/lib/zoneinfo
请参见 Red Hat 勘误表 (www.redhat.com/errata) , 以得到其它方法。
  
问:我已经安装了所有的更新程序,但是我的程序依然得到错误的时间。
答:如果你已经安装了所有的更新程序, 但你的程序依然(时间)依然出错, 检查一下 /etc/sysconfig/clock 中的设置,它们看起来大概像这样:  
UTC=true
ARC=false
这说明你的 Linux 假设你的BIOS时钟是属于 UTC 或者 GMT 时区。很有可能的是(BIOS)时钟设置为本地时区, 因此你需要修改 UTC 行为:  
UTC=false
  
问:安装过程中, 我并没有被要求使用第二张光盘。当我使用 X 程序 'glint' 时, 它说没有 'rpms', 但是我在目录中发现了大量的 'rpms'。这是什么原因 ?  
答:Red Hat Linux 中的第二张光盘中含有所有的开放源代码应用源程序。通过这些源代码 rpms(SRPMS), 你可以重建所有这些应用。
glint 不能发现这些 SRPMS 的原因是它们并不存放于 RPM 数据库中。这样若想知道 src.rpm 是否安装过或是否正在覆盖一个较早的版本几乎是不可能的。因此你需要使用普通的 rpm 安装它们。
rpm -ivh < 文件名称 > 将源代码安装到 SRPM 维护者使用的目录中。缺省的 src.rpms 包的安装目录(Red Hat)是
/usr/src/redhat。
重建和改进 rpms 已经超过了本解答的范围。参考书 'Maximum RPM' 和 man pages 将是更好的资料。
  
问:Linux 识别出了我的CDROM,但是当我尝试安装它时,却失败了,我该怎么办?  
答:如果你的系统安装是正确的话, 那么简单地键入 mount /mnt/cdrom 就应该可以工作了。如果不是这样, 你必须编辑 /etc/fstab 文件。这是一个 /etc/fstab 的例子:  
/dev/hdc        /mnt/cdrom     iso9660 noauto,ro 0 0
CD-ROM device)  (directory)    (filesystem type and options)
为了发现 CD-ROM 设备, 键入 dmesg | less, 搜索关于你的 CDROM 的信息。如果你不希望修改 /etc/fstab 而安装 CDROM:  
mount -t iso9660 /dev/hdc /mnt/cdrom。
  
问: 我将 Linux 安装在 IDE 硬盘上, 但无论怎样我需要从软驱启动。我怎样从安装软盘启动系统?  
答:如果你在 IDE 硬盘上安装了 Linux, 你可以按照以下的步骤从启动软盘启动系统。
插入启动软盘, 重启计算机。在 boot: 提示符下键入:  
vmlinuz root=/dev/hdXY
  [例如: vmlinuz root=/dev/hdb5 ]
X 是你的 Linux 驱动器字母, Y 是 root(/) 所在的分区。
  
问:为什么我的即插即用适配卡不能工作?
答:2.0.xx 系列内核不能直接支持即插即用(PNP)协议。你需要关闭适配卡的 PNP 功能(通过跳线或者适配卡设置工具配置它)。你也可以改变你的启动方式, 使用 Loadlin.exe 从 Windows 中启动 (因为 windows可以配置 PNP 硬件设备)。
最后一种办法, 尝试一下 isapnptools 程序。首先, 键入:  
pnpdump > /etc/isapnp.conf
它将产生一个配置文件, 你可以编辑并选择符合每一块卡的设置,然后键入 isapnp /etc/isapnp.conf 启动这些设备。
可以到 http://www.roestock.demon.co.uk/isapnptools/ 获得等多信息。
  
问: 当系统启动后, 我看到一条信息说有未知的PCI硬件存在。这说明了什么?  
答:有几个原因可以引发错误信息 "unknown PCI device"。第一个可能的解释(基本上无害)是 PCI 对于 Linux 的问询所作的答复方式Linux不能理解, 不过 Linux 依然可以继续运行。最可能的事情是系统在问询 PCI 总线时挂起, 不能继续运行。
由于内核中的一个硬件问题, RedHat 的维护人员在此部分不能达到你的期望值。他们可以让你知道正在做什么, 也许想看一下(出问题的)你的硬件, 这样他们可以在未来做得更好。可以使用如下地址联系维护人员:  
linux-pcisupport@cck.uni-kl.de
(联系时)请包括如下信息:  
* /proc/pci  
* 你的硬件得精确描述. 想办法找出未知的硬件。它也许是主板上的芯片组, PCI-CPU 桥或者 PCI-ISA 桥。
* 如果你不能在硬件手册中找到明确的信息, 尝试读一下主板芯片指南。
问:无论什么原因, 我现在需要进入 rescue 模式以编辑一个文件. 但是编辑器告诉我 'unknown window type'. 当我进入 rescue 模式时, 我怎样才可以编辑文件 ?  
答:在选择了 rescue 模式并回答了几个问题后, 你会见到 root 提示符(#)。你需要像本例中一样安装 Linux 分区。下面演示中的分区只是一个例子。你可以根据你的系统修改他们(sda1,sdb1,hda5,等等)。
mkdir /mnt
mount /dev/sdb1 /mnt
cd /mnt/etc
export TERMCAP=/mnt/etc/termcap
vi filename
或者, 如果你需要使用一个不同的编辑器, 例如 pico, 你也许需要 chroot /mnt。
问: Linux 不能检测到我的 NE2000 兼容网卡,怎么回事,如何处理?
答:现在我们已经发现一些可以在较早版本内核中工作的 NE2000 网卡不能在新的 2.0.X 版本的内核中工作。对于其中的一些来说, 下面的工作也许有用。
你可以按照如下方法尝试使网卡工作:
insmod 8390
insmod ne io=0xXXX irq=Y
(注释: 用你的网卡的 IO 地址和中断参数替代 XXXX 和 Y。 大部分经常使用的 IO 地址是 0x300 或 0x310。中断的值可能是任意允许的值。)  
然后, 使用 netcfg 或 ifconfig 配置网卡。有时候, 即使网卡已经识别出, 仍然有报告说网卡不能传送 TCP/IP 协议包。这需要经过测试。
如果网卡开始工作了, 将它加入到模块文件 /etc/conf.modules 中。看起来应该像下面几行 :  
alias eth0 8390
alias eth0 ne
options eth0 io=0xXXX irq=Y
  
问:我已经升级到 5.0 , sendmail 不再像以前一样传送邮件。该做什么 ?  
答:由于多方面的电子邮件商使用未知的 Red Hat 系统发送邮件和一些其他问题, 在 5.0 中, 我们将(不作为邮件传递者)作为缺省选项。
你可以将你允许传递邮件的系统名称加入到文件
/etc/relay_allow. web 站点
http://www.informatik.uni-kiel.de/%7Eca/email/check.html 将告诉你更多关于这方面的信息。
如果你希望某些发送垃圾邮件的站点不能访问到你的计算机, 你可以使用 sendmail 的一些新特性拒绝他们的访问。将这些站点的地址加入到文件 /etc/mail/deny 中, 然后为它生成一个散列表。
下面的命令可以生成这种散列表:
makemap -v hash /etc/mail/deny < /etc/mail/deny。

TOP

楼主一直在犯一个原则性的错误:
X-Windows
应该是X-Window

它不是Windows!!!

TOP

非常感谢指导!

TOP

很好!
谢谢!!!1
我是一个readhat初学者.谢谢这些宝贵的信息.
希望斑竹多发点这些基本知识阿

TOP

对我很有帮助,谢谢斑竹!

对我很有帮助,谢谢斑竹!
一切由你来评价!

TOP

3q

TOP

楼上的!怎么样让一进系统声卡就处于激活状态啊!!
一切为了工作,一切为了进步,而这的一切的一切全为了Linux----我要学得更好!!!

TOP

       好好!

TOP

受益匪浅。每天在这里都能学到很多东西~
学习linux 中~

TOP

我很菜,请斑竹多多帮忙,我已经把你加为好友了,请你回复

TOP

Linux新鲜人

我的处女帖

TOP

好东西

TOP

支持!帮忙顶!!
一切为了工作,一切为了进步,而这的一切的一切全为了Linux----我要学得更好!!!

TOP

不错
一切为了工作,一切为了进步,而这的一切的一切全为了Linux----我要学得更好!!!

TOP