什么是yum

YUM全程(YELLOW DOG UPDATER MODIFIED),他其实就是CENTOS/RHEL/FEDORA下的软件管理工具。基于rpm包进行管理,能够从指定的服务器下(YUM源)自动下载RPM包并安装。可以自动管理rpm包之间的依赖关系的。

常见的YUM源模式:

网络YUM源模式:

需要依赖网络,但是包的质量和省心程度是最优质的。选择优质的YUM以后,就可以使用该YUM源去安装相关的rpm包形式的软件了。但是,由于我们的服务器软件大多处于脱网状态,所以这一种往往只是奢望。
阿里云:http://mirrors.aliyun.com/repo/Centos-7.repo
网易 :http://mirrors.163.com/.help/CentOS7-Base-163.repo

(1) 备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

(2) 下载新的CentOS-Base.repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

(3) 生成缓存

yum clean all
yum makecache
yum update

(4) 测试

yum install net-tools.x86_64 -y

二 光盘或光盘镜像YUM源:

配置简单,只需要有光盘或者对应的iso文件便可以挂载成YUM源进行使用。但是由于光盘无法进行写入操作,所以造成了某些软件如果你更新的话只能选择其他方法,不能直接进行这种YUM源下的软件安装相关操作,而且这种操作也不具备可持续性,一旦光盘(ISO)被拿走或者损毁就无法复用了。

在这里插入图片描述

(1)创建挂载目录

mkdir /mnt/dvd

(2)挂载光盘

mount /dev/sr0 /mnt/dvd  
# mount: /dev/sr0 is write-protected, mounting read-only

(3)删除原有的yum源

cd /etc/yum.repos.d/
rm -rf *
vi yum.local.repo

(3)更新yum源

yum clean all
yum makecache
yum repolist
yum list

(4)测试

yum install lrzsz

三. 本地YUM源:

就是将安装光盘里的Package目录下的所有的rpm包,或者你从其他地方下载下来的rpm包,放入到操作系统的某个目录下。然后将该目录配置成YUM源进行使用。最大的优点可以随时更新你该目录下的软件包,相当于你更新了YUM源。并且不受网络限制,有网没网均可以操作。缺点就是占用磁盘空间。

cd /run/media/root/CentOS 7 x86_64/Packages
cp * /yums
cd /yums
createrepo . //千万不要把那个“.”给忘记了,因为它代表本目录
cd /etc/yum.repos.d/
rm -rf *
vi yum.local.repo
[local]
name=yum local repo
baseurl=file:///yums
gpgcheck=0
enable=1

yum clean all //yum配置生成

四. 本地YUM源(FTP+本地yum)

本地YUM源还有一种高端玩法,就是可以通过FTP(文件传输协议)网络,组建自己本地的YUM源网络,将这台机器的本地YUM源贡献给其他机器进行相关的YUM操作。一些比较大型的机房均使用这种方式。

A机器:用于安装ftp服务
参考CentOS 7 部署vsFTP服务的匿名访问
B机器:用与连接A的yum源

A操作

(1)将挂载的光盘下的yum复制到ftp目录下

cd /run/media/root/CentOS\ 7\ x86_64/Packages
cp * /var/ftp/pub
cd /var/ftp/pub  

(2)createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,
描述各包所需依赖信息,并形成元数据。

createrepo .

B操作

(1) 新建yum.local.repo文件,并加入如下内容

[ftp]
name=yum local repo
baseurl=ftp://192.168.217.10/pub
gpgcheck=0
enable=1

cd /etc/yum.repos.d/
rm -rf *
vi yum.local.repo

(2) 清除YUM缓存

yum clean all 

(3)测试

[root]# yum install tree
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 0:1.6.0-10.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================
 Package                Arch                     Version                           Repository               Size
=================================================================================================================
Installing:
 tree                   x86_64                   1.6.0-10.el7                      local                    46 k

Transaction Summary
=================================================================================================================
Install  1 Package

Total download size: 46 k
Installed size: 87 k
Is this ok [y/d/N]: y
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm                                                              |  46 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : tree-1.6.0-10.el7.x86_64                                                                      1/1
  Verifying  : tree-1.6.0-10.el7.x86_64                                                                      1/1

Installed:
  tree.x86_64 0:1.6.0-10.el7

Complete!
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