Yum软件包管理机制
Yum(全称为 Yellowdog Updater Modified),软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
作用:1、解决依赖关系 2、安装软件包
自动解决软件包的依赖关系
FTP文件传输协议、HTTP超文本传输协议
一、基础知识
1、挂载(提前将ISO镜像文件放入虚拟光驱)
#mkdir /haha //创建访问点目录haha
#mount /dev/cdrom /haha //将光盘挂载到haha目录
(mount 设备文件(光盘设备) 访问点)
#cd /haha/Packages //存放众多软件包的目录
#ls //查看到众多的软件包
2、依赖关系
在linux操作系统中,大概有80%的软件包在安装的时候,都有依赖关系。
在后期Yum的使用才是主角,rpm作为最传统的安装软件包的机制,主要运用在一些没有依赖关系,较为简单的包的安装。
3、服务的概念(互联网中常见的架构C/S)
服务端:提供服务 1.众多的软件包 2.仓库数据文件(仓库清单)
客户端:享受服务
Yum的服务端提供:就为客户端解决依赖关系,并且安装软件包的服务。
二、搭建Yum
Yum服务器的搭建【具备光盘内容——mount挂载光盘设备即可】
1、众多的软件包 ——》光盘内Packages目录提供
类似于手机的应用市场,提供了众多的安装包。客户端来找你装包,不能说一个包都没有。
2、软件包管理清单 ——》光盘内repodata目录提供
介绍包的一些功能,一些版本信息等,方便快速找到要安装的软件包。
Yum客户端的搭建
1、/etc/yum.repos.d/ ——》自定义Yum配置文件存放目录
2、/etc/yum.repos.d/*.repo ——》自定义Yum配置文件
【以上目录知识必须要熟记】
[root@localhost haha]# ls /etc/yum.repos.d //可以看到原有文件
[root@localhost haha]# rm -rf /etc/yum.repos.d/Cen* //删除原有配置文件
[root@localhost haha]# ls /etc/yum.repos.d/ //确认删除干净
【正确的配置文件与错误的配置文件会相互影响,为了排除干扰,所以我们先把/etc/yum.repos.d/目录下的原有Yum配置文件删除。】
【因为装好系统后,在Yum配置文件目录下,有很多系统定义的Yum配置文件,但是这些配置文件在没有联网的情况下,没有办法使用,造成我们写好的配置文件,也没有办法使用。故删除。】
- yum 要读取的配置文件必须在/etc/yum.repos.d/
2.必须以.repo结尾
[root@localhost haha]# vim /etc/yum.repos.d/haha.repo
[Centos7.5] //软件仓库的标识(里面不能有空格)
name=Centos7.5 soft //描述信息,描述软件仓库的作用
baseurl=file:///haha //指定Yum服务端的位置路径
enabled=1 //是否启用这个yum自定义配置文件(0不开启 1开启)
gpgcheck=0 //是否进行软件包的安全检查(0 不检查 1 检查)
[root@localhost haha]# yum repolist //列出软件仓库信息
(列出9911包,不同的光盘镜像软件包的数量不一样。)
Yum软件包管理机制搭建的简单思路
服务端:
1、创建访问点(只要是目录就可以)
mkdir /haha
2、挂载
mount /dev/cdrom /haha
客户端:
1、删除系统中原有的自定义Yum配置文件
rm -rf /etc/yum.repos.d/Cen*
2、编写自定义Yum配置文件
vim /etc/yum.repos.d/haha.repo
.......
【install 安装】
[root@localhost haha]# yum -y install httpd //安装网站的软件包httpd
[root@localhost haha]# yum -y install xeyes
[root@localhost haha]# xeyes
卸载 yum remove httpd
- 手动新建用户的家目录
[root@localhost ~]# useradd tom
[root@localhost ~]# grep tom /etc/passwd
[root@localhost ~]# ls /home
[root@localhost ~]# rm -rf /home/tom
[root@localhost ~]# su - tom
su: 警告:无法更改到 /home/tom 目录: 没有那个文件或目录
-bash-4.2$ exit
[root@localhost ~]# cp -r /etc/skel/ /home/tom
[root@localhost ~]# ls -A /home/tom
]# chown -R tom:tom /home/tom #递归设置归属关系
]# ls -ld /home/tom
]# ls -lA /home/tom
]# chmod 700 /home/tom
]# ls -l /home/