一堆小Tips (1)

青蛙离职在即,在东软混了三年,在工作中积累的一些小技巧。 估计这些技巧到了其他公司基本上用不到了。 记录一下,方便后来人。 青蛙准备分几天写完,每天一个小Tips。

今天要说的是IPsec VPN的密码问题。

搞安全的部门自然有安全部门的特色,所有的服务器都需要拨VPN才能访问。 用Windows的童鞋们都很幸福,第一次连接的时候输入帐号密码,然后选保存密码,下次就可以直接登录了。 但是Linux的童鞋就比较麻烦了,按照部门攻略上的办法,每次都要输入密码。

青蛙在ipsec.conf(5)里面找到了这个问题的解决办法。

首先要编辑一下/etc/ipsec.conf

conn work

left=10.x.x.xxx
leftnexthop=10.x.x.1
leftid="C=cn,ST=liaoning,O=neusoft,OU=nsd,CN=xxx_l …
more ...

测试linux系统的启动速度

今天看到blog一则,话说 ubuntu9.04竟然可以在14秒内启动

于是青蛙拿bootchart测了一下自己的debian。

青蛙自己的系统用了33秒,其中有启动vmware和virtualbox的服务的时间, 还有启动ntfs-3g、lighttpd、transmission、wicd的,比较起来,成绩还不算太差。

不过wicd是用python写的,加载确实比较耗时, 但是network-manager的可定制性实在不高,不知道还有没有同类的软件可以替换。

另外,bootchart加载之前的一段时间应该是内核加载的时间,看来青蛙还要继续精简内核才行。

顺便记录一下bootchart的使用方法。说起来也很简单,统共分3步。

  1. 装好bootchart之后,配置自己的bootloader,例如grub,在内核选项里面加上一句: init=/sbin/bootchartd。
  2. 重启,bootchart自己就会在后台记录启动信息,默认保存在/var/log/bootchart.tgz中。
  3. 完成启动后,运行bootchart命令,它就会把启动信息转化为下面这张图啦。

bootchart

more ...

在debian sid上面安装eva

debian-ubuntu

自从青蛙人品爆发,在pidgin上面死活登录不上QQ以后,青蛙都是在wine上面跑QQ。 在wine上面速度慢不说,QQ时不时的来一下非法操作就把青蛙折磨的死去活来。 据说最近eva又升级了,于是青蛙决定换用eva。

Debian的apt里面是没有eva的。 青蛙上网搜了一圈,也没有发现eva的升级包,连 它的主页 上也都还是很久很久以前的版本(大概eva已经转入地下了)。

青蛙最后在ubuntu的源里面终于翻倒了eva的deb包了。

eva在ubuntu源的universe里面,随便找一个ubuntu的镜像(青蛙用的是 中科大的源 ),在/pool/universe/e/eva目录里找到 eva_0.4.9+svn20080215-0ubuntu1_i386.deb ,下载回来备用。

在正式安装eva之前,青蛙还要搞定它的依赖性问题。

ubuntu里面的eva是依赖于kdelibs4c2a这个包的。 但是debian里面的kdelibs4c2a存在一个依赖性的bug:

它依赖于包libopenexr2ldbl,但是这个包在debian的i386源里面竟然没有。

于是青蛙再从ubuntu源里把 libopenexr2ldbl 给抓回来,dpkg -i安装之,然后执行# aptitude install kdelibs4c2a,安装一系列的依赖包。

顺便说一句,debian跟ubuntu这两个兄弟有时候还真不错,互相谁也不挑谁的 …

more ...

世界上最小的linux

picotux

2

上面的图片就是号称世界上最小的linux:

picotux 100

(右侧为picotux 112)。

这个小东西只有35mm×19mm×19mm大小,只比一个RJ45接口大了那么一点点。

它使用32-bit ARM 7 Netsilicon NS7520处理器,主频55MHz, 搭载2M~4M Flash和8M SDRAM,带有一个10/100M网卡, 一个可以达到230.400 bps的串口,还有5个I/O针脚。 使用3.3V电压供电。

软件方面,它使用uClinux 2.4.27系统,系统大小最少720KB。

Shell可以使用Busybox,使用CRAMFS、JFFS2文件系统, 还可以使用NFS,有Webserver、Telnet等等程序。

开发工具使用GUN Toolchain,使用GCC3.4.4以上版本和ulibc0.9.26以上版本。

这东东售价最低99欧元。

more ...

glinux开发摘要(2)-构建目录结构

下面的操作步骤青蛙基本上是从 lfs6.3 学来的,所以会有$LFS这个变量,如果你对lfs也有兴趣,可以 去它的官方网站 看看。

青蛙编译完成了toolchain以后,就可以开始建造glinux的目录体系了。

首先,构造虚拟内核文件系统(Virtual Kernel File Systems),这个东东是跟内核通信的一个途径。

执行下面的命令,来建立文件系统的挂载点:

mkdir -pv $LFS/{dev,proc,sys}

然后,建立几个必要的设备文件,

mknod -m 600 $LFS/dev/console c 5 1
mknod -m 666 $LFS/dev/null c 1 3

青蛙准备用udev来管理设备文件,所以只建立这两个文件就够了, 其他文件udev会在系统启动的时候自动创建 …

more ...

glinux开发摘要(1)--编译环境制作

在uty同学的积极鼓励下,青蛙开始了glinux下一个版本的制作 (关于glinux的历史,欢迎回顾青蛙从前的日志)。

一开始,青蛙准备利用debian现成的编译环境, 但是后来突然想自己构建一个工具链比较好。 工具稳定下来,做出来的东西才比较有保障。

于是,青蛙从新拾起lfs,开始第二轮lfs征程, 不过这次lfs只做三分之一,青蛙的目标就是:lfs6.3的Toolschain。

具体操作过程没啥好说的,简单的step by step就好, 但是在制作过程中,遇到了几个bug (可能也算不上bug,可能是青蛙系统的原因)。

这第一个,就是在glibc-2.5.1这步,会遇到下面这个错误:

mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed (bad class -- [], [^] or [)
/[^
mawk: scripts/gen-sorted.awk: line 19 …
more ...

历经坎坷,安装VMWARE6

青蛙被vmware郁闷了整整一晚上,遇到问题无数, google了一大把关键字,看了一大叠邮件列表, 终于把它在2.6.24内核上给装上了。

赶紧写下来,免得以后遇到类似的问题再抓瞎。

(请注意青蛙给出命令的提示符,$表示不要求root权限,#表示必须用root权限执行)

  • http://www.vmware.com/download/ws/ 这里vmware6的安装包下载回来,总共有200多M。
  • 下载安装包的同时,还需要准备一些包: # aptitude install linux-source gcc-4.1 g++-4.1 libncurses5-dev 这些是linux源码包,还有gcc跟g++,待会编译模块会用到。
  • 解压vmware6的安装文件 $ tar zxvf VMware-workstation-6.0.2-59824.i386.tar.gz
  • # cd  vmware-distrib && ./vmware-install.pl。一路回车,到提示是否执行 …
more ...