Skip to main content

Posts

Showing posts from 2008

扩展coLinux分区镜像文件

现在我用coLinux跑ArchLinux,镜像只有256M,不过装几个包就不够用了,急需扩展镜像大小。 link: http://colinux.wikia.com/wiki/ExpandingRoot 上面链接上说了很多方法,下面是我最喜欢的一种,优点是安全,且不需要额外软件(如cygwin),缺点是复制了两次已有fs,有点占空间,不过原始大小只有256M, 所以没什么问题 1.关掉所有coLinux 2.假设现在的文件镜像为cur.img,复制一份,设文件名为old.img 3.创建新的镜像文件,假设新文件名为new.img,大小2G,则在命令行下运行 fsutil file createnew new.img 2147483648 注:Vista下需管理员权限 4. 修改coLinux的conf文件,把三个文件都挂上,例如: hda1="c:\Program Files\coLinux\cur.img" hda3="c:\Program Files\coLinux\old.img" hda4="c:\Program Files\coLinux\new.img" 5. 启动coLinux 6. 检查old fs: e2fsck /dev/hda3 7. copy fs: dd if=/dev/hda3 of=/dev/hda4 8.检查new fs: e2fsck -f /dev/hda4 9.resize new fs: resize2fs -p /dev/hda4 10. 再检查 new fs: e2fsck /dev/hda4 11. 最后修改coLinux的conf文件,用new.img作为root,如果没有问题,就可以删掉cur.img和old.img

软件推荐: Synergy

从 LinuxTOY 和 LinuxGem 上 同时看到了这个软件。 这是个共享鼠标键盘的软件,通过网络连接,支持多种平台。 于是乎同时使用两台电脑就很爽了。 真是非常不错,非常有创意的软件。

ibus 输入法配置

最近scim总把我的系统搞死,实在不能忍了。 本想转scim-python,但是svn上的代码居然不能编译。 这是想到了ibus,听说好久了,就是一直没有尝试。这次总算“被迫”试用了。 我的系统是ubuntu8.10 64bit 在 http://forum.ubuntu.org.cn/viewtopic.php?p=915368 上查到了有用的步骤,这里提下简要过程,以及和原链接不同的地方: 1.编译安装dbus-python,ibus依赖0.83以上的版本 2.编译ibus引擎,我这里用git clone下载的,没有confiure,所以用autogen.sh,后来发现不用sudo还不行,是gettext的autopoint出了问题,所以只好用sudo了。另外我这里make也需要sudo,很奇怪 命令是: sudo ./autogen.sh --prefix=/usr 3编译码表,我下了pinyin, anthy和table(这个里面包含了wu86, wu98, erbi,还有些其他的),编译安装,命令同上,注意安装五笔需要--enable-wu86或--enable-wu98 4运行ibus看是否正常,运行ibus-setup进行配置 5.把ibus注册为gtk的输入法 编辑/usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules 在文件到最后添加两行: "/usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so" "ibus" "ibus Input Method" "gtk20" "/usr/share/locale" "zh" 这样在一些文本框里点右键就能找到ibus了 6.注册给im-switch,替换掉scim或scim-bridge 1) 建立文件/etc/X11/xinit/xinput.d/ibus,内容为 XIM=ibus XIM_PROGRAM=/usr/bin/ibus XIM_ARGS="" GTK_IM_MODULE=ibus 2) sudo update-alternatives --instal

coLinux + ArchLinux

最近做Flash,不得不长期在Windows下面跑。然而突然想用一些Linux下面的工具,就会很不爽。 Cygwin其实还不错,但是感觉只是概念上模拟了一个环境,本质还都是exe。 coLinux是一个Linux内核的Windows port,使得可以在Windows下跑Linux。理论上是支持直接启动本机硬盘的Linux的,比如双启动的情况,但是我这里配了很久没有成功,可能是因为我把boot单独分区,以及root分区是xfs格式有关。 于是想找个小巧的linux镜像,就看到了ArchLinux,用了用,确实不错。非常快。 再用一段时间看看吧,这确实是一个很有创意的搭配。

软件推荐: Cooliris

Cooliris 是个 Firefox 的插件, 主要特色是以3D Wall的形式观看图片,支持RSS, 以及Google,Flickr等搜索。 我稍微用了一下,惊呼“太爽啦”。 地址: https://addons.mozilla.org/en-US/firefox/addon/5579

软件推荐: 永中Office2009个人版

http://www.evermoresw.com.cn/webch/product/personal.jsp 稍微试用了一下,感觉有以下优点 1.免费,跨平台 (可惜不是开源的) 2.快 (虽然是java,但是还是很快) 3.对MS Office 文档格式支持不错 (比OOO还好) 4.支持UOF (虽然我不太喜欢UOF) 感觉值得一试

游戏推荐: InstantAction

http://www.instantaction.com 一个基于浏览器的游戏网站,支持windows,mac下常见浏览器。实际上是用插件把浏览器和exe连接了起来。 上面有很多不同类型的游戏,如fps, rts, 等等,都是多人联机游戏。 不论是游戏,技术,界面都很合我的口味,也许是我kongregate玩太多了? 呵呵。

加速gnome panel隐藏显示的速度

参见: http://koorenneef.nl/node/5 gnome panel默认隐藏和显示的速度都是500ms,非常慢。 如果想修改,用gconf-editor修改如下键值 /apps/panel/toplevels/ /hide_delay /apps/panel/toplevels/ /unhide_delay 其中 是想要修改的panel的名字,得稍微猜一下。

ubuntu 8.10 uvesafb 不能正常加载的解决

ubuntu 8.10中使用了新内核,用uvesafb替换了原来的vesafb,这带来的不少问题: 1. 依赖的v86d默认没有安装(当然了,手工安装一下就行了) 2. v86d在initramfs下工作不正常 3. uvesafb中mode参数改名为mode_option 之前弄了好久没有成功,近日在https://bugs.launchpad.net/ubuntu/+source/linux/+bug/246269上看到了一个walkaround,结合我的情况,步骤如下 1) 安装 v86d 2) 创建文件 /etc/modprobe.d/uvesafb,内容为: options uvesafb mode_option=1280x800-32 mtrr=3 scroll=ywrap 3)在/etc/modprobe. d/blacklist- framebuffer中加入一行: blacklist uvesafb 4)确保/etc/modules中有 uvesafb 和 fbcon (各占一行) 5)确保/etc/initramfs-tools/modules中没有uvesafb和fbcon 6)如果修改了/etc/initramfs-tools/modules,则需要运行update-initramfs -u 之后重启应该就可以了。 不过这个还是个临时的解决办法,还是希望问题能够早日解决。

