读者来信

作者:Various
vi,最常用的文本编辑器

首先,请允许我表达我对LJ的感激之情,感谢其信息的准确性和友好的语气。

我写信是为了回应在十二月刊中,文本编辑器 vi 获得的“1997年度读者选择奖”。我是这个程序的老用户了,我仍然觉得它快速且有用。但我一直告诫自己,总有一天要学习 Emacs,因为我觉得我不能一直当一个使用如此老旧工具的老古董。问题是我一直觉得 Emacs 太复杂了。所以当我看到这个奖项时,我真的很惊讶有这么多人和我想法一样,我忍不住笑了出来。

简而言之,在阅读了LJ后,我决定,尽管 vi 是一个老旧且难看的编辑器,我仍将继续使用它,并且不会因为自己是 Emacs 的失败者而感到懊悔。——Pierre-Philippe Coupard coupard@mipnet.fr

富士通 Lifebook

我阅读了Linux Journal第43期(十一月刊)中关于富士通 Lifebook 420D 的评测。也许一些LJ的读者会对这些信息感兴趣。

自 1997 年 3 月以来,我拥有了一台 520D,它使用 Chips&Technologies 6555x 视频芯片组。它可以很好地运行 XFree86,在 800x600 分辨率下支持高达 64K 色彩(虚拟分辨率高达 1600x1200@8bpp),并使用 SVGA 服务器进行加速。我不知道这个型号是否仍然是当前的型号;但是,它几乎与 420D 相同,只是它有一个外部软盘适配器。——Jeroen Beekhuis j.beekhuis@uci.kun.nl

混合使用 Linux 和 NT

第 44 期(十二月刊)的“最佳技术支持”提出了混合使用 Linux 和 NT 的方法。这里是另一种使用 NT 引导加载程序的方法。假设 NT 在 /dev/hda1 上,Linux 在 /dev/hda2 上,并且 /dev/hda1 挂载在 /dosc 上。

  1. 在 Linux 中,编辑 /etc/lilo.conf 文件,使其如下:

    boot=/dev/hda2
    
  2. 运行以下命令

    /sbin/lilo
    dd if=/dev/hda2 of=bootsect.lin bs=512 \
            count=1
    mv bootsect.lin /dosc
    
  3. 在 NT 中,编辑 c:\boot.ini 文件以包含(如果需要,可以将其设置为默认值):

    c:\bootsect.lin='Linux'
    

当您重新启动时,NT 引导加载程序将显示一个操作系统菜单,然后超时并启动默认操作系统。——Valerie Crump valeriec@amc.com

文本错乱和颜色设置

关于 1997 年 11 月的“最佳技术支持”,我有一些评论。像 bash 和 zsh 这样的 shell 执行自己的行编辑,为此,它们需要知道提示符的长度。使用 Jim 的 PS1,bash 认为提示符比实际长度长 15 个字符,因为颜色设置转义序列不占用任何屏幕空间。当键入一个命令达到第 65 列时,可以很容易地看到这一点,因为 bash 认为它实际上在第 80 列,并在该点换行。真正的解决方案列在 bash 的 man 手册的 PROMPTING 部分中

\[ 开始一个非打印字符序列,可用于将终端控制序列嵌入到提示符中。\] 结束一个非打印字符序列。

Jim 的提示符变为

