前沿
前沿
- LJ 索引,2010年7月
- 命令行下的 Wi-Fi
- diff -u:内核开发的新变化
- 非 Linux FOSS
- Repo, Man
- 平板电脑,新的上网本
- 他们说的
- 亲爱的 Canonical,我可以拥有 Ubuntu One 源代码吗?
- LinuxJournal.com
LJ 索引,2010年7月
1. 在 Linux 计数器注册的机器数量:136,986
2. 运行 2.0 内核的 Linux 计数器机器百分比:0.3
3. 运行 2.2 内核的 Linux 计数器机器百分比:0.8
4. 运行 2.4 内核的 Linux 计数器机器百分比:6.5
5. 运行 2.6 内核的 Linux 计数器机器百分比:92.2
6. 在 Linux 计数器注册的机器的平均运行时间(天):70.3
7. 在 Linux 计数器注册的机器的最长运行时间(天):1,856.4
8. Distro Watch 列表中名称以字母“ix”结尾的发行版数量:21
9. Distro Watch 列表中名称包含首字母缩写词“OS”的发行版数量:14
10. Distro Watch 列表中名称包含首字母缩写词“BSD”的发行版数量:9
11. Distro Watch 列表中名称包含字母“buntu”的发行版数量:10
12. Distro Watch 列表中名称包含重音字符的发行版数量:3
13. Distro Watch 列表中名称包含数字 (0–9) 的发行版数量:8
14. Distro Watch 列表中名称正好包含一个数字 (0–9) 的发行版数量:3
15. Distro Watch 列表中名称以数字 (0–9) 开头的发行版数量:2
16. Distro Watch 列表中名称以字母“Q”开头的发行版数量:1
17. Distro Watch 列表中名称以字母“S”开头的发行版数量:30
18. 在任何 Distro Watch 列表中的发行版名称中都未出现的数字数量:5
19. 在任何 Distro Watch 列表中的发行版名称中都未作为首字母出现的字母数量:0
20. 在 Google 搜索“RMS”中 stallman.org 的排名:4
命令行下的 Wi-Fi
越来越多的人使用无线网络作为他们的主要网络媒介。X11 下有许多优秀的程序,为用户提供了无线网卡的图形界面。GNOME 和 KDE 都包含网络管理实用程序,而名为 wicd 的与桌面环境无关的实用程序也提供了强大的功能。但是,如果您没有运行 X11 并想管理您的无线网卡怎么办?这里我不介绍如何安装和激活您的网卡(为此,请查看 madwifi 或 ndiswrapper 等项目)。我假设您的网卡已正确安装和配置,并且名称为 wlan0。下面提到的大多数实用程序需要直接与您的无线网卡(或至少是网卡驱动程序)通信,因此它们需要以 root 权限运行(只需记住使用 sudo)。
第一步是查看您所在区域有哪些可用的无线网络。一个名为 iwlist 的实用程序提供了有关您的无线环境的各种信息。要扫描您环境中的可用网络,请执行以下操作
sudo iwlist wlan0 scan
您将看到类似于以下的输出
Cell 01 - Address: 00:11:22:33:44:55 ESSID:"network-essid" Mode:Master Channel:11 Frequency:2.462 GHz (Channel 11) Quality=100/100 Signal level:-47dBm Noise level=-100dBm Encryption key:off . . .
详细信息(地址和 essid)已被更改以保护责任人。此外,...表示可能可用也可能不可用的额外输出,具体取决于您的硬件。您将为无线网卡范围内的每个接入点获得一个单独的单元格条目。对于每个接入点,您可以找到硬件地址、essid 以及它运行的频道。此外,您可以了解接入点以何种模式运行(是主模式还是 ad hoc 模式)。通常,您会对 essid 以及正在使用的加密方式最感兴趣。
一旦您知道您周围环境中可用的内容,请使用 iwconfig 实用程序配置您的无线网卡以使用这些接入点之一,以设置无线网卡的参数。首先,设置 essid,它标识您想要的网路接入点
sudo iwconfig wlan0 essid network-essid
根据您的网卡及其驱动程序,您可能有权将 essid 设置为特殊值“any”。在这种情况下,您的网卡将选择第一个可用的接入点。这称为混杂模式。
您可能还需要设置无线网卡要使用的模式。这取决于您的网络拓扑。您可能有一个中央接入点,所有其他设备都连接到该接入点,或者您可能有一个 ad hoc 无线网络,其中所有设备都作为对等方进行通信。您可能希望您的计算机充当接入点。如果是这样,您可以使用 iwconfig 将模式设置为 master。或者,您可能只是想嗅探您周围发生的事情。您可以通过将模式设置为 monitor 并被动监视网卡设置频率上的所有数据包来做到这一点。您可以通过运行以下命令设置频率或频道
sudo iwconfig wlan0 freq 2.422G
或通过运行
sudo iwconfig wlan0 channel 3
您可以设置其他参数,但您应该只在有充分理由的情况下才考虑这样做。一个选项是灵敏度阈值,它定义了网卡对噪声和信号强度的敏感程度,您可以设置无线网卡的重试机制的行为。在非常嘈杂的环境中,您可能需要调整此设置。使用以下命令设置最大重试次数
sudo iwconfig wlan0 retry 16
或者,使用以下命令将最大重试生存期设置为 300 毫秒
sudo iwconfig wlan0 retry lifetime 300m
在非常嘈杂的环境中,您可能还需要调整数据包分片。如果整个数据包无法在点对点之间传输而不会损坏,则您的无线网卡可能必须将数据包分解为更小的块以避免这种情况。您可以使用以下命令告诉网卡要用作最大分片大小的值
sudo iwconfig wlan0 frag 512
此值可以小于数据包的大小。某些网卡可能不会立即应用这些设置更改。在这种情况下,运行此命令以刷新所有待处理的更改到网卡并应用它们
sudo iwconfig wlan0 commit
另外两个有用的命令是 iwspy 和 iwpriv。如果您的网卡支持,您可以使用以下命令收集无线统计信息
sudo iwspy wlan0
第二个命令让您可以访问特定网卡的可选参数。iwconfig 用于可用的通用选项。如果您在没有任何参数的情况下运行它(sudo iwpriv wlan0),它会列出网卡的所有可用选项。如果不存在额外的选项,您将看到如下输出
wlan0 no private ioctls
要设置这些私有选项之一,请运行
sudo iwpriv wlan0 private-command [private parameters]
现在您的网卡已配置并连接到无线网络,您需要配置您的网络选项以使用它。如果您在网络上使用 DHCP,您可以简单地运行dhclient来查询 DHCP 服务器并获取您的 IP 地址和其他网络设置。如果您想手动设置这些选项,请使用 ifconfig 命令(有关更多信息,请参阅 man page)。
diff -u:内核开发的新变化
在消除大内核锁 (BKL) 方面继续取得越来越多的进展。我们现在已经到了内核中只有相对较少部分仍然依赖 BKL 的阶段。Arnd Bergmann 一直在维护他自己的专门针对 BKL 的源代码树,他最近宣布他自己的工作以及许多其他人的贡献已从整个核心内核中删除了 BKL,现在可以构建一个完全没有 BKL 实例的内核。不过,仍然有一些依赖 BKL 的高调驱动程序(例如,USB 和 VFAT),以及许多更晦涩的驱动程序。Arnd 还承认,他的一些 BKL 删除补丁可能会被其他人在特定领域的努力所取代。例如,他从TTY 层中删除了 BKL,但 Alan Cox 一直在计划自己对 TTY 层进行工作,这可能会进入官方树而不是 Arnd 的工作。但是,所有这一切的结果是,内核很可能在不久的将来变得对线程应用程序更加友好。
随着 VMware、Xen 和 KVM 等现代虚拟系统的普及,人们希望编写代码来支持他们在主机系统中的特定虚拟化实现。结果可能是一些重复的功能,以及可能有一种方法,这种方法偏爱个人自己首选的虚拟化系统,而不是内核应该提供的通用服务。最近似乎发生了这种情况,当时 VMware 提交了更多关于其气球驱动程序的工作。气球驱动程序允许内存分配波动,因此虚拟系统可以将内存释放回主机系统,然后在需要时稍后声明更多内存。这是一种礼貌的虚拟化系统。
然而,在这种情况下,Andrew Morton 指出,更礼貌的方法是扩展内核已经拥有的内存处理能力。处理系统休眠的代码在他看来是该方法的自然起点。唯一的缺点是,没有虚拟系统开发人员考虑过这种可能性,因此这将意味着要追溯他们的计划。但是,似乎无论是那样,还是对现有功能的某种类似扩展,都将是新的方向,至少对于气球驱动程序而言。
内核开发最有趣的方面之一是在让人们以他们最好的方式贡献和控制当很多人一起参与一个项目时可能出现的混乱之间取得平衡。最近,Linus Torvalds 发现 Phillip Lougher 将一些丑陋的代码从 include/linux/mm.h 复制到 SquashFS 所需的其他包含文件中。Phillip 知道这种丑陋的代码存在问题,但他已尽可能地清理了它,任何进一步的努力都将涉及偏离他 SquashFS 工作的重大绕道。而且无论如何,混乱已经存在于代码中,因此对他来说似乎不是那么高的优先级。
但是,Linus 坚决拒绝让这种丑陋的代码进一步传播到代码中。他并没有为此责怪 Phillip,但他要求 Phillip 更多地清理它,并要求 H. Peter Anvin 与他一起参与。最终结果是推迟接受 SquashFS 更改以及 Phillip 的一些绕道,但这项工作至少与 Phillip 想要做的事情相关,并且将对内核这一部分的清洁度产生相当大的影响。
非 Linux FOSS
Linux 继续在嵌入式设备中取得进展,但对于许多设备来说,它太重了,而且开箱即用,它不支持实时。
NuttX 是用于小型到中型嵌入式系统的实时操作系统 (RTOS)。它力求在最大程度上符合深度嵌入式环境的标准(POSIX 和 ANSI)。NuttX 是完全可抢占的,并且包括文件系统、C 库、网络和 USB 设备支持。
NuttX 已移植到众多平台/架构,从小型 8 位系统(如 8052 和 M68HC12)到大型 32 位系统(如 ARM Cortex-M3)。NuttX 可以使用 Linux 和 Cygwin 构建。根据启用的选项,NuttX 可以压缩到 20K 左右。大约 50K 为您提供了构建全功能版本的空间。
NuttX 于 2007 年首次发布,目前正在积极开发中。自那时以来,它已经发布了 49 个版本,目前版本为 5.2。NuttX 托管在 SourceForge 的 nuttx.sourceforge.net 上,并根据 BSD 许可证获得许可。
Repo, Man
当然,这是一部俗气的 1980 年代电影,但更重要的是,我想关注其中的“Repo”部分。作为 Linux 用户,软件仓库对我们来说是第二天性。然而,对于新用户来说,情况并非如此。
以我的父亲为例。(嗨,爸爸!)他最近开始在他的台式机上使用 Linux,一旦他熟悉了基本安装,他就想尝试一些其他应用程序。作为一名长期的 Windows 用户,他打电话问我人们在哪里下载软件,特别是 Amarok。预装软件仓库的概念对他来说很陌生,但我希望当我解释后,这是一个相当令人兴奋的概念。
当我们谈论为什么 Linux 如此出色时,我们经常吹捧安全性、稳定性和自由性。有趣的是,我们认为理所当然的小事,例如“便利性”,已经内置到我们最喜欢的操作系统中。我也在网上对此进行了漫谈,因为我的空间有限,请随时在我们的网站上添加您的看法:www.linuxjournal.com/content/linux-where-crapware-goes-die。
apt-get install a_great_day!
平板电脑,新的上网本
平板电脑并不新鲜,就像小型计算机并不新鲜一样。与上网本热潮非常相似,新的平板电脑热潮更多地与金钱有关,而与创新无关。别误会我的意思。我认为我们会看到大量的创新,但它将由消费者的钱包(以及他们打开钱包的意愿)驱动,而不是计算机设计中的一些惊人的新概念。
我当然认为上网本是 Linux 获得立足点的理想场所。可悲的是,供应商的糟糕实施和缺乏标准桌面导致 Linux 成为 Windows 的丑陋替代品——这应该让我们所有人感到不寒而栗。也许,仅仅是也许,平板电脑将是我们的第二次机会。
当然,苹果的 iPad 已经在美国挥金如土的人们心中取得了巨大的开端。然而,这一次,Linux 社区拥有我们以前没有的东西:Android。无论您喜欢与否,Google 都设法提供了一个相当标准的平台,该平台旨在在移动设备和平板电脑上工作!
因此,对于所有只是因为上网本看起来很酷而购买上网本的上网本所有者,让我们购买平板电脑吧!我真的不在乎是哪一款,但请购买一款运行 Linux 的平板电脑。
他们说的
我认为大多数人在选择第一份工作时犯的最大错误是,他们不太担心自己是否会喜欢这份工作,而更担心这是否是一次好的经历。
—史蒂夫·鲍尔默
尽早保存,经常保存。
—Alwin Lee 和所有其他使用 Microsoft Word 的人
从那时起,当计算机出现任何问题时,我们就说它有漏洞。
—海军少将 Grace Murray Hopper,美国海军
AOL 就像核弹袭击后剩下的蟑螂。他们知道如何生存。
—Jan Horsfall,Lycos 营销副总裁
Linux 的哲学是“在危险面前一笑置之。” 哎呀。错了。“自己动手。” 是的,就是这样。
—Linus Torvalds
如果戈尔发明了互联网,那我发明了拼写检查。
—前副总统 J. Danforth Quayle
冷漠和无知之间有什么区别?我不知道,我也不在乎。
—世界娱乐战争
我对 Linux 的问题是,它使得处理色情内容非常困难。
—Kshitij Sobti(发布于 thinkdigit.com,2010 年愚人节)
亲爱的 Canonical,我可以拥有 Ubuntu One 源代码吗?
我喜欢 Dropbox (www.dropbox.com) 并在我的所有计算机上使用它,因此我很高兴看到 Canonical 使用其 Ubuntu One 程序做了类似的事情。然而,当我意识到虽然客户端软件是完全开源的,但服务器部分不是时,这种兴奋很快就消退了。我们这些运行庞大计算机网络的人无法在内部设置我们自己的 Ubuntu One 服务器,我们也无法指望社区为其他操作系统添加支持。
最终,我希望 Dropbox 能够开源。这不仅可以为我们提供跨平台支持,还可以消除 Canonical 产品目前所具有的“Ubuntu”倾向。然而,我的怀疑是,迟早,Google 会意识到 Dropbox 是它从未拥有的 Gdrive——并购买它。虽然这真的很酷,并且更多人会采用已经很棒的 Dropbox,但这也意味着 Dropbox 在不久的将来没有机会进入 Linux 服务器。
所以再次,Canonical,请开源 Ubuntu One。您仍然可以提供您的云解决方案,但我们也可以在内部制作我们自己的小云。谁知道呢,也许社区会添加您想要自己采纳的功能和特性。我们很乐意分享回来!
LinuxJournal.com
本月,我想花时间感谢参与 Drupal 的许多人,Drupal 是为 LinuxJournal.com 提供支持的开源 Web 项目。虽然核心项目的大部分工作是由一小群开发人员完成的,他们的数千个贡献是 Drupal 演变背后的驱动力,但有成千上万的人为社区贡献代码和模块。这些贡献使我能够在没有大型 Web 团队的情况下制作 LinuxJournal.com,我对此非常感激。虽然我经常引用 Drupal 的灵活性和强大功能作为我能够保持单人团队的原因,但这绝对是误导性的。我是一个拥有数千人支持系统的单人团队,我也要感谢 Lullabot 的 Addison Berry,他在过去一年中帮助我度过了许多难关。
我相信 Drupal 是最好的 Web 平台,但我也相信这是拥有最好的 Web 社区的结果。我很高兴成为其中的一小部分。
随着 WhiteHouse.gov 等网站采用 Drupal,现在是 Drupaler 激动人心的时刻,我鼓励其他人使用它并参与其中。感谢让您的工作变得更好的社区,并且不要忘记做出您自己的贡献。