由于软件源中没有,就不能使用yum来安装,不过通过源码安装也很简单。
git下载地址:http://code.google.com/p/git-core/downloads/list,我下载的是git-1.7.9.tar.gz ,下载命令:
wget http://git-core.googlecode.com/files/git-1.7.9.tar.gz
然后执行:
tar -xvf git-1.7.9.tar.gz
cd git-1.7.9/
./configure
make && make install
就可以了,git依赖zlib-devel,openssl-devel,perl,cpio,expat-devel,gettext-devel这些包,如果configure报错,通过yum安装缺失的依赖包即可。
假设有两台linux主机A和B,当A连接B时不需要输入密码,实现方法是在A主机上使用ssh-keygen命令生成一对公私钥,默认存储路径为~/.ssh/,同相对应的公钥内容追加到到B主机上~/.ssh/authorized_keys文件中即可。具体操作如下:
连接上A主机,使用如下命令:
ssh-keygen -t rsa
回车会让你输入存放公私钥的路径和名称,默认存放在~/.ssh/目录下
接下来输入一个口令,用来保护这个私钥,如果此处你输入了口令,则在连接你上传公钥的机器时会问你要这个密码的,如果口令为空,就可以直接连接上,没有口令很不安全的,一旦有人复制了你的passphrase,那么他就可以不用密码登录上了。
把公钥上传到B主机,命令如下:
cat 公钥文件 | ssh 用户@192.168.1.9 "cat - >> ~/.ssh/authorized_keys"
注意,如果不存在~/.ssh文件夹,需要手工创建,同时需要设置目录的访问权限。
至此,就完成免密码登陆,这时使用ssh,scp命令就不需要输入B主机的密码了。
查看cpuinfo中是否有lm,如果有lm表示支持64位,lm的意思是long mode,具体命令如下:
cat /proc/cpuinfo | grep flags
检查输出里面是否有 lm 字符
或
cat /proc/cpuinfo | grep flags | grep lm | wc -l
输出结果大于 0 表示支持64位
使用apache 的ab做压力测试时,当压力过大,例如请求1000000次,在没有执行完就报apr_poll:The timeout specified has expired错误,解决办法,使用-k(发送keep-alive指令到服务器端),同时修改web服务器下的/etc/sysctl.conf,在里面添加如下内容:
net.ipv4.netfilter.ip_conntrack_max = 3276800
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_orphan_retries = 1
net.ipv4.tcp_fin_timeout = 25
net.ipv4.tcp_max_orphans = 8192
net.ipv4.ip_local_port_range = 32768 61000
如果已经存在,试着加大net.ipv4.netfilter.ip_conntrack_max的值,然后使用
sysctl -p /etc/sysctl.conf
使其生效。
在centos下安装了mongodb,使用SecureCRT连接centos后,使用mongo来操作mongodb,在shell使用退格键时出现乱七八糟的字符,造成这个问题原因跟SecureCRT配置有关,修改设置为:选项 –> 会话选项 –> 终端 –> 仿真 –> 终端中选择linux 即可。详细如下图:
在一个备份脚步中执行了删除7天前的旧备份文件的命令,备份文件存放在/home/backups/files/下,命令如下:
find /home/backups/files/ -mtime +6 -exec rm -rf {} \;
开始时候运行正常,一段时间后发现没有备份了,查看下来,发现/home/backups/files/文件都不存在了。原来是因为find写法有问题,find /home/backups/files/ -mtime +6 出来的结果会包含/home/backups/files/目录(当files目录的创建时间超过7天),是自己想当然的以为在目录后面加了“/”就只查找该目录下的文件,测试下来,find /home/backups/files/ -mtime +6和find /home/backups/files -mtime +6的结果一致。知道问题所在了,解决问题就好办了,只需要在后面加个星号(*)通配符就行了,如下:
find /home/backups/files/* -mtime +6 -exec rm -rf {} \;
在mysql中使用order by对存储了中文信息的字段,默认出来的结果并不是按汉字拼音的顺序来排序,要想按汉字的拼音来排序,需要把数据库的字符集设置为UTF8,然后在order by 时候强制把该字段信息转换成GBK,这样出来的结果就是按拼音顺序排序的。例如:
SELECT * FROM table_name ORDER BY CONVERT(column_name USING gbk);