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是不提供只下载的功能 ...
随机推荐
- Java开发
总结java开发中知识点和问题点 基础: 常用加解密算法: [md5] import java.security.MessageDigest; public static final String e ...
- docker启动所有容器命令
启动所有容器 docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) 关闭所有容器 docker stop $(docker ps ...
- docker直接运行vue3源代码npm run dev
有套代码,需要在服务器直接run dev,docker build玩起来. 步骤: 将自己的代码上传到服务器,本例:/home/flow/ruoyi-ui cd到项目根目录 ruoyi-ui,新建D ...
- XLST 的坑
微软真的挖了很多坑,可能就像任正非说的,在90年代进入了无人区,差不多十年多时间有精力没有地方撒,无法判断前进方向,推出了很多错误的路线.现在遇到的 XLST 就是一个大坑. XLM 在 00 年后开 ...
- iOS app 自动化测试 - 环境搭建
1. 基本前提 安装好了 mac 上自动化测试的基本环境 如果没有,可以参考这一个: 2. iOS appium python自动化测试环境搭建 2.1 真机环境 2.1.1 前提:安装了 appiu ...
- undefined method `license' when mac brew install
https://github.com/Homebrew/discussions/discussions/297 brew update-reset brew config brew doctor
- 在 .NET Core 中使用 ActionBlock 实现高效率的多步骤数据处理
目录 一.引言 二.ActionBlock介绍 什么是 ActionBlock? ActionBlock 的特点 ActionBlock 的使用场景 ActionBlock 的基本用法 三.假设场景 ...
- Qt/C++音视频开发49-推流到各种流媒体服务程序
一.前言 最近将推流程序完善了很多功能,尤其是增加了对多种流媒体服务程序的支持,目前支持mediamtx.LiveQing.EasyDarwin.nginx-rtmp.ZLMediaKit.srs.A ...
- Qt可视化大屏电子看板系统全平台效果图
- Windows下用CMake构建和编译第三方依赖库并向C:\Program Files\或C:\Program Files (x86)\目录下安装编译好的静态库(.lib)和动态链接库(.dll)时的步骤和注意事项
从CMake构建和编译第三方依赖库的步骤: 1.下载第三方依赖库的源码,并解压到指定的目录中. 2.在第三方依赖库的的源码所在的目录下(一般是src/目录下)创建一个文件夹build. 3.打开CMa ...