• 解除彩虹QQ封锁:彩虹官方的办法08年11月27日21点20分发布

    第一种

    1、在开始-运行菜单中输入secpol.msc(本地安全策略),进入“软件限制策略”,右击,选择“新建散列规则”,找到需要屏蔽的X:\Program Files\QQ2008\SafeBase\selfupdate.exe文件就可以。

    2、然后删除SafeBase下,除selfupdate.exe外的所有文件。

    第二种:

    其实方法很简单的非法QQ外挂解决办法,绝对可行删除\Tencent\SafeBase下的tsfsres.dat.同时在\Tencent\SafeBase新建文件夹,命名为:"tsfsres.dat"(记住,是新建文件夹,不是文件,这个很重要)接着:还是在SafeBase这个文件夹,然后把文件夹里面的文件全部删除掉,然后QUpdateCenter.EXE和selfupdate.exe删除,再新建两个TXT文本,然后分别改名成QQUpdateCenter.exe和selfupdate.exe(记得改扩展名属性改为只读)。然后用彩虹登陆QQ。 反正就是删了SafeBase文件夹全部文件,再建两个TXT文本文件命名成同样的就好了。

    注:tsfsres.dat就是导致这次非法外挂的元凶,所以要删除新件文件夹"tsfsres.dat"的目的就是防止该流氓再次捣乱因为WINDOWS新建文件时只验证文件名而不验证文件类型. 所以在有文件夹"tsfsres.dat"的情况下无法再生成文件tsfsres.dat 又因为是文件夹,即使QQ想替换或修改该文件都不可以而QQUpdateCenter.exe和selfupdate.exe这两个文件是QQ医生的,他会更新tsfsres.dat,所以把它也一起改了,虽然改了会使QQ医生不能使用,但有杀毒软件和360那QQ医生就是个鸡肋

    那个safebase文件不一定在tencent里面,也可能在QQ医生里面,可以使用搜索功能查找。
  • 最近在做一个试验,需要模拟两台主机和一个共享存储。在VMWare里面可以使用vmware-vdiskmanager工具来创建一块或几块共享磁盘来模拟共享存储。

    下面简单介绍一下vmware-vdiskmanager的使用方法:

    vmware-vdiskmanager
    命令语法:
    vmware-vdiskmanager [选项] <磁盘名称>
    VMware Virtual Disk Manager - build 44356.
    Usage: vmware-vdiskmanager [选项] <磁盘名称>

    <diskname>
        虚拟磁盘文件的名字。
        #虚拟磁盘文件必须是
    .vmdk为扩展名。你能够指定一个你想要储存的虚拟磁盘文件的路径。如果你在你的宿主机中映射了网络共享,你也可以提供确切的虚拟磁盘文件的路径信息来创建虚拟磁盘在这个网络共享中。

    -c
        创建虚拟磁盘。
        #你必须用
    -a, -s 和 -t 并指定选项参数,然后你需要指定所要创建的虚拟磁盘文件的文件名。

    -r <sourcediskname>
        转换已经指定类型的虚拟磁盘的类型。
        #结果会输出创建一个新的虚拟磁盘。你必须用-t选项来指定你想要转换成的磁盘类型,并且指定目标虚拟磁盘的文件名。
        #一旦转换完成,你可以先测试虚拟磁盘以确保它能够像你所希望的那样工作,然后再删除原来的那个虚拟磁盘文件。
        #为了让虚拟机重新认识转换后的虚拟磁盘,你应该使用虚拟机设置编辑器先从虚拟机中移除先前存在的虚拟磁盘,然后添加转换好的虚拟磁盘给虚机。

    -x <n>[GB|MB] <diskname>
        增大虚拟磁盘到指定的容量。你必须指定新的更大尺寸的虚拟磁盘用GB或MB单位标示。你不能改变物理磁盘的大小。
        #在你运行虚拟磁盘管理软件前,你应该先备份虚拟磁盘文件。因
    为vmware-vdiskmanager会向你的虚拟机配置文件里面写入新配置

    -d <diskname>
        对指定的虚拟磁盘碎片整理。
        #你只能磁盘碎片整理可增长的虚拟磁盘。你不能磁盘碎片整理预分配的虚拟磁盘。

    -p <mountpoint>
        为收缩磁盘做准备处理。
        #如果虚拟磁盘被分成多个分区,每个分区必须被单独准备。分区(比如
    /email或/storage)必须用VMware DiskMount工具映射。
        #在你对分区准备处理后,解除对此分区的映射。继续映射虚拟磁盘的其他每个分区,为收缩磁盘作准备处理直到完成虚拟磁盘上的所有分区的准备工作。
        #你在同一时刻只能用
    VMware DiskMount映射虚拟磁盘的一个分区。你仅仅能在宿主机上进行虚拟磁盘的收缩分区准备工作。

    -k <diskname>
        收缩指定的虚拟磁盘。你只能够收缩可增长磁盘。你只能在宿主机中用这种方法收缩虚拟磁盘。
        #你不能够收缩有虚拟机快照的虚拟磁盘。你可以保持现有虚拟磁盘的状态,而用快照管理器删除所有快照。你也可以放弃自快照以来对虚拟磁盘所做的更改,恢复到快照时状态。

    -a [ ide | buslogic | lsilogic ]
        指定磁盘适配器的类型。你在创建新的虚拟磁盘时必须指定其类型。
        #选择以下类型之一:
        #
    ide —— IDE接口适配器
        #
    buslogic —— BusLogic SCSI接口适配器
        #
    lsilogic —— LSI Logic SCSI接口适配器

    -s <n> [GB|MB]
        指定虚拟磁盘的大小。确定大小用
    GB或MB做单位。你必须在创建磁盘时指定其大小。
        #尽管你必须指定虚拟磁盘的大小,但当你增长它的大小时,你不能用
    -s这个选项。
        #
    可以指定的磁盘大小规定:IDE和SCSI适配器都为最小100MB,最大950GB。

    -t [0|1|2|3]
        你在创建一个新的虚拟磁盘或者重新配置一个虚拟磁盘时必须指定虚拟磁盘的类型。
        #指定以下类型之一:
        #0 —— 创建一个包含在单一虚拟文件中的可增长虚拟磁盘
        #1 —— 创建一个被分割为每个文件
    2GB大小的可增长虚拟磁盘
        #2 —— 创建一个包含在单一虚拟文件中的预分配虚拟磁盘
        #3 —— 创建一个被分割为每个文件
    2GB大小的预分配虚拟磁盘

    -q
        禁止虚拟磁盘管理程序写日志
        #如果你允许记录日志,日志将会被虚拟磁盘管理程序产生并储存。在虚拟磁盘管理程序运行后,日志的名字和存放位置将会出现在命令行或终端中。

    -n <source-disk>
        重命名指定的虚拟磁盘。需要指定命名后的虚拟磁盘名字。

    为了帮助大家理解,下面举几个例子:

    vmware-vdiskmanager -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk
    创建一个名称为myIdeDisk的大小为850Mb的IDE接口的在一个虚拟机文件中的可增长的磁盘

    vmware-vdiskmanager -d myDisk.vmdk
    对myDisk进行碎片整理

    vmware-vdiskmanager -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
    将sourceDisk转换成在一个虚拟机文件中的可增长的磁盘,并命名为destinationDisk

    vmware-vdiskmanager -x 36Gb myDisk.vmdk
    将磁盘myDisk增大至36G

    vmware-vdiskmanager -n sourceName.vmdk destinationName.vmdk
    将磁盘sourceName改名为destinationName

    2008年10月24日更新:

    如果在添加共享磁盘后发现只有一台机器能启动,另外一台因为不能打开共享磁盘文件而不能启动的时候,需要对配置文件进行修改:

    分别打开两台虚拟机目录中的vmx文件,在最后一行添加:
    disk.locking="FALSE"
    scsi0:1.SharedBus="Virtual"
    scsi1:1.SharedBus="Virtual"
    系统启动的时候会锁定磁盘,所以当启动linux1后共享磁盘被锁定了,linux2就起不来了,因此需要加入disk.locking = "false"。
    一般来说,如果是scsi1:0,则n为1,也就是scsi1.sharedBus = "virtual"    ,表示所有的bus都共享,vmare推荐这种做法。
    如果说是不是所有的bus都共享的话,可以将上述scsi1.sharedBus = "virtual"改成scsi1:1.shared = "true" 。

  • 当脚本里面含有很多这样字符的时候是没有办法被执行的,例如下面这些含有问号的甚至不知道是什么字符的东西:

    cp -f ./var/www/html/web/portal/wfs/img/style2/??.shs /var/www/html/web/portal/wfs/img/style2/??.shs
    chown apache:apache /var/www/html/web/portal/wfs/img/style2/??.shs
    cp -f ./var/www/html/web/portal/wfs/img/style2/ç~I~G段.shs /var/www/html/web/portal/wfs/img/style2/ç~I~G段.shs

    我使用命令可以确定这些非法的字符,并可以替换:

    sed 's/[^ -_.a-zA-Z0-9]/errorcode/g' update.sh2 >update.sh3
     
    把非空格非-非_非.非a-zA-Z0-9的字符替换为‘errorcode’。

    但是实际上我希望的是在匹配了这些字符后不进行替换,而是在这行的行首插入‘#’,从而注释掉这行,请问有没有人知道应该怎么写这个正则表达式?

    也就是说‘errorcode’这部分怎么写才能实现在行首插入‘#’
     
    解决办法:
    sed '/[^ -_.a-zA-Z0-9]/ s/^/#/g'