64位ubuntu下32位程序的输入法问题

我是64bit的ubuntu,有时会用到32bit的程序,如flock和qq,然后输入法就成了问题。 定义32位程序输入法加载模块的文件应该是/etc/gtk-2.0/gtk.immodules.32,默认安装情况下,里面只有scim没有scim-bridge。不过里面scim指向的模块/usr/lib32/gtk-2.0/2.10.0/immodules/im-scim.so并不存在。这样如果在程序用右键选择输入法为SCIM Input Method,会报找不到模块。 整个解决流程我参考了 http://forum.ubuntu.org.cn/viewtopic.php?t=139907&start=0&postdays=0&postorder=asc&highlight 一开始我是想弄通im-scim.so,于是从源里下了32位的scim-gtk2-immodule, libscim8c2a等包,手工解压,之后虽然32位程序里能调出scim输入法了,但是没有中文输入法。在gtk.immodules.32中在scim对应行加"zh"也没用。 后来想想,我系统默认输入法是scim-bridge而不是scim,于是把目光转向了im-scim-bridge,从源里下来32位scim-gtk2-immodule,把im-scim-bridge.so放到/usr/lib32/gtk-2.0/2.10.0/immodules/,然后在/etc/gtk-2.0/gtk.immodules.32最后添加两行: /usr/lib/gtk-2.0/2.10.0/immodules/im-scim-bridge.so" "scim-bridge" "SCIM Bridge Input Method" "" "" "" (链接里说的方法是用/usr/bin/gtk-query-immodules-2.0 > gtk.immodules.32,然后把/usr/lib都改成/usr/lib32,似乎是更佳的方法) 这样32位程序里就能输入中文了,之后发现把32位的scim那些文件删去也可以正常工作,因此看来只需要im-scim

Visual Studio 2008 无法卸载

Vista SP1 + Visual Studio 2008 Team Suite 症状是用Control Panel的uninstall/repair,或者源安装盘,都在load某个component时挂掉,不能进入正常安装界面,然后弹出对话框,提示“A Problem has been encountered while loading the setup components. Canceling setup.” 而Log中显示错误 MSITOSIT: [2] ERROR processed; exception was thrown for retail build Developer Comment: : has no associated directory, verify the Feature table is correct Build Time: Thu Dec 11 14:04:18 2003 HRESULT: -2147467259 网上查了一下,有的说是SP1的问题,有的说是Kaspersky的问题,我这里都不管用。 最后的解决办法是找到源安装盘的vs_setup.msi,用Admin进入cmd,运行msiexec /x vs_setup.msi,它似乎就什么都不检查,就能卸载了。 之后重装也没问题。

游戏推荐: Fantastic Contraption

Fantastic Contraption , 本周 Kongregate 排名第一。类似Phun的一个游戏,自己搭建机器把一个小块移到指定地点。 玩家还可以上传共享自己的机器设计(需注册,但就需要几秒钟) 我玩了之后大呼过瘾。 这是继 Anika's Odyssey 之后又一个让我非常想推荐的游戏了。

网站推荐: Kongregate 一个Web2.0 Flash游戏网站

Kongregate 是一个Web2.0的Flash游戏网站。 里面有几千个游戏和上万个用户。 比较有特色的功能如下 1.聊天室,玩游戏时能和别人聊天,比如探讨通关攻略 2.Badge,很多游戏中达到一定任务(像得到多少多少分,坚持多长多长时间之类),就会给你一个Badge,当然除了加点积分没啥实际用处。 3.显示游戏的排行榜,不同游戏有不同项目 其他功能 1.给游戏评分以及写评论 2.上传自己做的游戏 3.提交bug给作者 4.个人收藏 此外,里面的游戏没有分类,但是游戏作者可以给游戏指定tag 我上这个网站也有一定时间了。感觉很不错,至今乐此不疲。 里面游戏更新很快,而且什么类型都有,不愁没有你不喜欢的。一般来说每天有很多游戏上传,鱼龙混杂。平时我就看看每日hottest,以及有badge的游戏。 真是一个不错的网站~

Vista 无法设置游戏控制器

症状: 系统Vista,几周前DMC4还玩得好好的,这几天突然发现不行了。不论是dx9还是dx10的,就一直黑屏。DMC4Launcher可以进入,但是一设置手柄就卡死。 分析: 起初认为是显卡驱动的问题,更新后无果。 后来想起了dxdiag,载入后发现每次到input那个tab就会卡死(好像中间有几次成功了),于是认为是手柄问题,但是在别的游戏(如smynes)中就工作正常。 后来进入控制面板设置游戏控制器,没有反应。 用VS调试DMC4Launcher以及主程序,前者断在dinput8.dll的一个类似EnumDevices的函数里,后者则是一个奇怪的死循环。后来又调式了游戏控制器选项的rundll32.exe, 跟DMC4Launcher情况一样。 于是去Device Manager,到Human Interfaces Devices中逐个删除,发现一个比较奇怪的设备 Root Enumerated Hid Device。删除之后需要重启,而后竟工作正常了。 想想这几天,更新过Tooya Pro绘图板的驱动,于是打开Painter一看,果然绘图板的压感没了。重装驱动后那个Root Enumerated Hid Device再度出现,而DMC4也随之再次不能进入了。 结论: Tooya Pro的驱动会导致冲突,影响游戏控制器及有关程序(可能主要是dinput8.dll里的那个函数)。不知道哪里的bug,完全google不到。 临时解决办法就是禁掉Root Enumerated Hid Device,仅当需要用绘图板时才启用。不过老得重启还是很麻烦的。

两款绘图软件比较 Gimp vs Krita

