存档

2011年1月 的存档

expect的一点简单用法

2011年1月31日 没有评论

在做MIC2测试的时候,有些交互的内容,用到了expect这个工具,有些简单的用法,做个记录。

维基上的解释:

ExpectUnix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件中如telnetftpPasswdfsckrlogintipssh等等。该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制;也可利用Tk工具,将交互程序包装在X11图形用户界面中。
expect有几个关键的语句
spawn,用于开启一个程序
expect,等待特定的输出,
send,输入命令,和expect语句配合使用.
set 设定变量或者参数,
另外如果在开启了一个程序运行完之后,在开启另一个程序,不能简单的用第一个程序的最后输出来判断程序的结束,而要用eof。
比如说先运行程序a,程序a的最后输出可能是“bye”,如果直接expect “bye”作为判断a结束,而下面直接spawn 一个新的程序,可能会报错,一个程序结束一定要以expect eof判断。

分类: 工作 标签: , , ,

MIC2测试总结

2011年1月31日 没有评论

做MIC2的测试也已经也有好几个月了,把这一段工作做个总结吧。

mic2是MeeGo image command-line tool,用python写的,主要有三个功能,mic-chroot,mic-image-convertor,mic-image-creator,同时有对应的UI工具,但是平时测试只测command-line tool。
Chroot功能主要用于chroot into a live image to do some changes,也就是说生成image之后,可以用这个命令把image解包,然后chroot进去这个文件系统,做些修改。同时chroot还有convert image format的功能,具体的选项可以man一下,这里要说明的是,使用package management工具安装包的时候,名字是mic2,但是man的时候是mic,运行的时候也是mic-xxxx,这点是没对应好的。
Convert功能主要是把一种格式的镜像转变成livecd或是liveusb的格式,具体选项也可以man一下。 阅读全文…

求支持ssh的免费空间(包含hax.tor.hu账号申请步骤)

2011年1月30日 7 条评论

发现appspot.com经常被墙啊,有点想换回wordpress了。今天下午本来想找个支持ssh的免费空间,搜索了一下,发现了hax.tor.hu好像还不错,但是网上申请的教程好像有点问题,做到第四步的时候,telnet取得报文,但是我一直是400 bad request。发现大家都喜欢转载啊,内容都完全是一样的,搜索引擎要是以后能做到相同的内容只出现最精准的那个就够了,要不然搜出来好几页都是完全一样的东西…

然后在CJB.NET上弄了一个,申请倒是容易,但是设置好putty,发现网速太慢了,推和脸书有的时候都打不开,更不要说youtube了。

想请问大家,有没有人知道国外比较稳定的空间啊,收费的最好一年100以内,当然免费的更好。 阅读全文…

分类: 杂项 标签: , , ,

How to Create a MeeGo image on Ubuntu 9.10 OS

2011年1月30日 没有评论

怎样在ubuntu上生成MeeGo镜像。

这篇原来是发布在51CTO的blog上面,现在觉得转入micolog了,就把那边的关掉,转载到这里了。

因为这篇时间也有点久了,里面可能有些东西是需要改进,我先大概说下吧,一开始的时候安装MIC2,它本身有些dependencies解决的不太好,需要自己手动解决,现在的stable release依赖关系应该没多大问题,在安装MIC2的时候应该会自动安装好;现在最新的版本默认用zypper做package management,但是原来的yum也是可以用的,需要在运行mic-image-creator的时候加入相关的option,这个改变可能是因为想和MeeGo对应起来吧,现在MeeGo默认才用的也是zypper;官方的wiki有些过时,建议大家选择性的看,有时候遇到问题不一定是你的原因,有可能是wiki的内容过时了,所以最好还是自己搜索一下解决方法。因为我负责这个工具的测试也有一段时间了,所以如果大家有什么疑问,可以在后面添加评论,我会尽力解答。

大部分过程可以在以下两篇上找到:

http://wiki.meego.com/Image_Creation

http://www.greenhughes.com/content/trying-create-meego-image

但是这两篇上面还是存在一些错误,以及操作顺序上的不合理的地方,所以做个总结。

首先安装制作镜像的工具MIC2。有两种方式,一种是通过源安装,一种是自己下载源码编译(不推荐这种方式)。

这里先说通过源安装。
阅读全文…

无题

