March 20, 2015

MTU值所导致的VPN链路故障

MTU即Maximum Transmission Unit(最大传输单元), 它设定了TCP/IP协议所能通过的最大数据包大小, 一般来说, 如果传输的数据包超过该值, 就会被进行分片传输, 最近遇到这么一个故障.

故障环境

机器A通过走VPN访问机器B

A --> VPN --> B

发现A ping得通 B, 从A能ssh登录B, ssh登录后能正常操作常用命令, 但无法从A上scp文件到B, 表现为卡住, 同时使用rsync传文件也会出现卡住的现象

故障定位及分析

从现象上归结为小数据量时可以通, 大数据时过不去, 通过使用ping指定数据包大小来测试, 最后可以......

January 14, 2015

记念Apache2 CheckCaseOnly一个顽固在BUG

手头有个pip源, 用过pip的人都知道, pip安装软件包的时候, 是不区分大小写的, 为了让Apache支持这一个特性, 我在apache的配置中加上了以下配置

CheckSpelling on

CheckCaseOnly on

问题表现

某次用户反馈, 在安装一个名叫twisted包时, 页面报Not Found, 继续测试后发现, 如果用Twisted是可以安装, 但用twisted却Not Found, 而使用TWisted也是可以安装到对应的包的, 这说明apache的大小写修正能起作用

而硬盘上, 实际的对应的目录如下

Twisted

TwistedChecker

Tw......

July 18, 2014

Debian系统降级方法

手底下的服务器因为python版本要求, 需要更新的python版本, 就设置了testing源, 通过testing源升级到了高版本. 可问题来了, 发现这个升级带来了底层库文件的升级(如libc), 出了稳定的目的, 决定通过其它方式来搞定应用要求, 而升级过的服务器要降回去低版本的python, 重装太麻烦了, 我选择了apt降级.

apt升级系统是多么方便, 但如果反过来, 降级是一件痛苦的事情

Debian APT降级系统思路

需要先说明, APT并没有直接提供完善的降级命令. 而所谓的降级系统的本质, 就是系统所有软件版本回到我们需要的版本, 那么通过apt命令, 对所有系统......