配好了绘图板之后,手一直痒痒的。 之前看着Photoshop绘图教程,在Painter上作画,感觉还不错。 但是一直是想转移到Linux下面来的,指示软件硬件一直都没有配好。现在硬件好了,还是看软件。 首先得说一下我的情况,这代表我的立场。我主要应用是徒手作画,图像处理方面则不怎么要求。 我常用的工具就是画笔,喷枪和涂抹。 另外我当然希望软件对绘图板能够很好得支持, 事实上 我对Painter对绘图板的支持不是非常的满意 ,我的手写板最近才更新了一次Vista驱动,修正了若干bug,包括lag。 两个软件我都就自己的需要尝试了一下,版本为 Gimp 2.4.6 Krita 2.0a6 那么分别说一下各自的优缺点吧 Gimp: 优点:支持文件格式多,工具多 缺点:总觉得界面不够友好 Krita: 优点:绘图板响应虽然有点慢,但是出来的线条非常好看,比如Pixel Brush 缺点:适合手绘的工具较少,也没有我喜欢的三角形+环形的颜色拾取器。 使用RGB模板经常Crash 当然了也很有可能我对软件的挖掘还不够。 目前暂时考虑用Gimp画一幅试试看。

Linux 下绘图板配置

作为一个绘画爱好者,绘图板是必不可少的。 怎奈Linux下面绘图板时认时不认,压感也时支持时不支持。 今天终于下决心弄好它。 我的板子是Tooya Pro,USB版。 Linux下认成WALTOP International Corp. Slim Tablet 系统是Ubuntu 8.04 首先是要定位设备名,一种方法是找到绘图板是哪一个/dev/input/event*,这又有多种方法,一种是看dmesg,记住pci地址,然后去/dev/input/by-path找到对应的,再看其是哪个/dev/input/event*的symlink;另一种方法是用wacdump挨个测试/dev/input/event*。当然也可以二者结合使用。在我机器上绘图板是/dev/input/event2 由于我对/dev/input/event*命名不是很了解,所以担心改了配置后这个数值会变,于是再一个网页上学到了修改udev rules的方法,让它自动建立symlink。后来发现wacom就是这样做的。 具体方法是首先用lsusb等工具找到设备的idProduct和idVendor。 我的绘图板在lsusb下看是172f:0031 然后建立文件/etc/udev/rules.d/65-tablet.rules: KERNEL=="event*", SYSFS{idProduct}=="0031", SYSFS{idVendor}=="172f", SYMLINK+="input/tablet" 这样以后会自动建立/dev/input/tablet到对应/dev/input/event*的symlink,很是方便。 下一步是需要确定板子的坐标范围(或许这步可以省略),主要是用wacdump看看板子左上角和右下角的坐标。后来我有参考了以下板子的说明书,得到坐标(0,0)-(10000,6250) 接着当然是修改xorg.conf (听说最新的Xorg对即插即用支持得很好,真希望不用老改这玩意儿了) ServerLayout Section中加一句 InputDevice "stylus" "SendCoreEvents" 然后加一个InputDevice Sectio

nVidia 8000/9000 Series Performance Issues

nvidia 8000/9000的linux驱动的2D性能叫人不敢恭维。 标题链接的网页上给出了临时改善方案 1.首先要安装177beta驱动 2.运行nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1,如果有性能有改进,则放入.xinitrc 3. 在xorg.conf里Device Section中加入参数 Option "PixmapCacheSize" "300000" Option "OnDemandVBlankInterrupts" "True" 我用的8400MG显卡,经过上面配置后似乎改进不大 以下是针对kde的配置 1. Right click on your title bar, and select, in KDE 4, "Configure window behavior". 2. In "Desktop Effects", select "Advanced options". 3. Select the following: Composition type: OpenGL. OpenGL Mode: Shared memory (ENABLE THIS AFTER YOU ENABLE DIRECT RENDERING, IF YOU DO OTHERWISE YOU WILL EXPERIENCE SCREEN CORRUPTION) Direct rendering: Enabled VSync: Enabled 按这个配置后,在我机器上效果明显。

赞xulplanet的XPCOM文档

文档中有如下提示 This interface is the type of the following properties: This interface is passed as an argument to the following methods: This interface is returned from the following methods: 比如我想看nsIDOMDocument怎么创建,但是它没有构造函数 在 http://www.xulplanet.com/references/xpcomref/ifaces/nsIDOMDocument.html 中可以发现它是一些函数的返回类型。于是轻松找到nsIDOMParser.parseFromString等函数。 不想Javadoc,有时一见接口和抽象类就傻了眼。 当然了这涉及到语言的架构,二者还是不能这么比的。 但是还是要称赞这个文档: 这才是给人看的文档!

联接远程的 X 服务器

转自Debian参考手册 9.4.8 联接远程的 X 服务器 – ssh 使用 ssh 可以在本地主机和远程应用服务器之间建立一个安全的连接通道。 如果不想每次执行相同的命令行选项,可在远程主机的 /etc/ssh/sshd_config 文件中,打开 X11Forwarding 和 AllowTcpForwarding 选项。 启动本地主机的 X 服务器。 在本地主机上开一个 xterm 进程。 运行 ssh 建立与远程站点的连接。 localname @ localhost $ ssh -q -X -l loginname remotehost.domain Password: ..... 在远程站点上运行 X 应用程序命令。 loginname @ remotehost $ gimp & 该连接方式使得远程 X 客户机上的屏幕输出,看上去就好象是通过本地 UNIX 域套接字的方式连接到服务器的客户机输出。

Blogger 加入 Digg 支持

在模板上找个地方(也不是随便哪里都可以)加上 <b:if cond='data:blog.pageType == "item"'> <script src='http://digg.com/tools/diggthis.js' type='text/javascript'/> </b:if> 就行啦 我是放在了 <p class='post-footer-line post-footer-line-3'/> 后面(记得展开Widget代码) 欢迎各位来Digg!

Flock 2.0b2 试用

其实我听说flock也挺早的,只是以前觉得用不上那些功能。 最近觉得应该开使拥抱Web 2.0了,于是搞了个Flock2.0b2试了试。 还是不错的,用了用感觉确实很方便,另外就是觉得屏幕有些不够用了。 不过还是有些问题的,比如是我用64位系统,flock是32位的,虽然可以运行,但是scim运行不了。本想自己编译一个,但是没有找到源码,再说吧。

