I am LAZY bones? AN ancient AND boring SITE

2008年 06月 的归档

ubuntu下luit的警告解决办法.

luit对于终端下的编码转换很有用,在我的sssh脚本里面就是用的这个转换编码,很方便.
但是,在ubuntu中luit执行的时候,却会出现如下错误(其实只是个警告而已,但总归看着不爽):
Warning: couldn’t find charset data for locale *****; using ISO 8859-1
其实这个警告的原因是ubuntu把系统文件 locale.alias 挪了个位置而导致的,可能没有对应修改luit的代码,导致luit找不到那文件了.
解决办法就是做个链接到原目录:

sudo mkdir /usr/lib/X11/locale
sudo ln -s /usr/share/X11/locale/locale.alias /usr/lib/X11/locale/

sssh 快速ssh登陆脚本

此脚本对于那些需要经常ssh登陆远程服务器的朋友应该有点用处.尤其是需要中转服务器ssh 2次以上的.

脚本功能:
将服务器IP和密码保存于文本文件中(明文保存,安全性要自己保证),方便登陆,支持多次ssh中转,支持服务器编码自动转换,支持某个用户名的通用密码.

使用方法:
最好将脚本保存在PATH变量包含的路径下,建议保存于 ~/bin 并确保此目录在 PATH 中.
编写 ~/.pass 文件,并执行 chmod 600 ~/.pass
安装 expect 包.

.pass文件的写法
1.最简单的,可以在文件中写下如下一行:

name=hostA usernameA@IP-A passwordA

就可以使用 sssh hostA 登陆此服务器了.
2.中转登陆:

name=hostA usernameA@IP-A passwordA
name-hostA=hostB usernameB@IP-B passwordB

执行 sssh hostA hostB 就相对于先登陆hostA,然后在hostA上登陆hostB
同理,理论上可以中转N次,hostA->hostB->hostC->hostD…,嘿嘿…
3.使用通用用户名的密码.
这是用于这样的例子:有N个服务器,都开通了一个通用用户名(例如:view用户,只有很低的权限),这些view用户的密码都是同一个,而且会定期同步修改.这种情况下,如果修改了view密码的话,.pass文件就要修改N个密码了,为了避免这样的麻烦,可以使用通用用户名和密码功能:

usualName view
usualPSW password-of-view
name=hostA view@IP-A
name=hostB view@IP-B
name=hostC view@IP-C

这样就可以直接用 sssh hostA , sssh hostB 登陆了.
可以看到,这里省略了第3列的密码字段.此法同样适用于多级登陆的服务器.
4.指定服务器使用的编码

usualName view
usualPSW password-of-view
name=hostA usernameA@IP-A passwordA gbk
name=hostB view@IP-B | gbk

在某行服务器的后面(第4列),加上 gbk,就可以指明该服务器使用的是gbk,登陆了以后不会出现乱码了.
如果某行使用了通用用户名和密码的话,为了不致引起混乱,密码那列需要加个 | (竖线)占位.
5.使用通用编码

usualCODING gbk

加上此行,对于没有指定编码的服务器,将默认使用gbk编码.

下载:
由于脚本贴在这里会出现半角引号变全角的状况.所以,请直接在这里下载 这里下载.

哈哈,没想到,脚本没几行,写个说明倒是一堆了…

ubuntu下ssh慢的解决办法

在ubuntu下ssh登陆某些服务器,会发生需要等到十来秒才提示输入密码下现象,其实这个是debian做的一个配置上的修改引起的.
ssh_config(5) 的man页上有这样的说明:

Note that the Debian openssh-client package sets several options as stan-
dard in /etc/ssh/ssh_config which are not the default in ssh(1):

o SendEnv LANG LC_*
o HashKnownHosts yes
o GSSAPIAuthentication yes

