星期一, 三月 13, 2006
Ruby on rails和ruby-mingw
最近几天在学习ruby on rails.使用了mingw版本的ruby 试了试,有一些功能不正常,比如script\console.查看了rails的源代码发现rails里面很多对ruby平台的判断用的是~/mswin/,我把它改成~/mswinmingw/就好了.
星期日, 二月 05, 2006
OpenVPN
OpenVPN
今天花了两个小时终于学会了OpenVPN的使用。
由于要在国外控制家里的电脑,想要安全的连接,所以要找一种vpn方案,上Google搜索一下终于down到了openvpn和一本pdf的介绍,介绍虽然是linux的,但是在windows上的配置一样。
使用中发现如果协议用TCP的话速度只有UDP的十分之一。还是使用UDP比较好。
最后配置成了开机自动以服务方式运行客户端和服务端。
配置方法等以后有空时再写下来。
在寻找方案的过程中还发现了SoftEther,最然使用很方便,但是对这个不开源的东西不太有好感。
晚上在另一台XP+SP2+kaspersky的机器上配置后,启动服务器端。服务器端自己的tap-win32居然无法得到IP。
查阅了很多资料,可能是和kaspersky冲突,今天回去再试试。
原来真是和kaspersky冲突,只要kaspersky不保护网络就可以正常工作.
星期三, 一月 25, 2006
星期二, 一月 24, 2006
制作U盘启动的FREEBSD完全版
作者:网络 佚名 更新时间:2005-09-12 收藏此页
【IT168 服务器学院】 一:制作可以启动的映象文件
1:dd if=/dev/zero of=/mnt/image bs=1k count=50k
用dd命令生成一个文件,名为image,大小为5M。
2:mdconfig -a -t vnode -f image -u 0
建立一个用image为映象的ramdisk,设备为/dev/md0
-a 增加一个ramdisk
-t 代表ramdisk的类型
-f 代表用来作ramdisk的映象文件
-u 为ramdisk的设备号
3:disklabel -Bw /dev/md0
B 安装启动程序到ramdisk的启动标签。
w 用已有的启动程序写标签。(bsd分区)
4:newfs /dev/md0a
为a分区建立UFS文件系统。
5:mount /dev/md0a /mnt/ram
将md0a设备装载到/mnt/ram目录
6:拷贝启动一个bsd系统需要的文件到/mnt/ram:
包括/boot /etc /bin /sbin /dev /lib /libexec /root 等等。
为了方便检查可
ln -s bin sbin
ln -s bin usr/bin
ln -s bin usr/sbin
ln -s lib usr/lib
ln -s libexec usr/libexec
等等。
为了节约磁盘空间。/usr/lib可根据需要的程序拷贝。例如:sshd
ldd /usr/sbin/sshd命令可以列出sshd需要的lib文件,只拷贝需要的文件。
内核最好从新编译,只保留需要的设备。
然后用kgzip /boot/kernel/kernel压缩。
mv /boot/kernel/kernel.kgz /boot/kernel/kernel
修改/etc/fstab
删除不需要的部分(基本上都不需要)
加入
/dev/md0a / ufs rw 0 0
注意后面一定用0 0.否则rc过不了。因为fsck -p不能用到ramdsk上面。
7:cd /mnt
umount ram
卸载ramdisk
压缩image
gzip -9 image
二:制作可以启动的u盘
8:插入u盘(大多u盘都可以启动,大多p4主板都支持usbhdd方式启动)
disklabel -wB /dev/da0
newfs /dev/da0a
(前面讲过的分区,格式化)
9:只拷贝/boot到u盘。删除不要的ko文件
如果内核编译时选择了所有需要的模块可以全部删除ko文件。
10:编辑u盘里的/boot/default/loader.conf文件,在最后面加入:
exec="unset acpi_load"(如果你需要acpi可以不要这行,当然BIOS也必须打开,如果加入这行,bios中acpi必须打开)
exec=".(空格loading kernel空格) cr"(系统执行到这里将显示括号里的内容)
exec="load kernel"
exec=".(空格loading mdimage ) cr"
exec="load -t md_image /image"
去掉vfs.root.mountfrom=""前面的“#”号在“”号中填入:ufs:/dev/md0a
系统将/dev/md0a装载为根目录。
11:将image.gz 拷贝到u盘。
12:启动测试。
备注:
1:在测试image文件是否可用时最好直接试用:
方法:启动系统时出现菜单选6
输入:
unload
load kernel
load -t md_image /mnt/image
set vfs.root.mountfrom=ufs:/dev/md0a
boot
然后系统将不从硬盘启动,而从预先装载的image启动,反复检查出错信息,添加需要的文件。
2:多用ldd命令检查程序执行需要的lib文件。
3:由于系统启动过后可能有需要保存的内容,可以利用cron来解决。
比如我的ppp.secret
我写了个简单的sh 在系统启动时拷贝u盘根目录的ppp.secret 到/etc/ppp/和/tmp
然后写了个比较/etc/ppp/ppp.secret /tmp/ppp.secret的sh如果不同就备份/etc/ppp/ppp.secret到u盘根目录。
相信其他的需要保存的内容也可以参考我的方法。
4:这个东西可以运用到很多地方。防火墙、服务器、甚至工作站(ramdisk非常快)
5:本人系正中bsd菜鸟一个,有不对的地方多多提点。
【IT168 服务器学院】 一:制作可以启动的映象文件
1:dd if=/dev/zero of=/mnt/image bs=1k count=50k
用dd命令生成一个文件,名为image,大小为5M。
2:mdconfig -a -t vnode -f image -u 0
建立一个用image为映象的ramdisk,设备为/dev/md0
-a 增加一个ramdisk
-t 代表ramdisk的类型
-f 代表用来作ramdisk的映象文件
-u 为ramdisk的设备号
3:disklabel -Bw /dev/md0
B 安装启动程序到ramdisk的启动标签。
w 用已有的启动程序写标签。(bsd分区)
4:newfs /dev/md0a
为a分区建立UFS文件系统。
5:mount /dev/md0a /mnt/ram
将md0a设备装载到/mnt/ram目录
6:拷贝启动一个bsd系统需要的文件到/mnt/ram:
包括/boot /etc /bin /sbin /dev /lib /libexec /root 等等。
为了方便检查可
ln -s bin sbin
ln -s bin usr/bin
ln -s bin usr/sbin
ln -s lib usr/lib
ln -s libexec usr/libexec
等等。
为了节约磁盘空间。/usr/lib可根据需要的程序拷贝。例如:sshd
ldd /usr/sbin/sshd命令可以列出sshd需要的lib文件,只拷贝需要的文件。
内核最好从新编译,只保留需要的设备。
然后用kgzip /boot/kernel/kernel压缩。
mv /boot/kernel/kernel.kgz /boot/kernel/kernel
修改/etc/fstab
删除不需要的部分(基本上都不需要)
加入
/dev/md0a / ufs rw 0 0
注意后面一定用0 0.否则rc过不了。因为fsck -p不能用到ramdsk上面。
7:cd /mnt
umount ram
卸载ramdisk
压缩image
gzip -9 image
二:制作可以启动的u盘
8:插入u盘(大多u盘都可以启动,大多p4主板都支持usbhdd方式启动)
disklabel -wB /dev/da0
newfs /dev/da0a
(前面讲过的分区,格式化)
9:只拷贝/boot到u盘。删除不要的ko文件
如果内核编译时选择了所有需要的模块可以全部删除ko文件。
10:编辑u盘里的/boot/default/loader.conf文件,在最后面加入:
exec="unset acpi_load"(如果你需要acpi可以不要这行,当然BIOS也必须打开,如果加入这行,bios中acpi必须打开)
exec=".(空格loading kernel空格) cr"(系统执行到这里将显示括号里的内容)
exec="load kernel"
exec=".(空格loading mdimage ) cr"
exec="load -t md_image /image"
去掉vfs.root.mountfrom=""前面的“#”号在“”号中填入:ufs:/dev/md0a
系统将/dev/md0a装载为根目录。
11:将image.gz 拷贝到u盘。
12:启动测试。
备注:
1:在测试image文件是否可用时最好直接试用:
方法:启动系统时出现菜单选6
输入:
unload
load kernel
load -t md_image /mnt/image
set vfs.root.mountfrom=ufs:/dev/md0a
boot
然后系统将不从硬盘启动,而从预先装载的image启动,反复检查出错信息,添加需要的文件。
2:多用ldd命令检查程序执行需要的lib文件。
3:由于系统启动过后可能有需要保存的内容,可以利用cron来解决。
比如我的ppp.secret
我写了个简单的sh 在系统启动时拷贝u盘根目录的ppp.secret 到/etc/ppp/和/tmp
然后写了个比较/etc/ppp/ppp.secret /tmp/ppp.secret的sh如果不同就备份/etc/ppp/ppp.secret到u盘根目录。
相信其他的需要保存的内容也可以参考我的方法。
4:这个东西可以运用到很多地方。防火墙、服务器、甚至工作站(ramdisk非常快)
5:本人系正中bsd菜鸟一个,有不对的地方多多提点。
星期一, 一月 23, 2006
订阅:
博文 (Atom)