QGtkStyle: QT程序的原生GTK外观

以前在LDCD上看到的,一直没有尝试,今天突然试了一下,果然不错。 官方网站: http://labs.trolltech.com/page/Projects/Styles/GtkStyle 安装步骤 svn co svn://labs.trolltech.com/svn/styles/gtkstyle cd gtkstyle/ qmake && make sudo make install 然后执行qtconfig-qt4, 设置sytle为gtk即可

Green Apparatus 移植至X11后 wait 指针的修正

参考: http://d.hatena.ne.jp/tksmashiw/20080421#c 前一阵子在gnome look里看到了 Green Apparatus 这个主题,觉得不错就下载了。 但是其中的Wait指针有问题,动画播放时指针自己浮动了。 主题下面的评论里也提到了这个问题,但是没有解决方案。另外还提到这个主题原来是Windows的,后来被移植过来的。 今天在上面的链接里找到了解决方案: 首先下载 CursorXP/FX to X11 Mouse Theme Converter 并安装 sudo apt-get install libconfig-inifiles-perl perlmagick imagemagick x11-apps 然后下载一个Windows的Green Apparatus主题,应该是一个.CurXPTheme文件,其实就是一个zip 解压后修改Scheme.ini,把[Wait]下Frame=106改成107,[Wait_Script]下26-106改成27-107 最后重新打包,并用Converter转换成X11的主题。 安装,测试。 No problem!

Windows Vista 更改启动驱动器SATA模式后出现 STOP 0x0000007B INACCESSABLE_BOOT_DEVICE 的解决

参见: http://support.microsoft.com/kb/922976/zh-cn 最近把硬盘sata模式改成了ahci,linux下没什么问题,但是进vista后就出现上面的错误信息。 产生原因大概是安装Vista时使用的IDE模式,因此Vista安装后没有开启ahci服务。 根据上面的链接,解决方法为,先用IDE模式启动,修改注册表 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci 把Start键值改为0 然后重启,再改成ahci就行了。

热烈祝贺访问量首次突破50

虽然我的blog的初衷只是为了整理自己的笔记方面日后查找,并不是为了给别人看,但是看到能帮助别人也确实感到很高兴。 根据Google Analytics的数据,2008.04.22日访问量为57,创历史新高,且首次突破50。 主要原因还是最近Blogspot解封了,要不我就得庆祝突破20了。

有关 64位Linux 驱动 Atheros 5007EG 无线网卡

[2008-10-03 更新]ubuntu 8.10中新增了acer_wmi模块,可以完美驱动无线网卡了 :) 系统是 Ubuntu 8.04 rc amd64,笔记本是Acer Aspire 4520 无线网卡现在看来是 Atheros 5007EG, 为什么这么说呢,我主要依靠lspci判断,最早识别不出来,后来能认出Atheros,但是没型号。然后一段时间内都认成5006EG。当时也是按它装的驱动。但是最近update pciid后又认成了AR242x。 在 http://madwifi.org/wiki/Compatibility/Atheros 上是这么说的 Atheros AR5007EG ¶ Chipset: AR2425 / AR5007EG URL: http://atheros.com/pt/AR5007EG.htm Supports: 802.11b 802.11g Interface: PCI-Express x1 Device Information: Ethernet controller: Atheros Communications, Inc. Unknown device 001c (rev 01),Subsystem: AMBIT Microsystem Corp. Unknown device 3065 Notes: not supported by HAL as of 2007.04.28 - resturns Hal status 13 Notes: Suported by ndiswrapper with windows driver, but some user reports crash problems Notes: Instructions about how to use the windows driver + ndiswrapper Notes: works fine with ndiswrapper, using old drivers, search ubuntu forums Notes: Sometimes erroneously reported as an AR5006EG by lspci Notes: Works perfectly with latest madwifi

初尝 Ubuntu 64

最近Ubuntu 8.04 rc刚出, 我脑袋一热装了个amd64版本的。 之前也想过是否要装个64位的,但是经过多方调查,当时64位无论是系统上还是软件上都不成熟。 比如没有flash插件和w32codecs, 不过现在不同了。 flash直接装nonfree的那个就行了, codec有w64codecs。 只是我的无线网卡配了好久。 总的来说性能有明显提升。注意是明显,不是很大。 而且我尽量排除了心里因素。 一个主要的改善是图形界面的响应整体加快了。 在64位的大形势下, 软硬件愈发成熟。 感觉真是不错。

Transmission: 轻量级BT客户端

轻量级有时隐含着功能少,所以通常我宁可用重量级的。 但是今天偶然试了一下Transmission, 然后就把Azureus卸了。当然Azureus也很不错,以前一直用它,只是我也用不了什么高级功能,眼不见心不烦。况且下的东西也是很热门的(ubuntu的cd),基本不需要客户端费劲心思找peer。 Transmission很简介,效率也不错。值得一用。

ubuntu 下编译安装 compiz 插件所需的包

参考: http://forum.ubuntu.org.cn/viewtopic.php?t=89199&postdays=0&postorder=asc&start=0&sid=96eee591eddbfae76538f6c47b5add88 sudo apt-get install compiz-bcop compiz-dev build-essential libxcomposite-dev libpng12-dev libsm-dev libxrandr-dev libxdamage-dev libxinerama-dev libstartup-notification0-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev libmetacity-dev librsvg2-dev libdbus-1-dev libdbus-glib-1-dev libgnome-desktop-dev libgnome-window-settings-dev gitweb curl autoconf automake automake1.9 libtool intltool libxslt1-dev xsltproc emerald x11proto-scrnsaver-dev libxss-dev

再说修改ubuntu默认字体

在 ubuntu 中文默认字体的设置 我曾提到修改/etc/fonts/conf.d/65-nonlatin.conf,但是今天还了语言后发现不好使了,man了一下fonts-conf发现原来的做法并不优美 更好的办法是修改/etc/fonts/conf.d/69-language-selector-*.conf,其中*会根据你的locale而改变。修改方式同前。

Gnome下的键盘设置的小技巧

