yum repo和rpm,添加阿里repos
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的更多相关文章
- CentOS 7的yum更换为国内的阿里云yum源
Yellow dog Updater(Yum)是CentOS所有版本的默认包管理器,yum主要功能是更方便的添加/删除/更新RPM包,自动解决包的依赖性问题,便于管理大量系统的更新问题,其理念是使用一 ...
- CentOS7系统更换YUM Repo源
CentOS7系统更换YUM Repo源 备份原镜像 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.re ...
- CentOS7使用yum安装ceph rpm包
1. 安装centos7对扩展repo的支持yum install yum-plugin-priorities保证下面的选项是开启的[main]enabled = 1 2. 安装 release.ke ...
- CentOS yum repo
CentOS yum repo 阿里云的 一个是Centos-6的 一个是Centos-7 # CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.rep ...
- 修改CentOS的yum源,改为阿里云的镜像
修改CentOS的yum源,改为阿里云的镜像 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.b ...
- suse 11.4添加阿里源
感谢SilenMark 作者,让我找到了一个可用的suse 国内源. 大家直接使用root 用户执行以下命令,添加阿里源 zypper addrepo -f http://mirrors.aliyun ...
- 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 ...
- Centos7最小化安装报错There are no enabled repos. Run "yum repolist all" to see the repos you have.解决办法
原因是缺少CentOS-Base.repo文件,因为我这台机器wget也不能用,所以我是下载到本地sftp上去的,传输的时候一定要在root用户下,否则会无法启动传输 这是报错的完整信息:Loadin ...
- 如何使用yum来下载RPM包而不进行安装
如何使用yum来下载RPM包而不进行安装 2015-03-23 13:15 theo-l译 linux.cn 字号:T | T yum是基于Red Hat的系统(如CentOS.Fedora.RHEl ...
- 【转】用yum只下载rpm包而不安装
转自:http://liucheng.name/1950/ CentOS用yum安装软件是非常方便的,有时,我们只需要下载其中的rpm包,而不直接安装时咋办呢? 一般情况下,yum是不提供只下载的功能 ...
随机推荐
- golang之性能分析工具pprof
PProf 是一个 Go 程序性能分析工具,可以分析 CPU.内存等性能.Go 在语言层面上集成了 profile 采样工具,只需在代码中简单地引入 runtime/ppro 或者 net/http/ ...
- PHPstorm配置webserver
phpstorm自带了一个web server,我们可以直接在IDE中直接运行调试代码,非常方便. 配置interpreter 工程第一次运行还要配置一下php的解释器,我电脑的配置如下: 可以看到代 ...
- Mongodb4.4安装与使用
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能 最丰富,最像关系数 ...
- 文件上传漏洞&靶场通关详解
文件上传漏洞&靶场通关详解 什么是文件上传漏洞? 大部分网站都拥有上传文件的部分,文件上传漏洞是由于网站开发者对用户上传文件的过滤不够严格,攻击者可以通过这些漏洞上传可执行文件(如木马,恶意脚 ...
- DA14531芯片固件逆向系列(1)-固件加载和逆向分析
首发于先知论坛 https://xz.aliyun.com/t/9185 前言 本文介绍逆向DA14531芯片的固件,并介绍一些辅助自动化分析的脚本的实现.DA14531是Dialog公司研制的蓝牙芯 ...
- Linux&shell通过正则表达式查找文件练习
linux&shell编程中通过正则表达式来匹配查找文件极大的提高查找效率. 首先,解释一下下边出现的命令. linux部分: ls:查看文件夹内的命令. |:管道. grep:搜索后边匹配的 ...
- Qt音视频开发02-海康sdk解码(支持句柄/回调/gpu模式/支持win/linux)
一.前言 为何还要选用使用海康sdk,之前不是ffmpeg已经牛皮吹上天了吗?这个问题问得好,那是因为无论ffmpeg也好还是vlc/mpv之类的,都是实现的播放相关,不同的监控硬件厂家对应设备还有很 ...
- [转]Spring Security打造一个简单Login登录页面,实现登录+跳转+注销+角色权限功能,核心代码不到100行!
原文链接:Spring Security打造一个简单Login登录页面,实现登录+跳转+注销+角色权限功能,核心代码不到100行!
- Supermap Objects API开发中禁用默认的选择集显示风格,启用自定义的显示风格的代码
//#region 使用自定义风格设置选中状态 Selection selection = new Selection();//从该记录集获取选择集 selection.FromRecordset(r ...
- 一套十万级TPS的IM综合消息系统的架构实践与思考
本文由作者jhon_11分享,有大量修订和改动. 1.引言 如何设计一款高性能.高并发.高可用的im综合消息平台是很多公司发展过程中会碰到且必须要解决的问题.比如一家公司内部的通讯系统.各个互联网平台 ...