CentOS或者RHEL 系统环境下,RPM 的依赖性是个很让人头疼的问题。每次系统安装完成过后,想再装一个软件包,敲下回车之前,都会心惊胆战,生怕跳出个依赖性错误。而在一个依赖性错误的背后,可能还牵连着更多的依赖性。这个问题让很多 Linux 用户望而生畏。
RPM 包的依赖关系说起来是简单的因为它所谓的依赖关系仅仅是一个个简单的如“要安装 A,需要提前准备好 a1, a2, a3”这样的条件。
例如,当我们安装gcc时。找到安装光盘,小心翼翼地挂载上,并找到了gcc-4.1.2-50.el5.i386.rpm 尝试着用
rpm -ivh gcc-4.1.2-50.el5.i386.rpm
进行安装。系统告之缺少 glibc-devel 和 libgomp,当你试着安装 glibc-devel,系统又提示缺少 glibc-headers。继续下去,又发现缺少 kernel-headers。很苦恼,心想如果当初选择了完全安装该有多好!同时也抱怨怎么Linux就这么难用的啊,要是像Windows下面一直next多好啊!最终,按照依赖提示,递归似的完成了 gcc 的安装。很庆幸的完成了这个任务。其实只是因为这个安装任务的依赖关系还不够复杂到把我们吓退罢了。
那我强烈推荐使用yum!
yum 对 RPM 包的处理是一个典型的“空间换时间”过程。通过对源中所有 RPM 包的预处理,生成所有安装包关于包含文件,依赖,冲突等信息的索引,并且以 sqlite 格式存放在 /var/cache/yum 对应目录下面。
用DVD建立本地yum源
既然 yum 已经很好的解决了 RPM 包的依赖问题,要解决的就是速度问题。本地光驱的访问速度甚至快过 100M 局域网,而且在最近一些发行版安装盘中,已经预置好 repo 信息,并存放在名为 repodata 的目录中。可以说安装盘本身就是一个现成的 yum 源。在 CentOS5 中,预置了多个 repo,放在了/etc/yum.repos.d目录中;
首先,把光盘放入光驱,挂载光盘。
# mount /dev/hdc /media/cdrom
mount: block device /dev/hdc is write-protected, mounting read-only
CentOS 5.6中可以自动挂载,所以可以不需要建cdrom文件夹来挂载DVD,可以直接使用CentOS_5.6_Final
如果在本地有安装盘镜像,也通过 loop 方式挂载到相应目录。
# mount -o loop CentOS-5.6-i386-bin-DVD.iso /media/cdrom
然后,编辑 yum 源配置文件,添加一个本地 yum 源。这里是一张 CentOS 5.6的 DVD 安装盘,它的 repo 对应是dvd.repo
如果是RHEL Server,则对应的baseurl是
baseurl=file:///media/cdrom/Server
或者直接在/etc/yum.repos.d目录中新建 dvd.repo
然后使用vi打开,写入如下类容:
[dvd]
name=install CentOS DVD
baseurl=file:///media/cdrom
enable=1
gpgcheck=0
完成本地源配置过后,接下来就可以用 yum 进行 RPM 包的补装了。首先,查看刚刚配置好的 yum 源。
yum list
然后,通过熟知的 yum install 来补装软件包。从输出信息可以看到,yum 会帮我们处理好 RPM 包的依赖关系。同时由于包都在本地,下载的时间几乎可以忽略。
From: http://blog.csdn.net/tsangchoonhsia/article/details/6414780
相关推荐
在Linux系统管理中,YUM(Yellowdog Updater, Modified)是CentOS、RHEL等基于RPM包管理的Linux发行版中广泛使用的软件包管理器。它允许用户方便地安装、更新和卸载软件包,同时处理软件依赖关系。在某些情况下,如...
在使用Linux操作系统,尤其是CentOS 6.2版本时,可能会遇到系统自带的YUM仓库中可用的RPM软件包不足以满足所有需求的情况。本文主要介绍如何通过添加第三方YUM源来扩展软件包的安装范围,以解决在CentOS 6.2中无法...
总之,在CentOS 7 ARM64系统上重装`yum`涉及到解压RPM包,将它们传输到系统,然后使用`rpm`命令进行安装。在整个过程中,确保处理好依赖关系以保持系统的稳定性。在日常维护中,了解这些基本步骤能帮助你更好地管理...
- **挂载光盘镜像**:首先创建一个名为`/iso`的目录,将CentOS8的ISO镜像文件复制到该目录,然后挂载ISO文件到`/mnt/Centos8-1905/`。 4. **局域网源** - **搭建网络环境**:使用Nginx作为HTTP服务器,局域网内的...
在Linux系统管理中,尤其是对于企业级服务器,`yum`(Yellowdog Updater, Modified)是Red Hat和CentOS等基于RPM包管理系统的发行版中广泛使用的软件包管理器。`yum`允许用户方便地安装、更新和删除软件包,同时也...
在Linux系统管理中,`yum`(Yellowdog Updater, Modified)是Red Hat和CentOS等基于RPM的系统中的包管理器,用于方便地安装、更新和删除软件包。在CentOS 6.9这样的旧版本中,`yum`是主要的软件包管理工具,但在...
### CentOS使用光盘作为本地的YUM源 #### 背景与意义 在某些情况下,比如网络连接不稳定或者为了确保系统的安全性,我们可能需要在没有互联网连接的情况下更新或安装软件包。在这种背景下,利用光盘作为本地YUM源...
# 删除redhat自带的yum包 rpm -qa|grep yum|xargs rpm -e --nodeps...rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-3.4.3-150.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
【CentOS6.9的yum源】:在Linux操作系统中,CentOS 6.9是广泛使用的稳定版本,而YUM(Yellowdog Updater, Modified)则是它的一个关键组件,用于自动化软件包的安装、升级和管理。YUM通过与远程仓库(也称为yum源)...
如果你同时配置了本地源和阿里云源,可能需要设定优先级以决定在安装软件时使用哪个源。CentOS的YUM源并没有直接支持设置优先级,但可以通过创建多个仓库并调整它们的名称来间接实现。仓库的查找顺序是按照文件名...
标题 "centos7.6版本的python和yum的rpm软件包" 涉及到的是在 CentOS 7.6 操作系统环境下安装和管理软件的关键工具:Python 和 YUM(Yellowdog Updater, Modified)。Python 是一种广泛使用的高级编程语言,而 YUM ...
总结来说,离线安装`yum`工具需要准备软件包,创建本地仓库,配置`yum`源,最后通过`yum`进行安装。在解决`yum`源问题时,要关注网络连接、仓库配置和RPM包的完整性。通过这些步骤,即使在无网络的环境中,也能顺利...
为了成功地使用 yum 工具更新系统和软件,需要有一个包含各种 rpm 软件包的 repository(软件仓库),提供软件仓库的服务器习惯上成为“源”服务器。 网络上有大量的源服务器,但是,由于受到网络连接速度、带宽的...
Centos7 部署本地局域网 yum 源 本地 yum 源仓库是公司部署大量服务器时的必要配置,因为阿里云镜像源必须要连接外网才可以使用,占用出口带宽,且有些特殊的镜像源架设在国外,使用起来很不稳定。因此,部署本地 ...
rpm包是Centos操作系统中安装软件包的格式,在Centos光盘yum源搭建中,使用yum命令可以快速安装rpm包,提高了安装速度和效率。 知识点7:光盘yum源的搭建 光盘yum源是Centos操作系统中的一种yum源类型,在Centos...
`yum`是Yellowdog Updater, Modified的缩写,它是CentOS中用于管理软件包的主要工具,负责安装、更新、卸载和查询软件包。在CentOS 7中,`yum`已经被`dnf`(Dandified Yum)所取代,但`yum`仍然可以使用,并且在某些...
本文将详细介绍如何在CentOS 6.2中利用第三方yum源来安装更多的rpm软件包。 首先,我们需要了解`yum-priorities`插件。这个插件允许我们在多个yum源之间设置优先级,确保系统首先从优先级最高的源中安装软件包。要...
4. **清理并重建缓存**:执行`yum clean all`命令清除旧的元数据缓存,再用`yum makecache`重新构建,确保yum能够识别并使用新配置的本地源。 5. **验证功能**:最后,通过尝试安装一个软件包来测试本地yum源是否...
在Linux系统中,`yum`(Yellowdog Updater, Modified)是用于安装、更新和管理软件包的重要工具,尤其在CentOS和RHEL等发行版中广泛使用。它通过与软件仓库(repository)交互,自动解决软件包依赖关系,简化了软件...