一、rpm包管理器

rpm是一个功能强大的包管理工具,可用于构建,安装,查询,验证,更新和卸载软件包。

用法:

  rpm [OPTION...]

配置文件:

/var/lib/rpm/ 已安装rpm包的元数据

选项:

  • -i:安装

    • --test:测试安装
    • --nodeps:忽略依赖关系
    • --replacepkgs | replacefiles 重装
    • --nosignature:不检查来源合法性
    • --nodigest:不检查包完整性
    • --noscript:不执行程序包脚本
    • --nopre:不执行安装前脚本
    • --nopost:不执行安装后脚本
    • --nopreun:不执行卸载前脚本
    • --nopostun:不执行卸载后脚本
    • -v|-vv:显示过程
    • -h:显示进度条
    • --force:强制
  • -e:卸载
    • --allmatches:卸载包的所有版本
  • -U:升级安装
  • -F:升级
  • --oldpackage:降级
  • -q:查询
    • -a:显示所有包
    • -f:查询文件是由哪个包生成的
    • -p:查询未安装的文件名
    • -c:只看配置文件
    • -d:显示文档
    • -i:包的说明信息
    • -l:查看程序包提供了哪些文件
    • --scripts:查询包的脚本信息
    • -R:查询包所依赖的“能力”
    • --whatprovides CAPABILITY:查询指定的”能力“由哪个包所提供
    • --whatrequires CAPABILITY:查询指定的“能力”被哪个包所依赖
    • --changelog:查询rpm包的更新日志
    • --provides:列出包提供的“能力”
  • -V:校验包属性是否发生变化,以下为变化的信息
    • S file Size differs
    • M Mode differs (includes permissions and file type)
    • 5 digest (formerly MD5 sum) differs
    • D Device major/minor number mismatch
    • L readLink(2) path mismatch
    • U User ownership differs
    • G Group ownership differs
    • T mTime differs
    • P capabilities differ
  • -K:检查包的签名和完整性
  • --import /etc/pki/rpm-gpg/KEY导入公钥
  • --root=/path/ 安装到指定“/”下
  • --initdb:初始化rpm数据库
  • --rebuilddb:重建rpm数据库

相关命令:

ldconfig -p 查看系统中所有的库
rpm2cpio FILE.rpm |cpio -tv 预览包内文件
rpm2cpio FILE.rpm |cpio -idv /path/file 解压rpm包指定文件

二、yum包管理器

yum(Yellowdog Update Modifier)是一个基于rpm的交互式软件包管理器。

用法:

  yum [options] [command] [package ...]

配置文件:

/etc/yum.conf 配置文件

  • cachedir 缓存目录
  • keepcache=0|1 安装时是否保留缓存的rpm包
  • logfile 日志文件
  • gpgcheck=0|1 检查签名和完整性

/var/log/yum.log 日志

/etc/yum.repos.d/FILE.repo  yum源文件

[base]
name=base               #描述信息
baseurl=http|ftp|file   #yum仓库,路径指向repodata的父目录
enabled=0|1
gpgcheck=0|1
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
failovermethod={roundrobin|priority}#roundrobin:意为随机挑选,为默认值#priority:按顺序访问
cost=                   #优先级,默认1000,值越小越优先
mirror=http|ftp|file    #指向repo地址的文件

/var/cache/yum/x86_64/6 缓存路径

# yum-config-manager --add-repo=https://mirrors.aliyun.com/centos/6/os/x86_64/

# yum-config-manager --disable “仓库名" 禁用仓库

# yum-config-manager --enable “仓库名” 启用仓库

# createrepo /rpmdir 创建元数据

选项:

  • -y 安装或卸载是直接回答yes,不进入交互式
  • -q 静默模式
  • --disablerepo=repoidglob:临时禁用此处指定的repo
  • --enablerepo=repoidglob:临时启用此处指定的repo
  • --noplugins:禁用所有插件

子命令:

  • list 列出repo源包含的所有软件包
  • installed 列出所有已安装的包
  • install 安装
  • reinstall 重新安装
  • repolist [all|disabled] 列出当前生效的repo源[所有|已关闭的]
  • clean all 清除缓存
  • update [package1...] 升级软件包
  • downgrade [package1...] 降级软件包
  • check-update 检查可升级的包
  • remove 卸载软件包
  • info 查看包的详细信息
  • provides 查找命令由哪些包提供
  • makecheck 手动生成缓存
  • search 模糊搜索包信息
  • deplist 检查依赖包
  • history 安装卸载的历史
    • list # 列出指定的操作
    • info # 列出指定操作的详细信息
    • undo # 撤销指定id的操作
    • redo # 重新执行
  • groupinstall 安装包组
  • groupupdate 升级包组
  • grouplist 列出所有包组
  • groupremove 移除包组
  • groupinfo 查看包组的详细信息

示例1:搭建一个本地yum源(CentOS6.9)

1、先将系统自带的repo文件移动到其他地方

