前沿
前沿
- LJ 索引,2010 年 6 月
- 从命令行维护您的系统
- diff -u:内核开发中的新功能
- 非 Linux FOSS
- 双启动,不仅适用于 Windows 用户
- 独眼、独角、会飞的紫色……Ubuntu?
- 使用 Reconstructor 创建 BillyBobBuntu
- 他们说了
- 保存您喜欢的文章
LJ 索引,2010 年 6 月
1. 世界上的开发者人数:1520 万
2. 每个开发者每天产生的代码行数:10
3. 所有开发者每年产生的代码行数(百万):31,616.0
4. 所有开发者每分钟产生的代码行数(百万):0.32
5. 内核版本 2.6.32 中的代码行数(百万):12.99
6. 如果所有开发者都参与,重写 Linux 内核所需的分钟数:41
7. 平均 Linux 发行版中的代码行数(百万):204.50
8. 如果所有开发者都参与,重写平均 Linux 发行版所需的小时数:10.6
9. 世界上最快的 10 台计算机中运行 Linux 的数量:10
10. 世界上最快的 10 台计算机中运行 UNIX 的数量:0
11. 世界上最快的 10 台计算机中运行 Microsoft Windows 的数量:0
12. 世界上最快的 10 台计算机中由 Cray 构建的数量:2
13. 世界上最快的 10 台计算机中由 IBM 构建的数量:4
14. 世界上最快的 10 台计算机中由 Sun 构建的数量:2
15. 世界上最快的 10 台计算机中由 SGI 构建的数量:1
16. 世界上最快的 10 台计算机中由 NUDT(中国)构建的数量:1
17. 世界最快计算机(ORNL 的 Cray Jaguar)的 Teraflop 速度:1,750
18. 世界最快计算机中的内存(TB):362
19. 世界最快计算机中的磁盘存储(PB):10
20. 世界最快计算机中的 Opteron 处理器核心数:224,256
1:Evans Data
2:Frederick P. Brooks 在《人月神话》中
3:#1 * #2 * 208(每年 208 个工作日)
4:#1 * #2 / 8 / 60(8 小时工作日)
6: #5 / #4
7:Linux 基金会
8: #6 * #4 / 60
9–16:TOP500
17–20:www.ornl.gov
从命令行维护您的系统
许多 Linux 发行版使用某种形式的软件包系统来组织系统上安装的应用程序。正式的软件包系统允许您以受控和连贯的方式安装、删除和通用维护您的软件。目前大多数发行版使用的三个主要软件包系统是 Debian deb 软件包、Red Hat rpm 软件包和 Slackware pkg 软件包。它们都具有与软件包系统交互的图形实用程序,但是如果您想在命令行上处理该系统怎么办?如果您正在运行服务器或通过 SSH 访问远程计算机,并且不想处理 X11 的开销怎么办?让我们看看如何为基于 Debian 的系统执行此操作。
首先,您可能想要安装一些软件。首选方法是使用 apt-get 实用程序。 apt-get 知道软件包之间的依赖关系链。如果您想安装 stellarium,只需运行apt-get install stellarium,它从存储库下载相关的软件包文件及其所有依赖项。如果您不知道确切的软件包名称怎么办?使用 dpkg-query 实用程序查询软件包管理系统。因此,如果您知道软件包名称中包含“kde”,则可以使用以下命令列出所有匹配的软件包dpkg-query -l "*kde*"。请记住,引用任何包含星号 (*) 的搜索字符串,这样您就不会无意中让 shell 尝试扩展它们。
这对于给定存储库中可用的软件非常有效。但是,如果您想要一些不可用的东西怎么办?如果您有可供下载的 .deb 文件,则可以下载并手动安装。下载文件后,通过运行以下命令安装它dpkg -i file_to_install.deb.
dpkg 在比 apt-get 更低的级别上与 deb 软件包系统一起工作。使用它可以安装、删除和维护单个软件包。如果您要安装一组软件包,您可能需要将相关的存储库添加到您的列表中,以便 apt-get 知道它。存储库列表存储在配置文件 /etc/apt/sources.list 中。每行都有以下形式
deb http://us.archive.ubuntu.com/ubuntu/ karmic main restricted
第一个字段告诉 apt-get 此存储库中有什么可用内容:deb 用于二进制软件包,deb-src 用于源代码软件包。第二个字段是存储库的 URL(此处为 Ubuntu 存储库)。第三个字段是存储库名称(在本例中为 Ubuntu karmic 版本的存储库)。最后一个字段是要从中安装软件包的部分。此示例在尝试安装应用程序或解决依赖项时查看 main 和 restricted 部分。
现在您已经安装了一些应用程序,您可能想要维护并保持它们更新,因为每个软件都会出现随时间推移而暴露出来的错误或安全问题。开发人员始终发布新版本以修复这些问题并更新存储库中的相关软件包。要更新系统上的软件和版本列表,请运行apt-get update。更新列表后,告诉 apt-get 安装更新apt-get upgrade。如果您想要列出即将升级的内容,请添加-u选项apt-get upgrade -u.
有时,当软件包的新版本发布时(例如当发行版发布新版本时),所述软件包的依赖项也可能会更改。在这种情况下,直接升级可能会感到困惑,因此请使用apt-get dist-upgrade。此命令尝试智能地处理这些依赖项中的更改,根据需要添加和删除软件包。
如果您安装了一个软件包只是为了试用并且不再需要它怎么办?使用以下命令删除软件包apt-get remove stellarium。这会删除作为 stellarium 软件包一部分安装的所有文件,但它会保留所有配置文件,并且不会处理因 stellarium 依赖于它们而安装的任何额外软件包。如果您想完全删除一个软件包,包括所有配置文件,请运行apt-get purge stellarium.
安装和删除所有这些软件可能会导致浪费空间的垃圾在您的系统上累积。要恢复一些空间,请运行apt-get autoclean。这将从本地缓存中删除无法再下载的软件包的软件包 .deb 文件(主要是无用的软件包)。如果您想完全清理本地缓存并恢复更多空间,请运行apt-get clean.
虽然remove和purge将删除一个软件包,但是您可以对为此软件包安装的任何依赖项做什么?如果您运行apt-get autoremove,您可以卸载所有作为其他软件包的依赖项安装且不再需要的软件包。
查找不再需要的软件包的另一种方法是使用 deborphan 实用程序。首先,您需要安装它,使用apt-get install deborphan。(大多数发行版默认不安装它。)安装后,在没有命令行选项的情况下运行它会给出 libs 和 oldlibs 部分中没有依赖项的所有软件包的列表。由于没有其他软件包依赖于这些软件包,因此您可以安全地使用 apt-get 删除或清除它们。如果您想查看所有部分,请使用-a选项。如果您想节省空间,请要求 deborphan 使用-z选项打印出这些孤立软件包的已安装大小。然后,您可以使用deborphan -z -a | sort -n对它们进行排序,这将给出您可以安全卸载的软件包列表,按已安装大小从小到大排序。
上面讨论的每个工具都有许多其他选项,您应该在相关的 man 页面中研究它们。此外,基于 Red Hat 的系统具有等效的命令来帮助您管理 rpm 文件。
diff -u:内核开发中的新功能
Paul E. McKenney 已经开发了一个补丁,用于在配置数据中包含更精确的 版本号,因此如果您正在运行从 git 存储库构建的内核,您将能够精确地识别源代码树,即使它介于正式发布的版本之间。在这种情况下,版本号看起来像 2.6.33-01836-g90a6501。它漂亮吗?他的代码实际上经历了多次修订,以确保它以安全的方式派生版本号,而不会导致其他脚本崩溃,并为用户提供设置环境变量以控制是否应包含完整版本信息的选项。
Dave Young 已经发布了补丁,以更改补丁提交文档,将 Gmail 列为不再可用于发送补丁。过去,显然可以通过几个步骤使 Gmail 干净地发送补丁,但现在情况并非如此。 Gmail 将制表符转换为空格,自动换行长行,并将对具有非 ASCII 字符的消息进行 64 位编码。这些功能中的任何一个都足以损坏补丁文件。现在,可以配置 Firefox 以使用外部编辑器编辑电子邮件,过去,Gmail 会发送编辑后的文本而不是使用自己的编辑器。但是,随着换行功能的引入,即使使用外部编辑器,Gmail 显然也会换行。该文档过去曾解释过涉及外部编辑器的解决方法,但 Dave 的补丁现在只是简单地列出了各种问题,并声明不应将 Gmail 用于向 linux-kernel 邮件列表发送补丁。
Eric W. Biederman 更改了 /dev/console 的创建方式。旧方法是等到包含 /dev 目录的文件系统已挂载,然后在那里挂载 /dev/console。这样做的问题是,如果您想卸载文件系统,如果 /dev/console 仍然打开,您可能会遇到问题。 Eric 的补丁将 /dev/console 作为 rootfs 的一部分挂载——仍然在相同的位置,仍然称为 /dev/console,但只是作为 rootfs 的一部分,而不是您选择为正在运行的系统挂载的任何文件系统。极少数高级用户可能需要稍微调整他们做事的方式以适应此补丁。其他人应该根本不会注意到任何事情,或者他们可能会在某些情况下注意到,过去经常出现的一些问题不再出现。
Christine Caulfield 已将自己标记为不再维护 DECnet 网络层,并将该代码标记为孤立而不是维护。由于 decnet 邮件列表完全沉默,她的理论是唯一的用户都在运行较旧的内核,并且对现状感到满意。 DECnet 网络协议最初在 1970 年代用于连接 PDP-11。它们作为开放标准发布,为 Linux 数十年后的 DECnet 实现铺平了道路。
非 Linux FOSS
无论您认为让每个程序都有自己的安装程序是错误还是功能,在 Windows 世界中,这都是常态。因此,如果您要将开源代码移植到 Windows,在某些时候,您必须考虑创建安装程序。
Inno Setup 是 Windows 程序的免费开源安装程序。它自 1997 年以来就已存在,并用 Delphi Pascal 编写。 Inno Setup 由您提供的脚本驱动,允许 Inno Setup 为您的程序创建安装程序。该脚本很像 INI 文件。您提供简单的名称/值对来驱动安装程序的创建。对于更复杂的场景,Inno Setup 包含其自己的内置 Pascal 编译器,用于在脚本中创建真正的“代码”部分。
Inno Setup 具有一长串支持的功能:支持 64 位应用程序、可自定义的安装类型、已安装文件的集成解压缩、快捷方式创建、注册表项创建、在安装之前/期间/之后运行程序、密码保护、数字签名等等。有关更多信息,请参阅网站 (www.jrsoftware.org/isinfo.php)。
Inno Setup 在所有现代版本的 Windows 上运行。它创建一个卸载程序以及一个安装程序,并将所有内容打包到一个 EXE 中,以便于分发。在撰写本文时,Inno Setup 的版本为 5.3.8,于 2010 年 2 月 18 日发布。
双启动,不仅适用于 Windows 用户
这是 LJ 的发行版问题,并且似乎应该注意到,像 GRUB 这样的程序不仅适用于我们这些一只脚踏入 Windows 世界的人。您知道您可以在同一台机器上运行 Fedora 和 Ubuntu 吗?您知道您可以在同一台机器上运行 Fedora 10、Fedora 12、Ubuntu 8.04、Ubuntu 9.10、Slackware 和 Linux Mint 吗?
Linux 的众多优点之一是它使多次安装变得简单!在安装过程中,划分出一块硬盘驱动器,大多数发行版都会愉快地尊重和尊重您现有的 GRUB 安装。因此,如果您无法决定要尝试哪个发行版,请全部安装! (好吧,如果您在一台计算机上安装 20 个发行版,您可能会开始遇到将它们理清的问题!)
独眼、独角、会飞的紫色……Ubuntu?
随着其 Linux 发行版的最新迭代,Canonical 稍微改变了其品牌形象。尽管我们可能都会猜测它为何从传统的棕色主题转向,但可悲的是,现实往往不如猜测令人兴奋。诚然,品牌重塑是多年规划、研究和营销决策的结果,但我怀疑存在一组强大的潜在原因
UPS 已经占据了棕色市场的角落。
Ubuntu 的“Human”主题限制了其星际统治战略。
Mark Shuttleworth 听够了与棕色相关的“scat”笑话。
棕色会与即将推出的 Ubuntu 10.10 版本 Marauding Marmaduke 的橙色调发生冲突。
撇开玩笑不谈,品牌重塑对于 Ubuntu 来说是一个令人耳目一新的新面貌。它是否会对 Canonical 旗舰产品的市场营销产生任何影响还有待观察。对于我们这些几乎对棕色感到厌倦的人来说,我认为可以肯定地说,“带来紫色吧!”
使用 Reconstructor 创建 BillyBobBuntu
只需看一眼 DistroWatch 就会证明 Linux 用户喜欢自己滚动发行版。 甚至还有一个名为 Linux From Scratch 的发行版,您会认为它应该只被称为 Linux!如果您一直渴望滚动自己的发行版,但又担心它太复杂,那么 Reconstructor (www.reconstructor.org) 可能正是您需要的。
我之前曾在 Linux Journal 网站上写过关于 Reconstructor 的文章 (www.linuxjournal.com/content/reconstructor-when-you-lose-your-restore-cd),最近,Ross Larson 写了一篇关于该项目进展情况的后续文章 (www.linuxjournal.com/content/howto-customized-live-dvds-reconstructors-web-ui)。一个有趣的新功能是,您可以从基于 Web 的发行版构建器构建自己的发行版。访问 build.reconstructor.org(并创建一个帐户)允许您构建自定义 Linux 发行版,然后下载它。
我有一个请求:请不要开始一个新的 Linux 发行版来与所有其他发行版竞争。我们已经有很多了!
他们说了
我们生活在一个精美地依赖科学和技术的社会中,但几乎没有人了解科学和技术。
—卡尔·萨根
拥有计算机最容易被忽视的优势是,如果它们搞砸了,那么随意敲打它们一点也不违法。
—波特菲尔德
任何足够先进的科学或技术都与魔法无异。
—亚瑟·C·克拉克
任何可以与魔法区分开来的技术都不够先进。
—格雷戈里·本福德
微软曾经犯了一个错误,将 Linux 广泛地称为知识产权泥潭。它登上了微软头条,但几乎没有朋友:律师不相信,客户不想听,竞争对手敢于起诉。
多年以后,微软仍然没有起诉,而是继续努力说服世界,通过一项又一项的专利交叉许可协议,每个人、每个地方都因涉嫌侵犯其 Linux 知识产权而欠其钱。
—Matt Asay,Canonical 首席运营官
在人工智能领域花费一年时间足以让人相信上帝。
—艾伦·J·佩利斯
保存您喜欢的文章
您知道您可以保存您最喜欢的 LinuxJournal.com 文章以供以后参考吗?只需点击任何帖子底部的“标记为收藏”,您就会在您的用户个人资料中看到它。当您点击您的收藏夹选项卡时,您可以搜索您的收藏夹以便于参考。现在,您可以将您在 LinuxJournal.com 上遇到的所有有用文章保存在一个类似食谱盒的东西中。访问任何作者或读者个人资料以查看他们最喜欢的文章。我们希望这能让您更轻松地回忆起网站上的特定信息。我很想听听此功能对您的工作方式,所以请随时给我发消息至 webmistress@linuxjournal.com。在线见!