January 8, 2012
FreeBSD中重新分区提示”ERROR: Unable to write data to disk ad0! To edit the lables on a running system set sysctl kern.geom.debugflags=16 and try again.”的解决办法
"\u003cp\u003e今天将FreeBSD系统重新安装系统的时候.将原来的分区全部删除.进行重新分区,而按下W进行分区保存的时候.提示以下错误:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eERROR: Unable to write data to disk ad0! To edit the lables on a running system set sysctl kern.geom.debugflags=16 and try again.\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e解决办法如下:\u003c/p\u003e\n\u003cp\u003e用root权限运行以下任何一条命令:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e#sysctl -w kern.geom.debugflags=16\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e或者\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e#sysctl kern.geom.debugflags=16\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e你可以用sysctl -a查询你系统的所有内核子系统的配置参数,在具备权限的情况下,你可以修改配置变量,其中有一些只读的属性无法修改,有一些属性只能在开机时设定而不是运行时动态修改的也不能改(这些参数/属性在/boot/loader.conf中调整和修改)\u003c/p\u003e"
January 7, 2012
FreeBSD启动出现”My unqualified host name unkown…Sleeping for retry”的解决办法
"\u003cp\u003e最简单的方法是把/etc/rc.conf里的hostname改成”localhost”。即\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ehostname=”localhost”\u003c/p\u003e\u003c/blockquote\u003e"
December 29, 2011
二维数组和指针(C语言)
"\u003cp\u003eint *p,a[5],b[3][4];\u003c/p\u003e\n\u003cp\u003e指针变量给一维数组赋值,可以写成p=a;或则p=\u0026amp;a[0];\u003c/p\u003e\n\u003cp\u003e二维数组需要写成 p=b[0];\n以下为指针与二维数组实例:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#include \u0026lt;stdio.h\u0026gt;\nmain() {\n int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};\n int (*p)[4]=a;\n\n printf(\u0026#34;%d\\n\u0026#34;,*(*(p+2) + 3));\n}\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e输出结果为:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e23\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e===========================\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e应该注意指针数组和二维数组指针变量的区别。这两者虽然都可用来表示二维数组,但是其表示方法和意义是不同的。\u003c/strong\u003e\n二维数组指针变量是单个的变量,其一般形式中”(*指针变量名)”两边的括号不可少。\u003c/p\u003e\n\u003cp\u003e而指针数组类型表示的是多个指针(一组有序指针)在一般形式中”*指针数组名”两边不能有括号。\u003c/p\u003e\n\u003cp\u003eint (*p)[3];\n表示一个指向二维数组的指针变量。该二维数组的列数为 3或分解为一维数组的长度为3。\nint *p[3]\n表示 p 是一个 …\u003c/p\u003e"
December 28, 2011
如何安装nginx的第三方模块
"\u003cp\u003e昨天晚上一口气将agentzh写的” \u003ca href=\"http://blog.sina.com.cn/s/blog_6d579ff40100xm7t.html\"\u003eNginx变量漫谈1-8\u003c/a\u003e“看完了.于是手动测试一下这些第三方模块.\u003c/p\u003e\n\u003cp\u003e这里以HttpEchoModule模块为例.\u003c/p\u003e\n\u003cp\u003e由于以前安装过nginx,所以这里重新configure一下.并且指定新添加的模块路径.使用–add-module=/path/to/module_name指令.可以参考:\u003c/p\u003e\n\u003cp\u003e这里只指定了一个HttpEchoModule这个模块.模块下载地址见:,如果有多个模块的话,只需要多次使用-add-module指令即可.\u003c/p\u003e\n\u003cp\u003e先下载HttpEchoModule模块\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecd /usr/src/soft/nginx-1.1.1/\nmkdir module\ncd module\nwget \u0026#34;https://github.com/agentzh/echo-nginx-module/tarball/v0.37rc7\u0026#34;\ntar zxvf v0.37rc7\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e重新配置加入第三方模块\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecd /usr/src/soft/nginx-1.1.1\n./configure --user=www --group=www …\u003c/code\u003e\u003c/pre\u003e"
December 24, 2011
Lua中非全局函数的写法
"\u003cp\u003e这里共有三种写法,这里基本上是将函数和表组合的写法.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1.表和函数放在一起\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eLib = {}\nLib.foo = function (x, y) return x + y end\nLib.goo = function (x, y) return x -y end\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003cstrong\u003e2.使用且构造函数\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eLib = {\n foo = function (x, y) return x + y end,\n goo = function (x, y) return x - y end\n}\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e注意第一个函数后面有一个逗号”,”\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3.Lua提供的另一种语法\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eLib = {}\nfunction Lib.foo (x, y)\n return x + y\nend\nfunction Lib.goo (x, y)\n return x -y\nend\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e当我们将函数保存在一个局部变量内时,我们得到一个局部函数,也就是说局部函数像局部变量一样在一定范围内有效。这种定义在包中是非常有用的:因为 Lua把 chunk当作函数处理,在 chunk内可以声明局部函数(仅仅在 chunk 内可见),词法定界保证 …\u003c/p\u003e"
December 23, 2011
详解如何让EditPlus支持LUA教程
"\u003cp\u003e如何让\u003cstrong\u003eEditPlus\u003c/strong\u003e支持\u003cstrong\u003eLUA\u003c/strong\u003e教程是本文要介绍的内容,这次主要介绍一下学习\u003cstrong\u003eLua\u003c/strong\u003e之前的准备工作。关于在\u003cstrong\u003eEditPlus\u003c/strong\u003e中实现\u003cstrong\u003elua\u003c/strong\u003e的安装,具体内容来看本文详解。\u003c/p\u003e\n\u003cp\u003e(1) 下载Lua安装包,最新版本是lua-5.1.3. 它的体积很小,只有210K, \u003ca href=\"http://luaforge.net/frs/?group_id=377\"\u003ehttp://luaforge.net/frs/?group_id=377\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这是WINDOWS版本. 附带了编辑器,连环境变量都一次搞定了。\u003c/p\u003e\n\u003cp\u003e(2)安装\u003cstrong\u003elua\u003c/strong\u003e包\u003c/p\u003e\n\u003cp\u003e(3)安装EditPlus编辑器:\u003c/p\u003e\n\u003cp\u003e(4)让EditPlus支持lua高亮\u003c/p\u003e\n\u003cp\u003e下拉菜单”工具” — “首选项” ,选择”语法”. 点击”添加”按钮增加一个文件类型,在下面的”描述”和”扩展名”栏里都填写lua。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e下面设置语法文件\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003elua.stx文件下载地址:. 注意要按一下”载入”按钮.\u003c/p\u003e\n\u003cp\u003e再设置好”自动换行”和”缩进”.\u003c/p\u003e\n\u003cp\u003e(5)让EditPlus能调用Lua5调试代码\u003c/p\u003e\n\u003cp\u003e选择左面的”用户工具”,点击右面的”添加”–“应用程序”之后,”菜单文本”填 Run_Lua5″命令”栏, 需要写明你步骤(2)安装的lua5系统的位置.在”参数”栏, 选择”文件路径”, 或者$(FilePath) …\u003c/p\u003e"
December 23, 2011
详解LUA开发环境配置
"\u003cp\u003e这里系统为centos6.2 的64系统.\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#wget http://www.lua.org/ftp/lua-5.2.0.tar.gz\n# tar zxvf lua-5.2.0.tar.gz\n# cd lua-5.2.0\n# make\nPlease do \u0026#39;make PLATFORM\u0026#39; where PLATFORM is one of these:\naix ansi bsd freebsd generic linux macosx mingw posix solaris\nSee doc/readme.html for complete instructions.\n# make generic\n# make install\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e至此lua环境已经配置成功.下面我们测试一下,直接输入lua命令:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e# lua\nLua 5.2.0 Copyright (C) 1994-2011 Lua.org, PUC-Rio\n\u0026gt; print(\u0026#34;Hello Lua\u0026#34;)\nHello Lua\n\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e每个语句结尾的分号(;)是可选的,但如果同一行有多个语句最好用.\u003c/p\u003e\n\u003cp\u003e你键入的每个 …\u003c/p\u003e"
December 15, 2011
xen、kvm、vmware、hyper-v等虚拟化技术的比较
"\u003cp\u003e最近在实战Xen中,这篇文章是最近在网上看到的,发出来分享一下。\u003c/p\u003e\n\u003cp\u003exen和kvm,是开源免费的虚拟化软件。\nvmware是付费的虚拟化软件。\nhyper-v比较特别,是微软windows 2008 R2附带的虚拟化组件,如果你买了足够的授权,hyper-v(包括hyper-v 2008 core)都可以免费使用。\u003c/p\u003e\n\u003cp\u003e如果是vmware或hyper-v虚拟windows系统,不管是虚拟化软件本身,还是其中的子系统,都要支付许可费用。\n如果是vmware或hyper-v虚拟linux,虚拟化软件本身要支付许可费用,子系统可以用linux来节省成本。\n如果是xen或kvm虚拟windows,其中的子系统要支付许可费用。\n如果是xen或kvm虚拟linux,那么虚拟化软件本身和其中的子系统无需产生任何费用。\u003c/p\u003e\n\u003cp\u003e从性能上来讲,虚拟windows,如果都能得到厂商的支持,那么,性能优化可以不用担心。这几款软件全都能达到主系统至少80%以上的性能(磁盘,CPU,网络,内存),这时建议使用hyper-v来虚拟windows,微软自身的产品,虚拟windows是绝对有优势的。如果是虚拟linux,建议首先使 …\u003c/p\u003e"
December 15, 2011
新浪微博开放平台Redis实践(PPT+视频)
"\u003cp\u003e新浪微博对Redis的大量应用已经是业界闻名,说是全球最大的使用者可能也没什么问题。下面PPT的作者是新浪微博负责Redis使用工程师唐福林同学。为大家解答了微博为何要使用Redis,又是如何使用Redis的。\u003c/p\u003e\n\u003cp\u003eppt文档pdf版见:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"http://www.slideshare.net/mysqlops/redis-9806617\" title=\"新浪微博开放平台Redis实战\"\u003e新浪微博开放平台Redis实战\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eView more \u003ca href=\"http://www.slideshare.net/\"\u003epresentations\u003c/a\u003e from \u003ca href=\"http://www.slideshare.net/mysqlops\"\u003emysqlops\u003c/a\u003e\u003c/p\u003e"
December 14, 2011
ubuntu下pdf阅读器安装
"\u003cp\u003e在ubuntu下打开windows系统下的pdf文件,无法正常显示,只有乱码。\u003c/p\u003e\n\u003cp\u003e于是安装pdf阅读器,可直接在终端命令行输入如下命令:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003esudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e就可以了。\u003c/p\u003e"
December 14, 2011
Ubuntu安装Fcitx(小企鹅五笔输入法)
"\u003cp\u003eUbuntu自带的输入法不太尽如人意思,用起来也不方便,我在Ubuntu和FC中都是用Fcitx,很好用!\u003c/p\u003e\n\u003cp\u003e安装配置如下:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1. 安装 fcitx\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003esudo apt-get install fcitx\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. 配置默认输入法为 fcitx\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eim-switch -s fcitx // 注意无须加 sudo\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. 重启 x-window\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e重启之后,fcitx 输入法应当正常启动,输入条将显示在屏幕最上面,不过输入框中文显示可能是 “口口”,需要小小的改动。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e4. 修改配置文件\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003egedit ~/.fcitx/config\u003c/p\u003e\n\u003cp\u003e//如果没有配置gedit 支持GB18030编码,打开后文件会是乱码(此处针对9.10前版本,9.10无需配置已支持)\u003c/p\u003e\n\u003cp\u003e修改如下几项:\u003c/p\u003e\n\u003cp\u003e显示字体(中)=YaHei Consolas Hybrid //\u003cstrong\u003e主要是看你的OpenOffice中有什么字体,加进来就行\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003eEnter键行为=1 # =1表示回车时清除输入框中输入的内容,随个人喜好设置\u003c/p\u003e\n\u003cp\u003e上一页=, # 使用 , . 翻页,随个人喜好设置\u003c/p\u003e\n\u003cp\u003e下一页=.\u003c/p\u003e\n\u003cp\u003e[输入法]\u003c/p\u003e\n\u003cp\u003e使用拼音=0\u003c/p\u003e\n\u003cp\u003e拼音名称=智能拼音\u003c/p\u003e\n\u003cp\u003e使用双拼=0\u003c/p\u003e\n\u003cp\u003e双拼名 …\u003c/p\u003e"
December 12, 2011
CentOS 6.0 VNC远程桌面配置
"\u003ch1 id=\"比如你的桌面号为10000则vnc的连接端口号为59001000015900\"\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2011/12/vnc_server.jpg\"\u003e\u003cimg src=\"http://blog.haohtml.com/wp-content/uploads/2011/12/vnc_server.jpg\" alt=\"\"\u003e\u003c/a\u003e\n\u003cstrong\u003e引言:\u003c/strong\u003e\n必须明白:\nvncserver在调用的时候,会根据你的配置来启用server端的监听端口,\n端口默认是从5900开始,再加上你的桌面号。\n比如你的桌面号为1,则vnc的连接端口号为5900+1=5901\n比如你的桌面号为10000,则vnc的连接端口号为5900+10000=15900\u003c/h1\u003e\n\u003cp\u003e下面配置VNC服务器,使用户(root)能够通过vnc客户端远程连接到linux系统的图形界面(前提是你的服务器要安装桌面)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1、检查linux系统是否安装VNC\u003c/strong\u003e\n在终端窗口输入命令:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003erpm -q vnc-server\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e返回信息如下\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003epackage vnc-server is not installed\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e说明vnc服务器没有安装\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2、运行以下命令进行安装:\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e****yum install vnc vnc-server\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e3、启动VNC服务\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e****vncserver\nYou will require a password to access your desktops.\nPassword:\nVerify:\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e会提示输入密码,这个密码是远程登录时所需要输入的密码,输入密码,回车\n**4、切 …\u003c/p\u003e"
December 12, 2011
Centos64位系统下”configure: error: libjpeg.(a|so) not found”的解决办法
"\u003cp\u003e刚刚发布了Centos6.1新版本.就下载了64位的版本进行测试.\u003c/p\u003e\n\u003cp\u003e按照原来的lnmp安装教程.在安装php的过程中.执行到./configure 这一步的时候.竟然提示”configure: error: libjpeg.(a|so) not found”这项错误.明明已经安装过了libjpeg 和libjpeg-devel了.可这里仍然提示找不到库文件.很明显是路径的问题.默认会在/usr/lib/目录里查找相应的文件.但用whereis libjpeg发现.libjpeg被安装在了/usr/lib64/目录里.\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e[root@bogon php-5.2.17]# whereis libjpeg\nlibjpeg: /usr/lib/libjpeg.so /usr/lib64/libjpeg.so\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e1.如果提示”configure: error: libjpeg.(a|so) not found”错误\u003c/p\u003e\n\u003cp\u003e所以这里我们需要复制一份libjpeg.so到/usr/lib/目录里才可以.再次执行./configure命令即可.\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecp -frp /usr/lib64/libjpeg.* …\u003c/code\u003e\u003c/pre\u003e"
December 11, 2011
git init 和git –bare init 的具体区别?
"\u003cp\u003e一般个人使用,用git init,这时候你的工作区也在这里。你要是想建立一个固定的地址让大家一起用,就在服务器上用git –bare init。\u003c/p\u003e\n\u003cp\u003e其实你可以看到,init建立的.git目录内容和–bare建立的目录内容是差不多的。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e在初始化远程仓库时最好使用 git –bare init 而不要使用:git init。这样在使用hooks的时候,会有用处。\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset –hard才能看到push后的内容.\u003c/p\u003e"
December 11, 2011
“remote:error:refusing to update checked out branch:refs/heads/master”的解决办法
"\u003cp\u003e在使用Git Push代码到数据仓库时,提示如下错误:\u003c/p\u003e\n\u003cp\u003e[remote rejected] master -\u0026gt; master (branch is currently checked out)\u003c/p\u003e\n\u003cp\u003e错误原型\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eremote: error: refusing to update checked out branch: refs/heads/master\u003c/p\u003e\n\u003cp\u003eremote: error: By default, updating the current branch in a non-bare repository\u003c/p\u003e\n\u003cp\u003eremote: error: is denied, because it will make the index and work tree inconsistent\u003c/p\u003e\n\u003cp\u003eremote: error: with what you pushed, and will require ‘git reset –hard’ to match\u003c/p\u003e\n\u003cp\u003eremote: error: the work tree to HEAD.\u003c/p\u003e\n\u003cp\u003eremote: error:\u003c/p\u003e"