Xupeng's blog

圆外之大,心向往之

给virt-manager写了几个pkgbuild

virt-manager是一个用来管理虚拟机的软件,现在可以支持xen、 qemu和kvm,使用它可以简化虚拟机的建立、监控和管理工作。 我想在archlinux下使用virt-manager,不过archlinux官方仓库里没有virt-manager的软件包,aur里目前也没有pkgbuild,没有办法,只能自己动手了,总共有四个相关的软件包:libvirt、 virtviewer、 virtinst和virt-manager,我现在已经把这个四个软件包的pkgbuild提交到了aur,在这里可以看到,也可以使用yaourt直接安装。
yaourt -S virt-manager
实际上,virtviewer这个软件原本的名字应该是virt-viewer,奇怪的是,在我向aur提交virt-viewer的pkgbuild时,总是告诉我不能覆盖virt-viewer这个包,但是事实上archlinux官方的软件仓库和aur里都没有叫这个名字的包,很无奈只有把它重命名为virtviewer提交了上去,至少现在可以用了;) 嗯,如果你也需要virt-manager,并且你也使用这些pkgbuild的话,别忘了给它们投一票,进了官方仓库就不用这么麻烦自己build啦。

python函数之max和reduce

问题: 我有这样的一个列表:

1
['a.b.c.d11u.e.f.g', 'e.f88.g', 'caa3.z.brr', 'z.48.ff.ee']

需要找节点最多的一个(节点间由.分割)

看似简单的工作,要用 Pythonic 的方法来做,还是要对 Python 的内置函数有一定程度的熟悉,比如这里可以用最熟悉不过的max,但是会用到它并不常用的可选参数:key

1
2
node_list = ['a.b.c.d11u.e.f.g', 'e.f88.g', 'caa3.z.brr', 'z.48.ff.ee']
max_node = max(node_list, key=lambda n: n.count('.'))

在这里,使用key参数改变了max比较列表元素的方法,达到了完成任务的目的。

在postgresql中查看数据库/表占用的物理存储空间大小

今天需要估算项目的数据需要什么数量级的存储空间,项目使用postgresql数据库,postgresql没有提供meta信息来查看数据库/表占用的物理存储空间,不过使用间接的方法也能够得到想要的数据,以我使用的postgresql 8.3为例: 查看数据库的存储空间:

  1. 找到要查看的数据库的id
1
2
3
4
5
postgres=# SELECT oid from pg_database where datname='myproject';
  oid
-------
 17715
(1 row)
  1. 进入该oid对应的目录
1
2
3
[root@arch 17715]# cd /var/lib/postgres/data/base/17715
[root@arch 17715]# du -sh
9.6M  .

哈,明白了吧,现在我的这个数据库共占用了9.6M的磁盘空间