RPM
RPM(Red-hat Package Manager),是一个由红帽最早开发出来的包管理器,目前已经是大多数Linux发行的默认包管理器。RPM管理的包都是以.rpm结尾,其中存储了该软件的安装压缩包,以及一些额外信息,例如所依赖的其余的包还有安装,升级,卸载时候执行的一些脚本。RPM的一大缺点,就是它可以检测这些被依赖的包有没有被安装,但是假如有包没有安装它不会自动去进行安装。

Yum
Yum(Yellowdog Updater Modified),也是包管理工具,只适用于红帽和Centos发行版本。比起RPM来,Yum的优势在于可以自动检测依赖,并且对于不存在的依赖会自动去进行安装。所以通常是用Yum来进行包的操作,例如查看,安装,更新,删除等等。但是又有了另一个问题,RPM包里面只是写了依赖包的名字,Yum怎么知道去哪下载这些包呢?如果能有一个仓库,里面放着成千上万的包给Yum去选择,这个问题也就迎刃而解了。很多的公司和团体都维护着这样的仓库,这些仓库就叫做repository,简称repo。

Repo
Repo就像是一个大仓库,每个repo里面包含着很多的.rpm文件,但是一个repo不可能把这个世界所有的.rpm包都包括进去,往往是某个特定目的的包集合放在一个repo里面,例如centos需要的基础包做一个repo,额外特性的包再放一个repo,mysql维护自己的repo,docker维护自己的repo,往往一台机器上要配置好几个repo的地址供yum去查询和选择,而且安装新软件的时候可能还需要新安装他们自己维护的repo来使用。

# 使用阿里的yum源 和 epel源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  加载阿里centos7 base源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  加载阿里centos7 epel  源
 # 或者curl -o命令
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
网易镜像 centos5,6,7
http://mirrors.163.com/.help/CentOS5-Base-163.repo
http://mirrors.163.com/.help/CentOS6-Base-163.repo
http://mirrors.163.com/.help/CentOS7-Base-163.repo  #这个是网易base源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo  下载网易centos7 base源
rpm安装
rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm  #rpm直接安装阿里源centos7
https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpm  #rpm直接安装清华源centos7
yum clean
yum makecache fast

国内有三大基本yum仓库
第一个是阿里源 https://developer.aliyun.com/mirror/第二是网易源http://mirrors.163.com/第三个是清华源 https://mirrors.tuna.tsinghua.edu.cn/

YUM客户端配置

