最佳技术支持
我刚升级到一台双 Pentium Pro 机器。BIOS 识别到两个处理器,但我无法判断 Linux (Kernel 2.0.27) 是否使用了这两个处理器。我该如何让 Linux 使用其 SMP 功能?
—Jon Bishop Red Hat 4.1
要利用 SMP,您需要重新编译内核以使用两个处理器。首先确保已安装 kernel-source RPM。然后转到 /usr/src/linux 并编辑 Makefile。您会找到一行类似于
# SMP = 1
取消注释该行,删除井号 (#) 符号。然后像往常一样构建内核(有关更多信息,请参阅 Kernel HOWTO,网址为 http://sunsite.unc.edu/LDP/)。
—Donnie Barnes,MIS 总监 Red Hat Software,info@redhat.com
当我尝试使用自定义规范编译新内核时,编译大约在中间位置失败,并给我一个错误消息,内容如下
gcc: internal compiler error 11.
请告诉我这可能意味着什么。
—Joe Ortiz Slackware 2.0.30
这很可能与您的硬件配置有关。有一个专门针对 signal 11 问题的 Web 服务器。请查看 http://www.bitwizard.nl/sig11/。希望那里的信息能解决您的问题。
—Pierre Ficheux Lectre Systèmès
我在几台机器上都见过这种情况。 每次问题都是安装在计算机主板上的坏内存芯片。Signal 11 是段错误,通常发生在程序指针出错时。
gcc 是一个足够稳定的程序,在简单的编译过程中不应该发生这种情况,但它确实大量使用内存,而且 Linux(或任何 Unix)对坏内存非常敏感。
您的系统上的库文件也可能已损坏或与其他库不兼容。但是,如果是这种情况,您也应该在其他程序中看到问题。库损坏只应发生在您最近安装了新库或修改了现有系统库时。
—Chad Robinson,BRT Technologies 高级系统分析师,chadr@brt.com
如何让 Linux 与 WinNT 一起安装在系统上?我有很多未分区的可用空间。
—Casey Woodrum Red Hat 4.2
混合使用 Linux 和 NT 的唯一技巧是配置启动过程。Linux 将照常安装,但安装完成后,您可能需要手动修复启动设置。假设 NT 在分区 /dev/sda1 上,而您将 Linux 安装在分区 /dev/sda2 上。尽量确保您的 Linux 分区是柱面小于 1024 的主分区。这不是必需的,但它简化了事情。
您应该使用 Microsoft 的主引导记录而不是 LILO。 不要将 LILO 安装到硬盘的主引导记录上。在大多数情况下,当 LILO 作为主引导记录时,NT 会崩溃转储。考虑到所有这些,请执行以下步骤
1. 编辑 /etc/lilo.conf 文件,以便
boot=/dev/sda2
是第一行。在安装过程中选择 /dev/sda2 作为 LILO 的目标应该已经为您完成了此操作。
2. 在 lilo.conf 的末尾添加一个启动 NT 的条目
other = /dev/sda1 label = nt
如果安装程序足够智能,您应该可以在安装过程中配置此项。
3. 运行 LILO 以安装新的 lilo 启动配置。
4. 重新启动进入 NT。在 NT 下使用 FDISK 将分区 2 (/dev/sda2) 标记为活动分区。您应该在重新启动时获得 LILO。从 LILO 启动提示符下,您可以键入 nt 来获得 NT 启动加载程序。
如果安装过程没有正确配置 LILO,您可能需要从软盘启动 Linux 并从软盘编辑硬盘上的文件。
—Larry M. Augustin, VA Research lma@varesearch.com
如果您在磁盘上制造了麻烦,一个未记录的 FDISK 参数可以帮助您摆脱困境。运行
fdisk /mbr
以恢复启动驱动器上的主引导记录。这将删除 LILO,如果您在安装过程中以某种方式引起麻烦,则允许您使用 Windows NT。
—Chad Robinson,BRT Technologies 高级系统分析师,chadr@brt.com
我无法使第二个 PPP 连接正常工作。我使用 X Window 工具 netcfg 设置 ppp0 以连接到南佛罗里达大学。此设置似乎工作正常,连接和断开连接都很好。然后,我设置 ppp1 以连接到 Compuserve。这似乎连接正常,但我无法在不关闭 Linux PC 的情况下关闭调制解调器。当我查看系统消息文件时,我看到脚本开始使用 ppp1 设置进行连接,但一旦 PPP 启动,它就说它已连接到 ppp0。我还看到 ppp0 在内核中注册,而不是 ppp1,这不应该发生。我曾尝试弄清楚所涉及的各种脚本,但无法理解它们。我是 Linux 新手,对 BASH 脚本语言不太了解。请帮忙。
—Mike Richards Red Hat 4.2
Red Hat 的 PPP 编号分配方案已损坏。他们的脚本不能保证在设置实用程序中标记为 ppp1 的 ppp1 将在内核中激活为 ppp1。发生这种情况是因为 PPP 连接是动态分配的。虽然您可能在 Red Hat 配置实用程序中定义了 ppp1,但如果它是唯一活动的 PPP 连接,则该设置将在内核内部注册为 ppp0。
我需要更多关于您设置的详细信息才能提出解决您问题的最佳方案,但以下是脚本在 Red Hat 下的工作方式。这可能会为您提供足够的信息来找到解决方案。
文件 /etc/rc.d/init.d/network 在启动时使用参数 “start” 运行。它在 /etc/sysconfig/network-scripts/ 目录中查找 ifcfg* 形式的配置文件。因此,如果您使用创建备份文件的编辑器(例如,ifcfg-eth0~)编辑其中一个文件(在不运行 X 时很常见),Red Hat 脚本将运行备份文件以及新文件。对于每种连接类型(以太网、PPP、PLIP 等),都有启动和停止连接的 “up” 和 “down” 文件。网络脚本使用适当的 ifcfg 文件作为参数运行 “up” 脚本,例如,/etc/sysconfig/network-scripts/ifup-ppp /etc/sysconfig/network-scripts/ifcfg-ppp0。
有一个相应的 “down” 脚本来关闭连接,名为 /etc/sysconfig/network-scripts/ifdown-ppp /etc/sysconfig/network-scripts/ifcfg-ppp0。
您可以从命令行运行这些脚本以进行测试。
—Larry M. Augustin, VA Researchl mai@varesearch.com
我的新系统配有一个新的 Microsoft 鼠标。这个鼠标在 Linux 下无法工作。经过几天的折腾,我得出的结论是我的 Microsoft 鼠标型号有问题——鼠标底部标有 Serial Mouse 2.1A。我断定问题出在这个鼠标上,因为新系统用我的旧 Microsoft 鼠标工作得很好。是新鼠标有问题吗?
—Ed Green Slackware 2.0.29 Walnut Creek
我无法访问最新的鼠标,所以 Francois Chastrette 在解决这个问题上提供了很多帮助。我们正在努力制定一个令人满意的解决方案,以便包含在 gpm 1.12 中(现在是八月底)。当您阅读本期《Linux Journal》时,新版本的鼠标服务器应该可以通过 FTP 获取。
X 支持可能需要更长的时间,因为 X 团队需要管理一个庞大的软件包。在此期间,您可以使用 gpm 的 -R 选项将干净的鼠标数据包馈送到 X 服务器。
—Alessandro Rubini rubini@linux.it