这个问题正是最后面那项 GSSAPIAuthentication 引起的,打开这个ssh的时候可能会先去尝试其他的认证方式.很多地方都会介绍说修改 /etc/ssh/ssh_config 文件,但是其实这并不是最好的办法,因为在下次升级的时候,也许会因为配置文件被修改过,而引起不必要的麻烦.我的解决办法是修改个人用户的配置文件,如下:
echo “GSSAPIAuthentication no” >> ~/.ssh/config

bsdgames

bsdgames 是个有意思的包,在ubuntu下,你可以apt安装.
里面的一些小东西,也许会让你大跌眼镜哦.
例如有个 pig 程序,还有个字符界面的贪吃蛇,还是有些好东西的哦.

/usr/games/adventure 探险,在这里你可以输入 n s w e ne nw se sw 向各个方向走,程序会告诉你有什么.看看有没有人找到宝藏?
/usr/games/arithmetic 算术,ee可以拿来给崽崽玩的
/usr/games/atc 开飞机?不懂啥意思?
/usr/games/backgammon
/usr/games/teachgammon
/usr/games/battlestar
/usr/games/bcd
/usr/games/boggle
/usr/games/caesar
/usr/games/rot13 字面加密?
/usr/games/canfield
/usr/games/cfscores
/usr/games/countmail
/usr/games/cribbage
/usr/games/dab
/usr/games/go-fish 猜牌的游戏
/usr/games/gomoku 真正的五子棋游戏(应用程序-游戏-五子棋,其实不是五子棋…),你会喜欢的.
/usr/games/hack 黑客游戏?
/usr/games/hangman 猜单词,记得当年的文曲星上有这个游戏
/usr/games/hunt
/usr/games/mille
/usr/games/monop
/usr/games/morse
/usr/games/number 如果 1 是one,2 是two 的话,知道9999999999999999用英语怎么说吗? 它知道
/usr/games/phantasia rpg游戏?
/usr/games/pig
/usr/games/pom
/usr/games/ppt
/usr/games/primes
/usr/games/quiz
/usr/games/rain
/usr/games/random
/usr/games/robots
/usr/games/sail
/usr/games/snake 蛇抓人,人挖金
/usr/games/snscore
/usr/games/tetris-bsd
/usr/games/trek
/usr/games/wargames
/usr/games/worm 文本版的贪吃蛇,慢慢按键,也许永远死不了
/usr/games/worms 要看毛毛虫?
/usr/games/wtf
/usr/games/wump

BOOTP与TFTP

BOOTP远程启动是一种产生于早期UNIX的远程启动方式,在现在的UNIX、Linux的无盘网络中是较常用的远程启动方式之一,在Windows的无盘网络运用较少,但随着Windows 2000不支持RPL远程启动,并且以TCP/IP作为默认安装网络协议,逐步表明今后的Windows也将以TCP/IP协议作为主要的发展方向,纯TCP/IP的网络将是今后发展的方向。

BOOTP服务简介

BOOTP服务的全称是BOOTSTRAP PROTOCOL(中文:自举协议,引导协议),是一种比较早出现的远程启动的协议,我们经常用到的DHCP服务就是从BOOTP服务扩展而来的。BOOTP协议使用TCP/IP网络协议中的UDP 67/68两个通讯端口。 BOOTP主要是用于无磁盘的客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关IP等等。这个过程如下:

第1步,由BOOTROM芯片中的BOOTP启动代码启动客户机,此时客户机还没有IP地址,它就用广播形式以IP地址0.0.0.0(有的资料又说是255.255.255.255)向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址。

第2步,网络中的运行BOOTP服务的服务器接收到的这个请求帧,根据这帧中的MAC地址在BOOTPTAB启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求,如果有就将FOUND帧发送回客户机。FOUND帧中包含的主要信息有客户机的IP地址、服务器的IP地址、硬件类型、网关IP地址、客户机MAC地址和启动映象文件名。

第3步,客户机就根据FOUND帧中的信息通过TFTP服务器下载启动映象文件,并将此文件模拟成磁盘,从这个模拟磁盘启动。

