frequently-used vim keyboard shortcut commands with cscope and ctags enviroment

ctags -R  "build ctags index files"
cscope -Rbkq  "build cscope index files"

:cs add cscope.out  "input this command in vim, then we can use ':cscope find xx xx' command in vim directly"

ctrl + ]  : jump to define(global define, use "gd" to jump to local variable)
ctrl + t  : return back

[+{ : jump to last matched '{' in the same range level
]+} : jump to next matched '}'

{ : jump to last space line
} : jump to next space line

[+[ : jump to starting of last function
]+] : jump to starting of next function

* : jump to next position where current keywords appear
# : jump to last position where current keywords appear

 

DIY搭建迷你个人电脑-立人2007C机箱与Intel atom ITX主板

目的:攒一台家用计算机,要求省电、静音,并且稍微美观一些,用来完成一些家庭服务器的功能,例如数据服务器、web服务器等。

主板:Intel D945GCLF2D 板载Atom230低功耗CPU,集成Intel GMA 950显示核心,板载百兆网卡。支持DDR2内存。 Continue reading

家庭ADSL搭建LAMP服务器建站(Ubuntu+花生壳DDNS+顶级域名)

本文目的:在家庭ADSL拨号的计算机上架设一台可供外部Internet访问的使用LAMP软件包的web服务器。

1,安装Ubuntu10.04 LTS server 版本。

Ubuntu 10.04是一个LTS长期维护版本,并且由于这里是要架设一个web服务器,所以选用了Server版本。这里可以下载安装光盘的镜像文件,注意选择10.04版本,以及你将要架设的计算机硬件所对应的32/64bit版本。

安装过程我就不赘述了,可以参考这篇文章的安装部分(主要是安装过程中注意选择LAMP server安装包以及OpenSSH安装包)。OpenSSH是为了将来远程SSH登录到这台Server上进行管理操作。

安装并启动后,要配置一下这台Server的网络。编辑“/etc/network/interfaces”文件,加入两行:

auto eth0
iface eth0 inet dhcp

这样服务器启动的时候就可以自动启动eth0接口的DHCP协商获取IP地址。当然记得确认你下你的计算机硬件连接ADSL的接口是eth0还是其他。

2,注册“花生壳”。

花生壳”是一家提供DDNS动态IP域名解析服务的公司,也有其他一些相关网络基础设施产品。因为本文介绍的是使用通过ADSL连接Internet的家庭计算机建站,而ADSL拨号从ISP获取的Internet IP地址是动态的(每次拨号得到的地址可能与上次不同)所以这里使用“花生壳”来将一个固定域名自动动态的映射到每次获取到的IP上,以后无论IP如何变化,都可以使用这个域名来访问这台计算机。 Continue reading

开源路由软件quagga快速安装

1, 下载最新的quagga源码? http://www.quagga.net/download/

2, 解压,进入源码目录,编译之前,先配置:

./configure  --disable-ripd --disable-ripngd --disable-ospfd --disable-ospf6d  --disable-watchquagga --disable-doc --enable-user=root  --enable-group=root --enable-zebra --enable-vtysh

3, 开始编译 :

make && make install

4, 建立配置文件:

cp /usr/local/etc/zebra.conf.sample /usr/local/etc/zebra.conf

5, 启动zebra:   zebra -d

6, telnet登录zebra命令行:

telnet 127.0.0.1 2601

备注:本试验的主机是Fedora14.

参考手册: http://www.quagga.net/docs/docs-info.php

更新家用网络组网拓扑(Linux透明网桥流控与无线网络的组合)

以实验的目的,更新了家里的网络组网,稍微复杂了一点,如下图:

家用网络组网拓扑(Linux流控与无线网络的组合)

家用网络组网拓扑(Linux流控与无线网络的组合)

说明:

根本目的是使用一台Linux PC(实际上是一块二手老主板改造的)作为网关(流控点,透明网桥),管理和优化各接入用户的网络流量。拓扑中还有两台无线路由器,一台LinkSys WRT54G(刷了tomato),另一台是Netgear WGR614,它们各组织一个网络。

LinkSys WRT54G作为拨号节点,向ISP拨号连入互联网,配置其LAN口和Wireless口为192.168.2.0/24网段,接入此网络的PC将以这台LinkSys为网关接入互联网。PC1即是如此。 Continue reading

Linux iptables建立网关的简单实例(支持NAT及FTP连接穿透)

[+]网络拓扑:

outside? —-? eth0+虚拟机A+eth1? —-? eth0+虚拟机B

*我的试验环境如上图所示,虚拟机A的eth0接口与宿主机的连接外网的网卡桥接,所以可以等价为虚拟机A的eth0接口与外网相连,虚拟机A的eth1接口和虚拟机B的eth0接口是使用virtualbox的内网相连。 其实,采用虚拟机组网仅仅是为了方便,针对本文介绍的全部内容,这些机器是否是虚拟机并没什么影响,完全可以将上图中的虚拟机看作实体主机,后面的操作完全与是否虚拟机无关。

*Outside网络中有一台DHCP服务器,以及DNS服务器,这些也不影响本文介绍的核心内容,后面涉及到这两个服务器时会再次说明。

[+]虚拟机A和B都运行Ubuntu8.04

[+]实现思路:虚拟机A配置iptables,使虚拟机A作为这个简单网络的一个安全网关,虚拟机B透过虚拟机A访问outside网络,对外部网络的服务器进行最基本的HTTP浏览和FTP上传下载。并且在一定程度上保护虚拟机B所在的网络不受outside网络的入侵。

配置步骤如下: Continue reading

串口方式登录Virtualbox虚拟的ubuntu机器

环境:主机 Fedora 14,

虚拟机: VirtualBox虚拟的 Ubuntu8.04

目的,在Fedora上登录Ubuntu机器的串口。

步骤:

1、在VirtualBox上为Ubuntu这台虚拟机添加一个hostpipe形式的串口,并将其绑定到/tmp/vboxS0这个文件(如图):

创建hostpipe串口

创建hostpipe串口

2,启动虚拟机

3,修改虚拟机系统的grub,加上”console=tty0 console=ttyS0,9600n8″,这是为了向串口输出,否则串口上什么也看不到。 Continue reading

vsftpd快速匿名用户配置方法

我们有时候会想最快速地架设一个ftp服务器,需求是只要能匿名使用上传、下载功能就可以,并没有什么安全考虑,这里就介绍以下快速的vsftpd服务器的安装和配置(适于常见的fedora或者ubuntu环境,本文讲究的就是快速解决普遍问题):

1, apt-get install(或者yum install) vsftpd, 这步就是最简单方便的安装,你要事有code自己编译安装也好。

2, service vsftpd restart?? 启动ftp服务

3, 如果本机启动了iptables,先service iptables stop暂停,否则ftp client会无法登录(出现No route to host报错)

4, 在vsftpd的配置文件 /etc/vsftpd/vsftpd.conf文件中加上下面几行: Continue reading