显示标签为“linux工具箱”的博文。显示所有博文
显示标签为“linux工具箱”的博文。显示所有博文

2012年7月6日星期五

解决/usr/bin/ld: cannot find -lxxx错误

编译安装时候可能会出现类似于以下的这样报错,简单地说是可能是在安装系统中选择的包的问题:
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status

解决办法是:

[root@9-104 php-5.2.8]# updatedb
[root@9-104 php-5.2.8]# locate libltdl  //提示/usr/bin/ld: cannot find -lxxx ,查找时候前面加lib:libxxx  住一 第一个l去掉
/usr/lib64/libltdl.so.3
/usr/lib64/libltdl.so.3.1.4
/usr/share/libtool/libltdl
/usr/share/libtool/libltdl/COPYING.LIB
/usr/share/libtool/libltdl/Makefile.am
/usr/share/libtool/libltdl/Makefile.in
/usr/share/libtool/libltdl/README
/usr/share/libtool/libltdl/acinclude.m4
/usr/share/libtool/libltdl/aclocal.m4
/usr/share/libtool/libltdl/config-h.in
/usr/share/libtool/libltdl/config.guess
...
注意拉:
[root@9-104 php-5.2.8]# ln -s /usr/lib64/libltdl.so.3 /usr/lib64/libltdl.so
原理:给查找到的libxxx文件做软链接
ln -s /usr/lib64/libxxx.so.X(X代表数字) /usr/lib64/lxxx.so

2012年6月7日星期四

备忘:centos 快速安装开发包

在 centos 的安装的最后阶段, 会提示是否要安装对应的开发包, 每次我都是直接跳过的, 可是安装完毕的时候,我有懒得一个一个的去安装, 今天看到了一个比较快捷的安装的方式,很方便,所以 mark 一下:
yum groupinstall "Development Libraries" "Development Tools"

2012年6月1日星期五

rpm 包研究(一)

说一下最近遇到的一个问题, 我在 RPM 包里面加了一个脚本文件里面使用了一些模块,打包完包的时候,发现 rpm 包的依赖关系里面有了这些模块, 这就要求我在其他的设备上安装的时候要求必须满足这些依赖关系, 我在想如何跳过这些依赖关系。

首先说一下在打 rpm 包的时候,什么情况下脚本文件会被 rpm 去检查依赖关系, 经过实践发现主要是处在文件的权限上,如果脚本文件具有可执行权限的话,在打 rpm 包的时候就会被检查相关的依赖关系,脚本的文件名后缀并没有产生影响。

另外再说一下, 比如我只想跳过某些的依赖包的检查,比如说很常用的一些库,我不想让 rpm 在安装的时候去做检查,这个时候就需要使用另外一个办法了:在你的 spec 文件里面加入这样一段代码

%prep
%setup -q -n Foo-%{version}

cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/perl(unwanted_provide)/d'
EOF

%global __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
chmod +x %{__perl_provides}


cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/perl(unwanted_require)/d'
EOF

%global __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
chmod +x %{__perl_requires}



具体参照这个页面


http://fedoraproject.org/wiki/EPEL:Packaging#Perl_Provides_and_Requires_Filtering


当然这个只是针对比较老的 rpm 版本,如果是新版本的话, 会有更好的解决的办法。


http://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering


再说一下这两个文件:


 

/usr/lib/rpm/perl.req 
/usr/lib/rpm/perl.prov

这两个文件都是一个 perl 脚本, 主要是检查 rpm 里面的每个文件的依赖(perl.req), 和所提供的模块 (perl.prov)

2012年3月14日星期三

快速安全搭建linux ftp server (vsftpd)

linux ftp server快速搭建

既然强调快速, 我们就马上开始
环境是centos5安装vsftpd, 别的linux系统可以参考下, 呵呵
# yum -y install vsftpd
没什么问题就直接安装好啦
编辑vsftpd的配置文件
# vi /etc/vsftpd/vsftpd.conf

2012年3月12日星期一

Centos中文、英文系统环境设置

vim /etc/sysconfig/i18n

 

中文环境设置:


Java代码  收藏代码



  1. LANG="zh_CN.GB18030"

  2. LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

  3. SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"

  4. SYSFONT="lat0-sun16"



 

英文环境设置:


Java代码  收藏代码



  1. LANG="en_US"

  2. LANGUAGE="en_US"

  3. SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"

  4. SYSFONT="lat0-sun16"

  5. SYSFONTACM="8859-15"