Shell's Home

删除无赖

Jul 14, 2006 - 1 minute read - Comments

大家知道,从3721首开记录后,很多软件都有卸不掉的情况。多数是插一个dll到explorer里面,让你无法UnloadLib,也不能kill。然后保护一堆文件不能删除,再放注册表项目。3721还加了一个驱动,这样就是神仙也删不掉。 骂人不多骂了,方法两个。http://www.sysinternals.com/Utilities/PendMoves.html有一个项目,可以延迟删除。换句话说就是在启动的时候,讨厌的流氓加载前让内核做删除动作。很方便,重起下就没了。至于怎么找这些流氓的位置。http://www.sysinternals.com/Utilities/Autoruns.html同样公司,这个项目可以将开机所有自动加载的模块全部找出来。IE的插入组件也可以找出来。 不过这个办法虽然好,可是还是会有破绽。万一连这两个软件运行都屏蔽呢?这个时候可以用linux live+ntfs r/w modules,这样删除任何东西的时候,神仙也挡不住。 BTW,做live的时候,千万记得放一个ntfsfix在盘里面。贝壳的/dev/hda1有个logfile没有clean,结果死活不能写挂载……

论linux引导过程

Jul 13, 2006 - 1 minute read - Comments

keywords 引导过程, initrd, init, rc copyright Shell.E.Xu撰写,按GPL发布。 abstract 简要介绍了引导流程的流转。 main 1.grub&lilo 引导的第一步,是启动引导管理器。这个种类非常复杂,从最早的MBR+专用引导扇区到现在的NTLDR,LILO,GRUB,大小和功能都有非常大的变化。但是主要来讲目的都是一样的。当今引导程序一般都分两个部分,引导扇区和主引导模块。NTLDR来说,C:NTLDR文件即是主引导模块。GRUB的主引导模块在/boot/grub/stage2,至于引导扇区,不用太过关心的。 主引导模块在加载后都会读取引导配置文件,当代流行引导管理器其实都有命令交互功能,可是你总不能指望每次启动都先敲堆命令吧。GRUB来说,配置文件是/boot/grub/menu.lst。注意,GRUB是在启动的时候读取配置的,但是LILO是根据配置来安装的。所以LILO在改变配置的时候需要重新安装。 2.vmlinuz&initrd 引导管理器会自动的将vmlinuz安置在内存中,然后寻找initrd传给vmlinuz。在没有initrd的情况下也可以引导,不过当下的趋势是将引导过程用脚本管理,放置在initrd中。这样引导参数解析,模块加载,设备管理都纳入了脚本的范围内。用linux哪能不会脚本,因此linux引导就有非常强的可以定制特性。 initrd分两种,cpio-initrd和ramfs。这里主要介绍 cpio-initrd。cpio-initrd的建立方法很简单,我上篇文章中有介绍。大致来说,就是把一些内容打包备份而已。vmlinuz会启动根下面的init脚本,我下篇文章会专门解析debian中配置的initrd.img的init脚本。现在大致说下。 init首先建立两个目录,建立/dev系统,并且建立null和console文件,否则udev的运做会出错。然后解析引导参数,解析到每个变量。而后依次运作init-top,init-premount,init-bottom(这些目录内的文件)。在init-bottom运行前会运行包含指定的脚本,这个脚本由BOOT参数指定,并且内部包含mount函数。这样可以通过指定BOOT参数定制mountroot的过程。最后是迁移大部分的系统过去(主要是/sys和/proc),最后通过run-init直接chroot和init。 3.init&rc init运行的开始,会寻找inittab。其中指定了系统的很多特性,最主要的是runlevel。首先是寻找/etc/init.d/rc并且运行,并且把运行级别作为第一参数传递。然后rc会寻找/etc/init.d/rcS和/etc/default/rcS,如果有的话则包含或者运行。然后rc会以参数S运行自身,过程和正常启动一样。这个作为基础启动参数,无论你以何种级别运行都会运行rcS.d里面的脚本。 4.service service启动的时候,是用rc?.d的脚本启动的。多数会用start-stop-daemon作为另外一个身份启动成守护进程。 5.bash&gdm 6.conf files reference: [1].

