您的位置:首页 > 产品设计 > 产品经理

9月10日 rpm和yum程序总结

2015-09-15 23:15 501 查看
1、总结rpm和yum实现程序包的管理功能.
程序包管理:
deb:debian
rpm:redhat
rpm用c语言重写之后才是现在用的,比较好,成为了业界标准
程序包组成部分:
二进制程序:/bin /sbin /usr/bin /usr/sbin
库文件:/lib64 /usr/lib64
配置文件:/etc
帮助文件:manual info
包管理器:
打包:一个单一的归档文件:里面包含一堆文件
安装:展开归档文件,把文件放到指定的地方
卸载:找到安装的文件,然后删除他们
升级:用新版的程序替换掉老版本的程序
校验:来源合法性:得信任才能装。完整性:保证没被别人改过
rpm的打包工具是rpmbuild:它基于specs文件进行打包,它有个元数据存储着安装的信息
分包机制:分为核心包和支包,用啥安啥
rpm包明明机制
name-(major.minor.release)-release.arch.rpm
包名-(主版本号.次版本号.修正版本号)-RPM包的Release-架构.rpm
主版本号:最关键的功能升级才改变
次版本号:小功能的改进
修正版本号:修正bug
RPM包的Release是rpm包的版本号el7时enterprises linux 7
rpm有自己的数据库:/var/lib/rpm
每一个包的包名
安装生成的文件
校验码等



如何获取rpm包:
1、发行公司提供的,光盘里的Packages



2、fedora-EPEL



3、某些程序的官网
4、三方网站rpmfind.net rpm.pbone.net pkgs.org









如何使用
格式: rpm –ivh 包
-i是安装
-v详细过程,-vv更详细,-vvv
-h显示安装进度的显示






--nodeps:忽略以来关系
--test:测试一次
--replacepkgs:重装
-Uvh:升级有旧版程序包,升级,没有就安



-Fvh:升级有旧版程序包,升级,没有不安



-e:卸载



-q查询
-qa查询本机所有安装包
-qf查询文件是哪个包生成的
-qc查询包生成哪些配置文件
-qd查询包生成哪些文档
-V校验
包校验:
来源合法性:非对称加密,公钥私钥成对出现
完整性验证单向加密
在/etc/pki/rpm-gpg/



导入密钥 rpm --import



校验 rpm –K 包




Yum
Yellowdog Update Modifier
去包仓库找我们查找我要找的命令,仓库可以有多个,每当我们找的时候,他会找一次这些仓库,找在库的元数据包里到最新的版本,然后下载到本地(包括元数据包),放到缓存里,如果都下载完,它就安装。每一个仓库都是独立管理的
阿里云,163,搜狐镜像都是仓库
mirrors.aliyun.com/centos
元数据文件在repodata文件夹里
yum程序的配置文件
/etc/yum.conf
全局配置,对所有仓库都适用
/etc/yum.repos.d/*.repo
一个文件里都是一个或一组类似功能






[REPO_ID]
name=
baseurl=可以有多个,
上下同理
#mirrorlst=SCHEME://HostName定义了镜像列表
enabled=1启用0关闭
gpgcheck=1检验0不检验
gpgkey=上面的密钥
cost=指明仓库的开销,数值越小开销越小,越被使用,默认1000
可用变量:
$releasever:引用当前系统主版本号cenos7.1的7
$basearch:当前系统的基本架构 i386啥的




注意结尾一定要以.repo结尾才可以
可以自定义repo文件
yum repolist可以查询你有哪些仓库




说我有问题!

找不到原因



yum命令:
install 安装



remove卸载,以来的也卸载



info查询包信息,无论安装与否



search all显示所有包最好加上key



list 包 列出已经安装的包 all显示所有



provide查询提供指定内容的软件包
reinstall重新安装
downgrade降级

clean降级:清理包,元数据啥的 all 清理所有



makecache生成元数据缓存




grouplist列出所有包组
groupinfo “包”查询包组讯息



groupinstall 安装组
groupremove移除一个包组

repolist all,enabled,disabled仓库



repoinfo仓库信息



yum help repoinfo可以查询repoinfo怎么用

使用本地光盘当本地仓库
使用file:/// 代替baseurl
创建本地仓库
自己yum installl createrepo
createrepo 指向你下那一堆rpm包的目录,后续就自动了
DNF是YUM的升级版
yum install dnf以后就可以用dnf了

最后:yum是自动挡,rpm是手动档,各有千秋!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 程序 二进制