使用 yum 升级和 yum 使用简介
什么是 yum?
yum 是 yellowdog updater modified 的缩写。yellowdog 是一个 Linux 的 distribution,RH 将这种升级技术利用到自己的 distribution 形成了现在的 yum,感觉上 yum 和 apt 的原理类似,但是 apt 是编译代码,执行效率远高于使用 python 写成的 yum。这是 yum 的主页。
yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的 dependencies 的问题。这一点上,yum 和 apt 相同。apt 原为 debian 的 deb 类型软件管理所使用,但是现在也能用到 RH 门下的 rpm 了。
一般这类软件通过一个或者多个配置文件描述对应的 repository 的网络地址,通过 http 或者 ftp 协议在需要的时候从 repository 获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的 repository 的描述说明,在有 Internet 连接时就能方便进行系统的升级维护工作。另外,如果需要使用代理,可以用 http_proxy 和 ftp_proxy 这些 shell 里面标准环境变量的设定。
repository 是用 yum-arch 或者 createrepo 命令创建的,也可以用别人已有的 repository 作为镜像,这里部探讨如何建立一个 repository。
yum 的基本操作
yum 的基本操作包括软件的安装(本地,网络),升级(本地,网络),卸载,另外还有一定的查询功能。
设定好了本地的 yum 之后,就可以很方便的进行安装(现在假设就用 fc5 自带的 yum 进行安装),如我们需要安装虚拟机 bochs,可以使用
# yum install bochs
如果本地有相关的 rpm 文件,可以用
# yum localinstall ur.rpm
前者导致 yum 搜索现有 repository 中的数据(一般先会连接到这些 repository 下载更新数据),如果发现有此软件,则会通过分析其 dependencies 然后下载并安装所需软件。
如果需要卸载,可以使用
# yum remove bochs
或者
# yum erase bochs
这也会消解对应的 dependencies,如删除 firefox 会把 R 同时删掉,因为 R 依赖于 firefox
更新某个软件可以用
# yum update firefox
如果不带后面的程序名,将会升级所有可以升级的软件。过时的软件如果需要处理(如删掉)可以添加 --obsolete 参数,或者使用 upgrade。如果需要更自动化一些的操作(避免回答一些问题)还可以增加一些参数,如
# yum -y upgrade
如果做完一次系统级的升级,将会下载大量 rpm 等等东西,这将占用较多的硬盘,可以使用
# yum clean packages
将相关的 rpm 文件删除,其他的一些有 headers, packages, cache, metadata, all
查看什么 rpm 提供某个程序可以使用
$ yum provides /bin/rpm
而使用
$ yum list rpm
会列出 rpm 相关的信息,而
$ yum list info
给出详细的说明,可以用
$ yum search rpm
获得一切能找到的与 rpm 相关的程序,搜索的对象是每个程序的描述部分。
更详细的参数说明请查阅相关的 man pages。在 yum-utils 里面可以找到叫 yumdownloader 的程序。使用它可以方便下载,如 srpm 等包
$ yumdownloader --source firefox
如何使用 yum 升级我的 fc?
升级的核心部分很简单,首先,需要让 yum 能用新的 repository,fc 管理自己版本也用了一个 rpm,可以用如下命令更新这个包
# rpm -Uvh http://download.fedora.redhat.com/pub/fedora\
/linux/core/5/i386/os/Fedora/RPMS/fedora-release-5-5.\
noarch.rpm
此后就是用 yum 把 fc4 相关的程序更新到 fc5,
# yum -y upgrade
注意,由于某些自己安装的程序没有相关的 repository 程序替代,因此很可能干扰这个过程,如 qterm,原来的 repository 里面没有,偷懒的办法自然是先找到相关的 repository 并添加到 yum 的配置文件,笨拙的方法是先卸载这些东西... 进行了漫长的等待之后(我做的那次下载了 1.5Gb+ 的东西),就可以看着一个一个的软件更新了,然后重启,用新内核 boot 成功就几乎大功告成了。
也许有一些应用软件无法处理老版本的配置文件,需要手动配置一下基本就行了。我的 fc5 就这样从 fc4 上长了出来~
FC 本身有一个关于升级的 FAQ,可以参考。
怎样配制 yum 添加新的 repository?
这主要需要关心 yum 的配置文件。它的主配置文件在 /etc/yum.conf,其说明可以参考这里。
其中重要的有 repository 的相关信息,在 fc5 里面,repository 的信息是分开存储的,一般在 /tec/yum.repos.d/ 里面,一般一个 repository 写成一个文件,如 fedora-core.repo。
网上一般提供 yum 升级的 repository 都会提供类似的说明,如 DAG,他提供了可供安装的 rpm,装上后 yum 就配置好了,可以直接用上面的命令执行系统维护,又如 dries,可以建立一个 dries.repo 文件,内容是
[dries]
name=Extra Fedora rpms dries - $releasever - $basearch
baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/redhat/el3/en/i386/dries
这个一般看见就明白了,恕不赘述。
一些其他的工具
在 yum-utils 里面还有一些有用的工具,如 package-cleanup 用于清除本地安装的 rpm,还有维护 repository 的一些工具,如 repo-graph,repo-rss,repoclosure,repomanage,repoquery,reposync,repotrack, yum-builddep。
from http://publishblog.blogchina.com/blog/tb.b?diaryID=5407142
分享到:
相关推荐
http 服务用于提供存放 yum 源,yum-utils 提供 reporsync 服务。 yum install httpd -y yum install yum-utils -y 五、同步外网 yum 源到本地 reposync -r base -p /var/www/html/ reposync -r epel -p /var/...
2. **仓库(Repository)**:仓库是存放软件包的服务器,用户可以通过`yum`从中下载和安装所需的软件。在CentOS 8中,常见的仓库有BaseOS、AppStream、Extras等,这些仓库提供了不同的软件包,如系统核心、常用应用...
3. **创建仓库目录**:在你需要存放YUM仓库的目录下创建一个新的目录,例如 `/var/www/html/myrepo`: ``` mkdir -p /var/www/html/myrepo ``` 4. **复制软件包**:将ISO镜像中的软件包复制到新创建的仓库目录中...
在CentOS系统中,`/etc/yum.repos.d/`是存放YUM仓库配置文件的目录,这些配置文件通常以`.repo`为扩展名。每个`.repo`文件代表一个YUM源,包含了仓库的位置(URL)、GPG密钥验证信息以及仓库的相关设置。当YUM尝试...
2. **创建并设置权限**:接下来需要创建一个目录来存放YUM的配置文件,并设置正确的权限,以便后续操作可以正常进行。 ```bash sudo mkdir /etc/yum.repos.d/ sudo chmod 777 /etc/yum.repos.d/ ``` 3. **编辑...
yum的配置分为客户端和服务端,服务端上存放了RPM软件、依赖关系文件和分组关系文件;客户端上需要配置yum设置,把服务端配置成yum源,让其从服务端下载依赖关系数据文件和分组关系数据文件,然后经过分析后安装所需...
YUM 源配置文件是存放在 `/etc/yum.repos.d` 目录下的一个文本文件。该文件包含了 YUM 源的配置信息,包括基础 URL、镜像 URL、gpgcheck 等。可以通过编辑该文件来配置 YUM 源。 小结 Redhat 配置 YUM 源是 Linux ...
2. **创建存储目录**:在服务器上创建一个专门用于存放YUM源的目录,例如`/var/www/html/redhat7.3/x86_64`,这将用于存储RPM包和相关元数据。 3. **初始化YUM源**:执行`createrepo -pdo /var/...
首先,我们需要创建存放YUM源的目录结构。执行以下命令来创建目录: ```bash mkdir /software mkdir /var/yum ``` 这里,`/software` 目录用于存放原始的ISO镜像文件,而 `/var/yum` 将作为YUM仓库的根目录。 ###...
1. **创建存放RPM包的目录**:在`/var/www/html/`目录下创建一个新的文件夹(如`myrpm`),并将自定义的RPM包放入其中。 ```bash mkdir myrpm ``` 2. **创建仓库信息文件**:在`/var/www/html/`目录下执行以下...
创建本地yum源仓库的步骤包括建立一个新的文件夹,用于存放本地的RPM包。之后,需要创建一个名为CentOS-Local.repo的repo文件,该文件中定义了yum在寻找软件包时所需的仓库信息,包括仓库的名称、基础URL以及是否...
`/etc/yum.repos.d`是CentOS系统中存放`yum`仓库配置的目录,这里存放的是一系列`.repo`文件,每个文件代表一个软件源,包含了仓库的URL、GPG密钥信息以及仓库的其他设置。 在CentOS8中,`yum`已经被`dnf`...
其中,Baseurl 是仓库的地址,Enabled 是询问是否启用这个仓库,Gpgcheck 是 GPG 签名检查的开关,GPGKEY 是存放 GPG 签名的地址。 2. 客户端 vsftpd 服务的安装 在安装 vsftpd 服务之前,我们需要安装 createrepo...
- 在 `/var/cache/yum` 目录下创建一个新的目录,用于存放本地 Yum 源库的元数据和软件包: ```bash mkdir -p /var/cache/yum/x86_64/centos7 ``` 3. **生成软件包列表**: - 使用 `createrepo` 工具生成 Yum ...
1. **选择存储位置**:确定存放软件包的服务器或本地目录。这可以是NFS共享、HTTP/HTTPS服务器或者FTP服务器。 2. **准备软件包**:将所需的RPM软件包复制到该存储位置,并根据需要组织成适当的目录结构,例如按照...
4. **创建元数据**:在存放RPM包的目录下运行`createrepo .`命令,生成YUM仓库所需的元数据。 5. **配置HTTP服务**:如果你的服务器支持HTTP或HTTPS服务(例如Apache或Nginx),确保软件包目录可被外部访问。如果...
- **服务器空间**:确保服务器上有足够的空间存放该镜像文件。 - **挂载点**:选择一个合适的目录作为镜像文件的挂载点,例如 `/media`。 #### 2. 上传操作系统镜像 将选定的操作系统镜像文件上传到服务器上,并...
2. **创建yum目录**:在Web服务器的根目录下创建一个名为`yum`的目录,例如`/var/www/html/yum`,这将用于存放所有的RPM包。 3. **拷贝RPM包**:将所需的RPM包复制到`/var/www/html/yum`目录下,这些包将可供客户端...