最佳技术支持

作者:Various
时钟同步

我想知道如何在我的局域网上最好地同步各种 Linux 机器(各种内核和发行版)的时钟。—John Morley, jmorley@grafton.demon.co.uk

你应该试试 NTP:www.eecis.udel.edu/~ntp。NTP 软件包含在常见的 Linux 发行版中,如 Red Hat。—Pierre Ficheux, pficheux@com1.fr

我个人从我电脑的 crontab 运行 rdate。这给了我一秒内的精度,对于网络的正常交互使用来说已经足够了。—Alessandro Rubini, rubini@prosa.it

如果你有多个服务器,这绝对是一件有用的事情,但是有很多方法可以实现它。最常见的方法是使用 timed 守护进程。阅读该守护进程的 man 手册,以获得关于如何使用它的详细描述。供您参考,还有其他一些程序可以下载,它们可以完成相同的工作,但功能略有不同,但由于 timed 几乎存在于所有现代 UNIX 系统中,因此它是最好的起点。—Chad Robinson, chadr@brt.com

内核、模块、鼠标

我正在使用 SuSE Linux 6.1。我定义了一个新的内核配置(使用 make xconfig)。如果我启用“模块”支持,我的鼠标就无法工作。使用完全相同的配置,但创建“单内核”(意味着我将所有的 m 都改成了 y)就可以正常工作。我花了很多时间在这个问题上,但没有结果。你有什么想法吗?—Mark Shahaf, mshahaf@ibm.net

你可能遇到了模块自动加载的问题。尝试手动加载鼠标模块:例如 modprobe psaux。此外,如果问题只影响你的鼠标,你可以使用模块,但将其编译到内核中。由于你可能一直都在使用鼠标,而且代码也不太大,你最好将其编译到内核中。—Marc Merlin, merlin@varesearch.com

如果鼠标驱动程序被编译成模块,你应该加载该模块才能使用鼠标。尝试 insmod psaux(或者如果是串行鼠标,则尝试 insmod serial),或者配置 kmod 以自动加载它。—Alessandro Rubini, rubini@prosa.it

startx 和颜色表

我正在运行 Red Hat Linux 6.0。如果我在完全多用户模式下运行(通过将 inittab 文件中的运行级别设置为 3),我可以执行 startx - -bpp 32 并显示所有必要的颜色。但是,如果我将 inittab 文件中的运行级别从 3 更改为 5 以自动运行 X11,那么当我尝试加载一些 GUI 应用程序时,我会收到以下结果

Warning: Cannot allocate colormap entry for "gray71"
Warning: Cannot allocate colormap entry for "AntiqueWhite3"
Warning: Cannot allocate colormap entry for "AntiqueWhite2"
...

即使我已经按如下方式修改了 /etc/X11/xdm/Xservers 中的最后一行,也会发生这种情况

:0 local /usr/X11R6/bin/X -bpp 32
有什么建议吗?—Mohsen Madi, mmadi@cs.umanitoba.ca

如果你使用 xdm,这正是你应该做的。但是,如果你使用 gdm(Red Hat 6.0 中的默认设置),你现在需要编辑 /etc/X11/gdm/gdm.conf。你会找到这个部分

[servers]
0=/usr/bin/X11/X

只需在那里添加你的 -bpp 32 即可。—Marc Merlin, merlin@varesearch.com

另一个 startx 问题

当我以普通用户身份输入 startx 时,在卡初始化之后,我收到此响应

X11TransSocketUNIXConnect : Can't connect: errno = 111
giving up
xinit: Connection refused(errno 111) unable to connect to X server
xinit: no such process(errno 3) server error
X11TransSocketUNIXConnect : Can't connect: errno = 111

我正在运行 XF86 3.3.3.1-49。我在我收到的杂志中找到了完全相同的帖子;但是,我的情况有点奇怪。我可以以 root 身份运行 X 而没有问题。我已经设置了所有用户执行 X 的权限,但事情并没有朝着那个方向发展。