2011年1月30日 1 条评论
回家了有三四天了,跟同学喝了一场,平时都在家闲呆着。原来没有体会,因为每年寒暑假加起来差不多每年在家也要有个两三个月,现在想想以后上了班,每年回家的机会就少了,要是呆到华为那种倒霉公司,每年能呆到家的时间最多也不超过一周吧。
算是体会到“钱多事少离家近”这句话的一部分了。
趁这几天,思考一下自己这半年吧,做作总结,以后也算是断能讲的出来的经历,顺便看能不能把平时忙没空搞得事儿搞完。
1.总结下MIC2的测试
2.bugzilla的几个patch
3.鸟哥那本书遗留下来的一个问题,虚拟网卡增加网速
4kernel那本书不知道能不能看完
5.shell那本书再翻一遍
6.怪异行为学,看完
总的来说,这半年还是有点收获的,改进了MIC2的测试,apache服务器的配置应该没多大问题了,使时间大大减少,有时间做别的事情;mysql,perl多少也有了些了解;论文的大概方向也定了下来。
分类: 杂项 标签:

[转]Linux下格式化分区

2011年1月18日 没有评论

分割完畢後自然就是要進行檔案系統的格式化囉!格式化的指令非常的簡單,那就是『make filesystem, mkfs』 這個指令啦!這個指令其實是個綜合的指令,他會去呼叫正確的檔案系統格式化工具軟體! 不囉唆,讓我們來瞧瞧吧!
mkfs [-t 檔案系統格式] 裝置檔名選項與參數:-t :可以接檔案系統格式,例如 ext3, ext2, vfat 等(系統有支援才會生效)範例一:請將上個小節當中所製作出來的 /dev/hdc6 格式化為 ext3 檔案系統[root@www ~]# mkfs -t ext3 /dev/hdc6mke2fs 1.39 (29-May-2006)Filesystem label= <==這裡指的是分割槽的名稱(label)OS type: LinuxBlock size=4096 (log=2) <==block 的大小設定為 4K Fragment size=4096 (log=2)251392 inodes, 502023 blocks <==由此設定決定的inode/block數量25101 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=51589939216 block groups32768 blocks per group, 32768 fragments per group15712 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Writing inode tables: doneCreating journal (8192 blocks): done <==有日誌記錄Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 34 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.# 這樣就建立起來我們所需要的 Ext3 檔案系統了!簡單明瞭![root@www ~]# mkfs[tab][tab]mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat# 按下兩個[tab],會發現 mkfs 支援的檔案格式如上所示!可以格式化 vfat 喔!

mkfs 其實是個綜合指令而已,事實上如同上表所示,當我們使用『 mkfs -t ext3 …』時, 系統會去呼叫 mkfs.ext3 這個指令來進行格式化的動作啦!若如同上表所展現的結果, 那麼鳥哥這個系統支援的檔案系統格式化工具有『cramfs, ext2, ext3, msdoc, vfat』等, 而最常用的應該是 ext3, vfat 兩種啦! vfat 可以用在 Windows/Linux 共用的 USB 隨身碟囉。

例題:

將剛剛的 /dev/hdc6 格式化為 Windows 可讀的 vfat 格式吧!

答:

mkfs -t vfat /dev/hdc6

在格式化為 Ext3 的範例中,我們可以發現結果裡面含有非常多的資訊,由於我們沒有詳細指定檔案系統的細部項目, 因此系統會使用預設值來進行格式化。其中比較重要的部分為:檔案系統的標頭(Label)、Block的大小以及 inode 的數量。 如果你要指定這些東西,就得要瞭解一下 Ext2/Ext3 的公用程式,亦即 mke2fs 這個指令囉!

  • mke2fs
[root@www ~]# mke2fs [-b block大小] [-i block大小] [-L 標頭] [-cj] 裝置選項與參數:-b  :可以設定每個 block 的大小,目前支援 1024, 2048, 4096 bytes 三種;-i  :多少容量給予一個 inode 呢?-c  :檢查磁碟錯誤,僅下達一次 -c 時,會進行快速讀取測試;      如果下達兩次 -c -c 的話,會測試讀寫(read-write),會很慢~-L  :後面可以接標頭名稱 (Label),這個 label 是有用的喔!e2label指令介紹會談到~-j  :本來 mke2fs 是 EXT2 ,加上 -j 後,會主動加入 journal 而成為 EXT3。

mke2fs 是一個很詳細但是很麻煩的指令!因為裡面的細部設定太多了!現在我們進行如下的假設:

  • 這個檔案系統的標頭設定為:vbird_logical
  • 我的 block 指定為 2048 大小;
  • 每 8192 bytes 分配一個 inode ;
  • 建置為 journal 的 Ext3 檔案系統。

開始格式化 /dev/hdc6 結果會變成如下所示:

