yum与rpm包

yum与rpm包
包命名和工具
包:分类和拆包
Application-VERSION-ARCH.rpm:主包
Application-devel-VERSION-ARCH.rpm 开发子包
Application-utils-VERSION-ARHC.rpm 其它子包
Application-libs-VERSION-ARHC.rpm 其它子包
包之间:可能存在依赖关系,甚至循环依赖
解决依赖包管理工具:
yum:rpm包管理的前端工具
apt-get:deb包管理器前端工具
zypper:suse上的rpm前端管理工具
dnf:Fedora 18+rpm包管理器前端管理工具
库文件
查看二进制程序所依赖的库文件
ldd /PATH/TO/BINARY_FILE
管理及查看本机装载的库文件
ldconfig
/sbin/ldconfig -p:显示本机已经缓存的所有可用库文件名及文件路径映射关系
配置文件:/etc/id.so.conf./etc/ld.xo.conf.d/*.conf
缓存文件:/etc/ld.so.cache bao
包管理器
程序包管理器
功能:将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装,卸载,查询,升级和校验等管理操作
1,包文件组成(每个包独有)
RPM包内的文件
RPM的元数据,如名称,版本,依赖性,描述等安装或卸载时运行的脚本
2,数据库(公共):/var/lib/rpm
程序包名称及版本
依赖关系
功能说明
包安装后生成的各文件路径及校验码信息
程序包的来源
管理程序包的方式
使用包管理器:rpm
使用前端工具:yum,dnf
获取程序包的途径;
程序发版的光盘或官方的服务器;
CentOS镜像:
http://mirrors.aliyun.com
项目官方站点
第三方组织;
Fedira-EPEL;
Extra packages for Enterprise linux
Rpmforge:RHEL推荐,包
搜索引擎
http://pkgs.org
自己制作
注意:第三方包建议要检查其合法性
来源合法性,程序包的完整性
rpm包管理
centOS系统上使用rpm命令管理程序包:
安装,卸载,升级。查询。校验,数据库维护
安装:
rpm{-i|–install} [install-options] PACKAGE_FILE….
-V:verbose
-vv:
-h:以#显示程序包管理执行进度
rpm -ivb PACKAGE_FILE…
[install-options]
–test:测试安装,但不真正执行安装,即dry run模式
–nodeps:忽略依赖关系
–replacepkgs | replacefiles
–nosignature:不检查来源合法性
–nodigest:不检查包完整性
–noscripts:不执行程序包脚本
%pre:安装前脚本; –nopre
%post:安装后脚本; –nopost
%preun:卸载前脚本; –nopreun
%postun:卸载后脚本; –nopostun
rpm包升级
升级:
rpm{-U|–upgrade} [install-options] PACKAGE_FILE…
rpm{-F|–freshen} [install-options] PACKAGE_FILE…
upgrade:安装有旧版程序包,则”升级“
如果不存在旧版程序包,则“安装”
freshen:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则不执行升级操作
rpm -Uvh PACKAGE_FILE…
rpm -Fvh PACKAGE_FILE…
–oldpackage:降级
–force:强制安装
1.编写 shell 脚本配置内网环境 yum 的 base 源和 epel 源。
#!/bin/bash
var_repoName=`echo $1 | cut -d “=” -f2`
var_repoUrl=`echo $2 | cut -d “=” -f2`
var_check=`echo $3 | cut -d “=” -f2`
cd /etc/yum.repos.d
echo “[$var_repoName]” >$var_repoName\.repo
echo “name=$var_repoName” >> $var_repoName\.repo
echo “baseurl=$var_repoUrl” >> $var_repoName\.repo
echo “gpgcheck=$var_check” >> $var_repoName\.repo
if [ $var_check -eq 1 ];then
echo “gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6” >> $var_repoName\.repo
fi
yumclean all
yummakecache
yumrepolist
2.编写脚本使用 yum 安装 编译环境组包,然后安装 tree 命令,使用 rpm 命令查看 tree 是否安装成功,使用
rpm 命令查看 tree 安装文件系统中的所以文件,使用 yum 删除之前安装的编译环境组包。
#!/bin/bash
yumgroupinstall “Development tools” -y
yuminstall wget -y
rpm -qawget
rpm -ql wget
var_tag=`yum history | grep Install | head -2 | tail -1| tr -d ” ” | cut -d “|” -f1 `
echo $var_tag
yumhistory undo $var_tag -y
3.使用 yum 查询包含 httpd 的软件包,并且安装。使用yum查看 httpd 是否安装成功。然后使用 yum卸载 httpd
并查看是否卸载成功
yumlist “http*”
yuminfo httpd
yumwhatprovides “*bin/httpd”
yuminstall httpd -y
yumremove httpd

原创文章,作者:wangqiang,如若转载,请注明出处:http://www.178linux.com/75049

(0)
wangqiangwangqiang
上一篇 2017-05-08
下一篇 2017-05-08

相关推荐

  • 关于Raid的各种类型特点概要

    关于Raid需要了解掌握的要点

    Linux干货 2017-11-26
  • 8.5_Linux习题练习和作业

    课堂练习题 1、找出ifconfig命令结果中本机的所有IPv4地址 # ifconfig | grep -oE "([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|2…

    Linux干货 2016-08-10
  • 压缩解压缩 tar 主要掌握

    compress [-dfvcVr] [-b maxbits] [file …] -d: 解压缩,相当于 -c: 结果输出至标准输出,不删除原文件 单纯-c 会出乱码 所以 > .. -v: 显示详情 uncompress解压缩 zcat file.Z > file  ##没人用  因为压缩比不高  …

    Linux干货 2016-08-21
  • N25_第十三周作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)  1)共享名为shared,工作组为magedu;  2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;  3)添加samb…

    Linux干货 2017-03-06
  • 踩踩Linux命令中的那些坑

    有时候面对命令的执行和条件的判断,可能会遇到莫名奇妙的原因,可能是人为错误导致,也可能是命令本身的问题。

    Linux干货 2017-11-23
  • 1128基于fastDFS,制作rpm包

    基于fastDFS,制作rpm包: 1、安装相应的环境: 1、Development tools 2、git(从外网git仓库下载源码所需) 3、Server Platform Development ———————————&#…

    2016-12-05