[root@web1 ~]# cd /etc/yum.repos.d/
[root@web1 yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo  epel-testing.repo
CentOS-Debuginfo.repo  CentOS-Media.repo      epel.repo
[root@web1 yum.repos.d]# mv ./* ~
[root@web1 yum.repos.d]# ls

2、将本地cdrom挂载到指定目录并设置开机挂载

[root@web1 ~]# mkdir /media/cdrom
[root@web1 ~]# mount -r /dev/sr0 /media/cdrom
[root@web1 ~]# ls /media/cdrom
CentOS_BuildTag  isolinux                  RPM-GPG-KEY-CentOS-Debug-6
EFI              Packages                  RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                  TRANS.TBL
images           RPM-GPG-KEY-CentOS-6

[root@web1 ~]# vim /etc/fstab
/dev/sr0                /media/cdrom            iso9660 defaults        0 0 #加入开机自动挂载

3、配置yum源并测试

# vim /etc/yum.repos.d/base.repo

[base]
name=cdrom
baseurl=file:///media/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[root@web1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
base                                                              | 4.0 kB     00:00 ...
base/primary_db                                                   | 4.7 MB     00:00 ...
repo id                                   repo name                                status
base                                      cdrom                                    6,706
repolist: 6,706

测试OK!

示例2:配置网络源(epel源)

以阿里源为例,下载repo文件到指定目录,测试OK!

[root@web1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@web1 ~]# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearchhttp://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/6/$basearch/debughttp://mirrors.aliyuncs.com/epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/6/SRPMShttp://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0[root@web1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile* epel: mirrors.aliyun.com
repo id               repo name                                                    status
base                  cdrom                                                         6,706
epel                  Extra Packages for Enterprise Linux 6 - x86_64               12,497

# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm  #CentOS7安装repo源

记录于2018.04.19 20:41

转载于:https://www.cnblogs.com/L-dongf/p/8886117.html

软件包管理(rpmyum)相关推荐

  1. Linux基础命令-软件包管理

    Linux基础命令-软件包管理 软件包管理 一.软件包基础 1. 软件运行与编译 2. 静态链接和动态链接 3. 包和包管理器 4. 包命名和工具 5. 程序包的来源 二.rpm安装 1.rpm包管理 ...

  2. 软件包管理 之 软件在线升级更新yum 图形工具介绍

    作者:北南南北 来自:LinuxSir.Org 提要:yum 是Fedora/Redhat 软件包管理工具,包括文本命令行模式和图形模式:图形模式的yum也是基于文本模式的:目前yum图形前端程序主要 ...

  3. helm部署仓库中没有的包_Kubernetes的Helm软件包管理器简介

    helm部署仓库中没有的包 Before we dive into the Helm package manager, I'm going to explain some key concepts t ...

  4. mac下软件包管理brew

    brew是什么?Homebrew OS X 不可或缺的套件管理器. brew是一个mac新用户需要了解的必备命令,它是mac下的软件包管理软件,类似centos下的yum.ubuntu下的apt-ge ...

  5. BZOJ4196:[NOI2015]软件包管理器——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=4196 https://www.luogu.org/problemnew/show/P2146 你决定 ...

  6. Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理

    在Linux系统下,对于软件包的管理有多种机制,有源代码方式.RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制 一.源代码形式 首 ...

  7. Linux系统下软件包管理四

    3.其它类型软件:1)基于perl 和python 的程序的安装:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com: ...

  8. 软件包管理 之 Fedora Extras(Fedora 计划的扩充资源) rpm.livna.org软件仓库的介绍和应用...

    作者:北南南北 来自:LinuxSir.Org 提要:rpm.livna.org 是一个重要的Fedora 扩充和增强资源,资源更新较快:是我们必用的资源之一:拥有apt和yum源:为Fedora c ...

  9. Linux学习笔记重新梳理20180702 之 yum软件包管理器

    2019独角兽企业重金招聘Python工程师标准>>> Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中 ...

最新文章

  1. android五大布局的用法,android:stretchColumns用法
  2. Android视图动画集合AndoridViewAnimations
  3. Eclipse基本使用
  4. 听说最近你读过不少书
  5. Java性能调优之让程序“飞”起来-Java 代码优化
  6. 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波15 - 锐化高通滤波器 -拉普拉斯核(二阶导数)
  7. 3d数学基础图形与游戏开发 英文版_1850款文字标题字幕条,AE图形预设包,logo生成神器...
  8. STMF4x 固件库V1.25.0
  9. 吴恩达作业10:用卷积神经网络识别人脸happy(基于Keras)
  10. PowerDesigner中的CDM设计的外键作主键的问题
  11. MyBatis-Spring-Boot 使用总结
  12. Caffe中deploy.prototxt 和 train_val.prototxt 区别
  13. .NET框架源码解读之SSCLI编译过程简介
  14. P7939 [B1] Alice Wins(easy version)
  15. 数据分析利器之hive优化十大原则
  16. C语言计算三角形面积参考代码
  17. Delphi下spcomm的安装,win7系统,delphi7和delphi2010.
  18. linux C 编程入门
  19. J-Link RTT使用
  20. 训练模型填充空值(fill null)的几种方法

热门文章

  1. 怎么在vs2010中使用ActiveX Test Container(转)
  2. SQL Server 日期和时间相关的数据类型有两种
  3. [推荐]C#快速开发3d游戏工具--Unity3d
  4. 查询oracle模式对象信息,ORACLE 模式和模式对象
  5. 用python设计学生管理系统_python+tkinter实现学生管理系统
  6. python3 转码的函数_python基础3之文件操作、字符编码解码、函数介绍
  7. 小型职工工作量c语言,计算机c语言职工工作量统计系统.doc
  8. java包装_Java基础之神奇的包装类(一)
  9. python怎么画函数图_可视化|Python绘制桑基图
  10. catv系统主要有哪三部分组成_你了解买车“三大件”之一的悬挂系统吗?家用车用什么悬挂系统?...