话说昨天采集了用户的系统和软件信息,今天用虚拟机还原了一个,但是失败了,bug没有重现~
过程还是挺费功夫的:
首先用户用的番茄花园xp sp2, 虚拟机里用迅雷秒杀了,超赞公司网速~
Virtualbox里系统装好,下面就是比较头疼的,按照补丁列表打补丁…
hualu@lu-hua:patch$ cat /tmp/allsofts.txt | grep -E "\(KB[0-9]{6}" | sed -e 's/.*(\(KB[^)]*\).*/\1/' | wc -l
138 Copy Code
软件列表里一共有138个补丁, 对着列表在360卫士里挨个找着选的话估计我这老眼就废了…
还是自己写脚本去微软下载
#!/bin/sh
ID="$1"
if [ ! -n "$ID" ];then
exit
fi
echo '-----------------------------------'
BASEURL='http://www.microsoft.com'
get_first_link()
{
cat "$1" | grep "Windows XP" | grep "<a" | sed -e 's/.*href="\([^"]*\)".*/\1/' \
-e 's/.*;u=//' \
-e 's/%2f/\//g' \
-e 's/%3f/\?/g' \
-e 's/%3d/\=/g'
}
get_second_link()
{
cat "$1" | grep 'id="quickCheck"' | sed -e "s/.*window\.open('\([^']*\)',.*/\1/"
}
url="${BASEURL}/downloads/results.aspx?pocId=7&freetext=${ID}&DisplayLang=zh-cn"
echo "${url}"
wget "${url}" -q -O /tmp/get_ms_link
surl="`get_first_link /tmp/get_ms_link`"
if [ ! -n "${surl}" ];then
echo "${ID}补丁不存在"
echo "${ID}" >> ./patch_not_found.txt
exit
fi
surl="${BASEURL}${surl}"
echo "${surl}"
wget "${surl}" -q -O /tmp/get_ms_link
turl="`get_second_link /tmp/get_ms_link`"
echo "${turl}"
if [ ! -n "${turl}" ];then
echo "${ID}补丁不存在"
echo "${ID}" >> ./patch_not_found.txt
exit
fi
wget "${turl}"
echo '-----------------------------------' Copy Code
不知道微软有没有专门的补丁下载入口,不过我还是模仿我知道的方法下载了,先搜索,然后结果里找,使用:sh get_ms_patch.sh KB975467
然后几个老套的命令
#取出所有补丁编号
cat allsofts.txt | grep -E "\(KB[0-9]{6}" | sed -e 's/.*(\(KB[^)]*\).*/\1/' > /tmp/allpatch.txt
#下载所有补丁
cat /tmp/allpatch.txt | xargs -i sh /home/hualu/bin/get_ms_update.sh "{}"
#生成批量安装补丁的批处理文件
find ./ -name "*.exe" | sort | xargs -i basename {} | xargs -i echo ".\{} /passive /norestart" >> install.bat Copy Code
回到虚拟xp里,挂在网络驱动,双击install.bat,开始安装… 等我吃完午饭,补丁都装完了,灰常激动,立刻重启,打开ie,登录淫淫,进入个人主页, fuck, 没有脚本错误!!!!
估计今天我嘴上的泡就是因为这个起的,真上火… , 后面,我接着按照软件列表装了瑞星,offcie 2007,均没有看到我期待的脚本错误
看来我得研究星座了…
最近又遇到了一个不是所有的IE6浏览器都会有的bug,于是今天去一个用户家里上门debug,这已经是第二次了,学乖了一点,提前查了以下收集系统信息的方法
1 . 主要信息
一个cmd命令就可以了
2 . 安装的所有软件和补丁列表
搜到一个老外写的vbscript脚本 : InstalledPrograms
恩,有了这两个列表,就可以用来重现一个用户类似的环境~
今天大学的一个哥们说在ubuntu下面mpd一直配不好,俺就把俺的配置过程简单写一下
首先
然后复制一份配置文件到自己的用户目录
cd ~
cp /etc/mpd.conf .mpdconf
#创建几个文件夹,后面用到
mkdir .mpd
mkdir .mpd/playlists
Copy Code
之后编辑.mpdconf,修改如下
#mp3所在的文件夹
music_directory "/media/data/music"
#下面几个的user要替换成自己的用户名
playlist_directory "/home/user/.mpd/playlists"
db_file "/home/user/.mpd/tag_cache"
log_file "/home/hualu/.mpd/mpd.log"
pid_file "/home/hualu/.mpd/pid"
state_file "/home/hualu/.mpd/state"
#替换成自己的用户名
user "user"
Copy Code
除了上面几项,我还修改了下面几个配置,如果改完已上配置就可以运行就没有必要修改下面的了
我注释了下面这行,为了解决mpc报”unable to bind port 6600″错误的问题
声卡的配置我改成了下面,否则我用mpc调不了音量,而且有flash的时候会报”Failed to open ALSA device “plug:dmix”: Device or resource busy”
audio_output {
type "alsa"
name "My ALSA Device"
options "dev=dmixer"
mixer_control "Master" # optional
mixer_index "0" # optional
} Copy Code
配置完毕,可以使用了
#首次运行需要初始化一下
mpd --create-db
#把所有曲目添加到播放列表
mpc listall | mpc add
#播放
mpc play
Copy Code
2010.3.6 更新
由于最近的学习充电计划,这个东西暂时搁置了,现在已经可以自动保存了~
———————————
linux平台上一直没有这样一个所见即所得的blog离线编辑器,昨天试着用pyqt4写了一个小脚本,发现原来python做客户端软件是如此容易.然后下定决心要利用n个周末的时间自己写一个.
开始打算用纯qt的ui控件实现,但是感觉没有wordpress的编辑器这么亲切,于是想到一个界面亲切,实现也方便的方案: ui部分直接用web,框在一个pyqt的webkit组件里,逻辑部分用python的cgihttpserver在本地开一个cgi.
这个东西搞到今天雏形已经有了,可以实现跟wordress完全相同的书写体验.

顺带发那个pyqt的练手之作 : emlreader.py 一个可以查看eml附件的脚本
2010.1.27 更新
发现直接调用mpc next 切歌有时候会把mpd搞死, mpc pause;mpc next;mpc play;这么搞就没问题了…
mpc.sh.4
——————————————–
更新一个高级点的,使用zenity提示搜索

下载:mpc.sh.3
——————————-
2010.1.19 更新
ubuntu.org.cn上开的帖子 http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=253241
更新下脚本:mpc.sh.2
——————————
换了好多播放器,最终还是回归mpd了… 配上快捷键和模糊搜索,好用多了。效果如下:
上一首,下一首可以使用notify-send提示

快捷键调出搜索框,跳转到某一首歌

配置过程如下,假设已经装好了mpd和mpc:
1 . 安装notify-send
2 . 下载一个shell脚本 : mpc.sh,将脚本解压到 ~/bin/ 目录
3 . 配置全局快捷键
可用命令如下
#停止
sh /home/yourname/bin/mpc.sh stop
#播放/暂停
sh /home/yourname/bin/mpc.sh toggle
#下一首
sh /home/yourname/bin/mpc.sh next
#上一首
sh /home/yourname/bin/mpc.sh prev
#弹出一个搜索窗口
sh /home/yourname/bin/mpc.sh popfav
Copy Code
偶的快捷键的配置
