07. 3.
本文系转载,原文链接:http://www.zuiyouxiao.com/?action=show&id=53
每秒7000多个包,动态请求非常多,有开始丢包现象
修改了一些内核参数,可以相对增强linux吞吐能力
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=2500
sysctl -w net.ipv4.netfilter.ip_conntrack_max=131072
sysctl -w net.ipv4.ip_conntrack_max=131072
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=60
sysctl -w net.ipv4.netfilter.ip_conntrack_generic_timeout=120
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_max_retrans=60
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=15
sysctl -w et.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=60
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=60
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_max_retrans=2
sysctl net.ipv4.tcp_max_syn_backlog=3072
sysctl -w net.core.somaxconn=1024
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=6
sysctl -w net.ipv4.netfilter.ip_conntrack_max=163840
sysctl -w net.ipv4.tcp_synack_retries=1
07. 1.
我之前为了判断一个文件的内容是不是为空,使用如下语句:
if test -z `cat filename`
当filename为空或者只有一行没有空格的字符串的时候,一切正常,反之,则会报,诸如
: too many arguments,甚至是: binary operator expected之类的错误,参见了一下:http://www.ibm.com/developerworks/cn/linux/shell/bash/bash-2/index.html
filename中的空格回车等迷惑了bash
如果环境变量没放在双引号中,那么bash 认为条件中的自变量过多。可以用双引号将字符串自变量括起来消除该问题。请记住,养成将所有字符串自变量用双引号括起的习惯,将除去很多类似的编程错误。
本文问题解决方法很简单,给命令执行部分加上双引号就可以了:
if test -z "`cat filename`"
06. 17.
环境:centos x86_64
说明:使用daemon的方式来跑svn,不使用apache
首先到:http://subversion.tigris.org/ 下载最新的subversion源码
我下的是:http://subversion.tigris.org/downloads/subversion-1.6.2.tar.bz2
解压:tar jxvf subversion-1.6.2.tar.bz2
cd subversion-1.6.2
svn co http://svn.apache.org/repos/asf/apr/apr/branches/1.2.x apr
svn co http://svn.apache.org/repos/asf/apr/apr-util/branches/1.2.x apr-util
下载:wget -c http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
解压缩sqlite-amalgamation-3.6.13.tar.gz
并且把其中的sqlite3.c拷贝到(不存在的路径自己建立):
cp sqlite-3.6.13/sqlite3.c ./subversion-1.6.2/sqlite-amalgamation/
06. 10.
Problem
By default the version of mkinitrd provided in (or base on) Red Hat Enterprise Linux 5.3 attempts to include the dm-mem-cache module in the generated initial ramdisk images. Therefore when creating custom initial ramdisk images for kernels that do not provide the dm-mem-cache module, the mkinitrd command will fail with a message similar to:
No module dm-mem-cache found for kernel 2.6.18-92.1.13.el5, aborting.
Solution
To build an initrd image, for a kernel that does not provide the dm-mem-cache module, it is possible to prevent the inclusion of the module by adding the --without-dmraid argument to the mkinitrd command line.
It is also possible to create a permanent exception for the inclusion of the dm-mem-cache module. This can be done by creating the file /etc/sysconfig/mkinitrd/noraid as follows:
# echo "DMRAID=no" > /etc/sysconfig/mkinitrd/noraid
# chmod 755 /etc/sysconfig/mkinitrd/noraid
05. 16.
Iceweasel默认的flash插件是可以直接到诸如youku和youtube去看视频的,但是始终却打不开那种flash开发的游戏,没有细究原因。
这几天按照google搜来的众多安装flash插件方法都以失败告终,并且搞的Iceweasel只要启用原有的flash 9插件就会崩溃,疯了!
一个同事也在使用Debian,他做一些flash的开发和调试工作,那当然比我要急一些,在他的强烈要求下,我决定在晚饭之后解决这个问题,最后终于搞定,NND,长舒了一口气。
解决过程:
第一步,当然是去google使劲搜索了,网上的教程转来转去,始终都是那篇老外的翻版,也许当时的浏览器版本低~
然后去Adobe官方去下最新的flash,居然没有amd64版的,x86_64怎么了?
N久之后我只好去packages.debian.org碰碰运气,搜索flash发现了一个软件包:flashplugin-nonfree,看了介绍,很符合要求:
阅读全文 »
05. 9.
刚入手Debian5没几天,浏览器可选的目前就一个Forefox派生的Icewease浏览器,用起来和Firefox几乎没有区别。
最近浏览网站的时候常常会弹出"无效的 URL 地址"之类的话,原来是我不小心点到了中键造成的,windows下鼠标中键一般是用作上下拉动浏览的,这里我就会常常使用。那只有禁止这个功能了。
google了一下,发现在Icewease的about:config(URL地址栏里直接输入)里有专门控制鼠标中键的地方。
过滤出来middlemouse。发现一个:
middlemouse.contentLoadURL ture
不错,这个就是“允许用中键打开剪贴版中存储的网址“
我们把它禁止了,双击后面的Value值变成false,重启下Icewease,OK,搞定!
05. 9.
本文系转载,愿文地址:http://easwy.com/blog/archives/thinkpad_trackpoint_on_linux/
Thinkpad的小红点应该说是小黑的的特色之一了,用的熟了工作效率不比用鼠标差。用其它的本本我通常是用触摸板,感觉不是很方便,尤其是在上下滚屏时,要用两只手配合。而小黑的小红点+中键,只用一只手就能方便的上下左右滚屏,非常方便。
从设计来看,黑色键盘中间一个红色的小点,最是吸引人的目光。记得我的小黑刚搬回来的时候,我女儿就盯上了这个红色的小点,一直想用手指去摸去抠,被我制 止了。我装完系统就关机出去了,第二天回家打开小黑一看,怎么小红点没了?一想,肯定是小家伙干的!最后,在垃圾桶里找回了心爱的小红点。看来是小家伙不 小心把它抠了下来,又不会装回去,就扔到垃圾桶去了。后来我就教她怎么用这个小红点控制光标的方向,这以后,她就没再干过抠红点的事。这算是和小红点有关 的一件趣事吧。
在windows里,联想OEM的windows已经自动支持小红点的中键了。,但在Linux里还需要配置一下。
我们先执行命令dmidecode -t 21,这个命令会输出小黑内置的鼠标设备的信息,我们看到输出如下:
# dmidecode 2.9
SMBIOS 2.4 present.Thinkpad的小红点应该说是小黑的的特色之一了,用的熟了工作效率不比用鼠标差。用其它的本本我通常是用触摸板,感觉不是很方便,尤其是在上下滚屏时,要用两只手配合。而小黑的小红点+中键,只用一只手就能方便的上下左右滚屏,非常方便。
阅读全文 »
05. 7.
一直以来都是使用OpenSSH,其密钥格式是使用的自己的OpenSSH格式,公钥认证登陆的方式非常简单,下面会直接举例说明,原理性的东西大家google去搜索。还有一些密钥是使用IETF SECSH格式的,这个应该是延续早期SSH版本的密钥形式。
环境:
机器A:使用OpenSSH
机器B:使用OpenSSH
机器C:使用ssh2 (具体是SSH Secure Shell 3.2.9.1 (non-commercial version)
机器D:使用ssh2
情景1:从机器A 登陆到 机器B
机器A上生成公钥和私钥:先到用户目录下,# ssh-keygen -t rsa,不想用密码就直接一路回车。
机器A的用户目录下回生成一个目录.ssh/,里面有id_rsa(私钥文件)和 id_rsa.pub (公钥文件)
把id_rsa.pub的内容放到机器B的用户目录的~/.ssh/authorized_keys里(没有.ssh目录就mkdir一个)。
这时,从机器A使用ssh登陆到机器B是不需要密码的。
阅读全文 »
04. 23.
本文系转载,原文地址:http://keren.blog.51cto.com/720558/144908
linux系统中每个进程都有2个ID,分别为用户ID和有效用户ID,UID一般表示进程的创建者(属于哪个用户创建),而EUID表示进程对于文件和资源的访问权限(具备等同于哪个用户的权限)。可以通过函数getuid()和geteuid()或者进程的两个ID值。
当一个用户登陆系统时,系统会将UID和EUID都赋值为/etc/passwd文件中的UID,一般情况下2个ID是相同的,但是某些情况下会出现2个ID不同的情况。
以下通过一个典型问题和代码实例来说明UID和EUID的问题。
【关于linux的passwd命令】
passwd命令是用来修改用户登陆密码的,用来记录用户登陆密码的文件为/etc/shadow,该文件只有root用户具有访问权限,如下所示:
阅读全文 »
04. 1.
由于使用for来读入文件里的行时,会自动把空格和换行符作为一样分隔符,因为当行里有空格的时候,输出的结果会很乱,所以……
cat line.txt |while read i
> do
> echo $i
> done
或者:
while read i
> do
> echo $i
> done < line.txt
再举个实际点的例子(把所有目录权限修改为755,所有文件为644):
# find ./ -type f>filelist
# find ./ -type d>dirlist
# cat dirlist |while read i; do chmod 755 "${i}"; done
# cat filelist |while read i; do chmod 644 "${i}"; done
hao32