\[\033[36m\]\u_\[\033[33m\]\W_\$_--\[\033[32m\]_
其中“_”是空格。——Carey Evans c.evans@clear.net.nz

是的,你是正确的。我的解决方案确实解决了一个问题,但在重新阅读 Jim 的问题后,我意识到它无法解决他的问题。你的解决方案是正确的。谢谢 Carey。——Chad Robinson chadr@brt.com

Linux 进入主流?

我正在阅读Linux Journal第 43 期中 Phil Hughes 撰写的题为“Linux 进入主流?”的文章。作为 Linux 用户,我确实喜欢 Linux 变得更主流的想法。但是,我不同意 Hughes 先生提出的建议。Linux 是不同的,这就是我们使用它的原因——嗯,也是我和许多其他人使用它的原因。Linux 最初是一个小型项目,后来被一个大型社区接纳。它不像其他操作系统。没有必要使 Linux 主流——Linux 正在凭借自身的力量变得主流。这并非因为营销——而是因为 Linux 是一个非常优秀的操作系统,人们正在通过口口相传发现这一点。作为一个社区,我们不应该关注营销和认证计划,而是应该继续做好我们一直在做的事情——告诉其他人这个伟大的操作系统。我们不需要一个中央机构来发放毫无意义的纸张。

我并不是说 Linux 在某些方面没有不足。它肯定有,但作为一个社区,我们应该仅仅为了创建一个更好、更自由的操作系统而努力解决这些缺点,而不是为了赢得新用户。——Steve Carpenter sjc@delphi.com

SCO Unix 评测

我非常感谢你们最近对 SCO OpenServer 的评测。在我的工作单位,我们最近有理由将一台安装了 Linux 的计算机改造成 Linux/SCO 双系统。但是,我想指出评测中的一个错误。Ken 说

当您完成此过程时,OpenServer 会愉快地覆盖您的主引导记录,并将其从 LILO 中清除。

虽然 SCO 确实会在您将 LILO 安装在主引导记录 (MBR) 上时覆盖 LILO,但 LILO 无法引导 SCO 是不正确的。事实上,LILO 非常乐意引导 SCO。问题是 SCO 希望其自身的分区处于活动或可引导状态。来自 LILO 的 README 文件

一些 PC UNIX 系统(据报告 SCO 和 Unixware 存在此问题)依赖于其分区处于活动状态。目前,只有将 LILO 安装为 MBR 并使相应分区处于活动状态才能获得这种设置。

如果在安装 SCO 后,您将 LILO 重新安装到 MBR 并使 SCO 分区可引导,LILO 将非常容易地允许您在启动时选择其中一个。在我们的设置中,我们将 Linux 安装在 /dev/hda2 上,将 SCO 安装在 /dev/hda4 上。因此,我们的 lilo.conf 文件如下所示

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/boot.msg
prompt
timeout=100
#
# Linux partition
image=/boot/vmlinuz
        label=linux
        root=/dev/hda2
        read-only
#
# SCO Unix partition
other=/dev/hda4
        label=sco
        table=/dev/hda

启动时,LILO 运行并显示我们的 boot.msg 文件,该文件告诉用户如何加载 Linux 或 SCO。这对我们来说效果很好。过去,我们在一台也使用 MS-DOS 的机器上安装了 SCO,切换操作系统​​的唯一方法是使用 FDISK 在分区之间切换。很高兴看到 Linux 及其工具仍然比其他任何工具都好。——Tanner Lovelacelovelace@acm.org

Perl 选项错误

感谢您在 1997 年 12 月第 44 期“读者来信”中发表我的消息。但是你们在其中引入了一个巨大的错误,这可能会对盲目信任LJ的读者产生安全隐患。

这篇以“老大哥”为标题发布的消息提到了 Perl 解释器的 -T 选项,并说“-T 测试文件类型是否为文本,而不是二进制文件。” 这很荒谬,我从未写过这样的话。我写的是每个 Perl CGI 程序员都应该使用 -T 选项,并解释说它指的是 tainted 模式(详情请参阅 man perlsec)。-T 选项(命令行标志)与 -T 函数(它确实测试文件是否为文本)无关。任何 Perl 程序员都可能发现这个错误。

在我看来,对我的警示消息的处理(请记住,互联网上的任何人都可以对使用您最初发布的脚本的机器执行任何命令)表现出两个严重的缺陷

处理速度太慢了。大多数人更信任纸质媒体,而不是 Usenet 新闻或 WWW。许多人可能认为LJ上的文章都经过仔细审查,并且脚本是可靠的。在我看来,LJ有责任尽快(至少在下一期中)警告用户这个错误,而不是在两期后的读者来信中才提及。

你们编辑我的消息是可以理解的;我知道我的英语很差。但是你们本可以把它发回给我做最后的检查。我认为在技术问题上修改消息,而不是在语法上修改,并且在没有向读者展示修改部分以及没有发送给作者校对的情况下发布是不道德的。——Stephane Bortzmeyer bortzmeyer@pasteur.fr

首先,请允许我为您的信件被修改并改变了技术内容而道歉。我们努力避免这种情况发生。我们的一位文字编辑认为 -T 需要更多的解释,显然是从错误的地方获取了信息。我同意他不应该在没有咨询您的情况下添加到文本中。如果您在第一封信中像上面一样提供了如此多的细节,我认为他不会觉得需要添加任何内容。但最终,我确实让他的添加通过了,我对这个错误负全部责任。

读者来信几乎是我整理的最后一栏。因此,没有太多时间来回传递。这也是我第一次看到这些信件,所以它们可能已经很旧了。当杂志出版时,下一期已经送到印刷厂了,所以错误永远无法在两期后才得到纠正。这很糟糕,但这就是杂志截稿时间的运作方式。

实际上,我认为您的英语说得很好——编辑

粉丝邮件

只是想告诉你们,Linux Journal 仍然好得令人惊讶。我想说,你们每月 70% 的文章都对我来说是直接感兴趣的,而当我翻阅我的过刊时,另外 30% 的文章会被重新发现为有用的知识。这就像你们能读懂我的心思一样!继续保持出色的工作。——Manni Wood mwood@sig.bsh.com

来自出版商

我对您在Linux Journal第 43 期(97 年 11 月)第 10 页的“来自出版商”文章感到好笑。听起来好像 IBM 已经被 relegated to the past 了。我们有三台 IBM AS/400(64 位 RISC)和 600 个用户,他们大多使用 Windows 95 客户端。IBM 在硬件和软件方面都超越了英特尔和微软(请访问 http://www.as400.ibm.com/)。OS/400(V3R2 及更高版本)拥有公司进行关系数据库 Intranet/Internet 应用程序所需的一切。我正在使用 Net.Data(它在许多平台上都可用;请参阅 http://www.as400.ibm.com/netdata/)来进行提供商查找、地图引擎地址查找等。V4R2 中包含 Java 以及 IBM 的业务类库使 AS/400 成为未来非常可靠的数据库平台。我们有一个包含超过 2800 万条记录的表,我还没有完全准备好信任 MS SQL 服务器来处理它。

如何让 Linux 变得更主流?您有像我这样在企业界站稳脚跟的黑客。我正在家里安装 Linux 以测试 JBuilder Java applet。(我希望应用程序无需修改即可在 AS/400、NT 和 Linux 上运行。)我有一个小型网络,包括 NT server 4、NT workstation 4、Windows 98 beta 和一台装有 NT workstation 的 P150 级笔记本电脑。我正在放弃我的 Windows 98 机器 (486/66) 以加载 Slackware Linux。我希望性能会好得多。——Steven P. Goldsmith fcci@cirs.com

SAMBA

我对十一月刊中题为“使用 SAMBA 挂载 Windows95”的文章感到失望。它弄错了许多基本事实。

首先,SAMBA 并没有像文章声称的那样做。作者实际上谈论的是一个基于内核的 SMB 文件系统,名为 smbfs,由 Volker Lendecke(等人)编写和维护。Volker 是 SAMBA 团队的成员,但 smbfs 绝对不是 SAMBA 的一部分。SAMBA 是一个可移植到所有 Unices 的 SMB 文件服务器,而 smbfs 目前仅适用于 Linux。

文章还说“SAMBA 是一个允许 Linux 与运行 Windows for Workgroups、Windows 95、Windows NT、Mac OS 和 Novell Netware 的计算机通信的程序。” 关于各种 Microsoft 操作系统的部分是部分正确的(尽管他实际上指的是 smbfs),但关于 Mac OS 和 Novell Netware 的部分完全错误。对于后者,他可能指的是 MARS_NWE、ncpfs 和 Netatalk,它们是完全独立的软件包,使用完全不同的协议。也许如果您正在发布关于Linux Journal编辑不太熟悉的主题的文章(关于 Linux 有很多知识),您应该将副本发送给熟悉该主题的人,以便他们可以快速检查并指出任何明显的错误。——Andrew Tridgell andrew.tridgell@anu.edu.au

好吧,你抓住我了——我并不了解关于 Linux 的一切。但是,为了弥补这一点,我确实会将文章发送给文字编辑,他们向我提供了他们的专业领域。负责这篇文章的文字编辑是一位网络专家。当下一篇 SAMBA 文章进来时,我会记住你。——编辑

加载 Disqus 评论