日志分类:Debian

Debian 下 CVS 的快速安装、配置及使用

2007-07-30,星期一 | 分类:Debian | 标签: | 621 Views

安装:
apt-get install cvsd
 
配置:
默认的 cvsroot 在 /var/lib/cvsd
改为适合自己的
mkdir /home/cvsroot
cvsd-buildroot /home/cvsroot
这会建立一个 cvsd 的虚拟系统(有如 chroot)。
mkdir /home/cvsroot/repos
初始化代码仓库
cvs -d /home/cvsroot/repos init
使 cvsd 用户/组有权读写代码仓库
chown -R cvsd:cvsd /home/cvsroot/repos
 
接下来修改 /etc/cvsd/cvsd.conf 的配置
RootJail /home/cvsroot
Repos /repos
这里的 /repos 是相对于 cvsd 虚拟系统的 /
 
添加用户:
cvsd-passwd /home/cvsroot/repos bluedata
重启一下
/etc/init.d/cvsd restart
 
客户端的使用:
touch ~/.cvspass
export CVSROOT=:pserver:bluedata@HOST/repos
cvs login
 
附:CVS使用手册

Debian Sarge 升级到 Etch

2007-07-28,星期六 | 分类:Debian | 标签: | 811 Views

Debian 4.0 (Etch) 发布有一段时间了,今天也把我用了好些年的 Sarge 升级上去了。
apt 实在是很方便。
cat /etc/apt/sources.list
deb http://mirrors.shlug.org/debian/ stable main contrib non-free
deb http://mirrors.shlug.org/debian-security stable/updates main contrib non-free
deb http://mirrors.shlug.org/debian/ proposed-updates main non-free contrib
 
apt-get dist-upgrade
基本只需要按回车使用默认配置就升级完了。
一切都是那么简单,赞一个。

Debian Sarge 安装 VMware GSX Server 的奇怪问题

2006-06-09,星期五 | 分类:Debian | 标签: | 554 Views

VMware 的安装不是什么难事,基本上是回车即可。
可是在 Debian Sarge 上执行 /usr/bin/vmware-config.pl 生成 vmmon.ko 时却有意外状况发生,说是找不到内核头文件的 scripts 目录。
虽然已经安装过内核头文件,但是想到很久没有更新过内核了,干脆升级一下内核算了。
# apt-get update
# apt-get upgrade
# apt-cache search kernel-image | grep 2.6
安装相应 CPU 型号的最新内核:
# apt-get install kernel-image-2.6.8-3-686-smp
重启进入新内核的系统,确认没有问题后删除老内核:
# dpkg --purge --force-remove-essential kernel-image-2.6.8-2-686-smp
# apt-get remove --purge kernel-headers-2.6.8-2-686
或许 /boot 和 /lib/modules 下的一些残留文件需要另行删除。
再来安装与新内核相匹配的内核头文件:
# module-assistant prepare
再次运行 /usr/bin/vmware-config.pl ,却还是相同的问题。
到 /usr/src/kernel-headers-2.6.8-3-686-smp 目录下一看,发现 scripts 是个链接,是链接到
../kernel-kbuild-2.6-3/scripts 的,而 /usr/src/kernel-headers-2.6.8-3 下的 scripts 也是个链
接,居然同样链接到了 ../kernel-kbuild-2.6-3/scripts ,-_-! 这要不出错才怪了呢。
怀疑是 apt source 的问题,便把 cn99 的换成了 geekbone 的。apt-get clean 后重新安装,可是问题依旧。
询问使用 Debian testing 的用户,说 scripts 是个目录,里面有相应的脚本,看来是 Debian Sarge
的 bug 了。把 Debian testing 2.6.15 内核头文件的 scripts 目录拷贝过来覆盖掉 /usr/src/kernel
-headers-2.6.8-3/scripts 后再运行 /usr/bin/vmware-config.pl ,这次顺利的编译出了 vmmon.ko 。
就在本机使用 VMware 还需在本机安装 VMware-console ,一路回车就搞定。
对于远程使用 VMware ,值得注意的是 Server 和 Client 通信默认使用的是 902 端口,需要在防火墙中打开这个端口。
一个很有意义的设置是虚拟机可以随宿主系统自动启动/关闭:
VM -> Settings... -> Options -> Startup/Shutdown
选择随宿主系统自动启动/关闭。
启动虚拟主机时报错说 /tmp 空间不够,可以给 VMware 指定一个 tmp 目录:
# vi /etc/vmware/config
增加 tmpDirectory="/home/tmp" 。

