读者来信

作者:Staff

读者来信

为开源祈祷——字面意义上的!

我最近参加了在苏圣玛丽举行的北方牧师大会,许多牧师都对硬件以及他们认为维持教会技术运营所必需购买的软件成本感到不堪重负。在做了一些研究之后,一个特定的教派不符合世界上一家最大的软件制造商的“慈善组织折扣”资格。听到这个消息后,我插话说:“OpenOffice.org 怎么样?” 好像我在说拉丁语!没有人听说过或考虑过它。

多年来,我发现了很多软件,为教堂节省了数千美元的软件费用,例如 OpenOffice.org、OpenSong(歌词/投影/和弦图表)、OpenLP(歌词和投影)、SQL-Ledger(簿记)等等。我认为慈善捐赠部门(又名教堂)是最终转向开源并迁移到 Linux 作为其首选操作系统的主要候选者。当您考虑到教堂一年可能在软件上花费数千美元时,我宁愿看到这笔钱用于社区中需要它的人,而不是一家大型垄断公司。因此,如果您有机会,请为开源祈祷……也为教堂祈祷!我会的。

——
Dean Anderson

我是一名教堂的执事,可悲的是,即使我也没有听说过 OpenSong 或 OpenLP。我既感到惭愧,又对了解它们感到非常兴奋!当然,你是对的。我认为教堂是开源软件非常适合的地方。感谢您的软件建议!—Shawn

文件重命名

我很喜欢 Dave Taylor 在 2010 年 11 月刊中发表的文章“编写通用文件重命名操作脚本”。我确实在示例中发现了一个错误,其中使用 cut 来获取文件的扩展名

f=foo.bar.txt
echo "$f" | cut -d. -f2

以上将导致“bar.txt”,而不是“txt”。

然而,这样做是有效的

