Post Tagged with: "debian"

Debian 6 Artwork 激赏

Debian 6 已经进入深度冻结阶段,为最后的发布作最后的冲刺,此时 Debian 6 的 Artwork 已经完成,取名为 Spacefun。

以下是各个部分的设计:

ISOLINUX:

GRUB Legacy:

GRUB 2:

Plymouth 开机进程:

Plymoyth 出错界面:

Plymouth 关机进程:

开机的时候火箭是向上升,关机的时候火箭是向下行的。

GDM 和桌面背景:

在 Debian 上编译 Linux 内核

从前编译Linux内核就是一件麻烦的事情,要搞很多配置参数。而现在虽然仍然配置很多内容,但是已经比以前简化多了。在Debian上还有一个十分方便的工具,叫make-kpkg。

首先是安装编译Linux内核所需要的组件:

sudo apt-get install build-essential kernel-package libncurses5-dev

安装结束以后,自然就是下载Linux的内核源代码。可以去kernel.org下载官方的压缩包,当然也可以去下载Zen这种经过激进改良的版本。下载完成就解压,然后就在终端里进入解压目录。

其次就是配置内核选项。内核选项众多是世人皆知的事实,但是究竟哪些模块是必要的,哪些模块是适合自己机器的,就不是很多清楚了。从2.6.32内核开始,内核的Makefile提供了一个新的选项。

make oldmodconfig

此选项是保证用户设定的内核选项都包含了适用于本机硬件的驱动。然后就提供了一个悠长的问答题让用户选择新版本内核中提供的新模块。这似乎也花上一段不短的时间。喜欢手动的朋友可以坚持用:

make menuconfig

具体应该怎样配置内核,金步国先生的内核配置大作或者后续更新。配置结束后,就可以借助make-kpkg进行编译内核了。如果内核已经编译过一次了,还是先清理一下。

make-kpkg clean

然后就是正式开始编译内核了。

fakeroot make-kpkg –initrd –bzimage –revision 2.6.35.5-1 –append-to-version -custom-amd64 binary

这里解释一下make-kpkg的选项,–initrd表示会在编译内核的同时生成initrd文件,–bzimage表示使用bzip压缩内核(话说现在内核支持用lzma压缩,在menuconfig选了lzma会有啥后果呢?),–revision是子版本号,这个可以随意定制,若不指定系统会默认设为10.00.Custom。–append-to-version是额外增加的软件版本号。

binary是make-kpkg的目标,binary包含两个分目标:binary-arch和binary-indep。前者包含了kernel_image和kernel_headers,后者包含了kernel_source、kernel_manual和kernel_doc。此外还有用于编译额外内核模块的modules和创建内核libc的libc-kheaders.

make-kpkg还有更多参数,包括–cross-compile、–arch、–subarch用于交叉编译。编译出来的内核包会是以下格式的文件名,假设是在amd64架构上编译2.6.35.5内核:

linux-image-2.6.35.5-custom-amd64_2.6.35.5-1_amd64.deb
linux-headers-2.6.35.5-custom-amd64_2.6.35.5-1_amd64.deb

最后还是要吐槽一下Debian还要依赖的那个linux-kbuild,详情留意我早前的网志:http://www.liangsuilong.info/?p=670

Debian 7.0 被命名为 Wheezy

早前已经提及过 Debian 6.0 Squeeze 已经开始冻结,进入了漫长的修 Bug 阶段。经过一段时间的冻结以后,现在 Squeeze 进入了深度冻结阶段,只会为严重的 Bug Report 推送更新,而且更新的审核将会更加严格。另外现在还会为翻译和文档在作进一步审核,为最后的发布做足准备。

同时,经过一番遴选,开发者最终选择了 Wheezy 这个名字作为 Debian 7.0 的 Codename。Wheezy 是出现在第二部玩具总动员的一个角色,是一个带着煲呔的玩具企鹅。Wheezy 仅仅出现在《玩具总动员 2》,这也是 Debian 选择的第一个玩具总动员角色是没有出现在该系列的所有电影里面。

至于何时把 testing 分支指向 wheezy,暂时没有进一步消息。估计要等 Debian 6.0 Squeeze 发行以后了。

关于 Wheezy 的角色:http://en.wikipedia.org/wiki/List_of_Toy_Story_characters#Wheezy

Debian 6.0 宣布冻结

翘首以待的 Debian 6.0 Squeeze 已经被宣布特性冻结,这意味着,Debian 6.0 将不会再添加新特性,而现在的目标则是让这些软件尽快稳定,到达发行的标准。

Debian 6.0 Squeeze 使用 Kernel 2.6.32。包括 KDE 4.4.5, Gnome 2.30.0, LXDE 0.5.0, XFCE 4.6.2, X.org 7.5, OpenOffice.org 3.2.1,Apache 2.2.16, PHP 5.3.2,MySQL 5.1.48, PostgreSQL 8.4.4, Samba 3.4,Python 2.6 and 3.1, Perl 5.10, GHC 6.12 和 GCC 4.4等等组件包。

而想继续追新的朋友可以继续使用 Unstable 和 Experimental 两个仓库。这两个软件仓库将一直保持更新。

使用 xz 压缩 deb 包

Debian 和 Ubuntu 的 deb 包,本质上其实是一个包含着已编译好的文件的压缩包,默认使用的是 gzip 压缩的,但是 gzip 的压缩率不高一直为人诟病。现在 rpm 都使用 xz 压缩了,dpkg 同样支援 xz 压缩的。

就和平时打 deb 包一样,只需要添加 -Zxz 这个参数就可以了,比如

dpkg-deb -b -Zxz xxx/ xxx.deb

xxx 是要打包的目录名字,xxx.deb 是生成的 deb 包的名字。

对比一下,就以 mysql-workbench 为例,gzip 的 deb 包就需要接近 42MB 的大小,而 xz 压缩的仅仅要 26MB。奇怪 Debian 和 Ubuntu 都不把 dpkg 默认的压缩格式改为 xz。

bootchart:统计 Linux 的开机时间

开机时间一直是大家很关心的问题,相比起 Windows,Linux 查看开机时间会更加方便和准确,只需一个命令,就可以安装工具查看开机时间。

在 Ubuntu 和 Debian 下:

sudo apt-get install bootchart

在 Fedora 下:

sudo yum install bootchart

安装结束后,在启动的内核行会增加一个 init=/sbin/bootchartd 参数,用于统计开机时间。重启进入系统后,打开终端,输入以下命令就会获得一份完整启动过程的图片,解释每一个服务每一个进程启动需要用到的时间。

bootchart -f png

自己制作 linux-kbuild 的 deb 包

我之前写过一篇牢骚文发泄对 Debian 不出 linux-kbuild 的不满,后来在 Debian Wiki 找到了帮助,自行解决了 linux-kbuild 的问题。

说到底还是自己编译,首先到 debian 的 SVN 服务器抓取一份 linux-kbuild 的源代码,然后下载一份完整的内核源代码压缩包,随后用内核的源码包生成一个 linux-kbuild 经过 debian 化的 orig 源码包,最后就是编译生成 linux-kbuild 的 deb 包即可。

详细方法可以参考以下文章:http://www.liangsuilong.info/?p=670