Debian 做 ADSL NAT 的 MTU 问题

2006-05-09,星期二 | 分类:Debian, Network | 标签: | 2,814 Views

以前用网关路由器拨号上网时使用微软的东西是没有问题的。现在换成用 Debian 拨号再使用 iptables SNAT 后,MSN 就不能登陆了,打开 www.msn.com.cn 非常慢且只能打开页面的头部,而 windowsupdate.microsoft.com 根本就打不开了。
 
google 后得知修改 PC 网卡的 MTU 值可以解决这个问题。
在 Windows 2000/XP 下修改注册表:
『HKEY_Local_Machine』->『SYSTEM』->『CurrentControlSet』->『Services』->『Tcpip』->『Parameters』->『interface』
找到所使用的网卡,『编辑』->『新增』->『DWORD值』之后,建立一个名为『MTU』的机码,右键『修改』,选择十进制,填入 1480 。
 
但是,这个方法很蹩脚呢,内网中的机器那么多,一个一个去改是很不现实的。
对网关进行修改才是正道。
 
在网关服务器上,
# ip addr sh
发现 ppp 设备的 mtu 值是 1492 。
就在 /etc/ppp/peers/dsl-provider 文件中取消了“mtu 1492”这行的注释并改为了 1480 ,重新拨号却没有变化。在 /var/log/messages 中还看到这样的信息:
Couldn't increase MTU to 1500
Couldn't increase MRU to 1500

没有设置 mtu 值的时候也会有这样的信息,这就意味着 pppoe 忽略了 mtu 这个参数。
 
没办法,继续 google ,有说 plugin rp-pppoe.so 有 bug ,就注释掉这行,改用
pty "/usr/sbin/pppoe -I eth1 -T 80 -m 1480"
结果根本不能拨号了。-_-!
软的不行就来硬的,直接
# ifconfig ppp0 mtu 1480
这下 MSN 能登陆了,但是微软的网站还是打不开。
 
注:Redhat 可以修改 /etc/sysconfig/networking-script/ifcfg-ppp0 ,添加 CLAMPMSS=1480 。
 
最后的解决办法——用 iptables 改 MTU 值。
# iptables -A FORWARD -o ppp0 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j
TCPMSS --clamp-mss-to-pmtu
把出站包大小改为 ppp0 的 MTU 尺寸,这下就一切正常了。
MSS 既 Max Segment Size 。
 
参考资料:鸟哥的 Linux 私房菜——连不上一些网站的处理方法 MTU 修改
 
 
另记:
由于 Microsoft Windows 系列操作系统传送的 TCP 包请求的 segment 太大,超出了 PPPoE 的 frame 所能够接受的范围,导致 PPPoE 传送“don't fragment”的 ICMP 而不是“must fragment”,最终导致网站没有响应。这种情况称为“Black Hole Router”。
—— 2006.05.13 00:30
 
又看了一下 /etc/ppp/ip-up.d 下的脚本,发现 0clampmss 里的内容是这样的:
#!/bin/sh
# Enable MSS clamping (autogenerated by pppoeconf)
iptables -o "$PPP_IFACE" --insert FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
看来 Debian 的 pppoe 也早有考虑。我在做 SNAT 前清空了 iptables 规则,造成 pppoe 添加的 iptables 规则失效了。
—— 2006.06.01 13:48

Debian 上使用 rc.local

2006-04-30,星期日 | 分类:Debian | 标签: | 615 Views

# touch /etc/init.d/rc.local
设置为可执行:
# chmod +x /etc/init.d/rc.local
用 update-rc.d 设置启动级别:
# update-rc.d rc.local start 99 2 3 4 5 . stop 99 0 1 6 .
为了编辑方便,创建一个链接:
# ln -s /etc/init.d/rc.local /etc/rc.local
# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

## start apache
/usr/local/apache/bin/apachectl start

Pages: 1 2 Next