今天突然发现Keyboard设置里面有个Model选项,于是试着设成的Acer Laptop,因为我用的Acer笔记本。 然后发现那些快速启动键都能很好的识别了,具体表现是设置快捷键是可以显示出有意义的字符了,如XF86AudioPlay 不错不错

[转]让CPU占用率曲线听你指挥

题目《让CPU占用率曲线听你指挥》 问题 写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。程序越精简越好,计算机语言不限。例如,可以实现下面三种情况: 1. CPU的占用率固定在50%,为一条直线; 2. CPU的占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~ 100); 3. CPU的占用率状态是一个正弦曲线。 分析与解法 有一名学生写了如下的代码: while (true) { if (busy) i++; else } 然后她就陷入了苦苦思索:else干什么呢?怎么才能让电脑不做事情呢?CPU使用率为0的时候,到底是什么东西在用CPU?另一名学生花了很多时间构想如何“深入内核,以控制CPU占用率”——可是事情真的有这么复杂么? MSRA TTG(Microsoft Research Asia, Technology Transfer Group)的一些实习生写了各种解法,他们写的简单程序可以达到如图1-1所示的效果。 498)this.style.width=498;" onmousewheel="javascript:return big(this)" alt="" src="http://new.51cto.com/files/uploadimg/20080306/103426364.jpg" border="0" height="367" width="324"> 图1-1 编码控制CPU占用率呈现正弦曲线形态 看 来这并不是不可能完成的任务。让我们仔细地回想一下写程序时曾经碰到的问题,如果我们不小心写了一个死循环,CPU占用率就会跳到最高,并且一直保持 100%。我们也可以打开任务管理器 ,实际观测一下它是怎样变动的。凭肉眼观察,它大约是1秒钟更新一次。一般情况下,CPU使用率会很低。但是,当用户运行一个程序,执行一些复杂操作的时 候,CPU的使用率会急剧升高。当用户晃动鼠标时,CPU的使用率也有小幅度的变化。 那当任务管理器报告CPU使用率为0的时候,谁在使用CPU呢?通过任务管理器的“进程(Process)”一栏可以看到,Sy

ScribeFire: 发布Blog的Firefox插件

其实以前就知道这个,只是那时blogspot没有解封,似乎这个插件不工作。 现在工作正常了,这一篇和上一篇都是用它发布的,还不错。美中不足是tag要自己指定,不能选。 这个其实也不怪它。我查了查Google的Blogger data API,似乎没有查询所有category的接口。 用这个的确方便了不少。

deborphan: 清除不用的库包

平时软件装装删删,总觉得会像磁盘那样有“碎片”,那就是没有用到的包。 而包又分两种,软件和库。软件比较好办,一般能很快发现,但是库就不一样了,一本很难发现。 有了deorphan就好办了,它可以搜到那些库包,用orphaner(一个deborphan的wrapper)还可以方便的删掉。

blogspot再次解封

不知道是否是为了迎奥运。但是这次一解封让这个blog访问量翻了4番。让我很是吃惊:原来以前有那么多人想上而上不了。 不过依然推荐用Google Reader订我的RSS,不用担心被封的问题,也便于查找文章。 请用这个地址订阅:http://feeds.feedburner.com/coolwanglu

setterm: 控制台抓图

确切的说不是抓图,而是把缓冲区里的文字抓出来。但是仍是很使用的小程序。 一个例子 setterm -dump 1 会把1号终端的文字存成screen.dump 我也就会这么一个用法,具体还要man一下

bash和sh脚本中关于测试表达式的区别

有两种 [ a = b] [[ a == b ]] sh 只认第一种 bash 两种都认 有个脚本我一直没改好,原因是以为是bash脚本(或者说以为sh就是bash),然后就按第二种写了,但是总是没用。 后来发现原来那个是sh脚本,而且man了一下发现sh和bash原来不是一回事。终于搞定了。

mencoder使用范例

xvid # !/ bin / bash #hdtv #PARAM = " chroma_opt:vhq=4:bvhq=1:quant_type=mpeg:bitrate=8000 " #MP3PARAM = " vbr=1 " #dvd #PARAM = " chroma_opt:vhq=2:bvhq=1:quant_type=mpeg:bitrate=3000 " #MP3PARAM = " vbr=3 " #vcd #PARAM = " turbo:vhq=0:bitrate=768 " #MP3PARAM = " vbr=5 " #normal PARAM = " turbo:vhq=0:bitrate=384 " MP3PARAM = " cbr:br=64 " for movie in * .rm * .rmvb do echo " conv $movie to xvid " rm - f divx2pass.log mencoder " $movie " - oac mp3lame - lameopts $MP3PARAM - ovc xvid - xvidencopts pass = 1 :$PARAM - o / dev / null mencoder " $movie " - oac mp3lame - lameopts $MP3PARAM - ovc xvid - xvidencopts pass = 2 :$PARAM - o " $movie.avi " done divx # !/ bin / bash #hdtv #PARAM = " vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2 " #MP3PARAM = " vbr=1 &quo

bugzilla配置补遗

经过了两个多小时,终于配好了,主要是按着之前转的那篇文章配的,但是还有些细节。 1.关于数据库的配置,其实我对SQL基本一无所知,但是末尾要加分号我还是知道的。原文里就没加 2.bugzilla的目录权限一定要设对,一般服务器是用特殊组运行的,而用root解压bugzilla时other没有权限,所以记得要加上,我在这里费了不少功夫。 另外就是注意对隐藏文件也要设好,尤其是.htaccess这个文件

ubuntu 下 squid 代理服务器的配置

最近需要配一个http服务器,查到了 http://www.5xue.com/modules/bbs/viewthread.php?tid=121130 但是有些地方没有说清,所以还是自己整理一下 1.从源里装squid,默认好像有bug,总crash,不管它。现在开始修改/etc/squid/squid.conf 2.crash的原因应该是visible_hostname没有设,然后squid自己又找不到域名。 于是随便加一行 visible_hostname 3.允许目标ip访问,加入acl proxy src ,这里proxy是我随便起的名字,这句话仅仅是加入规则,下一行才是真正允许 4.允许http访问,加入http_access allow proxy 5.想改端口的话,把http_port 这一句改了 6.重启squid 然后OK!真的挺好用

[转] centos 安装 bugzilla

