- 博客(205)
- 资源 (3)
- 收藏
- 关注
原创 sed学习总结及实例
sed是简单小巧但功能非常强大的工具。在上一篇博客中自己注解了sed的info文档中那些比较复杂的脚本示例,最近工作中使用到sed,复习了一下,再做一篇总结放在这里:sed有两块缓冲区:pattern space和hold space。pattern space中存放待处理的目标文本,hold space供程序员自己使用。sed处理流程:清空pattern space。(如果这是对
2012-02-20 08:50:39 7242 1
原创 搭建BitTorrent环境
<br />BitTorrent协议非常好用,在网络中分发共享大文件,不会造成网络上某一个链路拥塞,不会给某一台机器造成大量负载。BitTorrent把文件分割,分块校验,分块传输,并发性好,速度快,可靠性有保证。<br />搭建BitTorrent环境很简单,需要一个tracker程序和一个客户端程序。tracker程序用来于各个peer之间进行沟通,发现新的peer。客户端程序用来制作种子。<br /><br />tracker程序非常多,google一下bittorrenttracke
2011-04-26 19:38:00 6519 2
原创 ubuntu9.0.4上安装xen内核
<br />包括xen的wiki和howto上都只说用apt-get安装ubuntu-xen-server或者ubuntu-xen-desktop,然后就直接跳到“重新启动进入dom0内核”了,但丝毫不提安装server或者desktop根本不会安装内核,只会装模作样在/boot下产生一个xen-3.3.gz。普通用户安装到这里莫名其妙,开始怀疑自己是不是哪里弄错了,要说有内核它还真没有,说没有内核还产生了一个xen-3.3.gz,唉……<br />在ubuntu9.0.4下用apt-get
2011-04-26 19:28:00 6221 1
原创 linux上更改TCP窗口大小
<br />使用route命令。像ifconfig, route, ip等这些工具参数非常多,有问题时应该看看这些工具的参数。窗口大小的变动对FTP等程序性能影响很明显。<br /><br />[root@jcwkyl ipv4]# route del -net 10.60.56.0/24<br />[root@jcwkyl ipv4]# route add -net 10.60.56.0/24 window 4096 dev eth0<br />[root@jcwkyl ipv4]# route -n
2011-04-26 19:24:00 15395
原创 word转PDF
<br />论文需要提交pdf版本。寻找word转pdf的软件。<br /><br />一,直接google。找到一堆小工具,但都是收费的,试用版要么只能转换第一页,要么转换完的pdf文件被打上水印。<br /><br />二,WPS试试。果然很厉害。正在窃喜中,发现转换后的pdf在linux下用evince居然看不了,都是乱码。不信任。<br /><br />三,永中office。果然不错,但转换出来字体全成黑体了。<br /><br />四,openoffice。效果不错。可惜我论文中的
2011-04-26 19:20:00 7488 2
原创 linux主机用virtualbox虚拟winxp中使用USB设备
<br />主机操作系统是centos 5.2,安装了virtualbox 3.2.10,在virtualbox中安装了windows xp sp2。但是U盘和MP3等设备一直无法在windows虚拟机中使用。<br />解决方法:http://wiki.centos.org/HowTos/Virtualization/VirtualBox<br />VirtualBox requires the user have write access to "usbfs" devices for USB acc
2011-04-14 21:26:00 5977
原创 linux上安装网卡驱动程序
<br />这篇日志记录在linux上安装网卡驱动的过程。使用dell的optiplex 360或者optiplex380机器,broadcom网卡,Centos 5.2, Fedora Core 8, Ubuntu9.0.4操作系统。实验室一直使用这种机器+网卡+操作系统的搭配,每次安装操作系统必定出现网卡驱动程序和声卡驱动程序无法使用的情况。因此,这一过程在实验室重复做了N遍。<br /><br />首先看网卡是否已经正确连接到计算机。这一步一般是不会有问题的。使用的命令是lspci
2011-04-14 20:36:00 14957 1
原创 linux编程获取本机IP地址的三种方法
<br />这是一项不太清晰而且没有多大意义的工作。一个原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的,比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡设置别名,可以重命名网卡,用户计算机所在网络拓扑结构未知,主机名设置是一个可选项并且同样可以为一个计算机绑定多个主机名等,这些信息都会有影响。脱离了网络连接,单独的网络地址没有任何意义。编程中遇到必须获取计算机IP的场景,应该考虑将这一选项放到配置文件中,由用户自己来选择。<br /
2011-04-14 20:33:00 36220 1
原创 ubuntu9.0.4 pygrub找不到fsimage问题的解决
<br />就是这么一个很小的问题,又折腾了一个晚上,甚至想到要把本来的不太熟悉的ubuntu 9.04删除掉,重新安装成centos操作系统。<br /><br />这个问题的表现就是启动虚拟机后停在那里一直没有反应,使用xmlist检查虚拟机状态看到的是p状态(p代表pause)。检查虚拟机配置文件,没有任何问题,同样的配置文件和镜像文件在实验室服务器的centos上就运行非常稳定非常正常。手动使用xm create启动虚拟机,根本看不到虚拟机启动的grub界面。<br /><br />
2011-04-14 20:32:00 5494
转载 viso中虚拟框粘贴到word中变实线框解决方法
<br />原文:http://blog.csdn.net/MONKEY_D_MENG/archive/2010/05/31/5635791.aspx<br />viso中虚线框粘贴到word中变实线框解决方案。<br /><br />用Visio画图经常遇到了这个问题:在Visio里面画好的框图是虚线框,复制到Word里面就显示为实线,在Word里双击图片进入VISIO编辑状态又变回虚线。<br />反复的尝试发现了问题好像是:在Visio里只要虚线框的大小超过一个界限,拷贝之后就会变成实线框。<br
2011-04-14 20:30:00 8705 2
原创 xen中出现received packet with own address问题解决
<br />问题表现:从system->administration->systemmonitor菜单打开资源管理器,在resource栏中看见networkhistory下面的received和sent都以数百兆的速率在传输数据,dom0顷刻死机。eth0网卡MAC地址和IP地址突然消失,莫名其妙多出来一块eth1网卡。本来应该有的新启动的虚拟机通信接口vif1.0没有显示出来。<br /><br />以上是在我的电脑上的表现。我的电脑是CentOS5.2, runlevel 5,
2011-04-14 20:28:00 11875
原创 stateless linux设置脚本注解
<br />stateless linux是fedoracore的一个项目,顾名思义,就是系统运行时不保存持久状态信息,简单来说就是不让系统对持久存储设备(比如硬盘)进行写操作。一般用于readonly root技术。在我最近的程序中,用stateless linux来达到多个虚拟机共享同一份磁盘image。<br /><br />stateless linux的设置文件是/etc/sysconfig/readonly-root,/etc/rc.sysinit在系统启动时读取这个文件,并根据文件
2011-01-06 15:56:00 6411
原创 存记
<br />1月3号晚老大去大连,本科同学五人聚酒,自己大醉失态。作文字以记念。胡乱言语,仅此存记。<br />长春新春旧气象,所见白雪与黑泥。雪在原上连成丘,泥在路上冻成冰。坎坎坷坷冰上走,瑟瑟缩缩步履急。遥见故人相招手,天寒舌僵不能言。朋友今晚回大连,送别地在酒肆间。有楼有座有暖气,有茶有酒有兄弟。落座先行喝一杯,然后再表别离意。酒开两瓶剑南春,火炉架上牛羊肉。主人豪爽意气浓,不惜囊中买酒钱。推盅换盏兴不减,一杯一杯复一杯。酒肉入口穿肠过,谑浪笑傲耳旁风。今朝有酒今朝醉,明朝投林各自飞。恍惚
2011-01-06 10:21:00 5146 2
转载 IE中调试javascript的方法
<br />原文链接:http://blogs.msdn.com/b/ie/archive/2004/10/26/247912.aspx<br />I thought I’d take a couple minutes to talk about Script Debugging and Internet Explorer.<br /><br />Script debugging is turned off by default you can enable it by going to:<br /
2010-12-16 10:56:00 5090
原创 编译错误__sync_bool_compare_and_swap_4的解决
<br />做大文件的快速传输,需要调查一下bit torrent,下载了opentracker。<br />在编译libowfat的过程中,出现错误:<br />t.o: In function `main':<br />t.c:(.text+0x76): undefined reference to `__sync_bool_compare_and_swap_4'<br />t.c:(.text+0xa2): undefined reference to `__sync_bool_com
2010-12-16 10:56:00 16468 2
原创 如何找到linux命令的源代码
<br />比如想找到ls, cat, grep, less等这些工具的源代码观摩学习一下,虽然google一下什么都能找到,但使用软件包管理工具则更为方便。以cat的源代码为例:<br />[whb@jcwkyl keyan]$ which cat<br />/bin/cat<br />[whb@jcwkyl keyan]$ rpm -qif /bin/cat<br />Name :coreutils Relocations: (not
2010-12-16 10:54:00 6958
原创 一次乱码问题解决过程反思
<br /> <br />一个很简单的问题花了一整天的时间去解决,教训总结在这里,以后当引以为戒。<br />问题:服务器上的一个新闻发布网站在提交新闻后显示出来的新闻内容页面是乱码。不仅如此,以前发布过的所有新闻内容也都变成了乱码。老师说问题这两天才出现,以前一直运行良好。<br />当时习惯性地马上打开浏览器访问网站,发现网站在firefox中本身就是乱码,在浏览器菜单中选择了GBK编码看到了正常的网页。点击新闻超链接,这时候弹出一个很酷的窗口,里面显示一堆乱码。<br />因为网站的使用者
2010-12-16 10:52:00 6223
原创 xen虚拟windows使用vnc桌面鼠标位置偏移现象的解决
<br /> xen虚拟windows xp,使用vnc图形桌面,鼠标位置偏移。在xen的bug报告页上有这个问题的解决方法:http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=585<br />解决方法有两个:一,在windows xp中进入控制面板,禁止鼠标加速。二,在xen配置文件中使用usb tablet,如下:<br />#---------------------------------------------------
2010-12-16 10:49:00 10458 1
转载 xen磁盘转换成virtual box格式
<br />原文:http://www.ezunix.org/index.php?title=Convert_XEN_image_files_to_VirtualBox_image_files Introduction <br />Sun xVM VirtualBox is an X86 virtualization software package. <br />Compared with other established commercial virtualization software
2010-12-16 10:48:00 5590
原创 xen中多个虚拟机共享一个image文件的方法
<br />xen中多个虚拟机共享一个image文件的方法 在网格中为每个到来的用户作业启动一个专用的虚拟机群去运行。这个虚拟机群中的多个虚拟机可能会被调度到同一个物理机上去,每个虚拟机需要一个image文件,这就需要传输多个image文件到同一个物理机,一个image文件有数G大小,传输和存储的代价都很大。但是多个虚拟机启动使用的操作系统代码和运行作业时的应用程序代码都是一样的,有条件共享以提高效率。<br />以下是试探在xen中如何实现单image多虚拟机的过程:<br
2010-12-16 10:46:00 7908
原创 vmware创建虚拟机生成和各个文件作用
<br />vmware创建一个虚拟机生成的各个文件的作用vmware创建一个虚拟机后,会在虚拟机目录下生成以下文件:<br />[whb@jcwkyl vm1]$ ls<br />vm1.nvram vm1.vmdk vm1.vmsd vm1.vmx vm1.vmxf vmware-0.log vmware-1.log vmware-2.log vmware.log<br />可以看到,有nvram,vmdk,vmsd, vmx, vmxf, log这几种文件。<br />
2010-12-16 10:45:00 22554 1
原创 linux屏幕截图之滚动截屏
<br />linux下屏幕截图介绍 在http://blog.guoshuang.com/?p=4232总结了十种屏幕截图方法,非常不错。原文附在后面,这里先补充一点关于“滚动截屏”:<br />似乎这是一个很实用的需求,尤其是在截取一些精美网页的时候,截取网页在firefox中有个ScreenGrab插件,对于网页截图这款插件足够。其它场合下的滚动截屏,google一下在fedora论坛上有一个解释http://forums.fedoraforum.org/showthread
2010-12-16 10:43:00 14120
原创 linux下十六进制文件编辑器
<br />vim作为十六进制编辑器用vim打开二进制文件,切换到command模式,输入 :%!xxd可以把当前打开的文件转化为十六进制编辑模式,编辑完成以后再 :%!xxd -r转换回去保存。<br />在vim下,首先找开文件,按<esc>键,输入:%!xxd可以把当前buffer中的文件转换成十六进制和ASCII的形式,其中十六进制部分可以编辑,但ASCII部分不会随着编辑同步变动。编辑完成后,按<esc>键,输入:%!xxd-r可以把文件转换回去,然后保存文件。%!xxd中的%是c
2010-12-16 10:41:00 14875 1
原创 linux下使用mplayer观看高清电影
<br />在centos下使用mplayer看高清电影,没想到出奇的卡。在网上搜索到一篇非常好的解决方法附在最下面。这里先记录自己实际的解决方法:<br />解决方法一:使用mplayer -framedrop参数来播放,效果也不错。<br />解决方法二:按照下文介绍的第2种方法,使用多线程mplayer来播放。由于下文中的链接不可用,另外git的代理配置也麻烦,所以直接去mplayer官方网站下载最新的mplayer的源代码包,接着去http://src.chromium.org/
2010-12-16 10:39:00 114806
原创 html标签嵌套规则
<br />最近需要修改一个管理系统,一段用到insertAdjacentHTML的javascript代码有奇怪的表现,最后在论坛上得到答案是管理系统的HTML代码没有遵守标签嵌套规则,具体是以前的代码中在ul标签下嵌套了div,但这是不允许的,根据嵌套规则,ul中只能嵌套li标签,在li标签中可以嵌套div标签。<br /><br />在http://www.cs.tut.fi/~jkorpela/html/nesting.html找到了一份很明了的嵌套规则,贴在下面:Allowed
2010-12-16 10:37:00 6679
原创 error: cannot restore segment prot after reloc
<br />在centos上有时候会遇到类似这样的错误:<br />[root@jcwkyl ~]# openssl<br />openssl:error while loading shared libraries:/opt/gt4/lib/libcrypto_gcc32.so.0: cannot restore segment prot afterreloc: Permission denied<br />这很可能是因为selinux设置成了enforce,把它禁用掉试一下:<b
2010-08-11 08:27:00 1174
原创 xen3.0启动虚拟机fsimage.so的问题及解决
<br />[root@jcwkyl myvms]# xm create sge-master <br />Using config file "./sge-master".<br />Traceback (most recent call last):<br /> File "/usr/bin/pygrub", line 26, in ?<br /> import fsimage<br />ImportError:/usr/lib/python/fsimage.so: sy
2010-08-11 08:26:00 1502
原创 好用的工具---screen命令
<br />问题场景:要在服务器上配置环境,但是我的电脑无法直接连到服务器上,通常要经过好几次ssh跳转。配环境需要设置好几个用户,这自然需要同时打开好几个连接服务器的终端窗口,每个连接到服务器的终端窗口都要经过好几次ssh才能连接,不胜其烦。中转的电脑没有root权限,不能用iptables等工具设置端口映射。<br />解决方法:在从我电脑起的下一跳电脑上使用screen创建好几个session窗口,每次连接到下一跳电脑上就可以直接进行配置环境的操作。<br />screen用法:<
2010-08-11 08:24:00 3385
原创 sudoers文件设置简记
<br />sudoers文件控制哪些用户可以执行哪些操作,root用户可使用visudo命令编辑/etc/sudoers文件。<br />sudoers文件的语法非常简单,总的来说,它定义了一系列映射关系:<br /><user> <host> ---------- <operator> : <command><br />设置sudoers文件实质上就是操作这样的映射关系,这个映射关系表示允许user在host上以operator的身份执行command指定的命令,operator默认是
2010-07-23 11:07:00 1495
原创 sparse image file的创建和使用
<br />sparse file的文件以sparse方式存储,其优点是延迟分配磁盘空间,原理可类比于可执行文件中的.bss段。<br />sparse file尤其适合作为虚拟机的磁盘映像文件。它仅保留一些创建时用户指定的文件大小信息以及其他的metadata,使用allocation on demand的方式,用多少分配多少,既快又方便。<br />创建sparse image file主要依靠dd命令的seek参数,比如要创建一个5G的虚拟磁盘映像:<br />[root@jcwkyl myv
2010-07-19 09:53:00 6357
原创 使用lvm进行分区管理
<br />在我看来使用lvm的好处有两个:可以很方便地动态expand/shrink分区大小;不受分区个数的限制。<br />在howtoforge网站有非常好的lvm使用的介绍:http://www.howtoforge.com/linux_lvm<br />这里记录自己的操作过程:<br /><br />1.使用pvcreate创建physical volumn<br />[root@jcwkyl ~]# fdisk -l<br /><br />Disk /dev/sda: 320.0
2010-07-19 09:17:00 1436
原创 mount一个lvm格式的磁盘映像文件
<br />如果是非lvm格式的,则非常方便,给mount命令传递offset参数即可,例如:<br />[root@jcwkyl xen-images]# fdisk -lu centos_vm1<br />last_lba(): I don't know how to handle files with mode 81ed<br />You must set cylinders.<br />You can do this from the extra functions menu.<br /
2010-07-18 21:44:00 5566
原创 linux系统增加swap分区大小
准备物理分区。工具有:fdisk,partd等。要注意的是,如果如果要单独对硬盘上的某一个分区操作,比如要格式化/dev/sda4这块分区,则整块/dev/sda都不能使用,如果恰好root文件系统就在/dev/sda上,只有用光盘启动linux到rescue模式再进行相应的格式化或者别的操作。创建swap filesystem,例如:[root@jcwkyl vm]# mkswap /dev/xen_space/swap激活swap 分区,例如:[root@jcwkyl vm]# swap
2010-07-18 21:42:00 1224
原创 PhpNewsReader---不使用iconv进行字符编码转换
<br />服务器上是apache2.2.4 + php4.4.6,使用php4内置的mysql模块。<br />任务是修改一个管理系统,使查询数据能够导出到excel中去,我使用pear来完成导出到excel的工作。终端用户都使用中文IE,都是GBK编码,但是数据库里的数据是UTF8编码,所以需要做编码转换。问题是:服务器上的php4没有iconv模块。<br /><br />解决思路一:让excel使用utf8编码,使用:header("Content-type: application/vnd
2010-06-20 18:44:00 1231
原创 php解析html
<br />老师给了一个会议论文统计的excel文件,其中统计了总共提交的将近200篇论文的ID, 最终题目,作者,任务是把每一篇论文的email填充上去。手动填充费时易错,于是考虑写程序来做这件事:<br />使用php的pear库直接读写excel文件。需要安装 pear,可能还需要做些配置工作,额外工程量太大;把excel文件另存为csv文件。缺点是太不直观;把excel文件另存为html文件,直接解析html;<br />下面是用php解析html文件并填充论文email的php代码
2010-06-20 17:52:00 6164
原创 apache防止ddos攻击的几个有用工具
<br />一:<br />来自http://www.inetbase.com/scripts/的ddos脚本。这套脚本的开发初衷就是为了防止ddos攻击,它周期性运行(比如每隔一秒),每次运行时使用netstat命令记录下当前的网络连接情况,从记录的数据中筛选出客户机的IP并统计出每个客户IP的连接数,将连接数与设定的阈值相比,如果一个IP有过多的连接,它将被放入黑名单。放入黑名单的IP在一段时间内(比如10分钟以内)向服务器发送的请求将被iptables丢弃。<br />这个脚本
2010-06-20 17:50:00 5406
原创 session被共享的问题及解决
服务器被网站A和网站B共享,访问A和B的URL分别是http://server/A,http://server/B。用户从客户端C上同时访问站点A和站点B,会被分配同一个SESSIONID。如果非常巧合,A站点的SESSION和B站点的SESSION使用了同名的变量,就会产生很大的问题。导致问题的原因是在php.ini的默认设置中:; The path for which th
2010-05-29 21:46:00 2354
原创 web server使用php生成web页面的三种方式
查找mysql_pconnect时在mysql帮助文档上发现的,记在这里。web server使用php生成一个web页面的三式有以下三种:一:把PHP作为CGI Wrapper。这种方式下,每个到达web server的请求都会导致一个php解析器进程被创建,当这个php页面执行结束时,这个php解析器进程终止。二:在多进程的web server中,把php作为web
2010-05-29 21:44:00 1286
原创 mysql得到查询结果的同时统计查询结果的数目
做一些数据库查询,不仅希望得到要查询的结果,还希望方便地统计一下查询结果中有多少条记录。我通常的做法是:$q = "select * from $fromTable where $where limit $start,$pageSize";$r = mysql_query($q);$q = "select count(*) from $fromTable where $where";
2010-05-29 21:41:00 21818
原创 php开发web程序的几点经验记录
以前把php当作一个纯粹的系统编程脚本,从3月份开始第一次使用php写web网站,一点经验在这里总结一下。 一:打开错误显示和错误日志。在php.ini中把dispaly_errors设置为On,或者在脚本开头用ini_set(display_errors, On)。二:调试工具必备。需要两种调试工具:第一种是调试php脚本的,就像C调试器那样可以在脚本中设置断点,单步
2010-05-29 21:31:00 1567
phrame 示例代码
2009-10-31
王晓东:算法与数据结构学习指导与习题解析[1]\王晓东:算法与数据结构学习指导与习题解析.pdf
2008-10-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人