我的KDE4不可能这么华丽

呃,想了半天脑子里面还是跳出这个标题……也罢,这个就这个吧,囧 (另一个候选是“关于我的桌面的二三事”……呃……

在公司里去年11月的时候把90%的工作转向了Linux下面(偶尔要用下photoshop或者改下老项目的代码则不得不重启到windows xp),选择了一直最顺手的发行版也就是ubuntu(因为一直是kde用户,所以是直接kubuntu了),一开始装的是10.04,后来直接apt升级到了10.10。

几个月下来一直用的还算蛮顺手的,不过还是主要得益于去年11月的时候有一个项目比较空档的时候,所以能有比较多的时间来调教和熟悉KDE4(KDE1.x-KDE2.x-KDE3.x的时代一直很顺手),没有调教过的kubuntu的KDE4总觉得怪怪的,不如ubuntu的gnome那样精致。

那么记录几条算是心得的东西:

Read the rest of this entry >>

wget使用ssh socks代理

在apt自动调用wget下载http://archive.canonical.com/上的一个二进制文件的时候遇到了一个问题,那就是速度太慢,然而wget又无法直接指定ssh通道建立的socks代理服务器,于是google来了这个方法解决了这个问题。
wget不支持socks代理而仅支持http/https/ftp代理,而有时候又只有ssh可以用,这时候这个两部即可完成的技巧就很管用:

  1. 用ssh的-L参数指定一个端口到目标服务器的SSH Tunnel
  2. 将wget的http代理设置为localhost的对应端口,并增加一个http header

实际操作,指定端口转发到目标服务器,并和ssh服务器建立连接:

ssh -L 8888:[要访问的服务器IP]:[服务器HTTP端口] [ssh服务器地址]

使用wget时则需要:

wget -header="Host: [要访问的服务器IP]:[服务器HTTP端口]" http://localhost:8888/[文件路径]

如果是apt那种应用环境自动调用的wget,则可以在/etc/wgetrc里面修改参数,加入

header = Host: [要访问的服务器IP]:[服务器HTTP端口]
http_proxy = http://localhost:8888/

putty自动登录ssh服务器

ssh真是个好东西,自从开始用VPS以来,自己再也没有为翻墙的事情发愁过,就因为ssh本身就是很优秀的socks代理服务器。

不过putty一点总让人觉得有点郁闷,就是它不支持自动登录(当然了,从安全角度来说,自动登录这种功能是一个隐患),但自己用着多了还是会觉得有点不爽,google了一下网上已经介绍了利用RSA密匙对的方法,但是在照着做的过程中走了一些弯路,因此还是记录一下。

首先,使用puttygen(可以从putty官网获取)生成一个密匙配对,这个很简单,就是点击一下puttygen的Generate然后乱晃一阵子鼠标。然后接下来,我看到的几篇文章都说的是要保存Public Key,然后将Public Key的文件的内容放到服务器的~/.ssh/authorized_keys2这个文件下面去,其实不然,实际上服务器~/.ssh/authorized_keys2内要放的是puttygen生成了Public Key后,里面的Public Key文本框中的内容(单行的,和保存后的Public Key多行的有所不同)。再在puttygen的窗口内保存Private Key为一个文件,放到安全的地方。

接下去就是设置putty,在Connection->SSH->Auth栏目中设置刚才保存的Private Key的文件,然后在Connection->Data栏目中设置登录的用户名,然后回到Session栏目保存这个Session就行了。如果需要从任务栏通知区域快速启动putty,可以使用putty自带的pagent。

要留意的一点是服务器的sshd的配置,/etc/ssh/ssh_config内的protocol一行要和puttygen下面选择的一致,以及密匙长度(ServerKeyBits)也需要一致化。

Read the rest of this entry >>

智器Q5入手……然后退货……

smart q5-2

正如前一篇日志所提到的,打算为老爸搞个智器Q5。

在翻遍了浦东的太平洋数码广场未果后,便把目光转向了网购,因为先前有请dexter君在比Q5更差的MID硬件平台(Nokia N800)上测试过图片性能,因此主观的觉得其性能应该也不会太差——然而事实上却不是如此。Ubuntu的ARM平台版本,除了表现糟糕这个评价外实在是想不出还能如何评价了——尽管主要瓶颈个人认为还是因为内存问题——并不是ubuntu本身的错 orz

Read the rest of this entry >>

Linux批量修改多个文件名

terminal

今天需要在服务器上用正则表达式来替换许多文件名中的某些字符。

于是google了”linux 批量改名”,发现rename这个工具可以满足需求,然而Google到的rename的中文说明发现它们所描述的内容已经不符合现在的版本而无法使用,所以研究了一下(也只是man rename罢了)记录下来:

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

这其中:-v 如果指定,则在屏幕回显修改的文件名
-n 如果指定,则不对文件名实际修改仅显示修改结果(测试用)
-f 如果指定,则强制覆盖已有文件
perlexpr 一个Perl风格的正则表达式
files 文件名通配符

示例:

rename s/_/-/ *.jpg  #修改所有的包含_的.jpg文件中的_为-

守望 UNIX 时间戳 1234567890

clock

嘛,那么上图与内容无关……只是随便找了个看上去还不错的时钟图 XD

于是~已经开始运作了39年的Unix时间将要在近期迎来一个特别的数字,也就是1234567890,因为其对应的UTC时间正好是星期五十三号,所以某geeker用调侃性的语言写了文章提了一下这个时刻,随后在slashdot上也有人提交了此文章(当然solidot也之后跟进了),至于cnbeta的编辑,则是很脑残的以为又是一个Y2K问题……随后豆瓣上又有人发起了守望UNIX时间戳1234567890的活动,所以作为一个勉强自称的geeker,咱自然也要来参一脚,花了半个小时写了这个倒计时:

http://vifix.cn/atelier/1234567890/

以下是科普~

Wikipedia:
UNIX时间,或称POSIX时间是UNIX或类UNIX系统使用的时间表示方式:从协调世界时1970年1月1日0时0分0秒起至现在的总秒数,不包括闰秒。

网易的自由软件镜像

netnoease

http://mirrors.163.com/

看到zwxclear君在豆瓣上的推荐知道的站点,网易为开源软件和自由软件准备的镜像。

包括了ubuntu, debian , fedora等Linux发行版,还有FreeBSD和OpenBSD,以及Eclipse的安装包。

除此之外,还有ubuntu和debian的APT源,国内使用APT除cn99外的新选择(别的速度都不快)~

适合ubuntu 8.04的/etc/apt/sources.list:

deb http://mirrors.163.com/ubuntu/ hardy main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ hardy-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ hardy-updates universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ hardy-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ hardy-backports universe main multiverse restricted

总之,网易Good Job!

Read the rest of this entry >>

控制台BT客户端——CTorrent

今天因为一些原因希望下载一个已经没啥种子的torrent,想到了借用VPS的力量(主要是高带宽优势和区域优势),所以在VPS先安装了一个官方bittorrent,结果装出来一堆命令真是让人眼花了,觉得没爱,继续google之后,决定尝试一下这个CTorrent,使用了一下觉得临时对付一下还是十分方便的~(在Ubuntu上,apt上的已经是CTorrent的修改版——Enhanced CTorrent)

命令范例:

ctorrent -s /temp -e 1 -C 32 -p 7777 test.torrent

其中-s参数指定存储路径,-e指定做种时间(单位小时),-C缓存容量(单位M),-p绑定端口,开启后会显示上传和下载的详细信息:

Listening on 0.0.0.0:7777
Press 'h' or '?' for help (display/control client options).
/ 25/75/1589 [618/1719/1719] 156MB,46MB | 226,54K/s | 224,16K E:0,1

另外还可以使用-d参数进入后台运行的模式(运用fork实现),-h查看帮助~

原作者自称为YuHong,看来是个中国人,支持一下!

Enhanced CTorrent

CTorrent官方网站(项目已经停止更新)

作者本人在FreeBSD China论坛的发布帖

某人写的一篇CTorrent源码解读

Linux批量替换多文件文本

将某目录中所有文件中的文本“abcde”替换成“vifix”:

1.sed+grep方案:

sed -i "s/abcde/vifix/g" `grep abcde -rl /home/test`

2.perl方案:

perl -p -i -e "s/abcde/vifix/g" *

update @2011-11-10:
3. sed+find方案:

find -iname "*.txt" -exec sed -i "s/from_string/to_string/g" {} \;

在jetty中使用quercus以支持PHP应用

jetty是一个开源的java web服务器,适合用来架设小型的java web环境,其官方网站:http://www.mortbay.org/jetty/

quercus是一个PHP的纯java实现(目前quercus 3.1.6对应的php版本为5.2.0 —— 来自于在quercus中运行的phpinfo(); ),是一个servlet,可以在JEE应用服务器中运行PHP的应用,其官方网站为:http://quercus.caucho.com/
它已经被包含在另外一个Java EE应用服务器 – resin的3.0.17版本之后中,如果直接采用resin,也可以直接获得运行PHP应用的支持

最近在某飞的建议下,有考虑在VPS上面将JavaEE应用服务器和跑PHP的服务器合并成为一个,于是把自己的ubuntu 8.04当作沙箱,安装了jetty + quercus的环境,大致配置步骤如下:
Read the rest of this entry >>

Page 2 of 3123