最佳技术支持

作者:Various
RPM 不允许我升级

在一个使用 RPM 4.0.3-1.03 的 Red Hat 系统上,似乎选项 --nodeps 和 --force 并不能阻止系统检查依赖关系。因此,我无法更新某些软件包。例如,

rpm --nodeps --force -Uvh db3-3.2.9-4.i386.rpm

给出错误

failed dependencies:
libdb-3.1.so is needed by pam-0.72-26
libdb-3.1.so is needed by sendmail-8.11.0-8
# rpm --nodeps --force -Uvh pam-0.75-14.i386.rpm
error: failed dependencies:
        libdb-3.2.so   is needed by pam-0.75-14
我旧版本的 RPM 过去是可以工作的。

—Yi Zhao, yzhao2@yahoo.com

我通常通过在一个 RPM 调用中升级所有内容来摆脱这种消息

rpm -Uvh -force --nodeps pam-0.75-14.i386.rpm
sendmail-XXX db3-3.2.9-4.i386.rpm

—Mario M. Bittencourt Neto, mneto@buriti.com.br

同时检查 /etc/hosts 和 DNS

当我尝试解析一个不在 DNS 中但在我的 /etc/hosts 文件中的名称时,nslookup 拒绝查看 /etc/hosts。我希望同时查看 /etc/hosts(首先)和然后 dns。我的 /etc/nsswitch.conf 文件有这个

"hosts: files [NOTFOUND=continue] dns"

我有一个 UNIX 平台的混合环境,我的其他 UNIX 机器(HP-UX 和 Sun)在这种配置下工作。你能告诉我我的 Linux 设置中缺少什么吗?

—Jim Booker, jim.booker@verizon.com

nslookup 不会查看 /etc/hosts;这是正常行为。但是,host 命令会同时查看两者。HP-UX 和 Sun 的 nslookup 命令可能已被修改为以不同的方式运行。

—Marc Merlin, marc_bts@valinux.com

USB 键盘停止工作

我有一台 Compaq Presario 5000 系列 PC,我在上面安装了许多不同的系统,包括 Red Hat 7.1,我现在正用它来写这个问题。当我尝试安装 Red Hat 7.2 时,我在安装过程中遇到了接受键盘输入的问题。我有一个 USB Compaq Internet PC 键盘。安装过程中是否存在导致 USB 键盘出现问题的退化?如果是这样,有什么解决方法吗?

—Brian W. Masinick, masinick@yahoo.com

尝试配置您的 BIOS 以提供“传统键盘支持”。

—Christopher Wingert, cwingert@qualcomm.com

我看到您正在使用 Red Hat,但对于那些使用 Mandrake 遇到同样问题的人,我看到报告称 Mandrake 8.1 有一个文件 /etc/sysinit/usb,需要输入 KEYBOARD_AT_START=NO 才能使 Linux 正常工作并与 USB 键盘正确配合使用。

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

SuSE 无法启动,Red Hat 无法显示

我在我的 Dell Dimension L866r 上安装了一个 SuSE 副本,它使用 LILO,当我启动时,我的屏幕上只显示一堆 0 和 1。我安装了 Red Hat 7.2,它安装了 GRUB,GRUB 可以工作。不幸的是,7.2(像所有 4.x 以后的 Red Hat 一样)无法处理我的 Nokia Multigraph 447x 显示器。我给他们发了电子邮件,但他们没有回复。

—Jim Macdonald, jimm@mediaone.net

我认为最简单的事情是使用 Red Hat 7.2 并手动设置显示器模式。您的显示器模式信息位于 www.ibiblio.org/pub/linux/distributions/redmondlinux/redmond/build38/live/usr/share/hwdata/Monitors

—Christopher Wingert, cwingert@qualcomm.com

LILO 很可能遇到了 BIOS 几何问题。您的 BIOS 是否设置为某种几何转换?通常这被称为大磁盘支持或 LBA 模式。这将使柱面数降低到一个较低的数字(希望低于 1,024 个柱面),并允许 LILO 看到整个磁盘。如果这不可能,请确保安装内核的分区(/ 或 /boot,取决于发行版)完全包含在 1,024 个柱面以下。此错误也可能意味着 LILO 错误地解释了您的磁盘几何结构。您可能需要告诉 LILO 您的真实几何结构,或者您可能需要给 LILO “linear” 选项。请查看 www.linuxdoc.org/HOWTO/mini/LILO-2.html 的 2.2 节以获取更多信息。

—David Brown, david@caldera.com

页面 www.geocities.com/SiliconValley/Peaks/3233/linux.html 有一个链接指向一个使用 Nokia Multigraph 447X(与您的显示器相同)运行的 /etc/X11/XF86Config 文件。

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

您现在无法登录;去享受生活吧

我有两个问题。首先,如何创建一个与 root 具有相同权限的 root 备份用户?其次,有没有办法只允许用户在特定的时间范围内登录?例如,允许用户在早上 6 点到下午 6 点之间登录,但不允许在此窗口之外登录。

