我总是感到很疑惑: 为什么Ubuntu Linux能在短短几年时间成为最流行的linux系统. 还有许多其它的linux发行版, 其中一些已有超过10年的时间, 但是Ubuntu却能在短短时间成为其中最流行的. Ubuntu创始人, Mark Shuttleworth声称Ubuntu已有超过800万的用户, 而其它人说’我相信现在已有总数超过800万的Linux桌面用户’. 简易是我的朋友 Ubuntu是桌面Linux最好的一个例子. 实际上, 它们遵循了’人类的Linux’口号. Ubuntu具有良好的图形化安装程序, 图形桌面, 易用的菜单, 丰富的应用程序库等. 好的, 你会说, 其它发行版甚至可以提供更好的3D桌面, 更丰富的应用程序库, 更易使用的菜单等. 我认为Ubuntu是’最佳用户体验’的最好实例, 也就是说Ubuntu为人类而设计. 钱重要吗? 是的. Mark是一位知名人士(第二个登上太空的旅游者). Ubuntu核心小组有专业的程序员, 他们有着不错的收入(我想是的), 周围有成千上万的自愿者建议新的功能, 报告漏洞和把操作系统翻译者其它的语言. 任何事情是否面向正确的市场和具有良好的公共关系只是成功的50%. 好的市场需要好的投资. 于是, 我认为市场上存在真正更好的Linux发行版, 它能够跟Ubuntu竞争, 但是很多人都不知道它们的名字. Shipit是一个很好的市场例子 许多人认为:’一些人发行免费的CDs…呵呵.. 我最好能得到更多.. 为我自己, 我的朋友, 我的父母, 我的同桌, 我的狗和猫 .. ‘. 市场机制工作的很好, 最后成千上万免费的Ubuntu CD流传送到世界范围内的许多家庭. 至少10个人里面就有3个人喜欢Ubuntu, 现在这些人为自己是Ubuntu用户感到骄傲. 赢利在后 我不认为Canonical的商业支持是为Ubuntu开发提供费用. 系统是这样工作的: 制作好的产品, 免费提供, 获得更多的用户, 然后再赢利. 重要的建议 Ubuntu是一个不错的Linux发行版. 像OpenSuse, Mandriva, Xandros和许多其它发行版一样是一个不错的桌面系统. 我使用Ubuntu有好几年了.. 我很高兴使用它. Ubuntu现象是Linux成功故事的一个例子, 我希望很快能够听到更多其它成功的故事. 如果你同意或不同意文中的观点, 或者你有自己的想法, 请与我分享. 参考Why Ubuntu Is Number One (Ubuntu Phenomenon)
每一个Linux发行版都有自己专门的工具去构建自定义的内核. 本文主要介绍在Ubuntu平台上编译内核, 如何从www.kernel.org(也叫vanilla kernel)获得最新且未改动的内核源代码来构建一个自定义的内核, 这样你可以使用自己的内核而不是发行版的内核, 另外也介绍了如何给内核打补丁, 从而方便增加新的功能. 下面的工作我都在Ubuntu 6.10 Server (“Edgy Eft”)和Ubuntu 6.06 Desktop (“Dapper Drake”)上经过了测试. www.kernel.org网站下载你需要的内核版本, 比如. linux-2.6.18.1tar.bz2(你可以从这里下载所有的2.6内核: http://www.kernel.org/pub/linux/kernel/v2.6/). 然后下载到/usr/src目录: cd /usr/src wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.1.tar.bz2 然后解压内核源代码, 创建一个指向内核源代码目录的linux字符链接: tar xjf linux-2.6.18.1.tar.bz2 ln -s linux-2.6.18.1 linux cd /usr/src/linux 4 给内核源代码打补丁(可选) 有时你的缺省内核不支持新买的设备, 你需要安装新的驱动. 或者你需要使用虚拟技术或其它高级的技术, 而这些现有的内核都不支持. 这样情况下你需要给给内核源代码打补丁(当然补丁已经发布..) 现在我们假设你已经下载需要的补丁(以下例子我叫它patch.bz2)到/usr/src. 运行下面的命令给内核源代码直接打上补丁(你的用户必须位于/usr/src/linux目录): bzip2 -dc /usr/src/patch.bz2 | patch -p1 –dry-run bzip2 -dc /usr/src/patch.bz2 | patch -p1 第一个命令用于测试, 对内核没有任何影响. 如果没有显示错误, 你可以运行第二个命令给内核打补丁. 如果第一个命令有误, 请务继续的操作! 你也能够通过内核的prepatches方式打补丁. 比如, 如果你需要一个功能, 而这个功能仅存在于2.6.19-rc4中, 正式完整的内核版本仍没有发布, 而patch-2.6.19-rc4.biz2已经发布. 你可以把这个补丁打到2.6.18的内核源代码中, 但请不要达到2.6.18.1或2.6.18.2, 等. 这个规则在接下来的网页中注明: http://kernel.org/patchtypes/pre.html prepatches等同于linux中的测试发行; 他们位于存档的测试目录中, 我们可以使用patch(1)工具对上一个完整发行版(版本号分三部分)打补丁(例如, 2.6.12-rc4 prepatch只可以给2.6.11内核源代码打补丁, 而不是2.6.11.10.) 所以如果你想编译2.6.19-rc4内核, 你必须在步骤3.1下载2.6.18(http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2)替代2.6.18.1内核源代码! 下面是如何给2.6.18打上2.6.19-rc4补丁: cd /usr/src wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc4.bz2 cd /usr/src/linux bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1 –dry-run bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1 5. 配置内核 使用当前工作内核的配置文件做为新内核配置文件的基础是一个很好的主意. 因此我们拷贝已存的配置文件到/usr/src/linux: cp /boot/config-uname -r ./.config 然后运行 make menuconfig 然后我们看到内核的配置菜单. 移动绿色光标到 Load an Alternate Configuration File 行后选择.config文件(包含了当前工作内核的配置)做为配置文件: 然后浏览内核配置菜单, 选择你需要的功能. 完成配置后, 选择Exit, 回答下面的问题(Do you wish to save your new kernel configuration? 你希望保存新的内核配置吗?), 选择Yes: 6 构建内核 执行下面命令来构建内核: make-kpkg clean fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers 在–append-to-version= 后面你可以写上任何字符串来区别内核版本, 但是必须以” - “符号开始而且后面不包括任何空格. 保持耐心, 内核编译需要一定时间, 主要看你的内核配置和处理器速度. 7 安装新内核 在成功构建内核后, 你在/usr/src目录能发现两个.deb软件包. cd /usr/src ls -l 在我的测试系统上, 他们分别名为 linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (包含了实际的内核) 和 linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (包含了需要的文件, 用于以后需要编译额外的内核模块). 我是这样安装的: dpkg -i linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb dpkg -i linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb (现在你甚至能够拷贝这两个.deb文件到其它的Ubuntu系统, 通过上面的方式安装. 你将不再需要编译内核.) 然后检查 /boot/grub/menu.lst文件, 现在你将能发现新内核使用的两个引导配置块: vi /boot/grub/menu.lst 在我测试系统上已经添加好的引导配置块是这样的: title Ubuntu, kernel 2.6.18.1-custom root (hd0,0) kernel /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro quiet splash initrd /boot/initrd.img-2.6.18.1-custom savedefault boot title Ubuntu, kernel 2.6.18.1-custom (recovery mode) root (hd0,0) kernel /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro single initrd /boot/initrd.img-2.6.18.1-custom boot 现在重启系统: shutdown -r now 如果一切进展顺利, 你的新内核正常工作. 你还可以通过运行下面命令来检查新内核是否运行: uname -r 这将会显示如: 2.6.18.1-custom 如果系统没有起来, 重启一下, 你会看到: 按ESC进入GRUB菜单: 选择你以前的内核启动系统, 现在你能再次尝试编译新的工作内核. 不要忘记从/boot/grub/menu.1st文件中移去不需要的引导内核信息. 参考链接: Ubuntu: http://www.ubuntu.com The Linux Kernel Archives: http://www.kernel.org 备注: 转载请保持文章完整性, 欢迎交流. 本文涉及主题: compile, 编译, kernel, linux, ubuntu, 内核 zhaoke 于2006-11-17 6:33 贴于 kernel 分类. 你可以使用这个RSS 2.0 地址来订阅本篇文章的后继留言. 你也可以直接留言, 或是从你的站点 trackback 本篇文章. 5 个留言 zhaoke |
2006-11-19 13:57 | 固定链接 各位抱歉, 忽略了文章开头一个明显的错误, 谢谢Ricky的提示. 这篇文章开头部分和”如何编译一个内核 - Fedora方式“一文很类似, 不过具体的内核编译过程是不相同的. 欢迎交流. 赵珂网志 :: 为什么Ubuntu是最流行的Linux系统(Ubuntu现象) | 2007-01-08 22:34 | 固定链接 […] 相关文章 如何编译一个内核 - Ubuntu方式 […] 真心英雄 | 2007-03-18 15:22 | 固定链接 很好,遵照你的过程,可以编译出 kernel的 deb包。 但是有个问题,这种编译方式都是默认采用单cpu的方式,我在双核的机器上,只利用到我一半的cpu处理能力,能否设成两个并发编译任务的默视,我用手工 make -j 2 是可以的,不知道用fakeroot该怎么弄? 谢谢 hixgod | 2007-05-09 14:55 | 固定链接 很不错的文章,转载到了我的blog去了,想你道声谢!! df | 2007-05-20 12:06 | 固定链接 fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers 拷贝东西稍微看一下,这本是一行的,非得分2行。。。。。。 |
Fedora Core 6硬盘安装手记 好久没有写BLOG了,这段时间确实太忙,要做的事情很多,而且很费心,要学的东西也很多,而且都是很难学和难掌握的,像什么PMBOK,PSP,PSPBOK,PCB等等 ,有些甚至以前连这个词都没有听说过。 今 天折腾了一天,到现在已经是晚上十点了,终于在我工作的机子上装上了FC6,我的机子是ACER的品牌机,SATA的硬盘,USB的键盘鼠标,所以很多 Linux的版本是不能用的,比如同事带的RedHat9就是不支持SATA的,上午折腾了大半早上,就只弄清楚了这个问题,所以马上去下载FC6,由于 公司的网络是有封锁的,还好我用的这个IP不是全封,找了好久才找到一个可用的下载地址,那下载速度可真是慢呀。 到了晚上下班的时候,终于快下完了,可以发现现在的版本的中再也不带以往常用的DOS启动的文件了,去网上查了些资料,终于弄清楚怎么安装了。简要记录如下: 1、先去SF.NET上下载一个WINGRUB,当然需要你的系统中有一个XP或是2000的系统,安装很简单,配置也超简单,Windows下这点还是蛮好的,这里不再多说,确保你的系统能用GRUB的方式启动就好了。 2、用一个虚拟光驱之类的软件把你下载的ISO文件第一张盘的isolinux目录下的vmlinuz和initrd.img两个文件COPY到C盘的根目录(当然其它目录也可以,不过呆 会儿在启动FC的安装程序的时候自己记得改下地址就好了)。 3、重启系统,这时你会看到GRUB的启动菜单,按“C”键,进入GRUB的命令行。 4、键入以下命令:
GRUB>kernel (hd0,0)/vmlinuz
GRUB>initrd (hd0,0)/initrd.img
GRUB>boot 5、OK,顺利进入FC6的安装程序,你可以选择语言和安装程序的位置。
ZendStudio 下载(含注册机) 最新版(5.5.0a.270) 大 | 中 | 小 01/28/2007 11:56 gently ZendStudio 最新版下载 ZendStudio-5.5.0a 原版官方下载 for Windows ZendStudio-5.5.0a 原版官方下载 for Linux ZendStudio-5.5.0a 原版官方下载 for Mac_OS_X ZendStudio-5.5.0a-KeyMaker for Win32 only |
Cairo-Clock 是相当漂亮的桌面时钟程序,不仅可用于查看系统时间,而且也可装扮桌面,使你的 Linux 桌面更具个性化色彩。Cairo-Clock 包括很多主题样式,当在混合管理器中使用时,具有阴影等更多酷特性。
image from MacSlow 在 Ubuntu 中安装这些桌面时钟是很简单的,如果你使用的是 Edgy Eft,那么只需执行:sudo apt-get install cairo-clock。如果你使用 Dapper Drake,那么可以从 MacSlow 下载 Deb 包。然后再用 sudo dpkg -i cairo-clock_0.3.2-1_i386.deb 安装。
网络对战 tremulous 免费网游(自己下) planeshift 类百战天虫 wormux 赛车 torcs trigger 台球 billard-gl 虚拟城市 lincity-ng 围棋 gnugo qgo cgoban3(java web start) cgoban 类拟魂斗罗 abuse 滑雪 planetpenguin-racer 桌球 pinball 两架飞机对战 airstrike 超级企鹅(类似超级玛莉) supertux 数学 tuxmath 卡丁车 supertuxkart 弹球 lbreakout2 tecnoballz 泡泡龙 frozen-bubble monkey-bubble 不知是什么类型 egoboo
At the moment NVU is not in universe. If you want to use NVU you need to install it manually. 目前NVU并不在universe库中,如果您想用NVU的话,您必须得手工安装它。
http://www.linuxsir.org/bbs/showthread.php?p=1703792
From what I understand, the project is not actively developed, but what we have for the moment is great. It is prettier than kiba-dock, more functional and also more “OS X-like”. It takes more time to customize, but I think it’s worth it. Here’s how I installed it on Edgy with AIGLX:
Make sure you have build-essential to be able to compile cairo.
http://cairographics.org/releases/cairo-1.2.6.tar.gz
Install Cairo 1.2.6
Code: ./configure –enable-warnings –enable-glitz –disable-quartz –disable-atsui –disable-xcb –disable-win32 –disable-gtk-doc Code: make Code: sudo make install 5. Download cairo-dock
http://www.gnome-dock.org/prerelease…-0.0.1b.tar.gz (doesn’t seem to work anymore) Try this instead: cairo-dock.tar.gz
Extract the tarball in /opt
Install cairo-dock
Code: make clean Code: make Also, change your virtual vertical size in Beryl from 1 to 2, otherwise it will probably bug. That’s a weird fix found by someone in this thread, but it works.
To open the dock, use
Code: ./cairo-dock --no-glitz To add launchers, play with cairo-dock.c and redo
Code: make once you've saved the file.
Also, you’ll probably have to change Vertical Virtual Size in Beryl from 1 to 2 to avoid a bug.
At the moment, it only accepts icons in .svg, but it’s fairly easy to convert .png to .svg using InkScape. Good luck!
无论用ctrl+space还是用鼠标直接选,动用不了输入法。难道和eva是kde的程序有关? 装了scim-qtimm就好了。