【Linux】YUM Repositories for CentOS, RHEL & Fedora Systems
这里是官方wiki:https://wiki.centos.org/AdditionalResources/Repositories
一、简介
YUM(Yellowdog Updater Modified)是一种开源的,广泛使用的基于命令行和图形的包管理工具,适用于基于RPM(RedHat Package Manager)的Linux系统,包括但不限于Red Hat Enterprise Linux(RHEL),CentOS和Scientific Linux(SL),Oracle Linux(OL)。它用于在系统上安装,更新,删除或搜索软件包。要安装未包含在默认基础和更新存储库中的软件包,以及其他CentOS存储库(Extras,Centosplus,CentOS-Fasttrack,Continuous Release和Software Collections),您需要安装并启用其他第三方存储库。
先介绍两个命令,yum 和 rpm
命令介绍:https://www.computerhope.com/unix/yum.htm
二、YUM的常见用法
1、选项
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
2、参数
install:安装rpm软件包; 安装到指定目录: yum install --installroot=yourDirectory rpmPackage
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;删除是通常不要去删除依赖。 yum remove --nodeps yourRPM
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。
3、实例
部分常用的命令包括:
自动搜索最快镜像插件:
yum install yum-fastestmirror
安装yum图形窗口插件:
yum install yumex
查看可能批量安装的列表:
yum grouplist
4、命令
安装
yum install #全部安装
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1 更新和升级
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1 查找
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息yum search string 根据关键字string查找安装包 删除
yum remove | erase package1 #删除程序包package1
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况 清除缓存
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
三、rpm常见用法
rpm,Redhat Package Manager,即为红帽公司为RHEL开发的专用包管理器,后来更改为RPM Package Manager,类似于GNU项目,使用递归命名,GNU's Not Unix.
通用选项
-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--dbpath 设置RPM 资料库存所在的路径为
查询
1、查询指定的包是否安装
[root@localhost ~]# rpm -q tree
tree-1.5.3-3.el6.x86_64
2、查询指定文件来自于那个安装包
[root@localhost ~]# rpm -qf /bin/ls
coreutils-8.4-43.el6.x86_64
3、查询包更新信息
[root@localhost ~]# rpm -q --changelog tree
* Thu Nov 27 2014 Tim Waugh <twaugh@redhat.com> - 1.5.3-3
- Handle large UID/GID values (bug #1110559). * Wed Mar 03 2010 Tim Waugh <twaugh@redhat.com> 1.5.3-2
- Added comments to all patches.
...
4、查询包元数据
[root@localhost ~]# rpm -qi tree
Name : tree Relocations: (not relocatable)
Version : 1.5.3 Vendor: CentOS
Release : 3.el6 Build Date: Wed 14 Jan 2015 08:21:02 PM CST
Install Date: Sat 25 Mar 2017 04:17:05 AM CST Build Host: c6b9.bsys.dev.centos.org
Group : Applications/File Source RPM: tree-1.5.3-3.el6.src.rpm
...
5、查询包生成的所有文件
[root@localhost ~]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.5.3
/usr/share/doc/tree-1.5.3/LICENSE
/usr/share/doc/tree-1.5.3/README
/usr/share/man/man1/tree.1.gz
6、查询包相关文档
[root@localhost ~]# rpm -qd tree
/usr/share/doc/tree-1.5.3/LICENSE
/usr/share/doc/tree-1.5.3/README
/usr/share/man/man1/tree.1.gz
7、查询包配置文件
[root@localhost ~]# rpm -qc bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
8、查询安装、卸载前后执行的脚本
[root@localhost ~]# rpm -q --scripts bash
postinstall scriptlet (using <lua>):
bashfound = false;
shfound = false; f = io.open("/etc/shells", "r");
if f == nil
then
9、安装rpm程序包
[root@localhost ~]# rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm
10、在安装过程不执行脚本
[root@localhost ~]# rpm -ivh --noscripts tree-1.5.3-3.el6.x86_64.rpm
warning: tree-1.5.3-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:tree ########################################### [100%]
11、覆盖、替换安装
[root@localhost ~]# rpm -ivh --replacepkgs tree-1.5.3-3.el6.x86_64.rpm
warning: tree-1.5.3-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:tree ########################################### [100%]
详细选项
选项 | 含义 |
---|---|
-h | 安装时以#显示安装进度 |
--percent | 以百分比的形式输出安装的进度 |
--test | 测试安装 |
--replacepkgs | 替换属于其它软件包的文件 |
--force | 忽略软件包及文件的冲突 |
--noscripts | 不运行预安装和后安装脚本 |
--ignorearch | 不校验软件包的结构 |
--ignoreos | 不检查软件包运行的操作系统 |
--nodeps | 不检查依赖性关系 |
12、一般卸载
[root@localhost ~]# rpm -e gcc
13、不执行脚本卸载
[root@localhost ~]# rpm -e --noscripts tree
14、升级
[root@localhost ~]# rpm -Uvh tree-1.5.3-3.el6.x86_64.rpm
-U和-F选项均可以升级一个包.但是,旧包不存在时,-U选项会安装新包,而-F选项不安装新包。
四、仓库-Repository
关于yum-priorities插件, 这个插件是用来设置yum在调用软件源时的顺序的。因为官方提供的软件源,都是比较稳定和被推荐使用的。因此,官方源的顺序要高于第三方源的顺序。如何保证这个顺序,就需要安装yum-priorities这插件了。
安装 yum-priorities
插件后, 您可以给各个源设置优先级priority,
一般设置官方标准源优先级为 1
, 最高, 第三方推荐 >10
1、EPEL Repository
EPEL(企业Linux的额外软件包)是一个免费的,开源的,流行的,基于社区的存储库项目,旨在提供在Fedora中开发,测试和改进的高质量软件包,并可用于RHEL,CentOS,Scientific Linux等的软件包。
### For CentOS/RHEL 7 ###
yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 ### For CentOS/RHEL 6 ###
yum localinstall http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 别忘了,还有一步
yum install yum-priorities
2、REMI Repository
REMI是一个广泛使用的第三方存储库,它为Fedora和Enterprise Linux(EL)发行版的用户提供最新版本的PHP、MySql和一些其他相关软件,如RHEL,CentOS,Oracle,Scientific Linux等。在启用Remi之前,需要首先启用EPEL仓库
### For CentOS/RHEL 7 ###
yum install epel-release
wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
subscription-manager repos --enable=rhel-7-server-optional-rpms [On RHEL only]
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi ### For CentOS/RHEL 6 ###
yum install epel-release
wget https://rpms.remirepo.net/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6.rpm
rhn-channel --add --channel=rhel-$(uname -i)-server-optional-6 [On RHEL only]
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi yum install yum-priorities
3、RPMFusion Repository
RPMFusion是一个第三方存储库,为Fedora和Enterprise Linux发行版提供一些免费和非免费的附加软件,包括RHEL和CentOS。在启用RPM Fusion之前,您需要启用EPEL repo。
### For CentOS/RHEL 7 ###
yum install epel-release
yum localinstall https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum localinstall https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm ### For CentOS/RHEL 6 ###
yum install epel-release
yum localinstall https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm
yum localinstall https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm
4. ELRepo Repository
ELRepo(社区企业Linux存储库)是一个RPM存储库,旨在提供与硬件相关的软件包,如文件系统驱动程序,图形驱动程序,网络驱动程序,声音驱动程序,网络摄像头和视频驱动程序,以改善您使用Enterprise Linux的体验。要在系统上启用ELRepo,请使用以下命令。
### For CentOS/RHEL 7 ###
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm ### For CentOS/RHEL 6 ###
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
5. NUX-dextop Repository
NUX-dextop是用于EL的桌面和多媒体软件包的RPM存储库。它包含许多基于图形软件和命令行界面(CLI)的程序,包括Remmina远程桌面共享工具,VLC媒体播放器等等。在启用nux-dextop之前,还需要启用EPEL repo。
### For CentOS/RHEL 7 ###
yum -y install epel-release
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm ### For CentOS/RHEL 6 ###
yum -y install epel-release
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
6. GhettoForge Repository
GhettoForge项目专注于为Enterprise Linux版本6和7提供包,这些包目前不在基本EL包集中,也不在其他第三方存储库中。您可以使用以下命令在系统上启用GhettoForge。
### For CentOS/RHEL 7 ###
rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm ### For CentOS/RHEL 6 ###
rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el6.noarch.rpm
7、Psychotic Ninja Repository
对于Enterprise Linux版本6和7,Psychotic Ninja旨在提供基本EL包集中以及其他第三方存储库中不存在的高质量包。要启用Psychotic Ninja存储库,首先需要导入GPG密钥然后安装它。
rpm --import http://wiki.psychotic.ninja/RPM-GPG-KEY-psychotic
rpm -ivh http://packages.psychotic.ninja/6/base/i386/RPMS/psychotic-release-1.0.0-1.el6.psychotic.noarch.rpm
请注意,这个统一的精神病发布包适用于所有版本和体系结构,包括64位版本的CentOS / RHEL 7。
8、IUS Community Repository
最后列出的是,IUS(Inline with Upstream Stable)是一个新的第三方社区支持的repo,为最新的PHP,Python,MySQL上游版本提供高质量的RPM包,用于Red Hat Enterprise Linux(RHEL)和CentOS 。
就像我们看到的许多回购一样,IUS也依赖于EPEL。
### For CentOS/RHEL 7 ###
yum -y install epel-release
rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm ### For CentOS/RHEL 6 ###
yum -y install epel-release
rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm
9、Webtatic Repository
Webtatic是一个yum存储库,通常处理与Web主机相关的包,CentOS / RHEL存储库中不包含这些包。 执行以下命令之一以在CentOS / RHEL 7/6系统上安装REMI yum存储库。
### For CentOS/RHEL 7 ###
yum localinstall http://repo.webtatic.com/yum/el7/webtatic-release.rpm ### For CentOS/RHEL 6 ###
yum localinstall http://repo.webtatic.com/yum/el6/latest.rpm
以上部分仓库也可以忽略key,参数是:--nogpgcheck
五、解决冲突
特殊情况 : 但在不同优先级的源中都含有同一个包时, 它的行为可能就不是我们所需要的.
例如, 在 base
源中有个包 : abc-2.2.0.x86_64.rpm
, base
是最高优先级. 在其他的优先级中也有许多 abc
包, 如果你想安装 abc-2.1.0-x86_64.rpm
, 通过命令
yum install abc-2.1.0
就会出现下面的提示:xx packages excluded due to repository priority protection,并且找不到所需要的包,这是因为在高优先级源中存在的包,会将其他低优先级中的包屏蔽掉,因此无法从低优先级的源中安装所需要的包。
修改priorities的配置文件是/etc/yum/pluginconf.d/priorities.conf
其内容为:
[main] enabled=0 # 0禁用 1启用
默认是1;设置enabled = 0, 这样就可以禁用priorities插>件。从而能够安装任意源上的包。
参考文章:
https://www.cnblogs.com/mityaya/p/4672312.html
https://tecadmin.net/top-5-yum-repositories-for-centos-rhel-systems/
【Linux】YUM Repositories for CentOS, RHEL & Fedora Systems的更多相关文章
- 【apache】yum 安装Apache(Centos 6.5)
一.首先在系统上面查询一下是否已经安装了apache [Apache在linux系统里的名字是httpd] rpm -qa httpd 如果有返回的信息,则会显示已经安装的软件.如果没有则 ...
- 【Linux】YUM源搭建
YUM是什么? YUM是什么 基于rpm但更胜于rpm的软件管理工具: YUM有服务端和客户端: 如果服务端和客户端在同一台机器,这是本地YUM: 如果服务端和客户端不在同一台机器,这是网络YUM. ...
- 【linux】yum本地源制作
在/etc/yum.repos.d/ 目录下,有两个文件 CentOS-Base.repo和 CentOS-Media.repo 其中CentOS-Base.repo 记录着网络上的 yum 源的地 ...
- 【Linux】Mac PD set centos static ip
2,修改Centos的网络设置. (1)进入脚本. vi /etc/sysconfig/network-scripts/ifcfg-eth0 My Mac ip: # 从dhcp改成static BO ...
- 【Linux】VMware中为CentOS设置静态IP(非动态获取IP)
在VMware上安装好Linux后,默认设置的动态IP,每次启动的IP都不同,远程连接挺费劲的. 于是,需要设置静态的IP,至少我从远程工具连接上去方便多了.另外,为了安装一些软件,也需要访问互联网. ...
- 【Linux】yum 安装 JDK
一.查看java的所有版本 yum list java* 二.安装jdk8 yum install java--openjdk.x86_64 三.检查是否安装完成 java -version 四.默认 ...
- 【Linux】yum库的配置
链接–>CentOS7之yum仓库配置
- 【Linux】Centos之安装Nginx及注意事项
相关内容链接 [Linux]nginx常用命令 [nginx]详细配置说明 1.Nginx的简单说明 a. Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务 ...
- 【Linux】-NO.5.Linux.1.CentOS.1.001-【CentOS7 Foundation Configuration】-
1.0.0 Summary Tittle:[Linux]-NO.5.Linux.1.CentOS.1.001-[CentOS7 Foundation Configuration]- Style:Lin ...
随机推荐
- ArrayList 源码
1.ArrayList的类关系: 2.属性及方法 2.1 构造 三个构造方法分别对应: 通过传入初始化容器大小构造数组列表 ...
- OpenCV: OpenCV人脸检测框可信度排序
参考文章:http://blog.csdn.net/hua_007/article/details/45368607 使用OpenCV进行人脸识别时,使用 casecade.detectMultiSc ...
- 图像局部显著性—点特征(GLOH)
基于古老的Marr视觉理论,视觉识别和场景重建的基础即第一阶段为局部显著性探测.探测到的主要特征为直觉上可刺激底层视觉的局部显著性--特征点.特征线.特征块. 相关介绍:局部特征显著性-点特征(SIF ...
- 【sqli-labs】 less29 GET- Error based -Impidence mismatch -Having a WAF in front of web application (GET型基于错误的带有WAF注入)
这关有点意思,有一点需要事先注意,这关玩的是login.php而不是默认的index.php 再注入之前需要先了解一下HPP(HTTP Parameter Pollution),详情参照这篇 http ...
- (转)基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
http://www.cnblogs.com/wuhuacong/p/4093778.html 在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图标,从而是Web系统界 ...
- Typeclassopedia 阅读笔记:导言与 Functor
Typeclassopedia 阅读笔记 本文是对介绍 Haskell 中类型类(type classes)的文档 Typeclassopedia 的阅读笔记和简短总结,包含此文档中重要的知识点.读者 ...
- Appium Android 获取包名和 Activity 的几种方法 (转)
本文档主要记录“获取包名和 Activity 的方法”,用于自动化测试时启动APP.以下方法主要来源于网络和社区同学的贡献,特此感谢! 1. 方法一: pm list package查看包名 adb ...
- loadrunner安装方法
1.loadrunner安装网盘地址: http://pan.baidu.com/s/1hrP6mDQ 一般会提示:“vc2005_sp1_with_atl_fix_redist 2.确认时提示缺少 ...
- 【剑指Offer】33、丑数
题目描述: 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数 ...
- 【剑指Offer】23、二叉搜索树的后序遍历序列
题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 解题思路: 对于后续遍历序列,序 ...