最佳技术支持

作者:Various
Netscape 问题

我在 Linux 上运行 Netscape 时遇到问题。我在前 4G 分区中安装了 Windows NT,并在剩余的 4G 分区中安装了 Linux。Linux 在首次安装时检测到以太网卡,但是当我注销以使用 NT,然后再返回 Linux 时,Linux 不再识别我的以太网卡。它给我一个 “domain not bound” 错误。我想知道发生了什么。 —Yong, yboone@novell.com

据我经验,Netscape 以有很多漏洞和问题而闻名,并且不仅限于 Linux。我最近重新安装了 4.75RPMs (来自 Red Hat ftp 站点),并且到目前为止,似乎问题更少,特别是与 Java 相关的问题。Netscape 的第一个进程仍然很常见会死掉,但是该程序的新实例将运行良好。关于您的以太网卡,您没有提及品牌/型号,但是我通过关闭 3Com 3c590 以太网卡的 PnP 功能,并在 Windows 下使其作为 ISA 或 EISA 工作,解决了类似的问题。之后 Linux 工作正常。—Felipe E. Barousse Boué, fbarousse@piensa.com

调整以太网卡

我正在设置有线调制解调器。我有一张 10/100 以太网卡,以全双工模式运行。我如何将网卡锁定为 10MB 和半双工?这在 “hwconf” 文件中吗?如果是,语法是什么样的?非常感谢任何额外的帮助。另外,我正在运行 RCA 有线调制解调器。—David A. Bower, davidbower@iwon.com

您没有指明您使用的以太网卡品牌。但是,通常网卡会附带一张软盘(或者您可以从网卡制造商的网站下载),其中允许您关闭网卡的即插即用和双工功能。请记住,对于某些网卡来说,此更改实际上对网卡的行为没有任何影响,至少在 Linux 方面是这样。我建议您查看 Ethernet-HOWTO,网址为 www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html,您可以在那里找到有关您的特定网卡设置的更多信息。—Felipe E. Barousse Boué, fbarousse@piensa.com

有线调制解调器可能会令人沮丧,因为它们通常使用专为 Windows 系统设计的 DHCP 形式。将您的网卡设置为半双工可能会有所帮助,并且可以通过使用驱动程序作为模块而不是内置驱动程序来完成。然后使用 insmod mydriver.o full_duplex=0。请注意,有些网卡不支持此参数。即使这样做,我也遇到了问题。为了让我的有线调制解调器在 Linux 下工作,我必须在 “dhcpcd” 的命令行上指定以下所有开关:-r -h myhostname.in.windows -I 1:xx:xx:xx:xx:xx:xx -l 3600 eth0。这告诉程序使用 RFC1541(已过时)协议,指定主机名(您可以通过从您工作的 Windows 系统运行 WINIPCFG 来获取),并指定以太网地址和网卡(来自同一台机器;对于您来说可能不是必需的)。—Chad Robinson, crobinson@rfgonline.com

双启动时的 Num Lock

我的机器设置为双启动 Red Hat Linux 6.2 和 Windows 98。当启动到 Windows 98 时,Num Lock 保持开启,但当启动到 Linux 时,它会关闭。有没有办法改变这种行为,这样我就不必每次启动 Linux 时都按 Num Lock 键?—Michael Kaneshige, kaneshige@uswest.net

如果您在文本模式下工作,请查看 setleds 命令的 man 手册。在其中一个初始化脚本中,比如 /etc/rc.d/rc.local,添加类似这样的内容

for i in 1 2 3 4 5 6 7 8 dosetleds -D +num < tty$i done

这将在启动系统时默认开启 Num Lock。如果您正在使用图形用户界面,通常有一个专门用于启动时 Num Lock 状态的选项设置。—Felipe E. Barousse Boué, fbarousse@piensa.com

您可以将这些命令添加到您的 /etc/rc.d/rc.local 启动脚本中

INITTY=/dev/tty[1-8] for tty in $INITTY; setleds -D +num < $tty
done

--Pierre Ficheux, pficheux@com1.fr

笔记本电脑上的 PCMCIA 卡

我正在笔记本电脑上安装 Red Hat 6.1。我如何让它读取/加载 pcmcia 卡而不是 eth0?—Anthony G., anthonynvs@relaypoint.net

