星期四, 五月 21, 2009

coLinux磁盘镜像大小增量方法

需要扩大cobd2(sliatz.fs),设备列表如下:
(cobd0=root.fs,cobd1=swap.fs,cobd2=slitaz.fs)

在windows下的cmd中创建一个较大的空白镜像文件:
fsutil file createnew new.img 8589934592

之后修改colinux启动配置文件,添加该磁盘镜像为cobd3,然后运行coLinux后,在控制台中执行如下操作:
e2fsck /dev/cobd2
dd if=/dev/cobd2 of=/dev/cobd3
e2fsck -f /dev/cobd3
resize2fs -p /dev/cobd3
e2fsck /dev/cobd3

再挂载cobd3即可使用。

星期一, 五月 18, 2009

解决Gmail中Delivery Status Notification问题

cron每次执行一个任务后,会给你发送一个执行成功或失败的邮件,从而提醒你任务执行状况。

但是每每发送邮件均失败,然后在gmail中就有一封 “Delivery Status Notification ”的邮件,累计下来,数量惊人。

发送失败的原因很简单,因为debian中设置的mail账户不对。可以直接用crontab -e来添加你的mail账户如下:

MAILTO=yoyoliyang@gmail.com

如上,即可,从此gmail中清净了。

星期六, 五月 16, 2009

在U100上安装windows7

windows7_classic

首先,windows7很好用,XP和它不一个档次。

其次,VISTA可能安装后特别卡,但是windows7不会,windows7很快速。U100跑windows7算是比较流畅(我的内存仅1G)。

然后我就开始安装windows7了。

之前在删除archlinux的时候,忘记了清空mbr,手头又没有PE的U盘。曾经做了个linux的迷你U盘,然后进入执行了“dd if=/dev/zero of=/dev/sda bs=512 count=1”后,磁盘完全看不到了,分区表被清零了。

然后我尝试制作了一个U盘版本的PE(老毛桃的WINPE启动后撒手不管版),然后用磁盘医生恢复了原来的分区,数据没有任何丢失。总算正常启动了windowsXP。

这算是一个小小的,安装windows7前的风波吧。

开始安装windows7了。利用Virtual Drive Manager来挂载windows7的ISO,打开setup.exe后,竟然卡主不动了,然后出现了窗口无响应,等待n久,还是无响应,只能强制关闭结束。但是在我的台式机上面安装却正常。后来我想了想,可能是XP版本不同的缘故,台式机上面的是XP专业版,而小U上面的是HOME版。

如何安装呢?setup.exe只是一个安装选择的外壳,在ISO/source/下面还有一个setup.exe文件,打开这个后,可以直接执行安装,而跳过ISO/setup.exe这个程序的安装选择了。所以直接打开ISO/source/setup.exe文件即可开始安装。

安装很快,花了十几分钟就搞掂了。

下载WINDOWS7时申请的激活码只能使用到明年3月份,不过说实话,试用时间已经够长了。

接下来就开始体验微软的windows7吧。

旧篇:安装测试了windows7。

星期五, 五月 15, 2009

Crontab注意事项

m h dom mon dow分别代表了:
# m------------ minute (0 - 59)
# h------------ hour (0 - 23)
# dom------------day of month (1 - 31)
# mon----------- month (1 - 12) OR jan,feb,mar,apr ...
# dow------------ day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
#
# * * * * * command to be executed
时间调度表格















































EntryDescriptionEquivalent To
@rebootRun once, at startup.None
@yearlyRun once a year0 0 1 1 *
@annually(same as @yearly)0 0 1 1 *
@monthlyRun once a month0 0 1 * *
@weeklyRun once a week0 0 * * 0
@dailyRun once a day0 0 * * *
@midnight(same as @daily)0 0 * * *
@hourlyRun once an hour0 * * * *

在crontab中直接执行二进制命令,需要在后面添加>/dev/null 2>&1

星期日, 五月 10, 2009

U100安装配置archlinux

主要是几个笔记本上常用的特殊功能。

安装配置蓝牙:
安装bluez,blueman,之后添加bluetooth到rc.conf中,自启动。
当我运行blue-manager的时候报错,然后在论坛上看到使用ck-lanuch-session blue-manager可以运行,我试了下,确实可以,不过这样以来,其他的blueman命令也需如此,虽然可以和手机通信了,就是稍微麻烦一些。
蓝牙算是安装完毕。

安装配置休眠和待机:
只需要安装pm-utils,然后将用户添加到power中,再安装一个电源管理器(我用的是xfce4-power-manager),或者干脆用openbox快捷键绑定来设置待机和休眠。如下命令:
sudo pm-suspend #待机
sudo pm-hibernate #休眠 在/boot/grub/menu.lst内核引导选项中添加swap分区选项resume=/dev/sdaX。
另外可以添加命令到sudoers中从而省去sudo输入密码,直接绑定到键盘。
休眠和待机算是比较完美。

读卡器,完美。
另外如果出现普通用户无法挂载U盘或其它分区,可以按照如下操作:
添加用户到hal,optical,storage组,并编辑/etc/PolicyKit/PolicyKit.conf,添加如下段落:
<match user="$USER"> //此处更改为你的用户名
<match action="org.freedesktop.hal.storage.*">
<return result="yes"/>
</match>
<match action="hal-storage-mount-fixed-extra-options">
<return result="yes" />
</match>
<match action="hal-storage-mount-removable-extra-options">
<return result="yes" />
</match>
</match>

之后便可以很完美的挂载磁盘分区了。

