目录
一、YUM概述
YUM(Yellow dog Updater Modified)
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件包由集中的YUM软件仓库提供
准备安装源
软件仓库的提供方式
FTP服务:ftp://…
http服务:http://…
本地目录:file://…
RPM软件包的来源
CentOS发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合
构建CentOS 7 软件仓库 ===>ftp 形式
RPM包来自CentOS 7 DVD光盘
通过FTP方式提供给客户机
[root@localhost ~]# mkdir -p /var/ftp/centos7 #创建目录
[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7 #将光盘里面的软件包强制递归复制到创建的目录下面
[root@localhost ~]# rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm #安装vsftp
[root@localhost ~]# systemctl start vsftpd #开启服务
[root@localhost ~]# systemctl enable vsftpd #开机自启
在软件仓库中加入非官方RPM包组
包括存在依赖关系的所有RPM包
使用createrepo工具建立仓库数据文件
[root@localhost ~]# mkdir /var/ftp/other #创建索引目录
[root@localhost ~]# cd /var/ftp/other #进到索引目录下(非官方的RPM要先放入该目录)
[root@localhost other]# createrepo -g /media/cdrom/repodata/repomd.xml ./ #部署软件包里面的索引
二、访问YUM仓库
为客户机指定YUM仓库位置
配置文件:/etc/yum.repos.d/centos7.repo
[root@localhost ~]# vi /etc/yum.repos.d/centos7.repo
[base]
name=CentOS 7.6
baseurl=ftp://192.168.4.254/centos7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG_KEY_CentOS-7
[other]
name=other
baseurl=ftp://192.168.4.254/other
enabled=1
gpgcheck=0
三、本地YUM仓库
直接以CentOS 7 光盘作软件仓库
将CentOS 7 光盘放入光盘
挂载镜像到仓库位置,URL地址为 file:///media/cdrom
[root@localhost ~]# vi /etc/yum.repos.d/local.repo
......
[local]
name=local
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
四、YUM工具概述
关于YUM命令
由软件包yum-3.4.3-150.el7.centos.noarch提供
用来访问YUM仓库,查询,下载及安装,卸载软件包
YUM的配置文件
基本设置:/etc/yum.conf
仓库设置:/etc/yum.repos.d/*.repo
日志文件:/var/log/yum.log
YUM缓存目录
存放下载的软件包、仓库信息等数据
位于/var/cache/yum/b a s e a r c h /$ basearch/$releasever
$basearsh #硬件架构,如x86_64
$releasever #os版本
[root@localhost ~]# yum clean all #清理缓存数据
[root@localhost ~]# yum makecache #创建缓存
五、软件包查询
yum list [软件名] #查看软件列表
yum info [软件名] #查看软件包的详细信息
yum search <关键词> #搜索
yum whatprovides <关键词> #查看软件包里面的概要信息
示例
[root@localhost ~]# yum list #查看列表信息
[root@localhost ~]# yum list httpd #查看httpd列表信息
[root@localhost ~]# yum info vsftpd #查看vsftpd列表信息
[root@localhost ~]# yum search gcc #搜索gcc
[root@localhost ~]# yum whatprovides vim #查看vim软件包里面的概要信息
六、查询软件包组
yum grouplist [包组名] #查看软件包组
yum groupinfo <包组名> #查看软件包组的详细信息
示例
[root@localhost ~]# yum grouplist #查看软件包组列表信息
[root@localhost ~]# yum grouplist gnome-desktop #查看桌面的软件包组
[root@localhost ~]# yum groupinfo gnome-desktop #查看桌面的软件包组的详细信息
七、软件安装、升级
安装软件
yum install [软件名]
yum groupinstall <包组名>
升级软件
yum update
yum groupupdate
示例
[root@localhost ~]# yum -y install net-tools #安装net-tools软件包
[root@localhost ~]# yum -y groupinstall gnome-desktop #安装gnome-desktop软件包组
[root@localhost ~]# yum -y update #即更新软件包,同时也更新系统内核
[root@localhost ~]# yum upgrade #只更新软件包
[root@localhost ~]# yum install <软件包> #安装软件包
[root@localhost ~]# yum remove <软件包> #卸载软件包
[root@localhost ~]# yum list #查看软件列表
[root@localhost ~]# yum clean all #清空缓存
[root@localhost ~]# yum info <软件包> #查看软件包详细信息
[root@localhost ~]# yum whatprovides <文件或目录> #查看文件或者目录归属于哪个软件包
八、软件卸载
yum remove <软件名>
yum groupremove <包组名>
示例
[root@localhost ~]# yum -y remove autofs
[root@localhost ~]# yu -y groupremove gnome-desktop
九、YUM实操
本地YUM源实操
[root@localhost ~]# mount /dev/cdrom /mnt #挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cd /etc/yum.repos.d/ #进入该目录
[root@localhost yum.repos.d]# mkdir backup #创建一个备份目录
[root@localhost yum.repos.d]# mv C* backup/ #将当前目录下的文件移动到backup目录下
[root@localhost yum.repos.d]# vi local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: local
Other repos take up 207 M of disk space (use --verbose for details)
[root@localhost yum.repos.d]# yum list #更新一下
YUM源实操测试访问ftp
服务端的设置
[root@localhost ~]# yum -y install vsftpd #安装一下vsftpd
[root@localhost ~]# cd /var/ftp/ #进入该目录
[root@localhost ftp]# ls #查看下
pub
[root@localhost ftp]# mkdir centos7 #创建一个目录
[root@localhost ftp]# ll #查看一下
总用量 0
drwxr-xr-x. 2 root root 6 7月 10 22:37 centos7
drwxr-xr-x. 2 root root 6 4月 1 12:55 pub
[root@localhost ftp]# mount /dev/cdrom /mnt #挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# cp -rf /mnt/* /var/ftp/centos7/ #将光盘里面的内容全部拷贝到之前创建的目录下
[root@localhost ftp]# ls #查看
centos7 pub
[root@localhost ftp]# ls centos7/ #查看目录centos7
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost ftp]# setenforce 0 #关闭核心防护
[root@localhost ftp]# systemctl stop firewalld #关闭防火墙
[root@localhost ftp]# mkdir other #创建other目录
[root@localhost ftp]# createrepo -g /mnt/repodata/repomd.xml /var/ftp/other/ #创建索引
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost ftp]# systemctl start vsftpd #开启vsftp服务
[root@localhost ftp]# systemctl status vsftpd #查看vsftp状态
客户端的设置
[root@localhost ~]# yum -y install ftp #安装一下ftp
[root@localhost ~]# setenforce 0 #关闭核心防护
[root@localhost ~]# systemctl stop firewalld #关闭防火墙
[root@localhost ~]# ftp 20.0.0.20 #ftp连接一下服务器的IP
Connected to 20.0.0.20 (20.0.0.20).
220 (vsFTPd 3.0.2)
Name (20.0.0.20: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 (20,0,0,20,144,253).
150 Here comes the directory listing.
drwxr-xr-x 8 0 0 220 Jul 10 14:38 centos7
drwxr-xr-x 3 0 0 22 Jul 10 14:42 other
drwxr-xr-x 2 0 0 6 Apr 01 04:55 pub
226 Directory send OK.
[root@localhost ~]# cd /etc/yum.repos.d/ #进入该目录
[root@localhost yum.repos.d]# ll #查看一下
总用量 36
-rw-r--r--. 1 root root 1664 4月 8 06:01 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 4月 8 06:01 CentOS-CR.repo
-rw-r--r--. 1 root root 649 4月 8 06:01 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 4月 8 06:01 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 4月 8 06:01 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 4月 8 06:01 CentOS-Sources.repo
-rw-r--r--. 1 root root 7577 4月 8 06:01 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 4月 8 06:01 CentOS-x86_64-kernel.repo
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup/
[root@localhost yum.repos.d]# ll
总用量 0
drwxr-xr-x. 2 root root 220 7月 10 22:44 backup
[root@localhost yum.repos.d]# vi ftp.repo #必须是.repo结尾的文件
[base]
name=base
baseurl=ftp://20.0.0.20/centos7
enabled=1
gpgcheck=1
gpgkey=ftp://20.0.0.20/centos7/RPM-GPG-KEY-CentOS-7
[other]
name=other
baseurl=ftp://20.0.0.20/other
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]# yum -y install httpd #安装一下测试一下
十、NFS共享存储服务
NFS(Network File System)网络文件系统
- 依赖于RPC(远端过程调用)
- 需安装nfs-utils、rpcbind软件包
- 系统服务:nfs、rpcbind
- 共享配置文件:/etc/exports
- nfs-utils ===>网络文件系统
rpcbind ===>远程过程调用
十一、使用NFS发布共享资源
安装nfs-utils、rpcbind软件包
[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind
设置共享目录
[root@localhost ~]# mkdir -p /opt/wwwroot
[root@localhost ~]# vi /etc/exports
/opt/wwwroot 192.168.7.0/24(rw,sync,no_root_squash) ===>该网段的用户都可以访问该目录
/var/ftp/pub 192.168.4.11(ro)192.168.4.110(rw) ===>该目录192.168.4.11只能读 192.168.4.110可以读写
启动NFS服务程序
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
查看本机发布的NFS共享目录
[root@localhost ~]# netstat -anpt | grep rpc
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 10508/rpc.mountd
tcp 0 0 0.0.0.0:52732 0.0.0.0:* LISTEN 10495/rpc.statd
tcp 0 0 0 ::::20048 ::::* LISTEN 10508/rpc.mountd
tcp 0 0 0 ::::47669 ::::* LISTEN 10508/rpc.mountd
[root@localhost ~]# showmount -e ===>查看挂载情况
/opt/wwwroot 192.168.7.0/24
/var/ftp/pub 192.168.4.11
在客户机中访问NFS共享资源
1.安装rpcbind软件包,并启动rpcbind服务
[root@localhost ~]# yum -y install rpcbind nfs-utils
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# showmount -e 192.168.7.250
Export list for 192.168.7.250:
/opt/wwwroot 192.168.7.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11
2.手动挂载NFS共享目录
临时挂载
[root@localhost ~]# mount 192.168.7.250:/opt/wwwroot /var/www/html
[root@localhost ~]# tail -1 /etc/mtab
192.168.7.250:/opt/wwwroot /var/www/html nfs4
rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,photo=tcp,port=0,
timeo=600,retrans=2,sec=sys,clientaddr=192.168.7.21,local_lock=none,
addr=192.168.7.250 0 0
[root@localhost ~]# vi /var/www/html/index.html
Real Web Server Document
fstab自动挂载设置(永久挂载)
[root@localhost ~]# vi /etc/fstab
......
192.168.7.250:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
强制卸载NFS
[root@localhost ~]# umount /mnt
umount:/mnt:device is busy
[root@localhost ~]# umount -lf /mnt #强制卸载