2010年6月30日星期三

网络启动脚本

在前一篇日记中,我写到“目前我发现禁用interfaces里面设置的方法只有把这个文件改名或者挪走”。我想找一个更干净的方法。我以为/etc/init.d/networking是启用网络接口的脚本,就用update-rc.d把这个脚本在/etc/rc?.d/里面的链接删掉,这样networking脚本就不会启动了。谁知下次开机后,网卡依然是按照interfaces里面的设置启用的。

我读了一下这个脚本(Ubuntu 10.04)。首先它默认是在0、6和S的运行级启动的,分别对应关机、重启和单用户模式。其次,脚本的start参数对应的命令只有如下一段:
case "$1" in
start)
/lib/init/upstart-job networking start
;;
看了一下upstart-job这个脚本,由于对Bash脚本不熟,没有仔细研读,待日后再研究。难道networking这个脚本只是用来停止网络接口的?这是瞎猜,不是结论。

2010年6月29日星期二

Network Manager

Network Manager是Ubuntu的网络连接工具,可以让桌面用户方便地管理网络连接。但是Debian系的网络连接在/etc/network/interfaces里面。Network Manager不接管interfaces文件中配置的网络接口。

2010年6月25日星期五

PPTP

在Ubuntu下用ppp连接pptpd服务器,可以连接上。但是通过修改默认路由的网关为pptp服务器端的VPN地址,大多数网站都上不去,只能打开个别网站,比如mitbbs.com,但是在Windows下连接后就可以用VPN上网了,没有问题。这个Windows是在Ubuntu下虚拟机里面的。就是说虚拟机能用VPN翻墙,但是宿主机不能。

后来用Network Manager来连接VPN,那么可以正常上网。试着仿照Network Manager连接VPN后的路由,手动修改路由,可是这样仍然有问题。就是说NM修改了路由,还修改了别的东西。不折腾了,用NM能上就行了。

2010年6月14日星期一

URL重写:从IP到主机名

Apache里面把IP从主机名重写,我是想用mod_rewrite的。搜索到国外的论坛,上面的方法不对,竟然有误导作用。在Freenode的#httpd里面一问就明白了,只用Redirect指令就可以了:

<VirtualHost *:80>
ServerName 1.2.3.4
Redirect / http://example.org/
</VirtualHost>

重点的是ServerName要写成你想重写的IP地址。

2010年6月10日星期四

URI vs URL

URI (Uniform Resource Identifier) 是标识符,URL (Uniform Resource Locator) 是定位符。URL是URI的子集,如图。没想到和这两个概念相关的RFC就有好几个。参考维基百科上URIURL的定义。

2010年6月3日星期四

Pidgin里面Gtalk的证书问题

在Pidgin里面,每次登录Gtalk都有这样的提示:

The certificate for talk.google.com could not be validated. The certificate claims to be from "gmail.com" instead. This could mean that you are not connecting to the service you believe you are.

因为证书的CN是gmail.com,但是服务器的域名却是talk.google.com,所以会有前述安全警告。在Gtalk账户的高级选项里面,勾上Force old (port 5223) SSL,然后把Connect port改成5223就不会有此警告了。因为这个端口的证书的CN和服务器域名一样,都是talk.google.com。可以在Pidgin的主菜单Tools -> Certificates里面查看证书。

升级频繁了也麻烦

Ubuntu里面每次更新了内核就很麻烦,VirtualBox和ATI的显卡驱动保证失效,这样3D程序也都不能用了。原因是它们都是依赖确定版本的内核编译内核模块的,必须再重新安装一遍才行。为了避免这样的麻烦,我已经只启用lucid和lucid-security的源,把lucid-updates也删除了,而且在Aptitude里面把linux这个包hold了,确保以后不更新内核。

Nautilus中打开终端

Nautilus有个插件叫nautilus-open-terminal,可以在右键菜单中增加打开终端的快捷方式。这个功能一度失效了。我路径中的gnome-terminal命令是在$HOME/bin下的自定义脚本,加了--geometry选项来改变默认的窗口大小。我想和这个有关系。

在GNOME的"Preferred Applications"设置里面,把终端设置为Custom,然后用'/usr/bin/gnome-terminal --geometry 80x38+0+0'这样的绝对路径,就搞定了。这样的话这里的设置就不依赖于我的脚本了。

Pidgin不能上线

Pidgin(2.6.6)的什么账号都上不去,man pidgin发现一个选项:

-f, --force-online
Try to be online even if the network is reported (by Windows, or
NetworkManager on Linux) to be unavailable.

加上-f选项后就可以上去了。或者直接把NetworkManager删除掉就好了。