1.yum配置文件路径
/etc/yum.conf  #为所有yum仓库提供公共配置
/etc/yum.repos.d/*.repo  #为仓库的指向提供配置

2./etc/yum.conf主配置定义
[main]            #通用主配置段
cachedir=/var/cache/yum/$basearch/$releasever          # 缓存文件路径
keepcache=0                     # 缓存到本地的文件是否保存
debuglevel=2                   # 调试级别
logfile=/var/log/yum.log                 # 安装的日志文件
exactarch=1                                              # 精确严格的平台release匹配
obsoletes=1
gpgcheck=1                      #检测来源合法性和完整性
plugins=1                         #支持插件机制
installonly_limit=5                    #同时安装多少程序包
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bu        # 追踪bug路径
distroverpkg=centos-release               # 当前发行版版本号从哪儿获取

3.仓库(*.repo)配置文件定义:
[repositoryID]        #仓库ID,唯一标识别,不能重复
name=Some name for this repository       #  完整的仓库名称
baseurl=url://path/to/repository/          # yum仓库指明的访问路径
enabled={1|0}           #是否启用此yum仓库,默认启用
gpgcheck={1|0}              #是否检查完整性和来源合法性
gpgkey=URL                     #秘钥文件位置,可能是对方仓库提供
enablegroups={1|0}              #是否基于组来批量管理程序包
failovermethod={roundrobin|priority}    #故障转移方法:轮询、根据优先级选择; 默认roundrobin随机
cost=#                    #设置开销,默认为1000

说明:
1)*.repo可以将多个[repositoryID]的配置信息放在一个文件内,也可以切成多个方便管理
2)baseurl可以使用:ftp:// 、http:// 、nfs:// 、file:///  指明URL路径
3)baseurl等号两边不能有空格,其后可以填写多个镜像访问路径,每行一个,不能顶行写。多个访问路径间联系是镜像相同,目的是为了做备用访问。
4)更多选项使用man  5  yum.conf查看,基本配置只需前三行就可以        
5)发行版光盘镜像安装可能会自动配置网络镜像URL地址

加载yum命令

yum clean all
yum makecache

常见yum命令
yum repolist  #显示本机可使用的所有repo


yum list  #显示本机所有repo可安装的软件,这些列表里面的包的来源就是/etc/yum.repo.d。 base  docker-ce-stable  epel/x86_64/metalink   epel  extras   rpmforge  updates 
yum list installed  #显示本机已安装的软件,显示installed ,这里是包名,版本和仓库名
yum list rpm  #显示安装包信息rpm


yum search  #查询某关键字相关的包
yum install  #安装包
yum remove  #删除包
yum info 安装包名  #显示包的详细信息  如:yum info rpm  yum info httpd


yum check-update  #检查更新
yum update  #更新包


yum -y update   #升级所有软件包的同时也升级软件和系统内核;
yum -y upgrade   #只是升级所有软件包,但是不升级软件和系统内核。

rmp常用命令

rpm --initdb

rpm --rebuilddb 
注:这个要花好长时间

%注:有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题。

RPM软件包管理的查询功能:
rpm -q [select-options] [query-options]

对系统中已安装软件的查询

1)查询系统已安装的软件 语法:
rpm -q 软件名

例:rpm -q gaim
% -q就是 --query  此选项表示询问系统是不是安装了gaim软件包; 如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息;
查看系统中所有已经安装的包,要加 -a 参数
rpm -qa

2)安装和升级一个rpm 包

语法:

rpm -ivh file.rpm  这个是用来安装一个新的rpm 包

rpm -Uvh file.rpm  这是用来升级一个rpm 包,如果有依赖关系的,需解决依赖关系。如果找不到依赖关系的包,可以用下面的命令强制安装:


rpm -ivh --nodeps --force file.rpm

rpm -Uvh --nodeps --force file.rpm


例:
rpm -ivh --test mplayer-1.0pre7try2-2.i386.rpm
% --test  表示测试,并不真正安装。


rpm -ivh --relocate /=/usr/local/mplayer mplayer-1.0pre7try2-2.i386.rpm   为软件包指定安装目录:要加 --relocate 参数  

3)删除一个rpm 包

首先查出需要删除的rpm包,然后用下面的命令来卸载:


rpm -e 软件包名

例:rpm -e mplayer 
卸载mplayer 如果有其它的rpm依赖于该rpm包,系统会出现警告。如果一定要卸载,可以用选项 --nodeps 忽略依赖关系。但最好不要这么做。

 

yum repo和rpm,添加阿里repos的更多相关文章

  1. CentOS 7的yum更换为国内的阿里云yum源

    Yellow dog Updater(Yum)是CentOS所有版本的默认包管理器,yum主要功能是更方便的添加/删除/更新RPM包,自动解决包的依赖性问题,便于管理大量系统的更新问题,其理念是使用一 ...

  2. CentOS7系统更换YUM Repo源

    CentOS7系统更换YUM Repo源 备份原镜像 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.re ...

  3. CentOS7使用yum安装ceph rpm包

    1. 安装centos7对扩展repo的支持yum install yum-plugin-priorities保证下面的选项是开启的[main]enabled = 1 2. 安装 release.ke ...

  4. CentOS yum repo

    CentOS yum repo   阿里云的 一个是Centos-6的 一个是Centos-7  # CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.rep ...

  5. 修改CentOS的yum源,改为阿里云的镜像

    修改CentOS的yum源,改为阿里云的镜像 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.b ...

  6. suse 11.4添加阿里源

    感谢SilenMark 作者,让我找到了一个可用的suse 国内源. 大家直接使用root 用户执行以下命令,添加阿里源 zypper addrepo -f http://mirrors.aliyun ...

  7. centos7运行yum报如下提示:Run "yum repolist all" to see the repos you have

    centos7运行yum报如下提示: There are no enabled repos. Run "yum repolist all" to see the repos you ...

  8. Centos7最小化安装报错There are no enabled repos. Run "yum repolist all" to see the repos you have.解决办法

    原因是缺少CentOS-Base.repo文件,因为我这台机器wget也不能用,所以我是下载到本地sftp上去的,传输的时候一定要在root用户下,否则会无法启动传输 这是报错的完整信息:Loadin ...

  9. 如何使用yum来下载RPM包而不进行安装

    如何使用yum来下载RPM包而不进行安装 2015-03-23 13:15 theo-l译 linux.cn 字号:T | T yum是基于Red Hat的系统(如CentOS.Fedora.RHEl ...

  10. 【转】用yum只下载rpm包而不安装

    转自:http://liucheng.name/1950/ CentOS用yum安装软件是非常方便的,有时,我们只需要下载其中的rpm包,而不直接安装时咋办呢? 一般情况下,yum是不提供只下载的功能 ...

随机推荐

  1. AbstractQueuedSynchronizer源码解析之ReentrantLock(一)

    在上一篇笔记中提到concurrent包中semaphores, barriers, and latches等Synchronizer的介绍和使用,于是想深入的了解这些Synchronizer的原理和 ...

  2. 网站安全锁-SSL证书

    为了安全起见,现在开发微信服务号和IOS客户端等访问服务器端都要求使用https加密传输. SSL证书是数字证书的一种,类似于驾驶证.护照和营业执照的电子副本.因为配置在服务器上,也称为SSL服务器证 ...

  3. SSD:清华出品,可切换密集稀疏的大模型预训练加速方案 | ICML'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: Exploring the Benefit of Activation Sparsity in Pre-training 论文地址:https ...

  4. Linux禁止某个sudo用户修改root密码

    (1) 假设被禁止的sudo用户名为 user (2) 禁止user用户使用passwd命令更改密码(非最终配置) vim /etc/sudoers 加入 user ALL=(root)!/usr/b ...

  5. Ubuntu实现SSH外网连接内网(反向隧道)

    应用场景: 如果你有Linux云主机(腾讯.华为等),且公司有一台只有内网IP (或动态IP) 的Linux工作机:你计划在家里工作时,通过家里的电脑连接公司的工作机 (且不想使用类似Teamview ...

  6. 从Delphi到Lazarus——Delphi转换器

    0.前言 在Lazarus中使用Delphi编写的文件是一件很简单的事情,这是因为Lazarus可以直接打开Delphi的任何文件,甚至有些文件可以不做任何修改就可以直接使用到你的Lazarus程序中 ...

  7. RocketMQ系列3:核心技术介绍

    1 介绍 RocketMQ是一款分布式消息中间件,其核心技术涉及多个核心概念,包括主题.队列.消息.生产者.消费者.消费者分组以及订阅关系.以下是对这些核心技术的详细说明: 2 核心技术实现 2.1 ...

  8. 在 Windows 上运行 Podman: 操作指南

    在 Windows 上运行 Podman: 操作指南 https://www.redhat.com/sysadmin/run-podman-windows 2021 年 9 月的时候,我写过一篇关于如 ...

  9. 【Spring】Sring基础概念(黑马SSM学习笔记)

    目录 Spring简介 Spring是什么 Spring发展 Spring优势 Spring体系结构 Spring快速入门 Spring程序开发步骤 不用Spring的一般步骤 使用Spring框架 ...

  10. 解锁4K,Xilinx MPSoC ARM + FPGA高清视频采集与显示方案!

    当下,随着数字化多媒体技术以令人惊叹的速度不断演进,高清视频处理成为众多领域关注的焦点.今天为大家分享4K HDMI 高清视频方案,基于Xilinx UltraScale+ MPSoC XCZU7EV ...