Archive for linux

官网:http://iterm2.com/downloads.html 参考配置 http://blog.csdn.net/zhaoxy_thu/article/details/9409999 vim ~/.bash_profile 然后将下面的代码拷贝到该文件中: export CLICOLOR=1 export LSCOLORS=GxFxCxDxBxegedabagaced export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Continue

今天领导推荐这个项目,中午看了一下,核心就是一个函数一条命令。最后精简为 gdb -p 9252 -batch -eval-command='call PyGILState_Ensure()' -eval-command='call PyRun_SimpleString("exec(open(\"/home/a0x55aa/code/toto/hello.py\").read())")' -eval-command='call PyGILState_Release($1)' 如果提示“ptrace: 不允许的操作.”执行命令:echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope就好了。 用到gdb和python gil相关知识,不怎么懂,感觉就是与正在运行的进程争抢python虚拟机,执行完文件里的代码,over。 正好在grep ps命令的时候,看到执行python manager.py runserver 的进程有两个(为啥两个读源码里读到)。然后我查了一下ps命令的stat字段都是什么意思。 D 不能中断的进程(

Continue

同事使用mtop监控mysql和redis,redis没有流量监控,然后我写个脚本集成到mtop里边。然后查了相关资料<a href="http://blog.0x55aa.com/linux/1216.html">snmp</a>。 发现线上n多的负值,不知道问题,我本地没有问题。我查了64位系统的流量累加没有上限,后来同事说可能snmp是32位的,汗。我在redis流量表中类似mtop的操作,保存临时值然后清除,移动到history表中,也看不到具体问题在哪。我也不能有线上权限,让同事查我看,大约知道在4000多M的时候出现负的,差不多应该上限是4g。然后判断 new-old<0,就new+4096-old,然后没出现负值了。

Continue

安装snmp apt-get install snmp snmpd 编辑/etc/snmp/snmpd.conf配置文件, 1.将原有“agentAddress udp:127.0.0.1:161”改为: agentAddress 192.168.1.9 /*192.168.1.9为本机IP,即监控服务器要监控的主机IP*/ 2.加入一行如下: access MyROSystem "" any noauth exact all none none 3.将原有“rocommunity public default -V systemonly” 的"-V systemonly" 参数去掉,变成: rocommunity public default 4.将“#trap2sink localhost public”和“#informsink localhost public”前面的“#”去掉,改为: trap2sink localhost public informsink localhost public 5

Continue

早就想实现这么个功能,大部分不确定删除的时候,我都直接先移动到我用户的tmp目录下,这个目录我都放一些可删可不删的测试文件等。确定的我就直接删除。但是还有失误啥的,根本不可能预防所有情况。今天搜索一文章,正好实现。原理就是用一个新命令替换系统的rm命令。 原文http://www.webupd8.org/2010/02/make-rm-move-files-to-trash-instead-of.html。 1.<code>sudo apt-get install trash-cli</code> 原文有介绍这个工具,我也没用试试0 0。 2.<code>sudo vim /usr/local/bin/trash-rm</code> 文件内容 <pre lang="bash">#!/bin/bash # command name: trash-rm shopt -s extglob recursive=1 declare -a cmd ((i = 0)) for f in "$@" do case "$f" in (-*([fiIv])

Continue

出现这个问题“ImportError: libsybdb.so.5”,先翻了 libsybdb.so.5这个文件,没翻到。然后找到了这个命令:locate libsybdb.so.5,直接将所有都列出来了。 我发现路径没问题,因为我是用的virtualenv环境,我以为是用户权限问题,找配置文件发现没问题。 然后从网上查,发现有的解决方法是将lib路径加入/etc/ld.so.conf中,我就看了本地ubuntu系统和centos的上的这个配置文件,发现确实是centos上的没添加lib路径。centos上我是编译安装的,不知为啥没加上,加入/usr/local/freetds/lib,然后ldconfig使配置生效。问题解决。

Continue

我要把mercurial-server的相关文件放到web项目里一起部署,于是想知道在apt-get安装mercurial-server时都执行了那些操作。官方没有手动安装的教程,我就查了整理一下。 开始找到这个命令,这个命令只会将一些安装的文件列出来,还有一些不知道什么用0 0.没有达到目的。 dpkg -x xxxx.deb xxxx 然后找到 ar vx xxxx.deb .deb其实是一个ar档,所以使用ar解压。 deb 包本身有三部分组成:数据包,包含实际安装的程序数据,文件名为 data.tar.XXX;安装信息及控制脚本包,包含 deb 的安装说明, 标识,脚本等,文件名为 control.tar.gz;最后一个是 deb 文件的一些二进制数据,包括文件头等信息,一般看不到,在某些软件中打开可 以看到。 control.tar.gz 则包含了一个 deb 安装的时候所需要的控制信息。一般有 5 个文件:control,用了记录软件标识,版本号,平 台,依赖信息等数据;preinst,在解包 data.tar.gz 前运行的脚本;po

Continue

在工作时服务器上环境的搭建,做个笔记记录。用到的东西主要有:django,nginx,supervisor,Gunicorn,virtualenv,mysql。 安装就略过了,每一个的文档上有介绍。virtualenv有一个virtualenvwrapper方便操作。 先安装virtualenv,然后在python虚拟环境里边安装django,gunicorn等相关库。 supervisor用来守护django网站启动的进程,默认配置文件添加/etc/supervisor/conf.d/name.conf <pre>[program:code] command=/home/sys/.virtualenvs/%(program_name)s/bin/gunicorn %(program_name)s.wsgi:application -c /home/www/%(program_name)s/%(program_name)s/gunicorn.conf.py user=hg directory=/home/www/%(program_name)s autost

Continue

同事写在wiki上,和我说照装的,记录一下。 安装wine sudo add-apt-repository ppa:ubuntu-wine/ppa 1911  sudo apt-get update 1912  sudo apt-get install wine 安装gtk sudo apt-get install libgtk2.0-0:i386 不加386不行,我开始没有加,qq不能启动,报错了。 到<a rel="nofollow" href="http://www.longene.org/download/">http://www.longene.org/download/</a>下载qq,并安装。 ubuntu搜狗谷歌输入法安装 ubuntu install sougoupinyin/googlepinyin 1. sudo apt-get remove --purge ibus 卸载Ubuntu 自带输入法 2. sudo add-apt-repository ppa:fcitx-team/nightly

Continue

发现现在越来越懒,很多小问题都不再记录。要改正 1.生成一个新key <pre>ssh-keygen</pre> 2.添加key <code>ssh-add ~/.ssh/test</code> 3.编辑~/.ssh/config 添加: Host woqu HostName 192.168.1.118 IdentityFile /home/a0x55aa/.ssh/test 4.项目.hg/hgrc修改 [paths] default = ssh://hg@woqu/test/haha &nbsp; 还有一种方法: 定义hgrc里边[ui],ssh <pre><code>ssh = ssh -i ~/.ssh/test -C</code></pre> 编辑的时候使用 hg clone -e 'ssh -i /path/to/key' ssh://user@host/path

Continue