另一方面,我下载了 2.2.10 的 bz2 包并安装了它。我添加了对 /proc 文件系统的支持,为了让我的 Linux 机器主要充当路由器,用于转发、防火墙、伪装和额外的网络功能。但是,当我重新启动后,我在 /proc 下面没有 /sys 子目录。但我确实有 /proc 目录树。我可以毫无问题地启动防火墙,并将参数传递给 ipchains。当我运行 uname -a 时,我得到这个输出

Linux digitalklown.net 2.2.10 #1 Mon Jul 26 21:17:02 CDT 1999 i586 unknown
running rh6.0

—Jason Helfman, deklown@digitalklown.net

你没有 /proc/sys 的原因是你在内核配置的“常规设置”部分忘记添加 sysctl 支持。当你遇到像这样的未知问题时,最好的办法是确保你的 2.2.10 树是干净的,方法是输入 make distclean(这将删除你的 .config 文件,其中包含你选择的所有编译选项,所以如果你的当前副本在那里,请先保存它)。如果你确实有一个 .config 文件,现在你可以将其复制到你的 2.2.10 树中,并使用通常的 make clean(虽然在这里没用,因为我们刚刚做了 make distclean);make depmake installmake modulesmake modules_install 来构建你的内核。如果你没有 .config,你可以通过安装内核源代码,进入 /usr/src/linux-version 并输入 make oldconfig 来获得 Red Hat 用于其内核的 .config。这将在同一目录下生成一个 .config,你将能够将其移动到你的新 2.2.10 树中。

遵循上述步骤应确保你在内核中选择了一组合理的选项,并且你最终得到的内核是正确构建的。—Marc Merlin, merlin@varesearch.com

使用 startx,你同时启动了 X 服务器和一组默认客户端。你报告的错误是客户端的错误,这表明服务器没有运行。你应该在屏幕上更早地查看,以找出服务器失败的原因。

如果服务器实际上正在运行,那么你可能遇到了授权问题。请检查你的 xauth 设置是否错误,或者其他授权方式是否正在运行并且配置错误。/proc/sys 树是 sysctl 实现的一部分。如果你在配置内核时没有启用 sysctl,那么就不会有这样的树。—Alessandro Rubini, rubini@prosa.it

SIS 驱动程序问题

我在我的系统上安装了 Red Hat Linux 5.0,该系统有一个 Cirrus Logic VGA 卡。我安装了 X Window 系统并成功运行。在我的办公室里,大多数系统都有 SIS 6215 VGA 卡,而 Linux 5.0 不支持它。我从 Red Hat 的网站下载了 SIS 驱动程序。我正在使用 PC-quest Red Hat Linux 5.0 CD,它没有 SIS 驱动程序。既然我是从 CD 安装,我如何在安装期间插入 SIS 驱动程序?请澄清我在安装期间如何在不使用 CD 的情况下安装第三方驱动程序的疑问。—Munnangi Reddy, rajasekhara_m@hotmail.com

你不能。但是,安装不使用图形界面,所以你仍然可以安装系统。安装后,你可以通过使用以下命令安装新的 RPM 文件来升级你的 X 软件包

rpm -i package

—Alessandro Rubini, rubini@prosa.it

如果你想使用新的 XFree86 支持的显卡,你应该同时升级 XFree86 服务器(XFree86-SVGA...)和 Xconfigurator 实用程序,该实用程序用于生成 XF86Config 文件。所有这些软件包都可以从 Red Hat FTP 服务器获得。—Pierre Ficheux, pficheux@com1.fr

PPP 高级问题

我正在使用 Red Hat 版本 6.0。我已经配置了 PPP,并且可以拨出到我的 ISP。它使用服务器分配的动态 IP 地址。我也希望在同一系统上允许拨入,以便进行管理和技术支持。文档指出,你将希望为拨入用户分配给端口的 IP 地址放在 /etc/ppp/options.ttySx 文件中。但是,只要我在文件中放入与拨出端口对应的 IP 号码,我的 PPP 拨出就会失败。我知道可以在同一端口上同时支持拨入和动态拨出。PPP HOWTOs 指出这是可以做到的。我必须做什么才能使其工作?

