最佳技术支持
最近,我下载了一个 Linux 应用程序,当尝试安装时,在包管理器中遇到了“未满足的依赖”错误消息。 在哪里可以找到缺少的 Linux 库?如何安装它们?—Kelvin L. Barnes, Kelvin.Barnes@worldnet.att.net
如果您使用的是基于 RPM 的发行版(如 Red Hat),则安装缺少的库的方式与安装任何其他软件相同(即,使用 rpm 程序安装 RPM)。您可以通过搜索 http://www.rpmfind.net/ 或 http://www.rpmsearch.net/ 来找到包含这些库的 RPM。在我的 Red Hat 6.1 机器上,我已经安装了这些站点提供的 rpmfind 实用程序(它在 CD 上),这使得查找和下载 RPM 变得轻而易举
rpmfind -v --auto --latest
your_rpm_name_here
下载 RPM 后,您仍然必须安装它们(通常以 root 身份)
rpm -Uhv另一个搜索地点是您的发行版的下载站点,这些站点有时包含由于各种原因未在 CD 上提供的软件。 Red Hat 的站点(如果可能,请使用镜像站点)位于 ftp://ftp.redhat.com/ 和 ftp://updates.redhat.com/。 有时,为一个发行版设计的 RPM 可能无法在另一个发行版上正常运行——RPM 本身没问题,但其中包含的文件可能配置不同,或者它们可能放置在与您的发行版正常的不同的位置。 如果有选择,请选择与您的发行版匹配的 RPM(例如,如果您运行的是 Red Hat,并且您在其中一个 RPM 的 URL 中看到“redhat”,那可能就是您应该选择的那个)。 不过,我很少遇到这个问题。 —Scott Maxwell, maxwell@ScottMaxwell.org 这个“应用程序”是 RPM 文件吗? 如果是,它应该已经处理了所有依赖项。 否则,“缺少”的库可能是无限的,因此阅读应用程序的文档,特别是关于要求的文档,应该会为您指明正确的方向。 通常,您的发行版网站应该拥有 Linux 库的所有来源,您应该能够从那里下载几乎(99%)所有内容,除非它是非常专业的库。 —Felipe E. Barousse Boué, fbarousse@piensa.com
我在 PC 上安装了两个额外的并行端口,我想全部使用它们。 到目前为止,只有 /dev/lp0 可以工作。 回显到 /dev/lp1 和 /dev/lp2 返回以下错误信息
BASH: /dev/<device name>: Device not configured
这些端口在 Win98 下可以工作,因此不存在 IRQ 或 I/O 地址冲突。 这里有一些更多信息:m
IRQ IO range Win98 name 7 0378-037f lpt2 5 03bc-03be lpt1 9 0278-027a lpt3
—Luis F. Gonzalez, gonzalezl@saic.com
在 Linux 中使用端口需要两个步骤。 首先,您的内核必须识别这些设备。 您可以通过键入 dmesg | less 滚动浏览启动消息,或检查 /proc/ioports 和 /proc/devices 来检查这一点。 第二步是在 /dev 中创建设备文件。 如果此文件不存在,您可以使用在同一目录中找到的 makedev 脚本来创建大多数 Linux 设备节点。 如果它确实存在,那么您的问题很可能出在第一步。 —Chad Robinson, crobinson@rfgonline.com 如果您安装了内核源代码,则文件 /usr/src/linux/Documentation/parport.txt 详细介绍了这一点。 简而言之,如果端口未被自动识别和配置,并且如果打印和并行端口支持被编译为模块(未编译到内核本身中),请尝试将以下行添加到文件 /etc/conf.modules 中
alias parport_lowlevel parport_pc options parport_pc io=0x3bc,0x378,0x278 irq=5,7,9 options lp parport=auto
然后,从 shell 中,尝试删除并重新插入相关模块(顺序很重要)
rmmod lp rmmod parport_probe rmmod parport_pc rmmod parport insmod parport insmod parport_pc insmod parport_probe insmod lp
您需要以 root 身份完成所有这些操作。 我不是配置并行端口的专家,因为对我来说它通常可以开箱即用; 我只在一台机器上,并且在与您的发行版不同的发行版上完成过,所以我可能忽略了一些事情。 您可能需要稍微尝试一下才能使其工作。 也许一些有抱负的读者会将 parport.txt 变成一个合适的 HOWTO,如果还没有人这样做的话。 —Scott Maxwell, maxwell@ScottMaxwell.org
我的系统上有两个硬盘驱动器。 一个专用于 Linux,另一个用于 Windows 98(第二版)。 当两个驱动器都启动时,我无法启动到 Win98。 它们设置良好(一个主盘,一个从盘,BIOS 找到它们等)。 我可以在连接两个驱动器的情况下启动 Linux。 如果我断开 Linux 驱动器,我可以正常运行 Win98。 LILO 似乎知道它有一个 DOS 驱动器和一个 Linux 驱动器。 如果我在启动提示符下说“dos”,LILO 不会抱怨——只是卡住。 我甚至尝试使用 Win98 启动软盘启动; 系统从软盘读取一段时间,然后就卡住了——没有消息,什么都没有。 一个驱动器是 WD,另一个是 IBM。 请帮忙! —Mitch, mitchp20@home.com
我假设主盘上有 Linux,因此您可以在两个磁盘都活动的情况下正常启动。 看起来只是您的 lilo.conf 文件配置错误。 您必须告诉 LILO DOS/Windows 位于何处(哪个物理磁盘和哪个分区)。 检查 /etc/lilo.conf 中指定的设备。 在您为 /dev/hdaX 和 /dev/hdbY(X 和 Y 是分区号)以及代表您的物理磁盘的 hda、hdb 设置“dos”标签的部分中查找。 您可能需要找到哪个磁盘保存了什么。 像这样的两行
other=/dev/hdb1 label=dos
可能是您需要在两个磁盘都连接的情况下启动 DOS(和 Linux)所需的。 在您在 /etc/lilo.conf 中进行更改后,不要忘记使用 /sbin/lilo -v 将 LILO 信息写入引导扇区。 —Felipe E. Barousse Boué, fbarousse@piensa.com
您没有说 Windows 是在从盘还是主盘上。 默认情况下,Windows 不会从辅助驱动器启动。 但是,您可以尝试从第二个驱动器启动,方法是将以下内容放入 lilo.conf 以启动 DOS/Windows(它会交换驱动器盘符)
other = /dev/hdb1 label = dosb loader = /boot/any_d.b
—Marc Merlin, marc_bts@valinux.com
我在 HpUX 机器上运行控制台。 此应用程序从我的 Linux 机器上的 xterm 运行。 HpUX 机器没有 X 库,并且不接受我的功能键。 有人知道如何在 telnet 到此 HP 系统时使我的功能键工作吗? —David, uxidlm@netscape.net
既然您声明 HpUX 没有 X 库,并且在我看来您只是在 Linux 机器中使用终端仿真窗口 (xterm),您应该能够定义每当您按下功能键时要生成的代码,以便将其通过您的 xterm 发送到 HpUx 机器。 您可以使用 xmodmap 命令在您的 Linux 机器上定义此类序列。 将这些序列放在您登录帐户的 .xmodmaprc 文件或 Xmodmap 的常规配置文件中。 还可以尝试按 ESC-1 代表 F1,ESC-2 代表 F2 等,以测试您的应用程序是否正在接收 Fkey 序列。 最后,终端仿真会影响 Fkey 的工作方式。 您应该正确设置终端仿真,并在 HpUX 端和 Linux xterm 会话中都有 termcap 定义。 --Felipe E. Barousse Bouéfbarousse@piensa.com 我没有这种特定情况的经验,但使您的功能键(和其他非标准键)被识别的正常方法是在远程机器上登录后修改您的 TERM 设置。 您可以使用类似 export TERM=termtype(对于 bash 或 ksh)或 setenv TERM termtype(对于 csh 或 tcsh)的命令来执行此操作。 您可能需要尝试“termtype”的值——我将尝试像“xterm”、“vt100”、“vt220”、“hpterm”和“linux”这样的值(按绝望程度递增的顺序)。 如果这些都不起作用,请在远程机器上查看 /etc/termcap 以查找 TERM 的其他可能值。 当您找到有效的值时,只需将 TERM 分配复制到远程系统上的 shell 启动文件(.bash_profile、.cshrc 或任何文件)中,您就再也不用担心它了。 —Scott Maxwell, maxwell@ScottMaxwell.org
我丢失了到我的 C: 盘 (Windows) 的链接。 在尝试连接扫描仪的过程中,我将 sda1 更改为 hda1,现在我无法从 Linux 或 LILO 访问我的 C: 盘。 当它到达 LILO 提示符并且我选择 Windows 时,它就卡住了。 如何恢复链接? —Faron Ducharme, faron_ducharme@ti.com
您没有提及您是如何“将 sda1 更改为 hda1”的。 但是,LILO 的配置信息存储在 /etc/lilo.conf 中。 编辑此文件后,您需要从命令提示符运行 LILO,以告知它重新读取其设置。 —Chad Robinson, crobinson@rfgonline.com Linux 启动正常吗? 看起来您正在使用 SCSI 磁盘,因此如果您在 /dev 目录中将 sda1 重命名为 hda1,那么将其改回应该可以解决问题,前提是您没有更改 /etc/lilo.conf 中的 LILO 配置。 以 root 身份登录,使用 mv /dev/hda1 /dev/sda1。 如果您无法启动 Linux,那么您将不得不使用您在安装时制作的紧急启动盘(您有一个,不是吗?)来启动机器,然后如上所示将设备名称改回正常。 —Felipe E. Barousse Boué fbarousse@piensa.com