存档在 2016年7月

报错:解决OpenSSL文件丢失导致yum和ssh失效

2016年7月31日

可以确定yum安装OpenSSL的库文件位置是:

/usr/lib64/libssl.so.10
/usr/lib64/libcrypto.so.10

参考 http://amon.org/openssl 进行安装,相关库文件位置是:

/usr/lib/libssl.so.1.0.0
/usr/lib/libcrypto.so.1.0.0

建立软链接:

ln -s /usr/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10
ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10

然后测试yum和ssh,暂时恢复正常。

赶紧yum安装OpenSSL:

yum install openssl

怎样使用iptables防火墙软件

2016年7月29日

iptables是Linux上常用的防火墙软件。

1. 安装iptables防火墙

yum install iptables

2. 清除已有iptables规则

iptables -F
iptables -X
iptables -Z

3. 开放指定的端口

-A和-I参数分别为添加到规则末尾和规则最前面。

#允许本地回环接口(即运行本机访问本机)

iptables -A INPUT -i lo -j ACCEPT

# 允许已建立的或相关连的通行

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#允许所有本机向外的访问

iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

#允许ping

iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

#禁止其他未允许的规则访问

iptables -A INPUT -j REJECT  #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT

4. 屏蔽IP

#如果只是想屏蔽IP的话“3. 开放指定的端口”可以直接跳过。

#屏蔽单个IP的命令

iptables -I INPUT -s 123.45.6.7 -j DROP

#封整个段即从123.0.0.1到123.255.255.254的命令

iptables -I INPUT -s 123.0.0.0/8 -j DROP

#封IP段即从123.45.0.1到123.45.255.254的命令

iptables -I INPUT -s 124.45.0.0/16 -j DROP

#封IP段即从123.45.6.1到123.45.6.254的命令是

iptables -I INPUT -s 123.45.6.0/24 -j DROP

4. 查看已添加的iptables规则

iptables -L -n

v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M) vps侦探
n:只显示IP地址和端口号,不将ip解析为域名

5. 删除已添加的iptables规则

将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8

6. iptables的开机启动及规则保存

CentOS上可能会存在安装好iptables后,iptables并不开机自启动,可以将其加入开机启动:

chkconfig --level 345 iptables on

保存规则:

service iptables save

参考:http://www.vpser.net/security/linux-iptables

报错:FAIL: test-script.sh

2016年7月29日

当编译安装libevent2进行make verify时,报错:

make[5]: Entering directory `/root/apache/libevent-2.0.22-stable/test'
FAIL: test-script.sh

参考:https://github.com/libevent/libevent/issues/38

建议忽略这个错误。

From the looks of it, your resolver isn’t answering the PTR requests for the address 127.0.0.1. Those unit tests expect that the resolver will tell it some answer (ideally “localhost”).

Personally, I would recommend instead that you skip this test or ignore the results if it isn’t passing; it was IMO a mistake to have libevent

参考:https://github.com/jedisct1/dnscrypt-proxy/issues/26

怎样编译安装libxml2

2016年7月28日

安装libxml2

参考:http://linuxfromscratch.org/blfs/view/svn/general/libxml2

参考:https://mail.gnome.org/archives/commits-list/2012-January/msg11021

下载:http://xmlsoft.org/sources/

最高版本:libxml2-2.9.4

wget http://xmlsoft.org/sources/libxml2-2.9.4.tar.gz && tar zxvf libxml2-2.9.4.tar.gz && cd libxml2-2.9.4
export PKG_CONFIG=/usr/bin/pkg-config PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig Z_CFLAGS="-I/usr/include" Z_LIBS="-L/usr/lib -lz" LZMA_CFLAGS="-I/usr/include" LZMA_LIBS="-L/usr/lib -llzma" ICU_CFLAGS="-I/usr/include" ICU_LIBS="-L/usr/lib/icu -licu"
./configure --prefix=/usr --disable-static --with-history
make && make install

为什么解压后从前需要,现在不需要:

sed -i "/seems to be moved/s/^/#/" ltmain.sh

输出:

...
/usr/bin/mkdir -p '/usr/include/libxml2/libxml'
...
libtool: install: /usr/bin/install -c .libs/libxml2.so.2.9.4 /usr/lib/libxml2.so.2.9.4
...
libtool: install: /usr/bin/install -c .libs/libxml2.lai /usr/lib/libxml2.la
...
libtool: install: /usr/bin/install -c .libs/xmllint /usr/bin/xmllint
libtool: install: /usr/bin/install -c .libs/xmlcatalog /usr/bin/xmlcatalog
...
/usr/bin/mkdir -p '/usr/lib/cmake/libxml2'
...
/usr/bin/install -c -m 644 libxml-2.0.pc '/usr/lib/pkgconfig'
...
 /usr/bin/install -c -m 644 drv_libxml2.py libxml2.py '/usr/lib/python2.7/site-packages'
...

安装完成。

相关文件路径:

/usr/include/libxml2
/usr/lib/libxml2.so.2.9.4
/usr/lib/cmake/libxml2
/usr/lib/pkgconfig/libxml-2.0.pc
/usr/lib/python2.7/site-packages/libxml2.py

报错:lib….so.10 is empty, not checked.

2016年7月28日

在yum安装一组包时,程序故障导致安装中止。

运行:


ldconfig

输出:


ldconfig: File /lib64/libzzip-0.so.10 is empty, not checked.
ldconfig: File /lib64/libzzip-0.so.11 is empty, not checked.
ldconfig: File /lib64/libzzip-0.so.12 is empty, not checked.
ldconfig: File /lib64/libzzip-0.so.13 is empty, not checked.
ldconfig: File /lib64/libzzip-0.so.13.0.62 is empty, not checked.
ldconfig: File /lib64/libzzipfseeko-0.so.10 is empty, not checked.
ldconfig: File /lib64/libzzipfseeko-0.so.11 is empty, not checked.
ldconfig: File /lib64/libzzipfseeko-0.so.12 is empty, not checked.
ldconfig: File /lib64/libzzipfseeko-0.so.13 is empty, not checked.
ldconfig: File /lib64/libzzipfseeko-0.so.13.0.62 is empty, not checked.
ldconfig: File /lib64/libzzipmmapped-0.so.10 is empty, not checked.
ldconfig: File /lib64/libzzipmmapped-0.so.11 is empty, not checked.
ldconfig: File /lib64/libzzipmmapped-0.so.12 is empty, not checked.
ldconfig: File /lib64/libzzipmmapped-0.so.13 is empty, not checked.
ldconfig: File /lib64/libzzipmmapped-0.so.13.0.62 is empty, not checked.
ldconfig: File /lib64/libzzipwrap-0.so.13 is empty, not checked.
ldconfig: File /lib64/libzzipwrap-0.so.13.0.62 is empty, not checked.

对于这种特征的报错,只需要重新安装相应包即可。

经搜索,以上文件均与属于zziplib这个包。

运行:


yum reinstall zziplib

再运行ldconfig输出为空,报错消失。

参考:https://pkgs.org/centos-6/nux-dextop-i386/zziplib-devel-0.13.62-5.el6.nux.i686.rpm
参考:http://www.unix.com/unix-for-advanced-and-expert-users/182811-sbin-ldconfig-file-usr-lib-libquazip-so-1-0-0-empty-not-checked
参考:https://www.centos.org/forums/viewtopic.php?t=55823