[root@www ~]# mke2fs -j -L "vbird_logical" -b 2048 -i 8192 /dev/hdc6mke2fs 1.39 (29-May-2006)Filesystem label=vbird_logicalOS type: LinuxBlock size=2048 (log=1)Fragment size=2048 (log=1)251968 inodes, 1004046 blocks50202 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=53791948862 block groups16384 blocks per group, 16384 fragments per group4064 inodes per groupSuperblock backups stored on blocks:        16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816Writing inode tables: doneCreating journal (16384 blocks): doneWriting superblocks and filesystem accounting information: done# 比較看看,跟上面的範例用預設值的結果,有什麼不一樣的啊?

其實 mke2fs 所使用的各項選項/參數也可以用在『 mkfs -t ext3 … 』後面,因為最終使用的公用程式是相同的啦! 特別要注意的是 -b, -i 及 -j 這幾個選項,尤其是 -j 這個選項,當沒有指定 -j 的時候, mke2fs 使用 ext2 為格式化檔案格式,若加入 -j 時,則格式化為 ext3 這個 Journaling 的 filesystem 呦!

老實說,如果沒有特殊需求的話,使用『 mkfs -t ext3….』不但容易記憶,而且就非常好用囉!

分类: 杂项 标签: , ,

Linux下查看分区的文件系统类型

2011年1月18日 没有评论

1.df -Th,但是只能显示已经挂载上的分区,

2.parted print quit

3.进入fdisk命令模式,fidsk /dev/sda 输入p,m是help信息,q退出命令模式。

分类: 杂项 标签: , , , ,

/etc/init.d和/etc/rc.d/init.d的关系

2011年1月16日 没有评论

这两个其实是同一个东西,/etc/init.d是/etc/rc.d/init.d的软链接。并且这个东西只有在fedora下面有,ubuntu下面没有/etc/rc.d/这个目录,只有/etc/init.d,openSUSE下面有/etc/rc.d,直接链接的/etc/init.d。

并且有时候可以看到rc0.d/这样的目录,查看这些目录里的文件,ls -l,发现都是软链接。

要想搞明白这里面的关系就要搞明白Linux的运行级。打开/etc/inittab,里面应该有注释,

# 0 – 停机(千万别把initdefault设置为0,否则系统永远无法启动)
# 1 – 单用户模式
# 2 – 多用户,没有 NFS
# 3 – 完全多用户模式(标准的运行级)
# 4 – 系统保留的
# 5 – X11 (x window)
# 6 – 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )

不同的运行级,开机启动的时候会开启不同的服务,所以当开机以后执行init(pdi为1,是开机后执行的第一个进程,所有其他进程都是这个进程的后代)这个进程,就会根据不同的运行级开启不同的默认服务(fedora下是读取rc.sysinit)。

可以看到rc0.d/这样的目录下的脚本前面都带有S或者K,s就是start,k就是kill。比如说当你从运行级5到3切换的时候,可能就会关掉有些服务,这时候就会执行k开头的脚本。

并且字母后面会接着数字,表示的是脚本执行的先后顺序,数字越小越早执行,很多时候这些执行顺序是很重要的,比如要启动Apache服务,就必须先配置网络接口,不然一个没有IP的机子来启动http服务那岂不是很搞笑…
阅读全文…

发现微软的onenote强大的搜索功能

2011年1月15日 1 条评论

最近发现onenote的搜索功能太强大了,输入搜索内容,不仅文字可以搜索到,图片和音视频也能搜得到。

比如说输入关键字linux,不仅能搜到文字的内容,要是保存的一张图片上有linux字样,也会被搜索到,保存的音视频里有linux,也会被搜索到。

我觉得这个功能太强大了。

让我想起了以前关于图像搜索的一个想法:

就是搜索一个图片,可以本地上传,也支持网络图片,能找到相近的图片,但是会有不同的尺寸,不同的分辨率,并且同时找到图片的出处。

这样的好处就是,比如说你手头有一张图,但是分辨率不够,大小也不够,你想找要怎么找呢,现在的图片搜索都是输入关键字,但是找到的结果不一定是你想要的那个图,这样的搜索就可以精确到你需要的图片;另一个好处就是你手上只有这个图片的一部分,这样也能找到完整的部分;同时找到图片的出处可以让人看到和这个图相关的内容,可能会是新闻里的配图,也可能会是一个相关的图库,这样得到的信息量会很大,而且全部都是跟图相关的。 阅读全文…

分类: 杂项 标签: , , ,

Debian 5.05(Lenny)下Intel 82578网卡不识别的解决方法

2011年1月12日 6 条评论

Download source code of driver from http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=15817&ProdId=3245&lang=eng

先去Intel官网下载驱动源码,然后

tar zxf e1000e-1.2.20.tar.gz

apt-get install build-essential linux-headers-$(uname -r)

make install

生成驱动模块在/lib/modules/`uname -r`/kernel/drivers/net/e1000e/e1000e.ko

insmod e1000e.ko 加载模块就成啦