软件包管理
链接主要作用是吧各个模块之间互相引用的部分处理好,
使得各个模块之间能够正确的链接,分为静态和动态
静态链接 以.a为后缀 把程序对应的依赖库复制到包
升级难 需重新编译 占用空间多 迁移容易
动态链接 以.so为后缀 把依赖加做动态链接
占用空间少 升级方便
若一个库被删,那么所有依赖此库的命令都
受影响(使用相对较多)
包命名
name-VERSION.tar.gz|bz2|xz
包名 版本
例 bash-4.2.46-19.e17.x86_64.rpm
noarch 根平台无关
管理及查看本机装载的库文件
ldd /bin/ls 查看命令所调用的库
ldconfig加载库文件
/sbin/ldconfig -p 显示本机已经缓存的所有可用库文件名
及文件路径映射关系
配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf
缓存文件:/etc/ld.so.cache
****************************************************************
RPM包管理器
安装:
rpm {-i|–install} [install-options] PACKAGE_FILE…
-i 安装选项
-v 显示过程
-h 以#显示程序包管理执行进度
[install-options]
–test: 测试安装,但不真正执行安装,即dry run模式 操作走了一次但没装
例 rpm -i –test vsftab-2*
–nodeps:忽略依赖关系
例 rpm -ivh httpd* –nodeps 能安装但是后期可能不能用
–replacepkgs | replacefiles
若删掉了包中的文件重新装包系统提示已经存在,此时可用此命令
例 rpm -ivh –replacepkgs tree*
replacefiles替代文件 即安装两个包,有同一个相同文件同时写入同一路径下
此时系统提示不能安装便可用此选项强制安装并覆盖
–nosignature: 不检查来源合法性
–nodigest:不检查包完整性
–noscripts:不执行程序包脚本
%pre: 安装前脚本; –nopre
%post: 安装后脚本; –nopost
%preun: 卸载前脚本; –nopreun
%postun: 卸载后脚本; –nopostun
rpm -ivh name1 name2… 一次安装多个包