TFTP服务简介

TFTP服务的全称是Trivial File Transfer Protocol,可以翻译为“简单文件传输协议”。 FTP大家很熟习了,TFTP可以看成一个简化了的FTP,主要的区别是没有用户权限管理的功能,也就是说TFTP不需要认证客户端的权限,这样远程启动的客户机在启动一个完整的操作系统之前就可以通过TFTP下载启动映象文件,而不需要证明自己是合法的用户。这样TFTP服务也就存在着比较大的安全隐患,现在黑客和网络病毒也经常用TFTP服务来传输文件。所以TFTP在安装时一定要设立一个单独的目录作为TFTP服务的根目录,比如 c:\tftpboot,做为下载启动映象文件的目录,这样除了这个目录以外TFTP服务就不能访问。并且可以设置TFTP服务只能下载,不能上传等等,以减少安全隐患。

来源:http://www.chinaitpower.com/A200508/2005-08-02/182093.html

今天是个好日子啊

今天真是个好日子啊,在软件业有两个大事情发生: firefox 3.0 和 wine 1.0 发布了.
其实这两个按理应该都算是昨天发布了,但是 ff3.0由于是June 17th at 10 a.m. PDT,换成北京时间是18日凌晨1点.
wine 1.0 呢?看到消息是昨晚11:30左右,到了今天才升级好了,所以给我感觉都是今天的.
wine 15年了,不容易啊….哈
总之,今天心情不错!

新的PS1

特点就是命令正常结束时不会显示退出码,但当退出码非零时,就会以红色醒目的显示出来.
由于代码贴到这里,里的引号都会全角的,所以不如和预览效果一起贴个截图:
PS1截图

离线中文维基(wikipedia)

本来作者的本意是开发一个离线的 iphone/ipod 用的wikipedia的,电脑上的只是为了方便调试用而已,而且但是由于众所周知的原因,内地用户访问中文维基并不是很方便,于是,我觉得电脑上的离线维基便更加有意义了.
注意: 本项目目前出于刚刚起步阶段,维基内容只能显示文本,图片/目录以及一些高级的格式还暂时不支持(别问我以后会不会支持,我也不知道),当然繁简体转换之类的高级功能肯定也没有.

使用方法:
先安装 ruby libinline-ruby mongrel rubygems libbz2-dev 这几个包,ubuntu用户可以直接apt-get,其他发行版估计就要自己解决这几个包的安装问题了.
完了以后,下载 http://ftp.ubuntu.org.cn/home/bones7456/zh_wiki.tar.gz(约180M) 密码在这里,解压到任意目录,然后运行里面的 startserver.sh ,即可用过浏览器访问 http://localhost:9090/
备用下载地址: http://linuxfire.com.cn/~lily/zh_wiki.tar.gz
md5sum:

ac2e9f38492c86d22258f0a853c1c4b5 zh_wiki.tar.gz

数据版本: 20080608, 包含页面文字和链接,不包含图片和编辑历史等.

主页: http://code.google.com/p/wikipedia-iphone/
数据版权参见: http://zh.wikipedia.org/w/index.php?title=Wikipedia:%E5%85%B3%E4%BA%8E&variant=zh-cn

最后,效果截图来个(点击放大):
效果截图

刚升级成 8.04.1 了,哈哈

$ cat /etc/issue
Ubuntu 8.04.1 \n \l

今天又升级了一堆,成了,上面这样了.另外 firefox-3.0 也升了,不知道这个算不算正式版.

google reader

在英文模式下键盘输入
↑ ↑ ↓ ↓ ← → ← → b a
等待一两秒钟后,google阅读器的左侧博客列表,就会显示出这样一个蓝色背景的小人,想要返回之前的界面,只要输入相同的指令即可。

哈哈,google还真有意思.
不过另外发现,语言设置成中文就会有一点点不一样,英文状态下的Friend’s shared items之类的,在中文下看不到,估计是被谷歌阉割了…唉…