echo ${f##*.}

其次,我在文件重命名操作中使用协进程方面有很好的经验。例如,我经常需要将文件名转换为小写

paste <( ls -1 ) <( ls -1 | tr 'A-Z' 'a-z' ) | \
{ while read old new; do mv -v $old $new; done; }

将名称列表视为文本为简化脚本复杂性的文件操作开辟了很多可能性。

以下使用脚本生成的代码片段在文件名中存在空格的情况下有效,而无需摆弄 IFS

paste <( ls -1 ) <( ls -1 | tr 'A-Z' 'a-z' ) | \
gawk 'BEGIN { FS="\t"; } { printf("mv -v \"%s\" \
\"%s\"\n", $1, $2); }'

输出可以管道传输到 bash 以运行脚本。在实际运行脚本之前生成输出可以查看并捕获错误,然后再执行任何操作。

还可以使用协进程输出和递增计数器,生成数字列,用于使用通用基本名称对文件进行递增编号

paste <(ls -1) <( let i=0; for f in *; do echo
newFileBase_$((i++)).${f##*.}; done)

我期待 Dave 文章的未来版本!

——
Jeffrey Brendecke

Dave Taylor 回复: 感谢您对我的最新专栏的反馈,Jeffrey!我不能说我对协进程有很多经验。有时我觉得我 老派 Linux/UNIX 了,特别是自从我 1980 年就开始使用它以来——天哪,那真是太久了!

Mutt

关于 Mutt 的文章,尤其是 Kyle 和 Bill 之间关于此的观点/反驳讨论(LJ,2010 年 10 月刊),遗憾的是他们似乎都没有意识到 Muttator (vimperator.org/muttator)。我很想了解两位绅士对此的看法。

——
Ludo

D-Bus

我非常感谢 Koen Vervloesem 关于 D-Bus 的精彩文章(LJ,2010 年 11 月刊)。作为 Linux“老前辈”,对我来说,处理较新的硬件检测和管理方法是一次相当有益的学习经历。大约三年前,我在安装 openSUSE 11.0 时遇到了 D-Bus、Hal 和 udev 的世界,并且对设备的访问还不太理想。因此,我开始了对这个新世界的沉浸!我主要专注于学习 Hal 和 udev,根本没有考虑 D-Bus(当时我想, 到底是什么),相信我,当时对我来说信息量太大了。但是,我能够成功地实施一些 PolicyKit 规则来实现我的目标。我听取了 Koen 的建议,并跟踪了一个图形化的 D-Bus 应用程序——我在当前 openSUSE 11.3 实现中能找到的是一个名为 KDBus 的东西。我认为这缺少 qdbusviewer 的某些功能,但无论如何,这真是太酷了。现在 KDE 4.x(和 GNOME)也使用 D-Bus 进行会话事件,每当您执行任何操作(访问桌面环境中的硬件或应用程序)时,您都可以看到并探索触发的新 D-Bus 事件。跟踪问题非常有用且信息丰富。由于我的 Linux 设置仍然使用 D-Bus、Hal 和 udev,因此查看哪些事件被触发以及与哪些硬件管理层相关联确实非常有用,并且在某些情况下,对于“修复”出现的问题至关重要。再次,非常感谢 Koen 的这篇精彩文章!

——
Kay Schenk

坚持尝试 Linux

我刚刚续订了年度订阅,并决定也添加数字版。我不得不说,我对你们在出版 Linux Journal 方面所做的出色工作感到非常满意,您可以相信我将继续成为客户。

我经常读到人们在使用 Linux 替换 Windows 系统时遇到的问题,我的建议是坚持尝试 Linux 和开源。我已经能够用 Linux 程序替换每个 Windows 程序(KMyMoney、Evolution、OpenOffice.org 等),但有一个例外——视频编辑。Adobe Premiere 让我与我设置用于运行 WinXP 和 Premiere Elements 的分区捆绑在一起。也许有一天 Adobe 会意识到它可以让很多客户满意,并将 Premiere 移植到 Linux。

我选择的发行版是 Ubuntu。我运行 Mythbuntu 和 Xubuntu 都没有问题。再次感谢你们的出色工作,我期待着与 Linux Journal 一起迎接新的一年。

——
linuxdog977

作为 Final Cut Pro 的长期用户,我理解您在视频编辑方面的痛苦。Kris Occhipinti(他的一些视频在我们的网站上)说服我尝试 Kdenlive。虽然我仍然不如使用 Final Cut 那样舒适,但它似乎是一个可行的替代方案。这只是需要我学习一些东西。—Ed.

不要使用 RAID-5 构建您自己的 NAS

关于 Shawn Powers 在 2010 年 11 月“前沿”部分发表的“Drobo Shmobo”文章,我希望没有人会使用 RAID-5 构建自己的 NAS。当由于磁盘损坏而重建阵列时,RAID-5 具有糟糕的故障模式。当发现坏盘时,您有很大的可能性发现您在重建期间实际上有两个坏盘,从而导致阵列丢失。另一方面,RAID-6 能够使用两个故障盘重建阵列。

在任何情况下,无论使用 RAID-5 还是 RAID-6,您都应该确保定期运行磁盘检查。例如,对于 md-raid,对于 md0

# echo check > /sys/block/md0/md/sync_action

您可能希望将其放在 root 的 crontab 中,或者放在 /etc/cron.weekly 中的脚本中。

——
David N. Lombard

虽然我感谢您对多磁盘故障和 RAID-5 的担忧,但对我来说(我写了这篇文章),另一个驱动器是不可能的。我的工作站大小的计算机已经装满了驱动器,如果我要牺牲其中一个驱动器用于 RAID-6,我将没有足够的存储空间。也许我装满 2TB 驱动器的巨大阵列不是常态,所以我同意如果可行,RAID-6 当然更有意义。

哦,您的磁盘检查是正确的。这是一个非常好的做法,Bill Childers 上次我的服务器硬盘驱动器发生故障时提醒我设置它!—Ed.

更卓越的技术

Puppy Studio 最初是一个实验。是否有可能拥有一个功能齐全的多媒体创作套件,类似于在 Puppy Linux 上运行的 Ubuntu Studio?Puppy 速度很快,并且完全在 RAM 中运行,因此实时录制功能可能非常出色。但是,它们会吗?

我最初的假设是正确的。由于在 RAM 中运行及其小尺寸,Puppy 为工作室提供了大大改进的延迟,这是任何其他操作系统都无法比拟的。然后,我编译了一个自定义实时内核,性能突飞猛进!3.1 版本已发布:www.murga-linux.com/puppy/viewtopic.php?p=458075#458075

——
10wt3ch

简单的成功

我是一名物理老师,最近有了一个新玩具。我有一台学校发放的平板电脑。当我拿到这东西的那一刻,我就 GNU(哈!)了我要用它做什么:运行 Linux。我们有很好的 IT 人员,他们慷慨地容忍这种行为。当我告诉他们我在我的硬盘驱动器上创建了一个 Linux 分区时,他们坦率地感到好奇。我的一个 IT 伙伴说:“大多数老师甚至不会使用这些东西 20% 的容量。让我知道它的效果如何。” 这是一个简单的 Linux 分区可以做的事情:播放 DVD 而无需花费十分钟来检测光盘或卡顿。更妙的是,连接到 LCD 投影仪或检测显示器绝对没有问题。它是即插即用的。Xarnal 让我可以在 PDF 格式的家庭作业集上书写,并将其保存到班级的 Dropbox 文件中,这样学生就可以稍后通过他们的手机、笔记本电脑和台式机看到我做了什么。需要一些额外的家庭作业问题吗?没问题。我可以跳到命令行并使用wget -i下载整个 MIT 物理课程(带有 PDF 问题集)。为什么要重新发明轮子呢?

Linux 完美吗?不。我不喜欢 Linux 屏幕录制软件。坦率地说,我对我的平板电脑上的屏幕旋转如此麻烦感到不满。我希望我的无线 LCD 连接器有驱动程序。但是,免费(就像啤酒一样免费)且运行速度快的软件真的很难被打败。

我真的很高兴在课堂上继续这个双启动实验。通过努力和时间,如果我的整个班级都在 Linux 上运行,那就太好了。我想我可以抱怨和呻吟它现在还不是完全可行,但我选择关注答案而不是问题。很难不对 Linux Journal 和所有比我聪明得多的人心存感激,他们向我展示了所有这些工具,我可以不用想太多就可以使用它们。谢谢大家!

——
Riaz Abdulla

很高兴听到平板电脑 基本上 在 Linux 中满足了您的需求。老实说,对我来说更酷的是听到您的 IT 部门竟然同意让您摆弄 Linux!我认为这种态度将比所有免费软件本身更能帮助 Linux 进入教育领域。—Ed.

使用 Linux 系列的透明防火墙

我很喜欢 Mick Bauer 最近在 Linux Journal 上发表的关于透明防火墙的系列文章,但不幸的是,Bauer 先生对硬件 (Linksys WRT54GL) 的实际工作方式存在一些误解,这导致了一些错误的结论。

Linksys WRT54GL 基于 Broadcom BCM5352 SoC(片上系统)。这里的关键词是系统,因为系统的一部分包括一个六端口交换机。您可以看到其中五个端口,一个端口在芯片内部。

在该系列的第四部分(2010 年 12 月刊)中,Bauer 先生无法理解为什么 iptables 忽略 VLAN 间流量。原因很简单。内核永远看不到它,因为它是由交换机处理的,数据包永远不会到达 CPU。此外,端口 5(公共端口)不是虚拟端口,而是在各个方面都是真实的端口。它存在于硅芯片中,并且是连接到 CPU 的交换机的一部分。

不幸的是,此芯片的完整规范似乎仅在保密协议下可用,但通用的概述小册子是可用的,其中显示了这一点。OpenWrt 论坛上也讨论了这一点。

——
Gus Wirth

Mick Bauer 回复: 非常感谢您的澄清,并感谢您证实了我的怀疑,即 WRT54GL 的整个数据包类别从未被内核或 CPU 看到。请注意,至少在一种情况下,我犯了过度简化的错误,而不是无知:当我将端口 5 称为“虚拟”端口时,我只是指您无法将以太网电缆插入其中,而不是指它不存在于其他有形方式中。

如果 OpenWrt 团队在其官方文档中,或者至少在 FAQ 或 wiki 中解决透明防火墙问题,那就太好了。在我为这个项目进行的长期研究工作中,关于 WRT54G 硬件、OpenWrt 和 Linux 内核相关部分的内部工作原理和交互的关键细节要么在 OpenWrt 文档中缺失,要么仅在在线论坛中被顺便提及,要么根本找不到。

最佳 Linux 供应商?

我正在阅读 2010 年读者选择奖(参见 2010 年 12 月刊),我注意到笔记本电脑和台式机的最佳 Linux 供应商都是戴尔。我以为自从我上次查看戴尔的产品以来,情况一定发生了变化,所以我查看了它提供的产品。经过一番周折和大量搜索后,我终于能够找到一些预装了 Linux 的笔记本电脑——预装了 Ubuntu 9.10。所以,我感到困惑,戴尔是如何获得“最佳供应商”读者选择奖的。

——
lauzon

我想您必须问所有读者为什么他们投票给戴尔!但说真的,我的猜测是投票是基于价格和兼容性,而不是预装选项。当然有更多对 Linux 友好的供应商,但当我们订购硬件时,我们往往甚至懒得查看预装了什么。我不认为这是一件好事,但我认为这种情况经常发生。—Ed.

PiTiVi

只是想给你们发个消息,感谢 Jono Bacon(以及 LJ)在 2010 年 12 月刊上发表的关于 PiTiVi 的精彩文章。我制作了一个关于漫画书和图画小说的视频评论节目 (www.youtube.com/user/The2dogknight),我使用 PiTiVi 将节目组合在一起,但我从来不知道如何进行淡入淡出。现在我知道了!我计划在我的下一集中使用淡入淡出。喜欢这本杂志,请继续保持出色的工作!

——
Kevin Starkey

加载 Disqus 评论