最佳技术支持
大容量硬盘?
我正在运行 Red Hat 9.0、Fedora 1 和 Debian 3.0r4。我已经联系了 Intel 关于运行 160GB 硬盘的问题。他们的回复是:“操作系统决定了硬盘的最大容量。” 他们引用了 Windows 2000 和 Windows XP,所以我认为可能 BIOS 也参与其中。您对此事有何看法,我可以在哪里找到相关参考资料?
—
Georg Robertson
grobertson29@earthlink.net
机器的 BIOS 实际上定义了硬盘的某些限制,从旧的 Int 13 规范对 DOS(是的,磁盘操作系统)容量限制约为 8GB,到最新的 BIOS 和驱动器硬件的 32 位扇区号,理论容量限制超过 2TB,并随之而来的是软件的全新挑战。当然,操作系统磁盘驱动程序、引导加载程序、文件系统以及可能其他功能(如软件 RAID)决定了磁盘驱动器或一组磁盘驱动器的实际可用容量。
—
Felipe Barousse Boué
fbarousse@piensa.com
我经常可以让 Linux 在奇怪的驱动器几何结构上工作,而这些结构会让 Windows 崩溃,因为可以手动告诉内核如何处理它们。有一个关于这个主题的优秀指南,我建议您从那里开始:www.tldp.org/HOWTO/Large-Disk-HOWTO.html。
—
Chad Robinson
chad@lucubration.com
使用带有 USB 电缆的手机?
我能够通过使用串行电缆连接到 GPRS 移动设备,包括 Motorola V66 和 Timeport。但是最新的 GPRS 手机只配备 USB 数据线。我尝试过但无法将其中一个连接到 Linux 系统;我被告知 PC 找不到调制解调器。您能告诉我如何连接它或建议合适的驱动程序吗?
—
kimaya@vsnl.com
这些设备几乎总是仍然是串行的,但包含一个 USB 转串行设备芯片以提供 USB 接口。这些转换芯片有两种形式。一种,例如 FTDI 芯片组,旨在通过 USB 接口创建虚拟串行端口。这些产品通常已经在 Linux 下得到支持,如果还没有,通常也只是时间问题。
第二种类型是专有的,依赖于与远程芯片组通信的自定义软件驱动程序。这些往往使可移植性更加困难,因为制造商通常仍然只为 Windows 发布这些驱动程序,并且没有驱动程序,您就无法与设备通信。幸运的是,这些驱动程序较少,但由于它们可能比虚拟串行端口芯片组便宜,因此一些制造商将继续使用它们。您最好的选择是在购买这些类型的产品之前,通过监控新闻组、论坛和其他信息来源,了解 Linux 用户的成功案例。
—
Chad Robinson
chad@lucubration.com
许多 GPRS 手机可以与 Linux 一起使用;以下 Web 资源提供了大量关于 GPRS 手机及其用途的有用信息。结合 Linux 系统,请查看 kotinetti.suomi.net/mcfrisk/linux_gprs.html、users.tkk.fi/~kehannin/bluetooth/bluetooth.html 和 markus.wernig.net/en/it/usb-serial-handy-ppp.phtml。
我还建议您考虑使用蓝牙无线接口将您的 Linux 机器与适当的适配器和您的手机连接起来,希望您的手机具有蓝牙功能。
—
Felipe Barousse Boué
fbarousse@piensa.com
Tuxmobil.org 维护着一个兼容性报告列表以及关于使用特定型号手机进行连接的操作指南文档。
—
Don Marti
dmarti@ssc.com
来自 MySQL 客户端的错误
我正在尝试将 GUI MySQL 客户端与 Fedora Core 3 一起使用,但它失败了,返回了这个
[anupam@localhost mysqlgui-1.7.5-1-linux-static]$ ./mysqlgui mysqlgui: dynamic-link.h:57: elf_get_dynamic_info: Assertion `! "bad dynamic tag"' failed. Aborted
有什么想法哪里出错了?
—
Anupam De
anupam@sail-steel.com.
您下载的 mysqlgui 是二进制形式而不是文本或 ascii 吗?如果您传输的是文本或 ascii,您的文件可能已损坏。或者,尝试下载 mysqlgui 软件包的静态编译版本,而不是半静态二进制版本。您将摆脱一些依赖项,因为稍大的可执行文件包含所需的一切。
—
Felipe Barousse Boué
fbarousse@piensa.com
设置串行端口的 IRQ
我在 SUSE 9.2 上运行 Win4Lin,并且很难更改 com 端口 2 上的 IRQ。我需要 Windows 来运行能源管理程序,并且必须呼叫以检查多个建筑系统。Linux 将 IRQ 设置为 10,但我需要将其设置为 4。您能告诉我如何更改 IRQ 吗?
—
John Langston
jdl.28@cox.net
您应该能够在 BIOS 设置中更改 IRQ。如果这不起作用,请在 Linux 上使用 setserial 程序来更改此值。
—
Greg Kroah-Hartman
greg@kroah.com
执行man setserial以了解您的命令选项。请注意,如果您的物理串行端口确实具有固定的 IRQ 和/或内存地址,那么在玩 setserial 和/或与其他设备时,您可能会遇到冲突。
—
Felipe Barousse Boué
fbarousse@piensa.com
GigaDrive 无法工作
我最近在 eBay 上购买了一个 Linksys GigaDrive。该设备似乎可以启动等等,但我无法访问或运行任何应用程序。我认为可能是驱动器已被格式化或更换,我需要重新加载 Linux 软件和应用程序。除了将其发送给 Linksys 之外,您是否有关于如何执行此操作的任何建议?我获得了 A+ 认证,但我没有太多 Linux 经验。我当时想,如果我可以获得恢复 CD,我或许可以重建它——是这样吗?当然,如果我可以做到这一点,我需要找到这样的恢复 CD。有什么建议或意见吗?
—
Randy Warner
warn4421@bellsouth.net
Linksys 网站上有一个关于如何加载 GigaDrive 的“固件”的页面:(www.linksys.com/support/support.asp?spid=17)。
如果这不起作用,并且您可以访问来自工作 GigaDrive 的相同硬盘驱动器,您可以将工作驱动器作为主盘连接到 Linux 机器,将非工作驱动器作为从盘连接到辅助 IDE 接口,并执行以下操作来进行逐位复制
dd if=/dev/hdc of=/dev/hdd
—
Don Marti
dmarti@ssc.com
备份双启动系统
我目前使用 Microsoft Windows XP Pro,并打算在习惯运行和管理 Linux 后迁移到 Linux。我目前使用的备份软件是 System Works 2004 中的 Norton Ghost。
我尝试安装 Fedora Core 1,因为它是我买书时免费附赠的。安装过程很顺利,我喜欢我看到和使用的东西。但是,当我启动回 Windows 以使用 Ghost 时,Ghost 给出了这个错误消息
Back-up Failure. Not space in the MBR.
我说,“忘记 Norton,我将使用 Linux 进行备份。” 但是我完全不知道在 Linux 上使用什么。有什么建议吗?
—
Lev Ranara
pinoy_techie@yahoo.com
Linux 下的备份通常很简单。与 Windows 不同,没有特殊的系统数据(注册表或系统配置)无法通过传统方式复制。实际上,直接文件复制通常足以进行“完整”备份,除非数据库服务器正在运行。在这种情况下,可能需要在备份期间关闭它。
复杂的解决方案比比皆是,允许对单个文件进行托管的、目录样式的备份和恢复。这些解决方案可以作为免费软件(例如 Amanda 和 Bacula)、来自 Windows 备份软件的传统供应商(VERITAS、CA 等),以及一些专门关注 Linux 的供应商(例如 BRU)提供。但是,由于您正在使用 Ghost,因此听起来您实际上并没有进行基于文件的备份。因此,最简单的解决方案是压缩的 tar 存档。然后,恢复整个系统只需对驱动器进行分区和格式化,解压缩存档并重新安装引导加载程序即可。
如果真是这样,请从 tar 开始,看看它是否适合您的目的。诸如
tar -jlcvf /tmp/mybackup.tgz /bin /boot /dev /etc \
之类的命令通常最能满足基本需求。然后,只需将 /tmp/mybackup.tgz 复制到 CD、磁带或其他服务器即可。您也可以直接将 tar 归档到磁带。
—
Chad Robinson
chad@lucubration.com
我在 Linux 备份领域中最好的经验来自使用优秀的旧 tar 命令、zip 和 bzip 等压缩实用程序,以及我为每个特定备份需求编写的一些脚本。它可靠、可移植、直接且免费——自由且经济实惠。有关更多信息,请访问 www.linux-backup.net,了解有关 Linux 和备份的所有信息。《Unix 备份和恢复》一书也讨论了该主题;LJ 在 /article/3839 上对该书进行了评论。
另外,尝试安装 FC3,因为 FC1 现在已弃用。FC# 具有许多不错的功能,例如拖放以刻录 CD,这可能对备份很有用。
—
Felipe Barousse Boué
fbarousse@piensa.com
客户端连接,但 TFTP 失败
我正在尝试正确运行我的 TFTP 服务器,但我在弄清楚问题所在时遇到了麻烦。情况是这样的。我正在 PIII 机器上运行 Fedora Core 3。我从 rpmfind.net 安装了最新的 tftpd 服务器,并正确配置了 xinetd/in.tfptd(我认为)。使用另一台 Linux 机器上的 tftp 客户端,我可以连接到我的 tftp 服务器,但读取请求没有得到响应。客户端在几次重试后超时。在 /var/log/xinetd 中,我看到客户端发送的每个读取请求都有以下条目
05/3/16@14:11:14: FAIL: tftp address from=153.90.196.30 05/3/16@14:11:14: START: tftp pid=20184 from=153.90.196.30 05/3/16@14:11:14: EXIT: tftp pid=20184 duration=0(sec)
以下是我为配置服务器所做的工作。我创建了一个用户 tftp,其主目录为 /tftpboot,并运行了 /sbin/nologin。我在 /etc/hosts.allow 中添加了一个条目in.tftpd:ALL。我创建了一个目录 /tftpboot,并具有正确的权限和所有权。然后,我创建了文件 /etc/xinetd.d/tftp,内容如下
service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -u tftp per_source = 11 cps = 100 2 flags = IPv4 #only_from = 153.90.196.30 }
我已经尝试过注释和未注释 only_from 的情况。我还确保防火墙信任端口 69 上的 UDP 和 TCP。我验证了 /etc/xinetd.conf 的内容是正确的,并且我通过 chkconfig 验证了 tfptd 正在运行。我还通过 netstat 验证了端口 69 可用。我已经尝试以独立模式运行 in.tftpd (server_args = -l)。
我已经在这个问题上工作了三天,但没有任何进展。我对 Linux 有点新手,但我已经向更有经验的人寻求了见解,但无济于事,并且花费了数小时在 Internet 上查找此问题的实例,也无济于事。因此,我希望你们能为我指明正确的方向。
—
Todd Trotter
ishamt@esus.cs.montana.edu
看起来您几乎所有事情都做得正确。但是,想到了一些问题。首先,将 /etc/xinetd.d/tftp 文件上的用户更改为 nobody;否则,in.tftpd 守护程序将以 root 身份运行,这不安全。
其次,确保
tftp 69/tcp tftp 69/udp
行在 /etc/services 文件中没有被注释掉。此外,我建议检查 /etc/hosts.deny 文件,看看您是否阻止了对 in.tftpd 守护程序的请求、对所有服务的请求或来自特定 IP(客户端机器)的请求。
仅出于测试目的,请确保此文件为空,重新加载 xinetd (service xinetd reload) 并重试。此外,仅出于测试目的,请关闭防火墙 (service iptables stop) 并再次测试。通过发出tftp localhost在远程测试之前,测试并使您的设置在本地工作。希望这有帮助。
—
Felipe Barousse Boué
fbarousse@piensa.com
垃圾回收是答案吗?
我从您的杂志上了解了垃圾回收 (GC)。我确实有一个问题。让我解释一下存在的情况。最初,该项目在 Linux 中占用 192MB 的 RAM。它被允许连续运行。然后,12 小时后,我们注意到它使用了 335MB。这个问题的解决方案是什么?是由于垃圾造成的吗?BDW 垃圾回收器会提供解决方案吗?该项目包括 char 指针,并且不包括任何 malloc 函数。
BDW GC 是否仅在我们包含 malloc、calloc 或 realloc 函数时才有效?我可以有一个程序与我的项目一起运行并释放空闲内存吗?
—
Mythily J.
mattuvar@yahoo.co.in
最后一个问题的答案是否定的。除非您做一些真正棘手且难以调试的事情,否则只有您的程序才能释放它分配的内存。
其他都是非常好的问题,而唯一确定知道答案的方法是使用您的代码进行尝试。即使您可能没有使用 malloc 函数系列,您也可能正在进行库调用来分配内存,然后省略了一些释放内存所需的调用。
好消息是,您可以构建一个使用 GC 进行所有内存管理的程序版本,包括库代码中分配的内存,方法是将其“挂钩”到 malloc 中。请参阅本文中的清单 1:/article/6679 以获取示例。
—
Don Marti
dmarti@ssc.com
运行级别编辑
在 2005 年 4 月的最佳技术支持中,Timothy Hamlin 在“旧 Red Hat”中建议将 /etc/inittab 条目从
x:5:respawn:/etc/X11/prefdm -nodaemon
更改为
x:3:respawn:/etc/X11/prefdm -nodaemon
以抑制 X 图形登录。我认为他在这里犯了一个错误。他的回复将在运行级别 3 启动 X。相反,更改
id:5:initdefault:
更改为
id:3:initdefault:
以更改默认运行级别。
此外,在“调整 inodes 和块大小”中,Don Marti 指出 Red Hat 9 已不再受支持,这对于旧的 486 系统来说可能是一个问题。更大的问题是 Red Hat 安装所需的 RAM 量。我不确定它是否能在 32MB RAM 下安装。它肯定不能在 16MB 下安装,而我的旧 486 笔记本电脑就是 16MB。
—
Roland Roberts
roland@astrofoto.org
任何 inittab 更改都有效。第二个更改的优点是保留了 Red Hat 用户习惯的“运行级别 5 是 GUI 登录”的传统。Fedora 发行说明在 fedora.redhat.com/docs/release-notes/fc3/x86 列出了奔腾作为最低处理器,64MB 作为文本安装的最低内存。(有关替代方法,请参阅最后一封信。)
—
Don Marti
dmarti@ssc.com
Fedora Legacy 怎么样?
在 2005 年 4 月的最佳技术支持中,Don Marti 写道:“Red Hat 9 和 Red Hat 6.2 都不再受支持,这意味着不再有安全更新。” 尽管 Red Hat 已经放弃了对 Red Hat 9 的支持,但基于社区的 Fedora-Legacy 项目 (www.fedoralegacy.org) 正在努力为 Red Hat 9 以及 Red Hat 7.3 和 Fedora Core 1 以及(即将推出的)2 提供安全更新。Marti 先生忽视了该项目的努力,这对该项目是不公平的。
—
John Dalbec
jdalbec@cboss.com
在我们付印时,Fedora Legacy 尚未积极发布安全更新。
—
Don Marti
dmarti@ssc.com
2005 年 4 月号 LJ 的最佳技术支持专栏包含一些不正确和不完整的陈述,以回应一位想要在 486 计算机上使用 Red Hat 9 的用户。Don Marti 写道,“[Red Hat 的] 继任者 Fedora 需要奔腾或更好的处理器……无论您安装什么,这类机器对于现代桌面来说都太慢了。” RULE 项目 (www.rule-project.org) 证明这是错误的。一年前,我在一台配备 32MB RAM 的奔腾 I 笔记本电脑上运行了 Red Hat 9。感谢它,我使用 KOffice 制作了一个演示文稿,并使用 Firefox 进行了网上银行:www.rule-project.org/article.php3?id_article=55(参见链接的屏幕截图)。
不到一个月前,我们宣布了适用于 Fedora Core 3 的安装程序的版本:www.rule-project.org/breve.php3?id_breve=19。
现在,在任何桌面下,即使在更新的计算机上,完整的 KDE、GNOME 或 OpenOffice.org 安装也可能非常缓慢,这当然是事实。同样真实的是,视频编辑或 3D 游戏需要最先进的硬件。但是,如果现代桌面指的是现代 SOHO 功能——IMAP、数字签名、HTML4/CSS 支持、CUPS、IM、贝叶斯垃圾邮件过滤,而不管花哨的功能——则无需花钱。所需的只是像 RULE 这样的项目以及在 mini-KDE 等方面所做的努力。无论如何,通过一些注意和正确的问题解决方法,可以在慢速硬件上运行现代主流发行版。
—
Marco Fioretti
mfioretti@mclink.it