您应该查看 /etc/rc.d/rc3.d/* 启动脚本,以查看 pcmcia 和 eth0 板的初始化顺序。重命名具有较高或较低数字的文件(S10xxxxx、S20xxxx 等)将重新确定该顺序。许多启动服务都存储在那里,因此在处理这些文件时要小心。另外,查看 chkconfig --help 命令,这样您就可以打开一项服务而关闭另一项服务。最后,要手动初始化或停止 pcmcia 或以太网板,请使用命令

/etc/rc.d/init.d/pcmcia [stop|start|restart]ifdown eth0
ifup eth0

--Felipe E. Barousse Boué, fbarousse@piensa.com

模拟 VT100

当我从 Linux PC Telnet 到 Linux 服务器并使用 vi 编辑远程 PC 上的文件时,我得到一个充满 ANSI X3 光标控制字符的屏幕。我的 PC 似乎没有模拟 VT100。我在我的 .bash_profile 中设置了 TERM=vt100,并使用了 EXINIT='term=vt100',甚至在 vi 中使用了命令模式 (:term=vt100),但都无济于事。我哪里做错了?先谢谢了。—Dominic Wild, wildd@optusnet.com.au

似乎您需要将 TERM 变量调整为正确的值。您做得对,只是您可能没有使用 vt100 模拟。尝试使用 “ansi”。请记住,您可能需要在您登录的机器和您登录的机器上都设置正确的模拟模式。也就是说,您设置中的每个模拟都必须相同才能使其工作。要检查您从 telnet 登录的机器上正在使用哪些模拟,请使用 “env” 命令检查环境变量。—Felipe E. Barousse Boué, fbarousse@piensa.com

终端设置($TERM 等)对终端本身没有影响。它们只告诉应用程序当前终端是什么,即它生成和接受哪些转义序列。因此,如果您强制 $TERM 为 vt100,应用程序将向不是 vt100 的 TTY 发送 vt100 命令。我怀疑您的终端名称应该是 “linux”、“xterm”、“rxvt” 或适合您正在使用的终端模拟器的任何名称。由于 $TERM 是通过 Telnet 会话传播的,因此您不能仅更改其值。—Alessandro Rubini, rubini@linux.it

无法加载 Tulip 驱动程序

我有一个 SMC 8432T 以太网适配器。我收集到的所有信息是它是一个 DEC 21041 芯片,驱动程序是 tulip.o。问题是 KDE 不会加载 tulip 驱动程序,只会加载 24x5。但我最大的挫败感是,我找不到任何手动设置的教程。—Al Smolkin, alik713@home.com

您必须从实际的 Linux 启动过程中加载 tulip 驱动程序,而不是从 KDE 或任何其他 GUI 加载。我的机器也有一张基于 tulip 的网卡,我在我的 Red Hat 6.1 系统中像这样处理它。在文件 /etc/conf.modules 中,有一行

alias eth0 tulip

我将模块 tulip.c 编译成 tulip.o 并将其放在 /lib/modules/2.2.16-3/net/tulip.o 中,它会在启动时加载。加载后,您可以运行级别 5;也就是说,您可以打开您想要的任何图形环境。要手动加载模块(在编译之后),请尝试命令

insmod tulip
然后您可以 cat 文件 /proc/modules 以检查 tulip 模块是否已加载到您的系统中。—Felipe E. Barousse Boué, fbarousse@piensa.com

确保 21041 确实是您拥有的;它实际上可能是 21040,在这种情况下,IRQ 和端口并不总是自动找到。您可以通过查看卡上的大型黑色芯片来判断这一点,它上面会印有这个数字。老实说,旧的 SMC 以太网卡可能很麻烦;我已经使用它们多年了,而且我必须为每张卡做不同的事情。您可以让您的卡工作,但如果您感到沮丧,为什么不试试 Etherpower II?它会被立即识别,而且现在非常便宜。—Chad Robinson, crobinson@rfgonline.com

配置 Sendmail 和 POP3

请帮助我设置 sendmail 以处理我内部网络的 POP 邮件。该网络有一台 Linux 服务器 satish.enet.com,它具有 sendmail 和 DNS。DNS 已配置,我能够向 Linux 机器上的用户发送和接收邮件,但我无法通过 Windows 9x 中的 Outlook Express 发送和接收邮件。—Dasi Satish, sdasi@manraonline.com

要启用 POP3,您必须取消注释文件 /etc/inetd.conf 中的 pop3 条目。之后,您必须使用命令重新初始化 inetd 进程

/etc/rc.d/init.d/inet restart

然后,配置 Outlook 客户端以使用 satish.enet.com 作为 POP 服务器(传入邮件服务器)。您需要在 Linux 服务器上配置用户名和密码,POP 才能正常工作。此外,您的 Linux 服务器上必须运行 sendmail 才能为您的 Outlook 客户端提供 SMTP 服务(传出邮件)。因此,将 SMTP 服务器设置为使用同一台机器。您可能需要在 /etc/mail/access 中设置如下行

aaa.bbb.ccc.ddd    RELAY
其中 aaa.bbb.ccc.ddd 是您 LAN 上 PC 的 IP 地址。这允许他们使用 Linux box 的邮件功能,而不会收到 “relaying denied” 消息。删除 /etc/mail/access.db 文件,使用以下命令重启 sendmail
/etc/rc.d/init.d/sendmail restart
并且您应该能够通过您的 Linux box 向 Outlook 客户端发送和接收邮件。—Felipe E. Barousse Boué, fbarousse@piensa.com

Sendmail 不是 POP 服务器。POP 是一种拉取技术,不经常连接的客户端使用它来获取他们的邮件。SMTP (Sendmail 的领域) 是一种推送技术,它期望远程系统始终处于连接状态。您需要一个 POP 守护程序。互联网上有几个可用的,而且很可能,您的系统上默认安装了一个。—Chad Robinson, crobinson@rfgonline.com

为小文件设置 Inode

我需要微调新服务器的 ext2 文件系统,以处理大量极小的文件(10K 或更小)。我应该如何格式化驱动器,使其能够处理这些小文件而不会耗尽 inode?—Ether Trogg, ethertrogg@mindspring.com

您需要做的就是增加系统上的 inode 数量。您可以使用 “mke2fs” 的 “-i” 参数来做到这一点。大多数系统使用 4096 作为默认值,这意味着您系统上每 4096 字节将获得一个 inode。这对于您的 10K 要求应该没问题,因为这将平均每个文件两到三个 inode。但是,如果您发现自己有很多小于 4K 的文件,请尝试 2048 或 1024 的值。任何更低的值都可能适得其反。—Chad Robinson, crobinson@rfgonline.com

独立映射按键

我需要映射按键,使其根据我使用的控制台而具有不同的含义。例如,我需要在会话上显示一个菜单屏幕,而在另一个会话上显示一个 POS 订单接收器。每个都需要设置按键来表示不同的含义。到目前为止,似乎 Linux 只支持全局更改。我需要它们独立运行,这在 SCO UNIX 下效果很好。我们正在使用 Debian Potato。—Dave A., anderson@webace.com.au

您可以在 Linux 下以与 SCO 中非常相似的方式执行此操作。问题在于大多数默认发行版都不希望您这样做,因此您必须自己做一些工作。/etc/termcap 文件确定键盘映射定义(以及其他内容)。您需要做的是定义两个条目,例如 linuxtty1 和 linuxtty2。完成此操作后,修改您的 /etc/profile。您可以选择将这些更改放在用户帐户的 .profile 或 .cshrc 中,具体取决于使用的 shell。您必须编写代码来确定用户的登录 TTY,并根据该 TTY 设置 TERM 环境变量。如果不了解您正在使用的 shell,我无法给您一个示例,但在大多数系统的 /etc/profile 中可以找到一个不太简单的 bash 示例。(它根据本地登录与 Telnet 登录设置 TERM。)--Chad Robinson, crobinson@rfgonline.com

在 Chroot 环境中运行辅助名称服务器

在 2000 年 10 月的 Linux Journal 中,Michael D. Bauer 关于保护 DNS 和 BIND 的文章解释了如何在 chroot 环境中运行您的名称服务器。当我的名称服务器也充当某些域的辅助服务器时,它需要能够运行 /usr/sbin/named-xfer,以从主服务器传输区域文件。我花了很多时间解决为什么我的辅助域不起作用的问题,最后我成功了。但是许多经验不足的用户可能会在这上面浪费太多时间,最终结果是 “它不起作用”,并再次运行非 chroot 名称,这会降低他们的安全性。

解决方案如下。$CHROOT 是您在其中运行 chroot BIND 的目录。

  1. 使用命令检查 named-xfer 使用哪些共享库

ldd /usr/sbin/named-xfer
  1. 创建一个新目录 $CHROOT/lib,并将所需的库复制到新目录中。

  2. 在 chroot 环境内部创建其他必需的目录,使用

mkdir -p $CHROOT/etc $CHROOT/usr/bin $CHROOT/lib
  1. 创建一个空的 ld.so.conf 文件,并创建到库的必要符号链接

touch $CHROOT/etc/ld.so.confldconfig -v -r $CHROOT
  1. 将 named-xfer 复制到 chroot 目录下的新 usr/sbin 目录中

cp /usr/sbin/named-xfer $CHROOT/usr/sbin

瞧,它工作了!当然,您的 slave-files 目录需要对运行 named 的用户可写。—Michal Ludvig, michal@logix.cz

加载 Disqus 评论