[实践OK]linux装rz/sz的rpm包(yum install lrzsz -y)的时候老是依赖什么so的情况问了下张宴,没想到在打rpm包时用上ldd了,以及centOS下rz sz的rpm包。
背景:最近,打下rpm包,想了解一下包依赖,特别是这个libiconv这个在linux里没有yum下的rpm包,于是自己打了一个编译过去了,但是如果在其它机器部署是不是还得装下自己打的rpm包呢,于是查了一下,发现php里面有一个libiconv.so.2指向打rpm编译时自己打的这个libiconv的rpm包,所以,还得安装这个自制的rpm包,也就是说需要打的php的rpm包依赖这个自己打的libiconv的rpm包,要在依赖里写明:Requires: libiconv ,不光是BuildRequires: libiconv。
[root@localhost sbin]# ldd php-fpm |grep libicon
libiconv.so.2 => /usr/local/libiconv/lib64/libiconv.so.2 (0x00007f0a545db000)
同样,如果自己建立yum仓库时,在安装memcache包时也需要安装自己打的这个libevent的rpm包(指定打包安装的libevent动态库位置后,后面打包的memcache也是按这个指向编译并打包即可):
[root@iZ25dcp92ckZ multepoolserver]# ldd /usr/local/memcached/bin/memcached
linux-vdso.so.1 => (0x00007ffc4d5b5000)
libevent-2.0.so.5 => /usr/local/lib/libevent-2.0.so.5 (0x00007fac1db70000)
——————————————————————————————————————————
这块还好当时问过张宴兄弟,突然想到打包,他提到的这个ldd很有帮助:
向东 说:
centos出5.4了,那个nginx也写到5.4吧?呵呵
张宴 说:
有时间我更新一下,呵呵。
向东 说:
我想请教一个关于rpm包的问题,我安装某个东西的时候会说依赖某个*so,你一般是怎么反查到这个*.so属于某个rpm包?
向东 说:
在不同系统版本好像包也是有区分的
向东 说:
张宴 说:
只能根据rpm包的某个可执行文件查询其依赖的.so,ldd命令可以查询:
张宴 说:
# ldd /usr/local/webserver/nginx/sbin/nginx
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003e78200000)
libpcre.so.0 => /lib64/libpcre.so.0 (0x0000003e76a00000)
libssl.so.6 => /lib64/libssl.so.6 (0x0000003610c00000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x0000003e75200000)
向东 说:
喔,linux在装某个rpm的时候依赖很多包,比如我装那个rz的时候就说我没有装什么什么so,你是如何解决?
张宴 说:
装rz,yum install lrzsz就OK了。
向东 说:
喔,我搞的是虚拟机啊,,我就直接挂载Linux的iso到虚拟机里面,想挨个安装rpm包依赖,
没有利用到linux的网络优势。
向东 说:
看来还得自己搞台服务器玩玩
张宴 说:
rpm安装有先后顺序的。
张宴 说:
rpm -i *.rpm
向东 说:
rpm -ihv rzsz-0.12.20-853.2*.rpm他会提示你缺少某个动态链接库,但是这个动态链接库的rpm包他没有说啊
向东 说:
向东 说:
当然用yum联网他会给一切安排好
向东 说:
我的网站给个链接:www.jackxiang.com
向东 说:
大学的时候我就看到你叫回忆未来,我说说我为何叫回忆未来:如果我放弃了我的员工,我永远不会看到未来的希望,如果我放弃了我的客户,我则失去了回忆的必要,信念和希望必须专注与此,我就是回忆未来-向东 缘分啊。
向东 说:
于是搞了个虚拟机NAT方式共享上网, yum install lrzsz:
[root@localhost ~]# yum install lrzsz
Loaded plugins: fastestmirror
Determining fastest mirrors
* addons: mirrors.163.com
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
addons | 951 B 00:00
addons/primary | 201 B 00:00
base | 2.1 kB 00:00
base/primary_db 78% [================================ ] 141 kB/s | 1.2 MB 00:02 ETA
[root@localhost sbin]# ldd php-fpm |grep libicon
libiconv.so.2 => /usr/local/libiconv/lib64/libiconv.so.2 (0x00007f0a545db000)
同样,如果自己建立yum仓库时,在安装memcache包时也需要安装自己打的这个libevent的rpm包(指定打包安装的libevent动态库位置后,后面打包的memcache也是按这个指向编译并打包即可):
[root@iZ25dcp92ckZ multepoolserver]# ldd /usr/local/memcached/bin/memcached
linux-vdso.so.1 => (0x00007ffc4d5b5000)
libevent-2.0.so.5 => /usr/local/lib/libevent-2.0.so.5 (0x00007fac1db70000)
——————————————————————————————————————————
这块还好当时问过张宴兄弟,突然想到打包,他提到的这个ldd很有帮助:
向东 说:
centos出5.4了,那个nginx也写到5.4吧?呵呵
张宴 说:
有时间我更新一下,呵呵。
向东 说:
我想请教一个关于rpm包的问题,我安装某个东西的时候会说依赖某个*so,你一般是怎么反查到这个*.so属于某个rpm包?
向东 说:
在不同系统版本好像包也是有区分的
向东 说:
张宴 说:
只能根据rpm包的某个可执行文件查询其依赖的.so,ldd命令可以查询:
张宴 说:
# ldd /usr/local/webserver/nginx/sbin/nginx
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003e78200000)
libpcre.so.0 => /lib64/libpcre.so.0 (0x0000003e76a00000)
libssl.so.6 => /lib64/libssl.so.6 (0x0000003610c00000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x0000003e75200000)
向东 说:
喔,linux在装某个rpm的时候依赖很多包,比如我装那个rz的时候就说我没有装什么什么so,你是如何解决?
张宴 说:
装rz,yum install lrzsz就OK了。
向东 说:
喔,我搞的是虚拟机啊,,我就直接挂载Linux的iso到虚拟机里面,想挨个安装rpm包依赖,
没有利用到linux的网络优势。
向东 说:
看来还得自己搞台服务器玩玩
张宴 说:
rpm安装有先后顺序的。
张宴 说:
rpm -i *.rpm
向东 说:
rpm -ihv rzsz-0.12.20-853.2*.rpm他会提示你缺少某个动态链接库,但是这个动态链接库的rpm包他没有说啊
向东 说:
向东 说:
当然用yum联网他会给一切安排好
向东 说:
我的网站给个链接:www.jackxiang.com
向东 说:
大学的时候我就看到你叫回忆未来,我说说我为何叫回忆未来:如果我放弃了我的员工,我永远不会看到未来的希望,如果我放弃了我的客户,我则失去了回忆的必要,信念和希望必须专注与此,我就是回忆未来-向东 缘分啊。
向东 说:
于是搞了个虚拟机NAT方式共享上网, yum install lrzsz:
[root@localhost ~]# yum install lrzsz
Loaded plugins: fastestmirror
Determining fastest mirrors
* addons: mirrors.163.com
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
addons | 951 B 00:00
addons/primary | 201 B 00:00
base | 2.1 kB 00:00
base/primary_db 78% [================================ ] 141 kB/s | 1.2 MB 00:02 ETA
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2451/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2016-12-28 10:26
评论列表