linux下rpm,yum学习
linux下RPM及yum学习
linux中程序管理程序主要分为两类
dpkg(Debian Packager):debian,Ubuntu,Knoppix
rpm(Redhat Package Manager):Redhat,Centos,Fedora
linux通过管理程序实现程序的安装,但不管是dpkg还是rpm安装软件时若软件存在依赖性关系,则自动安装所需要软件及相关配置,为实现此功能,rpm需包含自己的数据库(/var/lib/rpm),将安装程序分别安装到指定位置,本次学习以rpm为本进行学习
RPM管理程序:
RPM是什么
RPM是Redhat开发的为Redhat系列的linux提供程序安装管理的管理程序
RPM与SRPM
Linux由于开源关系导致其各发行版或多或少有点不一样,由于RPM安装程序事先编译按照,因此不可能适应全部发行版的linux环境,针对此现象可使用SRPM程序包,此程序包包含RPM源码,可根据具体发行部再行编译安装
RPM使用
打包:rpmbuild:基于specs文件进行打包
主包:包含包的主要功能(app-version)
分包:包含包的部分非常用功能,根据需要进行安装(app-devel-version)
version格式:主版本号.此版本号.release号
例子: zlib-1.2.7-13.el7.x86_64.rpm(主包)
zlib-devel-1.2.7-13.el7.x86_64.rpm(分包)
获取包方式:
1.发行版提供的程序包
2.Fedora-EPEL 个别开源程序;
3. 项目官方站点
4.搜索引擎
安装:
格式:rpm {-i|--install} [install-options] PACKAGE_FILE ...
-i:表示安装程序
-v:表示显示安装过程
-vv:显示调试信息
--percent:以百分比方式显示安装进度
--excludedocs:不安装包中的文档文件
--ignoreach:不校验包结构
--includedocs:安装文档
--noscripts:不运行安装脚本
--prefix:安装到指定目录下
--force:忽略文件冲突
-h:安装时输出hash记号#
--nodeps:忽略依赖关系
--test:仅做测试
--replacepkgs:重装程序包
例子:
升级:
格式:rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
常用命令格式:
-Uvh:若有旧版程序则升级,若无则安装
-Fvh:若有旧版程序则升级,若无则不做操作
--nodeps:忽略依赖关系
--oldpackage:降级
--force:强制升级
--test:仅做测试
卸载:
格式: rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
[--notriggers] [--test] PACKAGE_NAME ...
[--nodeps]:卸载忽略依赖关系
[--noscripts]:卸载时不运行脚本
[--test]:只是测试
查询:
格式:rpm {-q|--query} [select-options] [query-options]
-q:查询
-qa:查询本机安装的所有程序
-qf FILE:查询FILE由那个安装包生成
-p:查询未安装的软件包
--whatprovides:查询所有提供了功能的软件包
--whatrequires:查询所有要求功能的软件包
-qc:查询程序包生成的配置文件
-qd:查询程序包生成的文档
-qi:查询程序包的信息
-ql:查询程序包生成的文件列表
-q --scripts:查询程序包相关脚本
preinstall:安装前
postinstall:安装后
preuninstall:卸载前
postuninstall:卸载后
例子:
校验:
格式:rpm {-V|--verify} [select-options] [verify-options]
校验码含义:
S: 文件大小发生了变化
M:权限发生变化
5:MD5校验码变化
D:设备文件不匹配
U:属主改变
T:最近修改时间戳改变
P:功能变化
由于安全性考虑文件可能需要秘钥进行校验:
导入秘钥:rpm --import
校验: rpm -k FILE
yum:
网上存在较多镜像站点,其中repodata所在父目录即仓库路径
yum仓库:
文件服务器:
ftp://hostname/PATH/TO/REPO
http://hostname/ PATH/TO/REPO
file:///PATH/TO/REPO
yum配置文件:
全局配置文件:/etc/yum.conf
单个仓库或同类仓库:/etc/yum.repos.d/*.repo
name:仓库名称
baseurl:参照yum仓库文件服务器设置,可设置多个,随机挑选一个
mirrorlist:将仓库写成列表,在通过列表读取baseurl,实现baseurl冗余
gpgcheck:是否检验包的合法性(0/1)
gpgkey:秘钥文件
enable:是否启用(0/1)
cost:指明仓库开销,越小越优先
添加后yum repolist生效仓库
仓库定义变量:
$releasever:当前系统主版本号
$basearch:当前系统架构:
i386,i486,i586,i686
例子:
yum管理软件:
安装:install
卸载:remove(自动卸载依赖关系包)
升级:update(yum check-update检察升级包)
查询:
info:不管安装没安装都能查询相关信息
search KEYWOED [all]:all代表只要出现了都search,没有all代表只搜索包名出现关键字的
list all|installed|availiable:显示所有包|已安装包|可安装包
provides:查询文件由那个包生成的
重新安装:reinstall
降级:downgrade
清理: [ packages | metadata | expire-cache | rpmdb | plugins | all ],一般可以clean all
生成缓存:makecache
包组:一次管理一组程序包
grouplist:列出所有包组
groupinfo GROUPNAME:查看GROUPNAME信息
groupinstall “GROUPNAME”包组安装
groupremove “GROUPNAME”包组卸载
仓库:
列出仓库: repolist [all|enabled|disabled] 默认enableed
查看仓库信息:repoinfo [all|enabled|disabled]
查看仓库包安装情况: repository-packages
转载于:https://blog.51cto.com/610463479/1694773
linux下rpm,yum学习相关推荐
- [mysql] linux下使用yum安装mysql
From: http://www.2cto.com/database/201207/141878.html linux下使用yum安装mysql 1.安装 查看有没有安装过: yum list ins ...
- yum linux gcc安装包下载,linux下安装yum及gcc
linux下安装yum及gcc的详细教程 ----孤独小客(http://doc.docsou.com) 1.安装yum [root@st ~]#wget http://doc.docsou.com/ ...
- linux下安装工具——yum
目录 一 yum基本概念 1 yum的功能之一--搜索安装下载 2 解决依赖关系 二 yum相关操作 Yum源 Yum操作 1 查找 list 2 安装 install 3 卸载软件 remove ...
- 第十章 Linux下RPM软件的安装与卸载
第十章 Linux下RPM软件的安装与卸载 第一节 RPM软件包安装 rpm命名原则 如: vsftpd-3.0.2-9.el7.x86_64.rpm vsftpd 3.0.2 9 e17 x86_6 ...
- linux下rpm方式安装mysql(2012-5-12)
由于感觉前几篇博客中关于linux下rpm方式安装mysql的方法问题太多,今天抽时间重新实践和整理了一下,现在拿出来和大家分享,希望对家有用. 系统环境: Rat had enterprise li ...
- linux rpm 查找,Linux下 rpm 命令查询方法
[root@wang /]# rpm -qa // 查看安装所有包 [root@wang /]# rpm -qa |grep vim // 查询所安装的包 +包名 [root@wang /]# rpm ...
- Linux下光盘yum源搭建及简单软件安装
Linux下软件安装包常见的有源码包.二进制包, 软件安装一般有以下几种方式:RPM包安装.yum安装.以及脚本安装. 严格来说,脚本安装并不是独立的一种安装方式,只是对Linux字符界面下软件复杂安 ...
- Linux下rpm安装软件
软件包类型 bin文件 .bin (适合所有Linux发行版),bin是可以执行的文件. rpm文件 .rpm,yum(redhat系列)大多数官方下载的安装包都是rpm格式 # 安装rpm文件 rp ...
- LINUX下的makefile学习(此文是我学习过程遇到问题时找到的所有回答,感谢其它大佬的回答,各个文章我都标明了原文链接)
看视频学习截图: 针对上面情况就使用makefile工程管理 内容一行写不完,加上'\' : CC=gcc2 CFLAGS=-Wall -std=gnu993 #CFLAGS=-Wall -std=g ...
最新文章
- 【Matlab 控制】构建系统,绘制零极点
- Spark配置属性整理(非常全面)
- C#——Lambda表达式与泛型委托DEMO
- Python编程基础16:类和对象
- 【网络信息安全】鉴别和密钥分配协议
- hdu 5504 GT and sequence
- 屏蔽网页所有弹出广告的神器工具!Adblock插件
- Linux内核安全模块学习-导言
- 小a的旅行计划(BM模板)
- 武汉大学计算机 韩立,文澜学术系列讲座 第135期 武汉大学经济与管理学院韩立宁老师:“Financial Network and Industry Connectedness”...
- NVIDIA之Triton Inference Server环境部署安装
- 如何使用百度统计监测网站流量
- 51单片机系列--闪烁灯,呼吸灯与流水灯
- 对于Verilog语言的一些总结
- apicloud菜鸟教程_APICloud 对象之 Method
- Excel应用技巧:不规则合并单元格的求和
- Do You Kown Asp.Net Core - 根据实体类自动创建Razor Page CURD页面模板
- eclipse配置python开发环境_Eclipse配置python开发环境
- shell编程(二)
- [转载]利用Web Services实现软件自动升级
热门文章
- 如何解决传输模式解决FTP连接问题
- 用中值排序基数法实现树状结构 (转)
- oracle10g sql跟踪,SQL性能的度量 - 语句级别的SQL跟踪autotrace
- python urlretrieve登录下载_使用python urlretrieve下载文件
- win7拒绝访问_win7系统提示无法访问application data如何解决
- android下载后的app自动安装,Android 7.0 下载APK后自动安装
- 根据开源数据库选择合适的工具
- JavaScript初学者编程题(5)
- ad 原理图差分线_usb hub原理图及pcb设计
- 图像数据增强(平移,旋转,亮度变换,翻转,添加高斯噪声,缩放,裁剪)