UpFront
UpFront
- diff -u: 内核开发的新内容
- 非 Linux FOSS
- 桌面周围的呼啦圈
- 指尖上的 Linux
- 来自远方的 GUI
- Linux Journal 档案馆
- 他们说了
- 那是您口袋里的 LinuxJournal.com 吗,还是您只是很高兴见到我?
- 愚蠢的程序
diff -u: 内核开发的新内容
John Stultz 提交了代码以增强实时时钟。他不希望进程在想要设置闹钟时,必须锁定 RTC 并轮询它,等待闹钟响起。他的新代码创建了一个中间层,可以跟踪任何用户代码设置的闹钟,并在闹钟发生时将其反馈给设置闹钟的程序。如果他的补丁被接受,对于不再需要处理持有和释放 RTC 锁的复杂性的用户程序来说,这可能是一个好消息。
John 还注意到 Android RTC 闹钟驱动程序 对 RTC 采用了一种新方法,他认为应该将其包含在主内核树中。但是,由于 Android 驱动程序依赖于未包含在官方内核中的 Android 系统的其他部分,John 重写了驱动程序以使用原生内核接口,并以这种方式提交了它。正如他所见,Android 驱动程序的基本价值在于它为用户提供了一个更简单的接口,代价是失去了一些似乎不太有用的细微功能。因此,在 John 看来,这是一个纯粹的胜利。看看 Android 系统是否会适应使用 John 版本的驱动程序,或者是否会继续独立维护自己的版本,这将很有趣。
Vernon Mauery 提交了代码以支持在支持 x86 硬件上的 IBM Premium Real-Time Mode (PRTM)。这种强大的操作模式可以为用户程序提供对其系统硬件的完全控制,而系统硬件通常受到内核的严格监管和保护。PRTM 有可能成为一个灾难性的安全漏洞,但它也可以为需要实时性能的应用程序提供非常低的延迟操作。而且,它可以为调试器和其他元应用程序提供非常有用的功能。Vernon 的代码提供了一个 SysFS 接口,可以随意进入和退出 PRTM。我猜想也会有安全功能来防止应用程序执行此操作,除非它们绝对受信任。
文档总是很高兴看到的,Andres Salomon 最近为暂存树提交了一些文档。暂存树存在于主内核源代码的 drivers/staging 下,它充当不完整驱动程序的存储库,这些驱动程序尚未准备好完全依赖。在过去,想要测试这些驱动程序的人们必须单独下载驱动程序的补丁,将其应用到他们自己的内核副本中,并编译和安装该内核。这种入门障碍足以阻止除最热情的测试人员之外的所有人,在驱动程序包含在官方树中之前对其进行测试。暂存树允许任何用户非常轻松地测试驱动程序,只需在编译内核之前的配置过程中启用它即可。这为大量的潜在用户打开了测试。结果是,驱动程序在合并到主源代码树之前,会接受更好的测试。用户可以免受这些驱动程序中潜在破坏性代码的侵害,因为他们在编译内核时根本无法启用暂存树中的驱动程序。
当然,与内核开发的所有方面一样,规则也在不断修订,因此内核开发过程可以真正被视为以进化方式开发的一组算法,其最终目标是使任何给定的内核贡献者都能感到最佳行为也是最自然的。与所有进化发展一样,任何给定的快照都只呈现了那一刻不完美的平衡,但观看它真是太棒了。
非 Linux FOSS
几乎每个操作系统都有 FTP 客户端,但它们通常只是命令行或最多是笨拙的。如果您正在寻找可靠的 FTP(或 SSH)客户端,FileZilla 是一个跨平台程序,它可以完成一些事情并且做得非常好。无论您需要通过 FTP、FTP/TLS 甚至 SSH 传输文件,它都具有简单的界面和可靠的代码库。
然而,FileZilla 项目的人们更进一步,还为 Windows 提供了免费的 FTP 服务器程序。FileZilla 的 FTP 服务器填补了桌面 Windows 操作系统中急需的空白,并提供了广泛的自定义功能。它在后台运行,因此无需始终打开窗口即可运行 FTP 服务器。如果您需要适用于 Windows、OS X 或 Linux 的可靠 FTP 客户端,请查看 FileZilla 的客户端程序。如果您需要适用于 Windows 的 FTP 服务器,请务必查看服务器程序:filezilla-project.org。
桌面周围的呼啦圈
一年多来,我一直在抱怨 Netflix 缺乏 Linux 桌面支持。我所有的抱怨似乎都没有起到什么作用,因此看起来只有寻找替代方案才是公平的。诚然,Netflix 流媒体服务没有任何直接竞争对手,但有 Hulu。Hulu 有不与他人良好合作并阻止像 Boxee 团队这样的开发人员的历史,但我必须给予应有的赞扬。它有一个完全可用的 Linux 桌面程序。此外,基于 Web 的功能也能正常工作。如果您每月额外支付 7.99 美元订阅 Hulu Plus,您就可以在 Linux 桌面上愉快地观看许多季(有时是完整的目录)的电视节目。借助 Hulu 的桌面应用程序,您可以将整个体验全屏发送,并在任何有互联网接入的地方拥有自己的小型家庭娱乐系统。当然,仍然有广告。当然,目录与 Netflix 的目录不同且不如其强大,但嘿,至少 Linux 用户被邀请参加聚会!
指尖上的 Linux
本期Linux Journal完全是关于如何在口袋里装 Linux。在本文中,我更进一步,告诉您如何在指甲上装 Linux。现在,在您过于兴奋之前,不幸的是,我不会讨论詹姆斯·邦德正在使用的新型纳米计算机。相反,我讨论如何将 Linux 放在 micro-SD 卡(或任何其他 USB 驱动器,就此而言)上。使用它,您可以在任何可以从 USB 设备启动的机器上运行 Linux。
最早受到广泛关注和使用的实用程序之一是 UNetbootin (unetbootin.sourceforge.net)。此应用程序在 Linux 和 Windows 下均可用。它内置了对下载和安装多个 Linux 发行版的支持,包括 Ubuntu、Fedora、Debian、PCLinuxOS、Linux Mint、Sabayon Linux、openSUSE、Gentoo、Arch Linux、MEPIS 和许多其他发行版。
UNetbootin 还能够加载几个不同的系统实用程序,例如以下实用程序
Parted Magic:一个分区管理器,可以调整大小、修复、备份和还原分区。
SystemRescueCD:一个系统修复、备份和恢复工具。
Super Grub Disk:一个启动实用程序,用于还原和修复 GRUB 安装。
Backtrack:一个用于网络分析和渗透测试的实用程序。
Ophcrack:一个用于恢复 Windows 密码的实用程序。
Smart Boot Manager:在 BIOS 故障的机器上从 CD-ROM 和软盘驱动器启动。
FreeDOS:一个开源 DOS,允许您运行 BIOS 闪存实用程序或只是普通的旧 DOS。
UNetbootin 可以自动下载所有这些发行版的正确 ISO 镜像,或者您可以下载(或创建)您自己的 ISO 镜像并将文件名交给 UNetbootin。在任何一种情况下,下一步都是从镜像中提取所有文件,以便可以将它们复制到 USB 驱动器。您要使用的 USB 驱动器需要已格式化为具有文件系统。一旦所有文件都被提取出来,UNetbootin 就会使用一些启发式方法来找出内核和 initrd 文件隐藏的位置,并将它们放入 /ubnkern 和 /ubninit 中。然后,它会遍历 ISO 中的启动配置文件,以尝试找出需要在 USB 驱动器上设置哪些启动选项。一旦它弄清楚了,它就会将这些选项放入配置文件 /syslinux.cfg 中。然后,UNetbootin 使用 Syslinux 使 USB 驱动器可启动,您应该可以开始了。
另一个开始受到广泛关注的实用程序是 usb-creator (https://launchpad.net/usb-creator)。该程序是创建 Ubuntu Live CD 的 Live USB 版本的官方工具。此实用程序始于 Ubuntu 8.04 版本。KDE 前端出现在 8.10 版本中,Windows 版本目前正在开发中。此实用程序可以完成与 UNetbootin 相同类型的工作。它内置了创建 Ubuntu Live USB 的功能,但这还不是全部。与 UNetbootin 一样,usb-creator 可以获取任意 ISO 镜像并将其复制到您的 USB 驱动器上。它甚至可以从您的 CD 驱动器中获取 CD-ROM 并将其内容复制到您的 USB 驱动器上。只需选择源和目标,然后运行即可。
usb-creator 的一个大优点是它能够非常轻松地为您创建持久性 Live USB。USB 驱动器上的任何额外空间(超出操作系统文件所需的空间)都可以用作持久性文件的可写空间。这意味着您对系统所做的任何更改都将写入 USB 驱动器。您甚至可以选择在关机时清除持久性空间。这样,您可以将 USB 驱动器用作完整的操作系统,就像它在您的硬盘驱动器上一样。就这样,指甲盖上的 Linux。
所有这些技术都要求您拥有 Live CD 或 Live CD 的 ISO 镜像。但是,如果您想更低级别,更从头开始呢?您可以使用的工具之一是 Syslinux (syslinux.zytor.com/wiki/index.php/The_Syslinux_Project)。Syslinux 实际上是一套不同的程序,用于从多种不同的介质启动,包括
syslinux:从 FAT 文件系统启动。
pxelinux:网络启动。
isolinux:可启动的“El Torito” CD-ROM。
extlinux:从 ext2/ext3/ext4 或 btrfs 文件系统启动。
memdisk:一种从非传统介质启动旧版操作系统的工具。
Syslinux 安装到您设备的引导扇区,并将文件 LDLINUX.SYS 的副本放入根目录中。然后,它从实际文件系统中加载内核和其他操作系统文件。由于文件系统只是一个简单的 FAT 文件系统,因此可以使用标准 DOS 工具来操作所有文件(包括内核)。默认情况下,Syslinux 假定内核位于引导盘上名为 LINUX 的文件中。可以在配置文件中更改此默认设置。如果在启动期间按住 Shift 或 Alt 键,Syslinux 将显示 LILO 样式的“boot:”提示符,您可以在其中输入内核文件名和选项。
Syslinux 按以下顺序搜索其配置文件:/boot/syslinux/syslinux.cfg、/syslinux/syslinux.cfg、/syslinux.cfg。
在此文件中,您可以设置参数以更改所有默认设置。配置文件中的任何文件名都相对于 syslinux.cfg 所在的目录,除非它是完整路径。一个基本示例如下所示
DEFAULT linux LABEL linux SAY Now booting the kernel from SYSLINUX... KERNEL vmlinuz.img APPEND ro root=/dev/sda1 initrd=initrd.img
Syslinux 支持的内核类型不需要是常规 Linux 内核镜像。它们可以是 PXE 引导程序、引导扇区或 COMBOOT 镜像。
这些技术和实用程序应该为您充分利用 USB 驱动器提供良好的开端。您现在可以将整个操作系统随身携带。这基本上就是我对我的旧 Eee PC 所做的事情。通过 USB 上的 Linux,我可以将相同的系统保留在那里,并在我的 MacBook 上通过 Parallels 保留。您还可以在基本上任何可以从 USB 启动的机器上使用相同的系统。玩得开心并发挥创造力。
来自远方的 GUI
对于大多数配置,我更喜欢使用命令行工具。在无头服务器上尤其如此。但是,有些事情我发现使用 GUI 工具更容易配置。Webmin 在某些方面做得很好,但有时原生 GUI 工具真的很好。一个很好的例子是 virt-manager。虽然可以在与运行 KVM 的服务器分离的工作站上运行 virt-manager,但有时安装 virt-manager 也会安装与其他虚拟系统不兼容的内核模块。
在我的特定情况下,我喜欢在我的工作站上运行 VirtualBox,但在我的服务器上运行 KVM。虽然可以在安装了 VirtualBox 的工作站上运行 virt-manager,但它可能会因内核模块冲突而变得混乱。这就是ssh -X发挥作用的地方。只需在服务器上安装 virt-manager,使用简单的ssh -X user@server virt-manager远程运行它,GUI 程序就会在您当前的桌面上启动!
这不是什么新技巧,但这是我经常使用的技巧。如果您还没有考虑在您的无头服务器上安装 GUI 工具,只是因为它看起来很傻,请不要忘记 SSH 的 GUI 功能。它可能会使您的生活更轻松一些—或者至少更丰富多彩。
Linux Journal 档案馆
全新更新的 1994–2010 Linux Journal 存档光盘来了!采用易于使用的 HTML 格式,完全可搜索、节省空间的存档为 Linux 爱好者提供了立即访问重要资源的途径:Linux Journal。《存档》收录了所有 200 期Linux Journal,从 1994 年 3 月的首刊到 2010 年 12 月。
正常价格:34.95 美元
促销价格:29.71 美元(八五折)
优惠码:ACDNEW
促销截止日期:2011 年 3 月 31 日。
他们说了
改变的是框架,随着每项新技术而变化,而不仅仅是框架内的图片。
—马歇尔·麦克卢汉
电脑就像旧约中的上帝,有很多规则,没有怜悯。
—约瑟夫·坎贝尔
他们有电脑,他们可能还有其他大规模杀伤性武器。
—珍妮特·雷诺
对人类生活产生最深刻影响的技术通常都很简单。
—弗里曼·戴森
所有技术在被证明无罪之前都应被假定为有罪。
—大卫·布劳尔
那是您口袋里的 LinuxJournal.com 吗,还是您只是很高兴见到我?
我确信你们中的许多人都随身携带每月的Linux Journal。当然,光面纸确实容易变得有点破旧,但随时拥有重要的参考资料值得一点磨损。另一方面,我们知道你们中的一些人会细心呵护您的Linux Journal,将它们轻轻地放在您的咖啡桌上,让您的所有客人都惊叹不已。这两种方式我们都完全可以接受,但我们有一个适用于所有人的便携性解决方案。从您的移动设备访问 LinuxJournal.com,您会注意到您现在正在查看该网站的简化版本,该版本针对移动体验进行了优化。我们希望这在您进行所有极客冒险时,甚至只是坐在餐桌旁需要向您的朋友展示您上周阅读的 Shawn Powers 的精彩博客文章时,都能对您有所帮助。祝您冲浪愉快!
愚蠢的程序
我们这些长期使用 Linux 的人都知道像 xeyes 这样的愚蠢程序的乐趣。然而,我最喜欢的之一是古老的 xsnow。无论您喜欢寒冷的天气,还是住在佛罗里达州并偶尔滑雪,xsnow 都会为您的桌面增添一些冬季乐趣。xsnow 程序已经存在很久了,并且肯定适用于您的发行版。
如果您绝对反对雪及其所有冰冷的同谋,您可能想查看其他几个老旧但仍然好用的程序。早在我们拥有精美的电脑游戏之前,我们过去常常使用像 xneko(您现在可能会发现它是 oneko)这样的程序来浪费时间,这是一个小猫,会在屏幕上追逐您的“鼠标”。或者,也许您仍然喜欢 xeyes(或更现代的 tuxeyes)永恒凝视的眼睛。最后,如果您的浪费时间的品味更偏向于病态,那么 xroach(或 groach)可能会用在您桌面上窗口下匆匆躲藏的虫子来挑逗您的幻想。无论您对愚蠢的浪费时间应用程序有何想法,您都应该亲自体验一下 Linux/UNIX 历史。