2010年12月29日星期三

hex editor in linux

command line style: radare
               site: http://radare.org/y/
gui hex editor: bless
              site: http://home.gna.org/bless/index.html
non-free software:  UEX: UltraEdit for Linux
              site: http://www.ultraedit.com/products/uex.html

2010年11月23日星期二

[转载]Magic SysRq key



关于Magic SysRq key : 这是一组内核可以识别的按键组合,可以让用户执行一些底层的命令而不论系统状态如何。通常使用情况是系统从冻结中恢复,或者在不伤害文件系统的前提下重启计算机。使用Magic SysRq key的前提是CONFIG_MAGIC_SYSRQ这个内核选项被打开,并且没有在/proc/sys/kernel/sysrq里禁用掉,也就是 cat 这个文件的时候,出来的是 1 (或其他某些非0值)。
下面就来介绍一下几个键的具体作用,其中SysRq指的是右上角的“Print Screen”键。
ALT-SysRq-b 立即重启系统,不卸载分区和同步文件。
ALT-SysRq-o 可能的话,关机。
ALT-SysRq-e 给除了init以外的所有进程发送SIGTERM信号,可以试图正常结束所有进程。
ALT-SysRq-f 调用oom_kill函数来干掉占用了很大内存的进程。

[转载]ubuntu 强制解锁apt-get

在Ubuntu 10.10 用sudo apt-get install kmymoney2安装软件kmymoney2时,由于速度太慢,想换个软件源,直接关闭了终端,apt-get但进程没有结束,结果终端提示

:“E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?”

解决办法如下:1。终端输入 ps -aux ,列出进程。找到含有apt‘-get的进程,直接sudo kill PID。解决。

2。强制解锁,命令

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

2010年11月20日星期六

在terminal 中使用google词典

直接可以在命令行中使用 dict yourword
就可以用google dictionary搜索单词 ^_^
支持英文词组搜索

将以下内容加入到~/.bashrc中即可


#for google dictionary
dict(){
word=
for i in $@
do
word=$word+$i
done
word=`echo -n $word | tail -c +2`


curl -s "http://www.google.com/dictionary?langpair=en|zh-CN&q="${word}"&hl=zh-CN" | html2text -nobs -nometa  -utf8 | tail -n +18  | less
}
#end


这个脚本支持简体中文和英文,如果自己要使用别的语言,
修改curl后面的那个url即可
langpair  -- 要查询的语言
hl     -- 界面的语言
参考:http://ubuntuforums.org/showthread.php?t=1591389

2010年11月17日星期三

让 ubuntu terminal 自动编码

BBS上的编码通常为gbk,用terminal直接telnet会产生乱码,这时可以用luit
这个软件包在10.10已经自带了。

luit -encoding gbk telnet bbs.yoursite.org

2010年11月15日星期一

[转载]Ubuntu的apt-get代理设置



升级到Ubuntu10.04后,发现apt-get的代理设置有改变了,在9.10以前使用“http_proxy”环境变量就可以令apt-get使用代理了
export http_proxy=http://127.0.0.1:8000
sudo apt-get update
然后在Ubuntu10.04下就无效了,看来apt-get已经被改成不使用这个环境变量了。
一阵郁闷后,最后我发现在“首选项”->“网络代理”那里,多了个“System-wide”按钮(我用的是英文环境,不知道中文被翻译成怎样,关闭窗口时也会提示你),在这里设置后,apt-get确实可以使用代理了。
但是我依然鄙视这种改进,因为我通常就是偶尔使用代理,更新几个被墙掉的仓库而已(如dropbox和tor),根本不想使用全局代理,本来用终端就能搞定的事,现在切换代理要点N次鼠标,真烦。
所以我研究了一下,发现那个代理设置修改了两个文件,一个是“/etc/environment”,这个是系统的环境变量,里面定义了“http_proxy”等代理环境变量。另一个是“/etc/apt/apt.conf”,这个就是apt的配置,内容如下
Acquire::http::proxy "http://127.0.0.1:8000/";
Acquire::ftp::proxy "ftp://127.0.0.1:8000/";
Acquire::https::proxy "https://127.0.0.1:8000/";
很明显的代理设置代码,我看了下apt-get的手册,发现可以用“-c”选项来指定使用配置文件,也就是复制一份为“~/apt_proxy.conf”,然后“网络代理”那里重置回直接连接,以后使用
sudo apt-get -c ~/apt_proxy.conf update
就可以使用代理了,apt-get也有一个“-o”选项,直接跟apt-get的设置变量,就不用指定配置文件了,比如
sudo apt-get -o Acquire::http::proxy="http://127.0.0.1:8000/" update
该文章发布在 程序配置,标签:。收藏该永久链接

[转载]在wget中设置代理

http://www.51testing.com/?uid-116228-action-viewspace-itemid-208339

   wget支持HTTP 和SOCKS代理。因为要mirror的是web,因此仅仅使用了HTTP的代理。
    wget每次启动都要读一个wgetrc文件,可以在这个文件中设置代理服务器
    wgetrc缺省存放在/usr/local/etc/下,也可以在$HOME/下创建.wgetrc。
方法一:
配置步骤:
1、创建$HOME/.wgetrc文件
2、编辑文件,添加如下内容:
   #===========Sample of wgetrc=================
   #添加代理服务器
   http_proxy =www.yourproxy.cc
   #以下几种格式也可以,如果不写端口,缺省为80
   #http_proxy =www.yourproxy.cc:8080
   #http_proxy =http://www.yourproxy.cc
   #http_proxy =http://www.yourproxy.cc:8080/
   #如果不使用代理服务器,此处设置为off
   use_proxy = on
   #============================================
3、运行wget
方法二:
   安装socks客户端工具runsocks(正常安装socks5后自带)。在libsocks5.conf文件里加入所要使用的代理服务器。
注意:运行wget之前需要将wgetrc中的代理服务器注释掉
    配置完毕后运行如下命令:
    #runsocks wget -m [http://site1 |ftp://site2]
    经测试,可以正常镜像http和ftp站点。