yum 的作用
  PVcilKyJJTzb 2023年11月02日 58 0

yum 的作用

作用 : 为了解决包之间的依赖关系而存在的一种管理机制 , 基于 rpm 为前端的包管理机制 . 为了解决依赖关系 , 引入了一种仓库的机制 .

yum 仓库

仓库 : 用来存放软件和软件之间的依赖关系 , 当我们需要安装软件的时候 , 就可以通过该依赖关系 , 来将相应的依赖包都装上 .repodata 目录就是 yum 的仓库 , 存放软件和软件之间的依赖关系数据 .

[root@rhel6 dvd]# ll repodata/ -d
dr-xr-xr-x. 2 root root 4096 Nov 12
[root@rhel6 dvd]#pwd
/mnt/rhel6.5/x86_64/dvd

依赖关系

安装系统的光盘中已经有建号的依赖关系了,即 repodata/ 目录,如果要自己手动制作 rpm 包依赖关系目录,该怎么做呢?

安装软件 createrepo

rhel7 默认已经安装

[root@rhel7 ~]# yum install -y createrepo
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager
to register.
server
| 4.1 kB 00:00:00
(1/2): server/group_gz
| 134 kB 00:00:00
(2/2): server/primary_db
| 3.4 MB 00:00:00
Package createrepo-0.9.9-23.el7.noarch already installed and latest version
Nothing to do

rhel6 要自己安装

[root@rhel6 rc.d]# yum install -y createrepo
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager
to register.
server
Running Transaction
Installing : deltarpm-3.5-0.5.20090913gi.el6.x86_64
1/3
Installing : python-deltarpm-3.5-0.5.20090913gi.el6.x86_64
2/3
Installing : createrepo-0.9.9-18.el6.noarch
3/3
Verifying : createrepo-0.9.9-18.el6.noarch
1/3
Verifying : python-deltarpm-3.5-0.5.20090913gi.el6.x86_64
2/3
Verifying : deltarpm-3.5-0.5.20090913gi.el6.x86_64
3/3
Installed:
createrepo.noarch 0:0.9.9-18.el6
Dependency Installed:
deltarpm.x86_64 0:3.5-0.5.20090913gi.el6
Complete!
python-deltarpm.x86_64 0:3.5-0.5.20090913gi.el64.3.2 制作 rpm 包依赖关系目录

以 rhel7 为例从学校服务器上拷贝一些软件到 /tmp/dvd7.1/ 目录下

[root@rhel7 tmp]# cp /mnt/rhel7.1/x86_64/dvd/Packages/* /tmp/dvd7.1
[root@rhel7 tmp]# cd /tmp/dvd7.1

制作 rpm 包依赖关系

[root@rhel7 dvd7.1]# createrepo /tmp/dvd7.1/
Spawning worker 0 with 4371 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

已经成功创建

[root@rhel7 tmp]# ll dvd7.1/ |grep repodata
drwxr-xr-x. 2 root root 4096 Mar 18 07:42 repodata

配置仓库

为此 , 我们需要优先去配置一个仓库指向文件。这个文件的位置在 /etc/yum.repos.d/ 目录下 , 以 .repo 结尾

[root@rhel7 tmp]# cd /etc/yum.repos.d/
[root@rhel7 yum.repos.d]# ls
server.repo
[ 仓库名 ]
name = 说明信息
baseurl = 指向 repodata 目录的上一级 .
enable = 是否启用该仓库 0 代表不启用 ,1 代表启用
gpgcheck = 是否需要检测
其中 baseurl
1. 本地路径 file:///content/rhel6.5..... 以下省略 第三个 / 代表的是根 .
2. 远程路径 协议 :// 位置
      例:   http://
       		ftp://
       		nfs://
       		
[server]
name = rhel7.1 repos
baseurl = http://classroom.example.com/content/rhel6.5/x86_64/dvd/
enable=1
gpgcheck=0
[test]
name = info
baseurl=file:///tmp/dvd7.1/
enable=1
gpgcheck=0

配置完仓库后 , 需要使用

  • yum clean all 来清理缓存
  • yum makecache 来重新生成缓存 .4.5 yum 安装

安装

  • yum install 软件名 安装指定软件
  • yum groupinstall 组名 用来安装一系列的软件包 ,
  • yum reinstall 软件名 重新安装指定软件

-y 选项 , 忽略安装过程出现的 is this ok的交互信息

  • yum localinstall 软件名 本地安装指定软件

查询

  • yum list 用来查询所有的软件包
  • yum list installed 用来查看已经安装过的软件包
  • yum search 字符串 能够将说明信息里含该字符串的相关软件包罗列出来
  • yum info 软件包名 用来查看软件包的详细信息
  • yum grouplist 组名 用来查询系统里所有的组包
  • yum groupinfo 组名 用来查询指定组的相关信息

升级

  • yum update 软件名
  • yum upgrade 软件名

两种写法执行效果没有区别

卸载

  • yum remove 软件名

不要使用 yum 去卸载 , 会将软件的依赖关系一并卸载掉 .

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  PVcilKyJJTzb   2023年11月02日   59   0   0 3gPython依赖关系
PVcilKyJJTzb