Archive

Archive for February, 2009

debmirror不能镜像当前的Debian Repo

February 27th, 2009 Comments off

不知道何时起,Debian的Repository就不包含Packages文件了,只有压缩版本的Packages.bz2和Packages.gz。同样,Sources.gz和Sources.bz2也完全替代了Sources。导致debmirror无法同步现在的Debian Repo。报的错误类似:“…/Packages failed md5sum check”。

修正方法如下:

  1. 按照下面的patch修改/usr/bin/debmirror
  2. 删除镜像目录下的临时文件目录 rm –r /path_to_local_mirro/.temp
--- debmirror   2009-02-27 04:10:57.000000000 +0800
+++ debmirror.orig      2009-02-27 04:12:45.000000000 +0800
@@ -690,14 +690,14 @@
 foreach my $dist (@dists) {
   foreach my $section (@sections) {
     foreach my $arch (@arches) {
-      #add_bytes("dists/$dist/$section/binary-$arch/Packages");
+      add_bytes("dists/$dist/$section/binary-$arch/Packages");
       add_bytes("dists/$dist/$section/binary-$arch/Packages.gz");
       add_bytes("dists/$dist/$section/binary-$arch/Packages.bz2");
       add_bytes("dists/$dist/$section/binary-$arch/Release");
       add_bytes("dists/$dist/$section/binary-$arch/Packages.diff/Index") unless                                                                               ($pdiff_mode eq "none");
     }
     if ($do_source) {
-      #add_bytes("dists/$dist/$section/source/Sources");
+      add_bytes("dists/$dist/$section/source/Sources");
       add_bytes("dists/$dist/$section/source/Sources.gz");
       add_bytes("dists/$dist/$section/source/Sources.bz2");
       add_bytes("dists/$dist/$section/source/Release");
@@ -706,13 +706,13 @@
   }
 }
 foreach (@extra_dirs) {
-  #add_bytes("$_/Packages");
+  add_bytes("$_/Packages");
   add_bytes("$_/Packages.gz");
   add_bytes("$_/Packages.bz2");
   add_bytes("$_/Release");
   add_bytes("$_/Packages.diff/Index");
   if ($do_source) {
-    #add_bytes("$_/Sources");
+    add_bytes("$_/Sources");
     add_bytes("$_/Sources.gz");
     add_bytes("$_/Sources.bz2");
     add_bytes("$_/Sources.diff/Index");
Categories: 开源软件 Tags: ,

何时Xen内核能够回归

February 27th, 2009 6 comments

2009.03.14 更新: 我犯了一个错误, 有可能 PvOpsDom0 和非  PvOps Dom0 还不是一个回事, 后者叫”old style xen”, 已经在 Lenny 中有了

来由是这样,由于Redhat的怂恿,Fedora是第一个正式包含Xen,由开源社区开发的Linux发行版(好像是Core3,那时候内核版本是 2.6.11之类的)。其他Linux发行版,Ubuntu是盯着Debian,Centos盯着RHEL,而Debian和RHEL都是盯着Fedora。所以基本上大家都是把Fedora给出的Xen patch给Port到自己维护的内核bratch上,没有几个真正干活的。实际上真正干活的也不是Fedora,甚至不是 XenSource,而是 Redhat雇的全职程序员。

因为Fedora是半年release一次,自FC3之后Fedora一直把Xen给port到内核2.6.22。从2.6.23开始,PvOps,Paravirtualization Operations,也就是VMWare提的Virtual Machine Interface正式merge到mainstream内核中。PvOps也是一种半虚拟化技术,采用类似即时编译的思想,在虚拟机里运行的Linux内核利用PvOps可以self-patch自己的binary code,把虚拟机里不能运行的特权指令全都patch成适应该虚拟机监 控器的非特权指令,这样就省去了translation的时间。Xen也是Paravirtualization,但Xen和PvOps是完全不兼容的。

所以自从2.6.24之后,就有许多力量开始把Xen Port到PvOps这个框架下。Port的过程分为3个方面,和Xen的三种角色对应,XenHypervisor,XenLinuxDomU, XenLinuxDom0。

1. XenHypervisor

技术角度上讲,Hypervisor和PvOps不在一个层次,也不冲突,因此尽管其他工作停滞不 前,XenHypervisor的版本还在飕飕飕的升级,目前应该已经Version 3.3了。

2. XenLinuxDomU

也就是DomU的Linux Kernel,已经在FC9的时候重新出现,目标内核版本是2.6.25。各大发行版也都先后把这个工作Port到自己内核分支上了,其中 Debian Lenny中就有2.6.26内核的Xen DomU版本。

3. XenLinuxDom0

这个工作简直是千呼万唤不出来,不断延期,本来FC8的时候就 开始计划,一直没有实质性进展,到现在FC10都没有给出时间表。直接结果就是, 目前在Debian下用Xen,虽然DomU可以用高版本2.6.26-xen,Dom0还必须使用etch 中的2.6.18- xen,随着debian lenny的发布,etch都成昨日黄花。

参考

Categories: 虚拟化 Tags: ,

09春晚好看的节目

February 2nd, 2009 Comments off

Categories: 乱七八糟 Tags:

装了个代码语法高亮插件

February 1st, 2009 Comments off
1
2
3
4
5
6
#include <stdio.h>
 
int main()
{
    printf("hello, world!\n");
}
Categories: 乱七八糟 Tags: ,