前言:有手就行
前言:上面那个是吹牛皮的,这次我们来玩一下YUM软件仓库,可以完成安装、卸载、自动升软件包等任务,管理员在维护大量 Linux 服务器时更加轻松自如。除此之外还详细讲解了NFS的几个案例。
一.YUM仓库
1.1YUM概述
1.YUM (Yellow dog UpdaterModified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
2.基于RPM包构建的软件更新机制
3.可以自动解决依赖关系
4.所有软件包由集中的YUM软件仓库提供
5.在centos8中yum改为apt
软件仓库的提供方式:
网络源:
FTP服务:ftp://…
HTTP服务:http://…
本地源:
本地目录:file://…
1.2YUM常用命令
1.2.1 查询软件包命令
-------查询软件包命令------
#显示可用的安装包
yum list vsftpd //查看vsftpd可用包
#显示安装包详细信息
yum info [软件名]
#根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
yum search <关键词>
#你知道某个命令却不知道具体的包可以用此命令查找
yum whatprovides <关键词>
1.2.2 查询软件包组命令
-------查询软件包组命令-------
#安装包组的查询 不加包组名 就是显示所有
yum grouplist [包组名]
#不加包组名显示全部
yum groupinfo <包组名>
1.2.3 yum安装升级
-------yum升级安装-------
#安装软件包
yum install wget
#安装包组名
yum groupinstall gnome desktop
#更新安装包,可以单个也可以全部 后面加具体名称就是单个更新,不加就是全部更新。但是首先你要有更新的包组库否则也无法更新。
yum upgrade
#组包更新
yum groupupdate
1.2.4 软件卸载
#卸载已安装的软件必须加软件名
yum remove httpd
#查看历史的使用记录,选择ID 1,2,3,4,5,可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除
yum history
yum history undo 3 //3代表id号
#如果后悔 卸载 可以使用两种方式
yum history redo 4 (重新安装一遍)
yum history undo 6 (反悔卸载等于重新安装一遍)
二.YUM仓库的配置
2.1 YUM主配置文件
配置文件: /etc/yum.conf
[root@hehe ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件 $releasever系统版本比如7
keepcache=0 //是否保存缓存 0代表不保存,1代表保存
debuglevel=2 //调试级别
logfile=/var/log/yum.log //日志文件位置
exactarch=1 //是否允许不同版本的rpm安装
obsoletes=1 //update的一个参数是否允许旧版本的运行
gpgcheck=1 //验证密钥
plugins=1 //是否允许插件,1为允许
installonly_limit=5 //保存5个内核
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
2.2 YUM仓库配置文件
位置:/etc/yum.repos.d/
#下面是默认仓库,是centos官方的yum源,需要联网才可以使用
[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
bak CentOS-Debuginfo.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
2.3 日志文件
[root@hehe yum.repos.d]# cat /var/log/yum.log
三.搭建yum仓库
3.1搭建本地yum仓库
1.首先将光驱中的镜像文件进行挂载(先将虚拟机的光盘载入)
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 15G 4.1G 11G 27% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 174M 841M 18% /boot
tmpfs tmpfs 182M 4.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 20K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
2.切换到 yum.repo.d 目录 将自带的仓库移走,多个开启仓库文件可能会造成冲突无法使用
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir repo.bak
[root@localhost yum.repos.d]# mv *.repo repo.bak/
[root@localhost yum.repos.d]# ls
repo.bak
3.新建yum仓库文件
[root@yum.repos.d]# vim local.repo
[local] name=local
baseurl=file:///mnt
enable=1
gpgcheck=0
4.清空yum缓存
[root@yum.repos.d]# yum clean all && yum make
3.2 搭建云yum仓库
服务端: 192.168.75.135
客户端:192.168.75.136
1.服务端安装vsftp服务
yum install -y vsftpd
2.服务端切换到ftp目录下建立一个CentOS7目录
[root@ocalhost/]# cd /var/ftp
[root@ocalhost ftp]# ls
pub
[root@ocalhost ftp]# mkdir centos7
[root@ocalhost ftp]# mkdir other
[root@localhost ftp]# ls
centos7 other pub
3.服务端将光驱里的文件包备份到centos7里
[root@Kiro ftp]# cp -rf /mnt/* centos7/ &
[1] 22208
[root@Kiro ftp]# cd centos7
[root@Kiro centos7]# ls
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS
[root@Kiro centos7]# cd /var/ftp/other
[root@Kiro other]# createrepo -g /mnt/repodata/repomd.xml ./
##手动创建repodate数据文件 以现有的
4.服务端开启相关服务,关闭防火墙和自增强
[root@localhost other]# systemctl stop firewalld.service
[root@loclahost other]# setenforce 0
setenforce: SELinux is disabled ##自增强已经就是关闭状态
[root@localhost other]# systemctl start vsftpd ##打开vsvtpd服务
5.客户端安装ftp 服务并启动关闭防火墙和selinux
[root@pxw yum.repos.d]# yum install ftp
[root@pxw yum.repos.d]# systemctl stop firewalld.service------默认开启服务------
[root@pxw yum.repos.d]# systemctl start vsftpd
6.测试ftp服务是否正常
[root@pxw yum.repos.d]# ftp 192.168.75.135
Connected to 192.168.61.100 (192.168.75.135)
220 (vsFTPd 3.0.2)
Name (192.168.75.135:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,75.135,107,87).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 0 Apr 16 17:23 1.txt
drwxr-xr-x 8 0 0 220 Apr 19 10:27 centos7
drwxr-xr-x 2 0 0 6 Apr 16 15:47 hhh
drwxr-xr-x 2 757 0 45 Apr 16 17:03 kiro
drwxr-xr-x 3 0 0 22 Apr 19 12:13 other
drwxrwxr-x 2 0 50 64 Apr 17 17:15 pub
226 Directory send OK.
ftp>
7.编写yum仓库文件
root@pxw yum.repos.d]# mv *.repo repo.bak/
[root@pxw yum.repos.d]# ls
repo.bak
[root@pxw yum.repos.d]# vim /etc/yum.repos.d/CentOS7.repo[centos7] //仓库类别
name=centos7 //仓库名称
baseurl=ftp://192.168.75.136/centos7 //URL访问路径
enabled=1 //启用此软件仓库
gpgcheck=0 //验证软件包的签名
#=
[other]
name=other
baseurl=ftp://192.168.75.135/other
enabled=1
gpgcheck=0
8.验证
yum install -y httpd ##现在调用的yum源是来自服务机
欲知后事如何,且听下回分解