debian live

Jul 11, 2006 - 2 minute read - Comments

准备做debian live了,期间有什么东西都会写在这里。大致来说就是打算实践一个项目。 copyright Shell.E.Xu撰写,按GPL发布。 abstract 用debian3.1testing为基础建立live cd。128M以内,无X系统,无交换区和/tmp,使用内存盘。 target 用于挂载ext3 ntfs vfat文件系统,实施文件系统管理和修复,访问文件系统内容并修改。 注:准备特别针对3721,yahoo助手之类类似rootkit的东西实施扫描清理。 environment debian 3.1 starg testing(貌似是废话) grub stage2_eltorito支持光盘启动 linux-kernel-2.6.15-8 直接使用deb包中内容 initrd 在kernel包中包含 step by step 1.建立基础文件系统并且复制所需文件 建立~/syscd/boot/grub/,复制menu.lst stage2_eltorito文件过去。 复制vmlinuz system.map config到~/syscd/boot中,注意ISO9660格式中文件名不能过长(多少记不清了)。 复制/lib到~/syscd/lib,并且调节内容。(我个人在其中添加了我需要的nVIDIA显卡驱动) 2.grub和iso cd \~ mkdir initrd #关于initrd的原理生成和使用后面讲 mkdir root #这个是用于内存的镜像内容 mkdir cramfs #这个是只读镜像内容 vi \~/testsyscd ------------------我是邪恶的分割线-------------------- #!/bin/bash qemu -no-kqemu -cdrom \~/syscd.iso -boot d >/dev/null ------------------我是邪恶的分割线-------------------- chmod 755 \~/testsyscd vi \~/mksyscd ------------------我是邪恶的分割线-------------------- #!/bin/bash COMPRESS_MODE=-9 cd \~ # block of create initrd.img, disable when u already get one.

linux中文说

Jul 2, 2006 - 1 minute read - Comments

linux号称可以支持全部语言,其实细节上还是有不少问题的。具体情况大致是这样的,linux的中文支持分三部分,locales,字体,设置。 首先是locale的部分,这个最简单不过,用root运行dpkg-reconfigure locales,然后选择你需要的解码方式,最后再设定系统默认语言(这个是可以修改的),就OK了。 然后是字体,字体的设定比较复杂,不过在debian中安装所有中文桌面的字体就可以了。不用自己去绞尽脑汁。 最后是设定,这个比较复杂。因为可定制性非常好的系统,无法避免要用大量的脚本来定制。如果可定制性差,相信你也不会用了。和中文相关的设置大致有一下几个,针对debian系统。 /etc/default/gdm:LANG=zh_CN.GBK #gdm登录时候的locales /etc/default/locale:LANG=zh_CN.GBK #这个是系统默认登录的locals,如果你使用命令行登录就是使用这个的 /etc/environment:LANGUAGE=“zh_CN:zh:en_US:en” /etc/environment:LANG=zh_CN #这个是登录进入X后的设置,你运行的所有程序基本都是使用这个 dpkg-reconfigure locales的默认语言设定修改的是/etc/default/locale,所以对X登录进去后的程序不一定起作用。一般情况下这zh_CN的设定就通吃了,不过有的时候有点小BUG,例如term下面vi后退出,就变成看不懂的乱马了。这个时候要重设屏幕才可以恢复。而且在输入的时候没有——的,很多东西也看不到。所以我改成了zh_CN.GBK,然后出现了两个问题。 一个是gvim不运行了,这个看了看别人,这么解决。 ----------------------\~/.gvimrc----------------------- set encoding=gb2312 set langmenu=zh_CN.GB2312 set imcmdline source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim --------------------------------------------------------- 保证这个文件里面有这些内容就可以了。 然后是gtk1.X的程序都不正常了,主要是xmms和audacity。这个看了人家忽悠半天,最后这么解决的。 -----------------/usr/bin/env_zh_CN--------------- #!/bin/bash LANG=zh_CN exec $@ ---------------------------------------------------------- 然后chmod a+x /usr/bin/env_zh_CN 再修改所有运行语句成env_zh_CN xmms 我修改了两处。 世界基本就清静了。