摄像头:
在rc.conf的MODULES中添加uvcvideo模块,就可以很完美的使用摄像头了。用skype视频聊天很好,不过不能用茄子cheese(这个平常用不到)。

无线网卡,还没有配置,因为平常用不到无线,没有无线路由啥的。

如上,基本算是完美运行archlinux了。

最终还是选择了openbox+bmpanel+conky。xfce4固然不错,但是openbox用习惯了,换其它的,不爽──尤其是键盘绑定。

星期五, 五月 08, 2009

旧debian系统用起来了

之前的老旧笔记本T23坏掉后,我去弄了个移动硬盘盒子,把硬盘接起来,然后在ubuntu的LiveCD中将该硬盘中的数据拷贝到了我台式机中的一个分区中(之前已经划好了一个足够大的根分区和swap),但是启动后报错。

我尝试把旧硬盘中的数据恢复到U100中,也是无法启动,不过用该USB硬盘却可以正常启动。搞了好几次,都是启动到一下界面然后就进入了shell中:
USBhid: V2.6: USB hid core driver
missing modules (cat /proc/modules: ls /dev/?)

大体如上的提示,然后就进入了shell中。以上的意思是找不到设备的模块,也就是无法找到所要挂载的根目录(位于/dev/sda7)。我查看了/dev/中,没有sda和hda设备。

旧笔记本,在安装内核的时候,使用update-initramfs生成的initrd.img不包含台式机上面的设备模块,所以启动的时候无法加载,从而找不到设备。

我的内核是2.6.28,手动编译的。

看样子,只要重新更新一次initrd.img就可以了。

我从ubuntu的liveCD中拷贝出了它的2.6.22内核(ubuntu7,04),然后用来引导旧硬盘中的debian系统,引导成功了。然后利用update-initramfs来重新更新了initrd.img,再次启动,果然成功进入debian。

搞掂,旧笔记本中的debian系统移植成功。因为安装了openbox,最主要的是台式机的配置比旧笔记本配置要高非常多(不一个档次),所以用起来忑爽了!

星期日, 五月 03, 2009

将Haiku安装到物理硬盘

haikuOS
haiku是BeOS的延续,我一直在关注着。现在已经有了alpha版的硬盘镜像了,包含了firefox等几个常用工具。

haiku一直没有提供ISO,仅仅提供了raw和VMware的硬盘镜像。昨天折腾了好久,才将其移动到物理硬盘分区中去。

在haiku的论坛中,安装haiku的方法大体有如下几种:

编译haiku的源码,把生成的镜像所在的位置和名称改写成linux中的文件系统,比方生成的镜像名称为/path/haiku.image,则编译生成为/dev/sda5,直接将其写入到物理分区中了。

还有一种方法是启动BeOS,然后挂载这个镜像,创建一个空闲的BFS,拷贝镜像文件到该空闲分区中,写入boot代码,然后启动。

最后一种方法是直接将raw镜像DD到某个分区中。

以上三种方法我均尝试过,第一种方法太复杂,需要准备好编译环境,另外下载haiku的源码也需要很长时间,再就是,编译容易出错;第二种方法不容易实现,因为我在多台电脑上都无法驱动BeOS,估计是因为当前的计算机配置都无法让BeOS来驱动——BeOS实在是太老旧了;最后一种方法也就是我这次要讲的方法了,比较容易实现,缺点是DD后,分区大小被限制,不过有解决的方法。下载haiku的raw镜像,然后准备好两个分区(在这里分别为sda4,sda5),准备好DD(or for windows),Qemu。
我是在linux下操作的,先将下载的haiku.img镜像DD到sda4中,sda4已经是BFS系统了,然后利用Qemu来引导下载的haiku.img,目的是为了在sda4中加入引导代码。添加本地物理磁盘到Qemu中,并利用haiku.img来引导系统。
进入haiku.img引导的系统后,挂载本地物理磁盘分区sda4,会挂载到/haiku1中去。之后打开终端,输入如下命令:
makebootable /haiku1

会有一行写入回显。

之后用grub来引导就可以物理硬盘中的haiku了,启动速度很快!不到10秒。

不过因为是采用DD方式,所以实际物理硬盘会被raw镜像而变小,仅仅230M,需要创建一个空闲的BFS,然后再将haiku的系统文件拷贝到该分区。只需在“开始菜单”-apps-diskSetup中创建一个Bfs分区即可。注意要写入引导代码。

如上方法就能完美实现在本地硬盘上全速运行haiku了,再也看不到使用虚拟机慢吞吞的效率。

几个问题:
haiku制造工厂中有两个磁盘镜像,一个是小容量的,另一个是大容量的,后者包含了firefox等软件。不过我使用后者还dd到硬盘中后,即便是加入引导代码也仍然无法启动,提示:fail to boot OS,press anykey to reboot.不知道怎么回事。用前者则没有问题,不过没有软件,安装太麻烦了,虽然网卡可以识别,但连基本的浏览器都没有,上网都难!
没办法,haiku软件太少,确实不适合平常使用。

创建一个grub的软盘镜像

grub非常好用,不过在安装linux的时候会将其安装到mbr中。若在windows下使用grub for DOS,部分功能无效,如:无法挂载BFS。然后我就创建了一个软盘镜像,再利用G4D启动。虽然麻烦一点,不过却是功能完整的grub了。

我在colinux中创建的,非常方便,如下:

apt-get install grub(如若已经安装,跳过)
cd /usr/lib/grub/i386-pc
dd if=stage1 of=/PATH/grub.img bs=512 count=1
dd if=stage2 of=/PATH/grub.img bs=512 seek=1

之后使用这个软盘镜像引导就ok了。