libmysqlclient.so.16: cannot open shared object file: No such file or directory解决方法

前些天重启了apache,提示这个,奇怪了,怎么突然间出现这种情况啊。

网上转了圈,想起之前修改过mysql的版本,因之前的版本没有支持innodb,所以装了新版mysql开启了innodb引擎。

那按照正常的情况来看,重新编译php应该就可以了。

./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql/ –with-libxml-dir –with-png-dir –with-jpeg-dir –with-freetype-dir –with-gd –with-mcrypt=/usr/local/libmcrypt/ –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-soap –enable-mbstring=all –enable-sockets

这里备注下,类似–with-libxml-dir这种参数,如果系统本身已经安装好了(RPM方式),直接这么写就行了;若是后来才编译安装的,要加上安装的路径如:–with-libxml-dir=/usr/local/libxml2/

重新编译php之后,启动apache,正常无报错。

Linux下的多核CPU信息获取

1、每个CPU核心的使用率
执行top之后,按1即可

2、多核或者多线程判断

在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢?
经过查看,我的开发机器是1个物理CPU,4核8线程,Intel(R) Core(TM) i7 CPU 860  @ 2.80GHz
记录一下,判断的过程和知识。

判断依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。
英文版:
1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.
2.Any cpu with the same physical id are threads or cores in the same physical socket.

继续阅读“Linux下的多核CPU信息获取”

cp复制强制覆盖不提示

刚好碰到个同事要发布系统,问到说怎么复制一堆文件去覆盖另一个目录。自然想到cp了,但是却加上-f都还是提示确认是否覆盖,那1万个文件岂不是要确认1万遍啊。

网上搜得结果,都试了下,都是可以的。

原因是因为系统cp已经设置了别名,可以执行命令alias查看当前系统一些命令的真实内容。可以看出cp的真实执行的命令是cp -i,-i这参数意思就是说在覆盖前提示。所以无论你加什么参数都是没用的。

有以下三种方法可以解决:

1、取消别名,执行命令 ualias cp 即可,这时的cp就真的是cp了。

2、执行\cp,这时的cp也就是cp了。

3、通过管道自动确认yes,执行命令 yes|cp xxx /zzz

个人觉得最方便肯定属于第二种了。

晚上没睡好,文笔不大好,纯粹作为笔记。

Linux解压zip中文乱码(绝对管用)

最近碰到这个问题,网上搜了一圈,都是什么unzip -O,一点用都没有,这些哥们估计是直接复制,用都没用过。

后来找了个终极方法,用python的脚本来解压,试了下,还真管用!!!

以下为python脚本的代码,新建文件jieya.py,写入以下代码:

=============================================================

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import zipfile

print "Processing File " + sys.argv[1]

file=zipfile.ZipFile(sys.argv[1],"r");
for name in file.namelist():
    utf8name=name.decode('gbk')
    print "Extracting " + utf8name
    pathname = os.path.dirname(utf8name)
    if not os.path.exists(pathname) and pathname!= "":
        os.makedirs(pathname)
    data = file.read(name)
    if not os.path.exists(utf8name):
        fo = open(utf8name, "w")
        fo.write(data)
        fo.close
file.close()

=============================================================

然后zip文件跟jieya.py放在同一级目录,运行命令python  jieya.py file.zip,哦了!

RHEL服务器被入侵

今天在公司加班,周末也要加班真够坑爹!

就顺便连家里的rhel练一下手,过了段时间我发现ssh断了,重连提示无法登录。

还好我有teamviewer,连进去看了下vmware虚拟机窗口,报了一大堆错误“kernel: ip_conntrack: table full, dropping packet”

网上一查,说是ip_conntrack这个表满了,要增加最大值,试了没用。

因为vmware虚拟机的root是一直登录着的,所以在重启之前我都没发现root密改了,以为是ip_conntrack的问题。

好了,重启之后root怎么也进不去,这下子我记起了,root的密码不是一般的弱智,暴力破解估计不用一分钟就搞定了。

 

所以,第一步只能重设root密码了。

重启rhel,在倒计时界面随便按个键不要让自动过去了,画面停下来后,按E,进入有几个选项的界面。

找到类似 kernel /vmlinuz-2.6.32-279.e16.x86_64 ro root=LABEL=/ ,选中并再次按E

在ro前面加入 single,即如下所示:

kernel /vmlinuz-2.6.32-279.e16.x86_64 single ro root=LABEL=/ ,然后回车

选中刚才那个选项,按B之后,会自动进入命令行,然后通过passwd root来修改新密码即可。

Pages: Prev 1 2 3 4 5 6 7 8 9 10 11 12