注意:options.ttySx 文件只有一个条目。所有其他选项都在 options 文件中。—Gerry George, ggeorge@digisolv.com

实际上,只有当你有多个串行端口和调制解调器,并且你想动态地为你的用户分配 IP 地址时,你才会这样做。如果你只有一个调制解调器,你可以简单地在 PPP 命令行上分配 IP。你可以在 /etc/password 中创建一个 PPP 用户,该用户启动此脚本而不是 shell

#!/bin/sh
IFS=" "
export IFS
/usr/bin/mesg n
stty -tostop -echo
exec /usr/sbin/pppd modem crtscts proxyarp -d\
  -detach moremagic:ppp-guest

—Marc Merlin, merlin@varesearch.com

多个授权用户

我们在亚利桑那大学物理系有几个 Linux 机器实验室供学生使用,还有几台较旧的 SPARC,我们正在使用最新的 Linux 版本对其进行更新。我们对 LILO 和 SILO 有一些安全方面的担忧。这些机器中的几台的控制台对学生公开可用,我们一直担心学生强制重启并在单用户模式下启动 Linux,从而获得对系统的完全访问权限。诚然,从大多数机器上不会造成太大的损害,因为大多数机器只是将其驱动器映射到更安全的机器的用户目录,但这仍然是一个问题。

我们已经在每台机器上各自的 /etc/lilo.conf 和 /etc/silo.conf 文件中添加了 “password=/password/” 和 “restricted” 行(并且自然地在 BIOS 中添加了密码保护,以防止从软盘启动);但是,lilo.conf 和 silo.conf 对于普通用户仍然是可读的。我们希望为实验室工作人员保留单用户模式的可用性,并将这些配置文件中包含的项目(例如,镜像位置)提供给那些实验室工作人员,而无需修改文件的安全权限。有没有一种方法可以做到这一点,同时防止任何人读取 lilo.conf/silo.conf 中的密码行?我们应该完全放弃使用 LILO/SILO,而改用其他东西吗?—Sam Hart, hart@physics.arizona.edu

使用另一个引导加载程序会是一个好主意,但还有另一种选择。LILO 配置文件仅在实际运行 LILO 命令时才使用。启动时不需要它。因此,你可以将该文件放在只有你的实验室工作人员才能访问的软盘上。他们可以在必要时挂载它,并在更新内核或更改启动选项时使用 -C 选项来指定其位置。—Chad Robinson, chadr@brt.com

我会从 SILO 和 LILO 获取源代码,并将密码硬编码到其中(然后确保二进制文件是 700 权限,这样用户就无法对它们运行 strings 命令)。—Marc Merlin, merlin@varesearch.com

Samba 问题

我安装了 Samba 1.9.15p8,但我无法写入 Win98 PC。我正在运行 Slackware 2.0.36。从 Linux 机器上,我可以读/写 Win98 机器。从 Win98 机器上,我可以从我的 Linux 机器上读取,但不能写入。有什么想法吗?

(my /etc/smb.conf)
[public]
   path = /
   public = yes
   only guest = no
   writable = yes
   printable = no

—Hoo Kok Mun, hkmun@pacific.net.sg

也许你在 / 上的 Linux 访问权限有问题。如果你想设置一个公共的读/写目录,你应该使用一个公共目录,例如 /tmp。这是我的 /tmp 的 smb.conf 配置

[Tmp]
   comment = Temporary partition (rw)
   path = /tmp
   read only = no
   guest ok = yes
   case sensitive = no
   mangle case = yes
   preserve case = yes

如果你想从 Win98 更深入地测试 SAMBA,你可能需要配置用户访问和密码。只需在 smb.conf 中添加以下部分

[homes]
   guest ok = no
   read only = no

不要忘记 Win98 使用加密密码,所以你应该在你的 smb.conf 的 [global] 部分添加以下行

[global]
   security = share
   encrypt passwords = yes
   smb passwd file = /etc/smbpasswd

并使用 smbpasswd 命令添加用户和密码。—Pierre Ficheux, pficheux@com1.fr

加载 Disqus 评论