Google earth

Jul 1, 2006 - 1 minute read - Comments

google earth很多人已经用过了,不过google earth有linux的bata版了。下载解压,解压界面非常漂亮,很容易上手。运行来看,是QT的界面。不愧是google阿。

澳门游记

Jun 23, 2006 - 1 minute read - Comments

今天七点过关,刚刚开关的时候人密密麻麻,感觉像成群结队上架的鸭子。通关并不困难,只要那通行证去就好了,不过包都不开,要是拿违禁品怎么查呢? 过关后从一个街道上笔直南走,路上能见到很多学生,白衣长裙,黑鞋白袜,如同电影中一样。然后再向南走,中间看到一个道教分坛,不知道是什么路数。然后走着走着,热了,肚子也不舒服。所以干脆上了一个bus,开到葡京赌场周围,发现在修。怎么进去不知道,干脆不进去。肚子问题找了个小赌场解决,人家的WC漂亮过我家的大厅,真的有钱的恐怖阿。本来我想拍的,结果意外打碎了一个东西。然后找人商量怎么赔偿,结果进来一个打扫的,抬手说免了。要在国内阿,要么就直接要赔了,要么就A了,要么就向上级请示了。 下面出去转了转,跑到金莎去赌了两把。如果说有天生赢钱的人和天生输钱的人,会输大钱的多数是会赢钱的人。因为会输钱的人觉得完全没有意思,所以不会赌多少的。我就是那种会输的人,进去试下手,结果只见到输的,没有见到赢的。权当破财消灾拉。 出来在一家饭店吃午饭,那里的碎肉面做的真的很好。虽然有点怪,不像一般的面,可是真的很有风味,想试试的可以去澳门吃吃看哦。吃过饭去对面的新八百伴购物(上海这里我家附近就有个店叫做八百伴)。老实说我不知道逛街有什么乐趣,我在购物的时候计算合算不合算算的头痛,花钱买东西买的心痛,跑来跑去跑的脚痛。搞不懂女人为什么习惯购物。 不过说是这么说,怎么样也好,给一个侄子买了衣服,给他妈买了卸妆水,给外公外婆买了西洋参,出来又到金行给老妈买了手链。然后就穷了…… 出来听人家指点到了一个步行街,走过去居然不知道这里就是议事亭前地。现在是行政总署正前方。走了半晌,买了两个饰物,手信就基本齐了(钱也就基本没了……)。中间到圣母玫瑰堂转了一圈,澳门的教堂还真是多阿。出门绕了圈远路,再回原地照相,然后再跑上三大巴牌坊照相。下面就没了,回珠海,吃饭睡觉……

珠海之旅

Jun 20, 2006 - 1 minute read - Comments

隔这么久才放上来,真的很不好意思,贝壳前段时间在弄系统,嘿嘿。 12:00抵达珠海,中途下果雨,雨后的空气非常清新,但是非常潮湿,不是很舒服。车站旁就是福海酒店。因此刚刚抵达就入了房,然后乘9路公交车去九州港,听错了人家的指点中途下车,走了不少冤枉路,不过拍了不少好东西,也算有的有失。九州港乘船出去环游澳门一周,让人心情愉快。然后转过去拍珠海渔女,据说是一个著名青年雕塑家的作品,作为珠海著名旅游景点。一点意思也没有,完全名不副实。其实珠海只要保留优美的风光和清新的空气就好了阿。 回来的途中顺便吃了晚饭,然后在酒店洗澡,出门在隔壁就有网吧和洗头。留长头发出来旅游最麻烦的就是洗头了,反正我全是去洗头店的,衣服也是洗衣房,时间成本阿时间成本。不过这样玩下来反到比前面的观光更有度假休闲的味道。总之,头天的行程很无聊。