转载本站文章请注明,转载自: 扶凯 [ http://www.php-oa.com ] 本文链接: http://www.php-oa.com/2007/12/21/linux-bugzilla-centos/ 转载的话,请注明来自己 www.php-oa.com bugzilla是用的最多,很不错的bug跟踪系统,但他的安装难到了不少人.这边我写了一个简单安装指南. 安装配置Bugzilla 3 1.安装http,mysql等 yum install gd gd-devel httpd mysqld gcc g++ make rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm 上面是加入第三方扩展源,有很多包别人编译好了,我们可以直接使用. yum install perl-XML-Twig yum install ImageMagick-perl yum install mod_perl yum install perl-HTML-Parser yum install perl-Email-MIME-Attachment-Stripper yum install perl-Chart yum install perl-PatchReader yum install perl-Net-LDAP 2.生成Bugzilla数据库用户并分配权限 mysql -uroot -p mysql>create database bugs DEFAULT CHARACTER SET utf8 mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY 'passwd'; 3.下载安装Bugzilla,下载安装Perl模块 首先检查相应的perl模块是否已经安装完毕: ./checksetup.pl

ssh连接速度慢的解决

最近用ssh连一台服务器,但是速度非常慢 网上查了一下,有些对的,也有些不对 经过实验,主要是用ssh -v看log,发现卡在了gssapi-with-mic的地方,于是修改/etc/ssh/ssh_config, 加入或修改 GSSAPIAuthentication no 问题解决

软件推荐: auctex

之前就知道auctex很不错,但是一直对emacs的快捷键望而却步。 今天试了一下,发现非常不错。latexsuite里虽然也有局部编译的功能,但是由于vim没有内嵌图片的功能,所以有些鸡肋。但emacs就不同了,可以很方便的看到编译后的效果,尤其是在推导公式时十分有用,基本都快成了WYSIWYG了。 虽然emacs的快捷键还没记住几个,但是auctex的这个preview功能给我留下了很深的印象,以后还要多试一下。

Virtual PC 2007 虚拟网络不能启动

参见: http://kbalertz.com/834310/network-adapter-computer-loses-connectivity-start-virtual-machine-Virtual.aspx 症状是,启动Virtual PC后显示 Virtual PC could not open its emulated Ethernet switch driver. Virtual switch networking will be disabled. To fix this problem, re-enable the Virtual PC Emulated Ethernet Switch service or reinstall Virtual PC. 而且似乎开虚拟机一段时间后还会影响到宿主机的网络连接 原因为 Virtual Machine Network Services没有安装好 解决方法: 1.打开网络连接,找到本地连接,右键->属性。 2.如果此时“此连接使用下列项目”中有Virtual Machine Services,则把它删除,否则转下一步 3.安装->服务->添加->从磁盘安装->选择 \Utility\VMNetSrv 之后应该就可以了 另外进行上述操作时最好关掉跟网络连接有关的程序。

利用Virtual PC和WinDBG调试Windows内核

参见: http://www.xker.com/edu/tools/041/067807320651976.html 在VirtualPC中设置COM1为named pipe: 名字为\\.\pipe\com_1 在虚拟机中的Windows(我这里是XP)加入内核参数/debug, /debugport=COM1: /baudrate=115200 在WinDBG里打开内核调试,选COM1, 然后Baud Rate设115200, Port设\\.\pipe\com_1,并钩上pipe 经过这样设置以后,先运行windbg,再启动虚拟机里的Windows即可

[转]关于一些Linux SVN的安装使用

SVN简介 The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license. SVN是一个版本控制软件,类似CVS,但是SVN的的有点是开源的,而且SVN的版本控制能力给CVS还要强多。 SVN可以用于项目管理,还可以用于版本同步,功能可是十分强呢:) 下载:[url=http://subversion.tigris.org/][color=#22229c]http://subversion.tigris.org[/color][/url] 当前日期稳定版SVN1.32http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz 安装: 解压:#: tar zxvf subversion-1.3.2.tar.gz 依次输入./configure , make , make install 进行编译安装完成。 开启SVN服务:svnserve -d 检测服务是否开启:netstat -ntlp如果看到3690的端口正常开放了,证明SVN启动了。 正式使用: 首先我们得建立一个SVN的项目,一般人都认为建立项目就只需要一个文件,在我第一次使用SVN之前都有这样的看法,SVN建立项目需要建立文件夹 建立项目命令:svnadmin create project_name project_name 为你的project名字,可以任意取。 建立完毕后,project_name是一个文件夹,进入文件夹,可以看到一个conf的文件夹。进入文件夹可以看到2个文件(如果没有passwd文 件,可以用vi创建),编辑 svnserve.conf 把anon-access = read ,auth_access = write 还有password-db = passwd 的注释去掉,还有[general]的注释也要去掉。 vi passwd文件,如果是新文件,则输入:

GameConqueror: Linux 下的游戏修改器

自己和同学合写的小软件,在linuxtoy.org上发了个广告,这里也发一个吧: http://linuxtoy.org/archives/gameconqueror.html 在 Linux 下常玩游戏,但是没有像金山游侠那样的修改器,于是跟同学合写了一个: GameConqueror 。目前,GameConqueror 只有命令行控制,不过 Linux 一般可以方便地切到纯终端,所以不一定非要金山游侠那样弄个 directx 线程插入。 感兴趣的朋友不妨试试。GameConqueror 目前刚刚起步,功能不够完善,望大家多提宝贵意见。 当前,GameConqueror 的最新版本为 1.1,你可以 从 SourceForge.net 网站获取其源代码 。

[转]常用开源协议的详细解析

作者:Charles Huang 来源:javaeye.com 发表时间:2006-04-10 开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的。开源运动同样有自己的游戏规则和道德准则。不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。 现今存在的开源协议很多,而经过 Open Source Initiative 组织通过批准的开源协议目前有 58 种。我们在常见的开源协议如 BSD, GPL, LGPL,MIT 等都是 OSI 批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。 这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员 / 厂家参考。 BSD 开源协议 BSD 开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为” , 可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但“为所欲为”的前提当你发布使用了 BSD 协议的代码,或则以 BSD 协议代码为基础做二次开发自己的产品时,需要满足三个条件: 1 . 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的 BSD 协议。 2 . 如果再发布的只是二进制类库 / 软件,则需要在类库 / 软件的文档和版权声明中包含原来代码中的 BSD 协议。 3 . 不可以用开源代码的作者 / 机构名字和原来产品的名字做市场推广。 BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。 BSD 由于允许使用者修改和重新发布代码,也允许使用或在 BSD 代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选 BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 Apache Licence 2.0 Apache Licence 是著名的非盈利开源组织 Apache 采用的协议。该协议和 BSD 类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为

再次遭遇reiserfs文件系统错误

为了重现上次文件系统的问题,也为了找到上次出问题的原因,我又一次捣鼓了休眠的功能。 这次是用菜单休眠的,按理说应该没什么问题,但是由于重启是用我自己编译的内核启动的,而且参数似乎没设对,因此没能自动唤醒,而是正常启动。中间似乎有个关于swap的服务,显示fail,不过当时我没注意。另外值得注意的是,这次启动过程中fsck.reiserfs有些replay的动作。 后来进行了很多操作,按了一些软件包,其中还创建的新的用户和组。没任何异常。但是重启时,我又想起来了那个resume参数,加上以后,也没什么异常,直接关机了。 但是再次重启后,问题重现了。首先是一堆reiserfs的错误,应该是上次开机后进行了大量文件操作的缘故。之后自然shell也进不去了。 *** 这一次,问题的原因很明显了,应该就是休眠时文件系统没有同步,然后正常启动后把那些操作都replay了,之后进行的新的操作,然后我又恢复了休眠时的状态,这样造成了文件系统的错乱。 本想着用上次的办法骗来一个shell,但是这次告诉我PAM failure之类的错误,我心想坏了,估计/etc/passwd之类的文件挂了,因为上次开机后中间新建了用户和组。 *** 有了上次的经验,我估计不用安装盘没戏了,花了一天下了个Ubuntu 7.10 alternate的CD,然后从ubuntu网站xxx上下了硬盘安装所需要的hd-media文件,vmlinuz和initrd.gz.准备用它恢复。 由于我本身有grub,而且能够正常运行,因此不需要下而外的grub4dos,我把vmlinuz, initrd.gz和CD映像放在移动硬盘里,开机前插上。启动进入grub后,进入shell,输入 kernel (hd1,0)/vmlinuz root=/dev/ram0 ramdisk_size=170000 devfs=mount,dall initrd (hd1,0)/initrd.gz boot 于是从移动硬盘启动了,看到选择语言界面后,按Alt+F2换个控制台,按回车就出来个busybox。 不过遗憾的是它虽然支持reiserfs,但是没有reiserfsck,几分钟后我想到了可以把那块磁盘只读挂载,这样也许就不用检查了,果然如此。 之后就可以用那个盘上的reiserfsck来修复了,这次不需要中间super block(应

gnome下美化qt程序外观

参见 http://linuxtoy.org/archives/change-qt-applications-look-and-feel-under-gnome.html Ubuntu默认情况下qt程序外观不咋好看 安装qtconfig-qt3或qtconfig-qt4(依照实际版本),以及polymer 运行qtconfig,修改GUI style为polymer 这样qt程序的外观会比默认好很多

Windows XP 强制取消更新

症状:大概是由于某次更新安装失败,每次关机时都提示安装更新,而且数目都一样。平时右下角也没有黄色盾牌的图标。 解决办法: 1.杀wuauclt进程 2.关Automatic Updates服务 3.把c:\WINDOWS\SoftwareDistribution\DataStore改名 3.运行wuauclt /detectnow以恢复更新功能(Automatic Updates服务也会自动开启) 其中第3步应注意备份。 另外对此解法我也不是很肯定,但是在第3步中在c:\windows\SoftwareDistribution里捣鼓一番是肯定没错。

遭遇reiserfs文件系统错误

第3天,我的ubuntu终于回来了。 在讲故事之前,先交代一下我的系统: 我的电脑双系统,windows xp和ubuntu 7.10 硬盘分了5个区,一个ntfs放windows,两个fat32放windows程序和双系统公共数据,一个reiserfs放ubuntu,最后一个swap ubuntu有两个内核可以启动,一个是自己编译的2.6.24.2 另一个是ubuntu自己的2.6.22-14-generic *** 事情还要从编译内核说起,那天编译内核是发现有个hibernate的支持,说明里是说可以用echo 'disk' > /sys/power/state来休眠,于是编译好内核并用它启动后便试了试这个功能。 运行这个命令后系统很快就掉电了,没什么异样。 重启后和没休眠没什么两样,这让我有些疑惑,后来想起好像需要在启动是加上resume= 的参数,于是修改了/boot/grub/menu.lst,再用那个命令休眠。 但是,谁能想到,从那时起,到我那linux再次正常启动,竟花了3天时间 当时已是深夜,母亲催我入睡。 料我昏昏欲睡之时也不大可能搞好--不把电脑弄的更糟那就是万幸--睡吧,明天再说。 *** 第二天白天都串亲戚去了,晚上才开始动手。 再次启动时,突然发现grub选择操作系统的菜单消失了,迎接我的只有一堆提示信息和一个grub>的shell提示符,愣了几秒后我反过神来,凭印象输入引导命令,但是总报错,按help得到了命令列表,其中有个cat,于是cat /boot/grub/menu.lst,但是提示inconsistnet filesystem,于是我大概明白了发生了什么--似乎时休眠时文件系统没有同步好。 按tab命令不全时发现了原来还有/boot/grub/menu.lst~这个自动备份,于是cat看看,记下了命令,先进linux看看吧: root (hd0,5) kernel /boot/vmlinux-2.6.24.2 root=/dev/sda6 ro boot 但是不一会fsck报出一堆错误,还说必须用--rebuild-tree修复,都说reiserfs很稳定,我一直也这么觉得,遇上这么严重的问题,我还是大姑娘上花轿--头一回。 这次仍用上面的命令,只是加上了 resume=/dev/sda7,神奇的是竟

制作u盘linux启动盘

前几天电脑坏了,想弄个linux启动盘应急修复一下,最后虽然还是没派上用场,但是至少启动盘弄出来了,在此记录一下。 需要的工具有 syslinux, 可以从http://www.kernel.org/pub/linux/utils/boot/syslinux/下载一个可以启动的linux映像,为了弄在U盘上,我选择了不到6M的ttylinux 由于是linux坏了,以下操作我都是在windows中进行的 1.解压syslinux 2.插入U盘 3.把linux映像解压到u盘,注意是解压不是拷贝 4.运行syslinux -sfma 5.由于ttylinux的映像是isolinux映像,所以应该做一些修改,把U盘里isolinux目录改名为syslinux,再把里面的isolinux.cfg改名为syslinux.cfg 这样就ok了,其中第5步我花了好久才悟出来 另外syslinux压缩包里也有linux版本

firefox 拼写检查导致崩溃

最近更新了一下,然后firefox就不正常了,gmail里写不了邮件。 看控制台消息,报 /usr/lib/firefox/firefox-bin: symbol lookup error: /usr/lib/firefox/components/libmyspell.so: undefined symbol: _ZN8Hunspell5spellEPKc 之后在 https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/107340 找到了问题原因,是拼写检查模块libhunspell的问题,解决办法为禁掉firefox的拼写检查(about:config然后设置layout.spellcheckDefault=0),或者把libhunspell降级(我这是1.1.5,据说1.1.4就没问题)

Motorola手机输入法

我现在用的是Moto的一款不算很新的机型,A768i 在使用过程中我发现它的输入法联想十分体贴,之一是可以根据通讯录的姓名进行联想,这样输入人名快速准确,之二是可以发短信时可以根据历史短信内容进行联想,这样发类似消息时就轻松了很多。 真是十分不错的功能,巧妙而独特,至少我没在其他手机上发现这些功能。 在此称赞一下,期待更多惊喜。

软件推荐: mpd 音乐播放器

平时我只是播放单个文件或者url,所以喜欢用beep media player这样简单小巧的播放器。 今天突然想把自己屯的音乐放一起听, 因此需要一个能管理一个媒体库的播放器。 以前我挺喜欢rhythmbox和amarok的,不过突然发现我都给卸载了。正好前几天听说了个mpd,好多人说不错,我也想试试。 其实只是知道它是个c/s模式的播放器,挺新鲜的,但是对“好用”却不以为然。 但是用了5分钟后就发现其有趣的地方了。 首先是没有界面,我用的是命令行控制的,设好后客户端就可以关了,而服务器在后台,所以桌面上没有任何界面或图标。 这样才真正有背景音乐的感觉,因为“不知道从哪里来的声音”。 另外心理上也觉得省了图形界面的资源消耗。 然后就是日常控制很方便,用mpc的话10个字符左右就能完成日常操作。 当然也有不方便的地方,首先是配置有点麻烦,但是配置好后以后以后一般就不用动了。 再有就是有些控制不方便,比如涉及到文件名的一些操作。 但是总而言之,这个播放器很适合我,一方面我比较喜欢命令行,喜欢没有界面。 另一方面我没有特别的功能要求,把我的音乐列表播放了就行了。 安装的话当然要装个mpd,另外还需要个client,我装的是mpc,也有图形化的sonata, gmpc等。 需要注意的是我这里ubuntu7.10源里装的mpd,默认是带参数运行的,这样它只认/etc/mpd.conf, 而不像manpage里说的还查看home里的配置文件。

ubuntu 7.10 安装 kde 4

参考: http://www.ubuntugeek.com/howto-install-kde-40-stable-in-ubuntu-gutsy.html 加入源: deb http://ppa.launchpad.net/kubuntu-members-kde4/ubuntu gutsy main 更新 sudo aptitude update 删除旧包 sudo aptitude remove kdelibs5 kde4base-data kde4libs-data 安装 sudo aptitude install kde4-core

Linux RST.B-1 病毒查杀

话说上次那次的病毒突然又复活了,今天我用电脑不久发现/bin的几个文件又被感染了,这次留了个心眼,重启之前用clamav看了下病毒名,叫做RST.B-1 之后在http://www.symantec.com/security_response/writeup.jsp?docid=2004-052312-2729-99&tabid=2 处看到了相关资料,这个病毒会感染/bin和当前目录下的可执行文件。上次我只恢复了/bin的文件,所以应该是没清干净。 于是用live cd引导,覆盖/bin的文件,然后chroot再用clamav全盘扫描,果然发现了另外几个感染的文件,删除之(我有备份),重启后正常。

遭遇黑客软件

昨晚突然发现电脑变慢,ps一看有好多以www用户名的进程,我可没有这个用户啊,再看那些进程,一堆scan和一个httpd等,真是可疑。 然后去/proc/ 查看,那些文件的可执行文件都位于/tmp/.a,里面除了这个scanner和httpd外,还有bruteforce和一个弱密码字典,以及一些扫描的log。 哇,中招了! 于是赶紧杀进程,然后想删掉这些文件,却总是报Segmentation fault, 之后又试了几个命令,也是报这个错,我看了一下/bin, 啊,原来很多命令的文件都被修改了。 于是重启,发现启动过程中都是Segmentation fault, 一下子懵住了。 当时太困了,不知所措,只好关掉等今天解决。 实在是不想重装,于是试图恢复,首先用live cd启动,把/bin的那些文件拷过去一份,然后搜了下/sbin,/usr/bin等重要文件夹,没有被改动的样子(这里/bin,/sbin,/usr/bin都是硬盘上的而不是live cd上的), 之后,用chroot和aptitude重装了一下coreutils,为了保险,把一些*utils都重装了一下。 然后重启,似乎是正常了,松了一口气。但是还是要观望一段时间,看有没有什么遗留的。 现在想一下,根据那个文件夹里的log和字典文件推断,那个scanner是破解ssh里高权限用户的密码,然后一看我这里的root密码,天啊,原来是个弱密码,我才想起来当时装MySQL时图省事弄的,结果现在忘了。。真是敲响了警钟。 另外上网搜了一下相关资料,除了看到一个人跟我有类似情况外,没有别的有用的信息,看来这个东西还是挺新的。 现在赶紧把ssh的root登录关掉。 总之是第一次有这种经历,万幸阿,那个程序没给我rm -rf /, 我作业还没写完呢。。