—Jerry Fulkerson, hrlinkin@aol.com

要添加第二个 root 帐户,请编辑 /etc/passwd 和 /etc/shadow(使用 vipw 和 vipw -s)。在这两个文件中,复制包含 root 的行,并将名称更改为 backuproot。

—Marc Merlin, marc_bts@valinux.com

关于控制登录时间,有几种方法可以实现。使用可插拔身份验证模块 (PAM) 系统的 pam_time 模块是其中一种方法。文件 /etc/security/time.conf 可以包含以下行

login;*;joe;Al0600-1800

这意味着用户 joe 被允许使用名为 login 的服务,从任何终端 (*),所有天 (Al) 仅在 06:00 和 18:00 之间。请注意,这需要在 PAM 配置文件中输入

login   account required   pam_time.so

在 PAM 配置文件中,通常位于 /etc/pam.conf,或者,名为 login 的文件位于 /etc/pam.d/ 中,并包含

account required pam_time.so

可以在 www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.html#toc4 找到一个好的 PAM 参考。

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

我没有 DHCP,我必须联网

目前,我在我的计算机编程实验室的 PC 上使用 Red Hat 7.0。这些计算机使用 DHCP 连接到建筑网络和互联网。最近,我尝试将这些机器升级到 Red Hat 7.2 的库存版本。我一直无法通过 DHCP 连接计算机。我尝试使用各种 GUI 工具配置网卡和网络,但没有成功。

—Bill Hummel, hummelb@readingsd.org

在我看来,您遇到连接问题可能是由于两个可能的问题。首先,您尚未配置 DHCP 客户端以连接到网络。我刚刚在一台 Red Hat 7.2 机器上完成了它,方法是让网络接口 eth0 的最小配置的文件 /etc/sysconfig/network-scripts/ifcfg-eth0 为

DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"

这将为系统启动提供足够的信息,并在启动网络设施时,查找 DCHP 服务器提供的 IP 地址。其次,您可能设置了防火墙或网络过滤器,不允许 DHCP 正常工作。您在安装时是否请求了“高”安全级别?只需一次,通过注释掉 /etc/sysconfig/ipchains 中的所有行来删除 Red Hat 7.2 设置的 ipchains 设置,然后尝试步骤一。

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

./ 是什么意思?

何时(以及为什么)需要在命令行开头放置 ./ ?

—Murray Zangen, murray@nj.com

./ 表示当前工作目录。只有当您想运行当前目录中的程序,并且该目录不在 PATH shell 变量 ($PATH) 中时,才需要在前面放置 ./ 。

—Usman Ansari, uansari@yahoo.com

当前目录不在路径中的原因是出于安全考虑。如果对手在 /tmp 目录中安装了一个木马 ls 命令,并且您 cd 进入 /tmp 并键入 ls,您将运行对手的程序。如果您真的不喜欢必须键入 ./,请将当前目录放在 PATH shell 变量的 *末尾*,这将使您的文件系统浏览更安全。

—Christopher Wingert, cwingert@qualcomm.com

使用 filep_open 打开文件

我创建了一个存储在 /etc 目录中的配置文件。我一直在尝试从 C 程序中打开这个文件,但没有成功

struct file     *filp;
char *Filename = "/etc/pg.conf\0";
filp = filp_open(Filename,00,O_RDONLY);
if (IS_ERR(filp)||(filp==NULL))
        return;

有人可以建议我如何解决这个问题吗?

—Senthil, senthil@singnet.com.sg

我相信您 filp_open() 的参数不正确。尝试

filp = filp_open( Filename, O_RDONLY, 0 );

—Christopher Wingert, cwingert@qualcomm.com

设置视频会议

有人在 Linux 下使用网络摄像头做过什么吗?我需要与美国的一些人进行视频会议。

—Arnold Robbins, arnold@skeeve.com

Linux 支持许多并行/USB 网络摄像头。您应该选择您感兴趣的摄像头,并在网上搜索以确保 Linux 支持该摄像头。查看 www.openh323.org/h323_clients.html 以获得视频会议支持。

—Christopher Wingert, cwingert@qualcomm.com

我想对您来说最好的方法是访问 www.linux-usb.org(查找工作设备列表)和 www.freesoft.org/software/NetMeeting。此 HOWTO 是关于 Microsoft Netmeeting 和 Linux 之间通信的。最后,Linux 中的视频和会议正在迅速发展,并且是不​​断改进的主题。这些链接可能是您开始的良好初始参考,就像它们对一些刚刚部署大型基于 Linux 的视频会议系统的人一样。

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

Philips 有一个使用 USB 的 Linux 兼容摄像头的网站:www.smcc.demon.nl/webcam。对于会议,请查看 www-nrg.ee.lbl.gov/vic/#overviewwww.gnomemeeting.org

—Paul Christensen, pchristensen@penguincomputing.com

加载 Disqus 评论