在安装 director ISO 时我们经常需要查看一些包的依赖关系:
#rpm -ql
#rpm -qa
# rpm -qa|grep servicelog
# rpm -qa vacpp*
vacpp.rte-11.1.0.6-120420b
#rpm -e 卸载
#rpm -e servicelog-1.1.9.5.ppc.rpm
在我们卸载rpm时,我么和注意到要么error时,可以是通过一些其他的图形界面卸载,此时可能会自动解决一些依赖的关系:
比如sles的yast图形界面安装/卸载;
#rpm -ih
#rpm -ih servicelog-1.1.9-5.ppc.rpm 安装命令
下面是一些共享包的检查和查看的常见操作:
比如在安装时我么和提示/usr/lib/libibmad.so.1这个出错了。。
我们#/usr/lib/libibmad.so.1(TAB)
libibmad.so.1 libibmad.so.1.3.0
etuz12:/mnt/server # rpm -qf /Scratch/jchense/vacpp.rte
vacpp.rte-11.1.0.6-120420b.ppc64.rpm vacpp.rte.111.linux_ppc.jun2012.upda
netuz12:/mnt/server # rpm -qf /Scratch/jchense/vacpp.rte-11.1.0.6-120420b.ppc64.rpm
file /Scratch/jchense/vacpp.rte-11.1.0.6-120420b.ppc64.rpm is not owned by any pack
netuz12:/mnt/server # rpm -ql /Scratch/jchense/vacpp.rte-11.1.0.6-120420b.ppc64.rpm
package /Scratch/jchense/vacpp.rte-11.1.0.6-120420b.ppc64.rpm is not installed
netuz12:/mnt/server # rpm -ql vacpp.rte
/opt/ibmcmp
/opt/ibmcmp/lib
/opt/ibmcmp/lib/libibmc++.so.1
/opt/ibmcmp/lib64
/opt/ibmcmp/lib64/libibmc++.so.1
/opt/ibmcmp/vac
/opt/ibmcmp/vac/11.1
/opt/ibmcmp/vac/11.1/lib
/opt/ibmcmp/vac/11.1/lib/libxldbase.so.1
/opt/ibmcmp/vac/11.1/lib/libxllisting.so.1
下面是一些共享库的设置及查看的基本的操作
netuz12:/mnt/server # vi /etc/ld(TAB)
ld.so.cache ld.so.conf ld.so.conf.d/ ldap.conf
netuz12:/mnt/server # vi /etc/ld(TAB)
ld.so.cache ld.so.conf ld.so.conf.d/ ldap.conf
netuz12:/mnt/server # vi /etc/ld(TAB)
ld.so.cache ld.so.conf ld.so.conf.d/ ldap.conf
netuz12:/mnt/server # vi /etc/ld.so.conf
netuz12:/mnt/server # /sbin/ldconfig
bin/ dirinstall.server packages/
checkds/ dirserv.rsp piv/
netuz12:/mnt/server # /sbin/ldconfig
bin/ dirinstall.server packages/
checkds/ dirserv.rsp piv/
netuz12:/mnt/server # /sbin/ldconfig # man ldconfig
netuz12:/mnt/server # ldconfig -p
2634 libs found in cache `/etc/ld.so.cache'
libzypp.so.631 (libc6,64bit) => /usr/lib64/libzypp.so.631
libzio.so.0 (libc6,64bit) => /usr/lib64/libzio.so.0
libzio.so.0 (libc6) => /usr/lib/libzio.so.0
libzebra.so.0 (libc6,64bit) => /usr/lib64/libzebra.so.0
libz.so.1 (libc6,64bit) => /lib64/libz.so.1
libz.so.1 (libc6) => /lib/libz.so.1
liby2util.so.4 (libc6,64bit) => /usr/lib64/liby2util.so.4
liby2storage.so.2 (libc6,64bit) => /usr/lib64/liby2storage.so.2
liby2.so.2 (libc6,64bit) => /usr/lib64/liby2.so.2
libyui.so.3 (libc6,64bit) => /usr/lib64/libyui.so.3
libycpvalues.so.3 (libc6,64bit) => /usr/lib64/libycpvalues.so.3
libycp.so.3 (libc6,64bit) => /usr/lib64/libycp.so.3
libxtables.so.4 (libc6,64bit) => /usr/lib64/libxtables.so.4
libxslt.so.1 (libc6,64bit) => /usr/lib64/libxslt.so.1
libxslt.so.1 (libc6) => /usr/lib/libxslt.so.1
libxrxnest.so (libc6,64bit) => /usr/lib64/libxrxnest.so
libxrx.so (libc6,64bit) => /usr/lib64/libxrx.so
libxml2.so.2 (libc6,64bit) => /usr/lib64/libxml2.so.2
libxml2.so.2 (libc6) => /usr/lib/libxml2.so.2
libxklavier.so.15 (libc6,64bit) => /usr/lib64/libxklavier.so.15
libxkbui.so.1 (libc6,64bit) => /usr/lib64/libxkbui.so.1
libxkbui.so.1 (libc6) => /usr/lib/libxkbui.so.1
libxkbfile.so.1 (libc6,64bit) => /usr/lib64/libxkbfile.so.1
libxkbfile.so.1 (libc6) => /usr/lib/libxkbfile.so.1
libxcrypt.so.2 (libc6,64bit) => /lib64/libxcrypt.so.2
libxcrypt.so.2 (libc6) => /lib/libxcrypt.so.2
libxcb.so.1 (libc6,64bit) => /usr/lib64/libxcb.so.1
libxcb.so.1 (libc6) => /usr/lib/libxcb.so.1
libxcb-xvmc.so.0 (libc6,64bit) => /usr/lib64/libxcb-xvmc.so.0
libxcb-xvmc.so.0 (libc6) => /usr/lib/libxcb-xvmc.so.0
libxcb-xv.so.0 (libc6,64bit) => /usr/lib64/libxcb-xv.so.0
libxcb-xv.so.0 (libc6) => /usr/lib/libxcb-xv.so.0
libxcb-xtest.so.0 (libc6,64bit) => /usr/lib64/libxcb-xtest.so.0
libxcb-xtest.so.0 (libc6) => /usr/lib/libxcb-xtest.so.0
libxcb-xprint.so.0 (libc6,64bit) => /usr/lib64/libxcb-xprint.so.0
libxcb-xprint.so.0 (libc6) => /usr/lib/libxcb-xprint.so.0
libxcb-xlib.so.0 (libc6,64bit) => /usr/lib64/libxcb-xlib.so.0
libxcb-xlib.so.0 (libc6) => /usr/lib/libxcb-xlib.so.0
libxcb-xinerama.so.0 (libc6,64bit) => /usr/lib64/libxcb-xinerama.so.0
libxcb-xinerama.so.0 (libc6) => /usr/lib/libxcb-xinerama.so.0
libxcb-xf86dri.so.0 (libc6,64bit) => /usr/lib64/libxcb-xf86dri.so.0
libxcb-xf86dri.so.0 (libc6) => /usr/lib/libxcb-xf86dri.so.0
libxcb-xfixes.so.0 (libc6,64bit) => /usr/lib64/libxcb-xfixes.so.0
libxcb-xfixes.so.0 (libc6) => /usr/lib/libxcb-xfixes.so.0
libxcb-xevie.so.0 (libc6,64bit) => /usr/lib64/libxcb-xevie.so.0
libxcb-xevie.so.0 (libc6) => /usr/lib/libxcb-xevie.so.0
libxcb-wm.so.0 (libc6,64bit) => /usr/lib64/libxcb-wm.so.0
libxcb-wm.so.0 (libc6) => /usr/lib/libxcb-wm.so.0
libxcb-sync.so.0 (libc6,64bit) => /usr/lib64/libxcb-sync.so.0
libxcb-sync.so.0 (libc6) => /usr/lib/libxcb-sync.so.0
libxcb-shm.so.0 (libc6,64bit) => /usr/lib64/libxcb-shm.so.0
libxcb-shm.so.0 (libc6) => /usr/lib/libxcb-shm.so.0
libxcb-shape.so.0 (libc6,64bit) => /usr/lib64/libxcb-shape.so.0
libxcb-shape.so.0 (libc6) => /usr/lib/libxcb-shape.so.0
libxcb-screensaver.so.0 (libc6,64bit) => /usr/lib64/libxcb-screensaver.so.0
libxcb-screensaver.so.0 (libc6) => /usr/lib/libxcb-screensaver.so.0
libxcb-res.so.0 (libc6,64bit) => /usr/lib64/libxcb-res.so.0
libxcb-res.so.0 (libc6) => /usr/lib/libxcb-res.so.0
libxcb-reply.so.0 (libc6,64bit) => /usr/lib64/libxcb-reply.so.0
libxcb-reply.so.0 (libc6) => /usr/lib/libxcb-reply.so.0
libxcb-render.so.0 (libc6,64bit) => /usr/lib64/libxcb-render.so.0
libxcb-render.so.0 (libc6) => /usr/lib/libxcb-render.so.0
libxcb-render-util.so.0 (libc6,64bit) => /usr/lib64/libxcb-render-util.so.0
libxcb-render-util.so.0 (libc6) => /usr/lib/libxcb-render-util.so.0
libxcb-record.so.0 (libc6,64bit) => /usr/lib64/libxcb-record.so.0
libxcb-record.so.0 (libc6) => /usr/lib/libxcb-record.so.0
libxcb-randr.so.0 (libc6,64bit) => /usr/lib64/libxcb-randr.so.0
libxcb-randr.so.0 (libc6) => /usr/lib/libxcb-randr.so.0
......................
(这个真的输出了很多的。。。依赖共享库之间的依赖关系)
netuz12:/mnt/server # ldconfig -p|grep libibm (grep到你自己要找的共享包的依赖的关系)
libibmad.so.1 (libc6) => /usr/lib/libibmad.so.1
netuz12:/mnt/server # rpm -ql vacpp.rte
/opt/ibmcmp
/opt/ibmcmp/lib
/opt/ibmcmp/lib/libibmc++.so.1
/opt/ibmcmp/lib64
/opt/ibmcmp/lib64/libibmc++.so.1
/opt/ibmcmp/vac
/opt/ibmcmp/vac/11.1
/opt/ibmcmp/vac/11.1/lib
/opt/ibmcmp/vac/11.1/lib/libxldbase.so.1
/opt/ibmcmp/vac/11.1/lib/libxllisting.so.1
netuz12:/mnt/server # vi /etc/ld.so.conf
这里描述了共享库的路径
netuz12:/mnt/server # grep -r cmp /etc/ld* (grep的-r选项)
/etc/ld.so.conf:/opt/ibmcmp/lib
/etc/ld.so.conf:/opt/ibmcmp/lib64
netuz12:/mnt/server # grep -r cmp /etc/ld*
/etc/ld.so.conf:/opt/ibmcmp/lib
/etc/ld.so.conf:/opt/ibmcmp/lib64
netuz12:/mnt/server # grep -r cmp *
netuz12:/mnt/server # vi /etc/ld.so.conf
netuz12:/mnt/server # rpm -ql vacpp.rte
/opt/ibmcmp
/opt/ibmcmp/lib
/opt/ibmcmp/lib/libibmc++.so.1
/opt/ibmcmp/lib64
/opt/ibmcmp/lib64/libibmc++.so.1
/opt/ibmcmp/vac
/opt/ibmcmp/vac/11.1
/opt/ibmcmp/vac/11.1/lib
/opt/ibmcmp/vac/11.1/lib/libxldbase.so.1
/opt/ibmcmp/vac/11.1/lib/libxllisting.so.1
netuz12:/Scratch/jchense # rpm -qa|grep vacpp
netuz12:/Scratch/ningyh # rpm -qf vaccp.rte
error: file /Scratch/ningyh/vaccp.rte: No such file or directory
netuz12:/Scratch/ningyh # rpm -ql vacpp.rte
/opt/ibmcmp
/opt/ibmcmp/lib
/opt/ibmcmp/lib/libibmc++.so.1
/opt/ibmcmp/lib64
/opt/ibmcmp/lib64/libibmc++.so.1
/opt/ibmcmp/vac
/opt/ibmcmp/vac/11.1
/opt/ibmcmp/vac/11.1/lib
/opt/ibmcmp/vac/11.1/lib/libxldbase.so.1
/opt/ibmcmp/vac/11.1/lib/libxllisting.so.1