赞
踩
在 RPM(红帽软件包管理器)公布之前,要想在 Linux 系统中安装软件只能采取源码包的方式安装。早期在 Linux 系统中安装程序是一件非常困难、耗费耐心的事情,而且大多数的服务程序仅仅提供源代码,需要运维人员自行编译代码并解决许多的软件依赖关系,因此要安装好一个服务程序,运维人员需要具备丰富知识、高超的技能,甚至良好的耐心。而且在安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、卸载、查询、升级等管理软件操作时难度都非常大。
RPM 机制则为解决这些问题而设计的。 RPM 有点像 Windows 系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。目前 RPM 的优势已经被公众所认可,使用范围也已不局限在红帽系统中了。下面是一些常用的 RPM 软件包命令,当前不需要记住它们,大致混个“脸熟”就足够了。
常用的 RPM 软件包命令:
- 安装软件的命令格式 rpm -ivh filename.rpm
- 升级软件的命令格式 rpm -Uvh filename.rpm
- 卸载软件的命令格式 rpm -e filename.rpm
- 查询软件描述信息的命令格式 rpm -qpi filename.rpm
- 列出软件文件信息的命令格式 rpm -qpl filename.rpm
- 查询文件属于哪个 RPM 的命令格式 rpm -qf filename
尽管 RPM 能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决,而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。Yum 软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。 Yum 软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。
Yum 软件仓库中的 RPM 软件包可以是由红帽官方发布的,也可以是第三方发布的,当然也可以是自己编写的。
常见的 Yum 命令:
- yum repolist all 列出所有仓库
- yum list all 列出仓库中所有软件包
- yum info 查看软件包信息
- yum install 安装软件包
- yum reinstall 重新安装软件包
- yum update 升级软件包
- yum remove 移除软件包
- yum clean all 清除所有仓库缓存
- yum check-update 检查可更新的软件包
- yum grouplist 查看系统中已经安装的软件包组
- yum groupinstall 安装指定的软件包组
- yum groupremove 移除指定的软件包组
- yum groupinfo 查询指定的软件包组信息
Red Hat Enterprise Linux(RHEL)是收费的,如果不买订阅将无法试用yum软件仓库,安装软件的时候多有不便。
第一个办法,最简单,使用CentOS。
现在分CentOS Linux版和CentOS Stream版,简单理解就是以前的CentOS Linux版发布根据RHEL更新的内容进行更新并修复其中可能的漏洞,比RHEL要晚,缺点是补丁更新慢,可能安全性差一点,好处是稳定性强一点。而现在的CentOS Stream版似乎成了RHEL的试验场,新东西新想法都是先在CentOS Stream版上发布然后再到RHEL。
第二个办法,注册红帽的开发者订阅
这个订阅只有一年的有效期,每次到期后需要从新在系统中注册一次才能使用。
官方说明可以参考https://developers.redhat.com/articles/renew-your-red-hat-developer-program-subscription?source=sso#
注册帐号 https://developers.redhat.com/ 点击网页最下面Join Red Hat Developer,按照要求填写必要的信息进行账号注册
查看订阅信息 https://access.redhat.com/
开发者账号注册成功后,使用你登录账号的用户名和密码,在redhat中进行注册
subscription-manager register --username <username> --password <password> --auto-attach
如果系统原有的repo不能用的话,可以自己进行配置。
进入到/etc/yum.repos.d/目录中(因为该目录存放着 Yum 软件仓库的配置文件)
使用 Vim 编辑器创建一个名为 rhel7.repo 的新配置文件(文件名称可随意,但后
缀必须为.repo),逐项写入下面加粗的配置参数并保存退出(不要写后面的中文注释)。
[rhel-media] : Yum 软件仓库唯一标识符,避免与其他仓库冲突。
name=Extra Packages for Enterprise Linux 7 - $basearch
软件仓库的名称描述,易于识别仓库用处。
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
提供的方式包括 FTP( ftp://…)、 HTTP( http://…)、本地
( file:///…)。
enabled=1
设置此源是否可用; 1 为可用, 0 为禁用
gpgcheck=0
设置此源是否校验文件; 1 为校验, 0 为不校验
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
若上面参数开启校验,那么请指定公钥文件地址
这里有两个老早以前的repo,刚试了下还能用,直接将这两个文件拷贝到/etc/yum.repos.d/目录下即可。如果不能用的话,可以自己在网上找找其他的repo。
elrepo.repo
### Name: ELRepo.org Community Enterprise Linux Repository for el7
### URL: http://elrepo.org/
[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el7
baseurl=http://elrepo.org/linux/elrepo/el7/$basearch/
http://mirrors.coreix.net/elrepo/elrepo/el7/$basearch/
http://mirror.rackspace.com/elrepo/elrepo/el7/$basearch/
http://repos.lax-noc.com/elrepo/elrepo/el7/$basearch/
http://mirror.ventraip.net.au/elrepo/elrepo/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo.el7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0
[elrepo-testing]
name=ELRepo.org Community Enterprise Linux Testing Repository - el7
baseurl=http://elrepo.org/linux/testing/el7/$basearch/
http://mirrors.coreix.net/elrepo/testing/el7/$basearch/
http://mirror.rackspace.com/elrepo/testing/el7/$basearch/
http://repos.lax-noc.com/elrepo/testing/el7/$basearch/
http://mirror.ventraip.net.au/elrepo/testing/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-testing.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0
[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://elrepo.org/linux/kernel/el7/$basearch/
http://mirrors.coreix.net/elrepo/kernel/el7/$basearch/
http://mirror.rackspace.com/elrepo/kernel/el7/$basearch/
http://repos.lax-noc.com/elrepo/kernel/el7/$basearch/
http://mirror.ventraip.net.au/elrepo/kernel/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0
[elrepo-extras]
name=ELRepo.org Community Enterprise Linux Extras Repository - el7
baseurl=http://elrepo.org/linux/extras/el7/$basearch/
http://mirrors.coreix.net/elrepo/extras/el7/$basearch/
http://mirror.rackspace.com/elrepo/extras/el7/$basearch/
http://repos.lax-noc.com/elrepo/extras/el7/$basearch/
http://mirror.ventraip.net.au/elrepo/extras/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-extras.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0
epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
现在试下通过yum install能不能正常下载安装吧,我这里下载并安装了python3,可以正常安装。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。