YUM(Yellow dog Updater, Modified)
基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由几种的YUM软件仓库提供
软件仓库的提供方式
RPM软件包的来源
构建CentOS7软件仓库
在软件仓库中加入非官方RPM包组
为客户机指定YUM仓库位置
直接以CentOS 7光盘作软件仓库
将CentOS7光盘放入光驱
挂载镜像到仓库位置,URL地址为file:///media/cdrom
直接以CentOS 7光盘作软件仓库
将CentOS7光盘放入光驱
指定仓库位置,URL地址为file:///media/cdrom
VMware 软件
centos7虚拟机一台
1、挂载光盘镜像
[root@localhost ~]# hostnamectl set-hostname server '修改主机名为server'
[root@localhost ~]# su
[root@server ~]# mount /dev/sr0 /mnt '将镜像挂载到本地/mnt,cdrom为sr0的软链接,sr0可以替换成cdrom'
mount: /dev/sr0 写保护,将以只读方式挂载
[root@server ~]# df -Th '查看挂载'
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 5.3G 45G 11% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
/dev/mapper/centos-home xfs 245G 37M 245G 1% /home
tmpfs tmpfs 378M 12K 378M 1% /run/user/42
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
'文件在/mnt/Packages/目录下'
2、创建本地源仓库
[root@server Packages]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# ls
backup
[root@server yum.repos.d]# vim local.repo '自己创一个仓库文件'
[base] '仓库类别'
name=centos 7 '仓库名称(说明)'
baseurl=file:///mnt '定义软件源,file为本地,URL 访问路径'
enabled=1 '开启yum仓库'
gpgcheck=0 '不检查软件包序列'
3、这时可以安装软件包
[root@server yum.repos.d]# yum -y install httpd '安装apache软件包'
VMware 软件
centos7虚拟机两台
1、挂载光盘镜像
[root@localhost ~]# hostnamectl set-hostname server '设置主机名为server'
[root@localhost ~]# su '切换'
[root@server ~]#
[root@server ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@server ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 5.3G 45G 11% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
/dev/mapper/centos-home xfs 245G 37M 245G 1% /home
tmpfs tmpfs 378M 4.0K 378M 1% /run/user/42
tmpfs tmpfs 378M 32K 378M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
2、安装vsftpd服务
[root@server ~]# yum install vsftp* -y
'找到ftp站点'
[root@server ~]# ls /var
account cache db ftp gopher lib lock mail opt run target yp
adm crash empty games kerberos local log nis preserve spool tmp
[root@server ~]# cd /var/ftp
3、创建一个专门的目录centos7,然后把/mnt下所有软件包都复制到centos7中
[root@server ftp]# mkdir centos7
[root@server ftp]# ls
centos7 pub
[root@server ftp]# cp -rf /mnt/* /var/ftp/centos7/ & '把/mnt下所有软件包都复制到centos7中,后台运行'
[1] 15570
[root@server ftp]# jobs
[1]+ 运行中 cp -i -rf /mnt/* /var/ftp/centos7/ &
[root@server ftp]# ls
centos7 pub
[1]+ 完成 cp -i -rf /mnt/* /var/ftp/centos7/
4、建立yum索引环境
[root@server ftp]# mkdir other
[root@server ftp]# ls
centos7 other pub
[root@server ftp]# createrepo -g /mnt/repodata/repomd.xml other/ '写入索引'
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@server ftp]# ls
centos7 other pub
[root@server ftp]# ls other
repodata
[root@server ftp]# ls other/repodata/
01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2
12bbefc88e08f473cf860b4c150a9a8627f68eb256c9d54b80940e5dc224e85c-repomd.xml.gz
401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
cdcb85c0e4daf1675d1ab6c42b0cacc6f9460d938296f7bf52678514a86a0554-repomd.xml
dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
repomd.xml
5、开启ftp服务
[root@server ftp]# setenforce 0 '关闭系统核心防护'
[root@server ftp]# iptables -F '清空防火墙规则'
[root@server ftp]# systemctl start vsftpd '开启ftp服务'
1、测试访问ftpf服务
yum install ftp
ftp 192.168.195.88
[root@localhost ~]# hostnamectl set-hostname client
[root@localhost ~]# su
[root@client ~]#
[root@client ~]# yum install ftp -y
[root@client ~]# ftp 20.0.0.41
Connected to 20.0.0.41 (20.0.0.41).
220 (vsFTPd 3.0.2)
Name (20.0.0.41:root): ftp 'name输入ftp'
331 Please specify the password.
Password: '回车'
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> bye '退出'
221 Goodbye.
[root@client ~]# cd /etc/yum.repos.d
[root@client yum.repos.d]# ls
[root@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]# mv *.repo bak/ '把/etc/yum.repos.d下的所有以.repo结尾的文件移到创建的bak下'
[root@client yum.repos.d]# ls
Bak
[root@client yum.repos.d]# yum list
'此时用yum install是安装不了软件的,源环境要重新构建这个源,指定远程'
2、配置repo仓库文件
[root@client yum.repos.d]# vim abc.repo
[base]
name=centos7.Packages
baseurl=ftp://20.0.0.41/centos7
enabled=1
gpgcheck=1
gpgkey=ftp://20.0.0.41/centos7/RPM-GPG-KEY-CentOS-7 'RPM-GPG-KEY-CentOS-7从服务端:cd /var/ftp,ls centos7底下复制粘贴'
[other]
name=other.Packages
baseurl=ftp://20.0.0.41/other
enabled=1
gpgcheck=0
[root@client yum.repos.d]# yum list '重新加载'
'然后就可以安装软件包了'
[root@client yum.repos.d]# yum install httpd -y
关于yum命令
yum的配置文件
yum缓存目录
[root@localhost ~]# yum clean all
查询软件包
查询软件包组
安装软件
升级软件
yum update
yum groupdate
yum update 更新软件包,连内核一起更新
yum upgrade 只更新软件包,但不更新内核
卸载软件
第一个存储网络服务
如:网咖
安装nfs-utils,rpcbind软件包
[root@localhost opt]# yum -y install nfs-utils rpcbind
[root@localhost opt]# systemctl enable nfs
[root@localhost opt]# systemctl eable rpcbind
设置共享目录
NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)
在exports文件中设置共享资源时,记录格式为“目录位置 客户机地址(权限选项)”
[root@localhost opt]# mkdir wwwroot
[root@localhost opt]# vim /etc/exports
/opt/wwwroot 192.168.197.171(rw,sync,no_root_squash)
/var/ftp/pub 192.168.100.188(ro) 192.168.100.120(rw)
'rw能读能写,sync同步功能,no_root_squash 远程登录时不会被降权(root跑到另外一个系统中不会降权,还是root)'
'/var/ftp/pub 站点目录 ro只读 rw读写'
启动NFS服务程序
[root@localhost opt]# mkdir wwwroot
[root@localhost opt]# vim /etc/exports
[root@localhost opt]# systemctl start rpcbind
[root@localhost opt]# systemctl start nfs
[root@localhost opt]# netstat -nuap | grep rpcbind
udp 0 0 0.0.0.0:600 0.0.0.0:* 48338/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:*
查看本机发布的NFS共享目录
showmount -e
安装rpcbind软件包,并启动rpcbind服务
[root@server ~]# yum install nfs-utils rpcbind -y
[root@server ~]# systemctl enable rpcbind.service
[root@server ~]# systemctl start rpcbind.service
[root@server ~]# showmount -e
手动挂载NFS共享目录
[root@client ~]# mount 192.168.197.173:/mnt /var/www/html
fstab自动挂载设置
修改/etc/fstab配置文件,加入NFS共享目录的挂载设置。
注意将文件系统类型设置为nfs,挂载参数建议添加_netdev(设备需要网络)
若添加soft,intr参数可以实现软挂载,允许在网络中断时放弃挂载。
[root@localhost opt]# vim /etc/fstab
192.168.197.171:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
强制卸载NFS
[root@localhost ~]# umount /mnt umount. nfs: /mnt : device is busy [root@localhost ~]# umount -lf /mnt
[root@localhost ~]#
VMware软件
两个centos7系统,一个做客户端,一个做服务端
第一步:服务端添加硬盘并重启,服务端和客户端都修改名称
客户端修改
[root@localhost ~]# hostnamectl set-hostname client
[root@localhost ~]# su
[root@client ~]#
服务器端修改
[root@localhost ~]# hostnamectl set-hostname server
[root@localhost ~]# su
[root@server ~]#
第二步:格式化并挂载刚添加的硬盘
格式化磁盘步骤省略,如有疑问查看我之前博客
[root@server ~]# vim /etc/fstab
[root@server ~]# mount -a
[root@server ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 20G 4.1G 16G 21% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.0M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 52M 10G 1% /home
/dev/sda1 xfs 6.0G 174M 5.9G 3% /boot
tmpfs tmpfs 183M 8.0K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/sdb1 xfs 20G 33M 20G 1% /mnt
第三步:安装nfs-utils rpcbind,并设置为开机自启
[root@server ~]# yum install nfs-utils rpcbind -y
[root@server ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@server ~]# systemctl enable rpcbind.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rpcbind.service to /usr/lib/systemd/system/rpcbind.service.
第四步:设置共享目录,启动服务并关闭防护墙
[root@server ~]# vim /etc/exports
/mnt 192.168.197.0/24(rw,sync,no_root_squash)
[root@server ~]# systemctl start nfs
[root@server ~]# systemctl start rpcbind
[root@server ~]# netstat -ntap | grep rpc
tcp 0 0 0.0.0.0:35312 0.0.0.0:* LISTEN 14124/rpc.statd
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 14125/rpc.mountd
tcp6 0 0 :::20048 :::* LISTEN 14125/rpc.mountd
tcp6 0 0 :::58102 :::* LISTEN 14124/rpc.statd
[root@server ~]# systemctl stop firewalld.service
[root@server ~]# setenforce 0
第五步:查看本机发布的NFS共享目录
[root@server ~]# showmount -e
Export list for server:
/mnt 192.168.197.0/24
第六步:进客户端,关闭防火墙,安装httpd服务
[root@client ~]# systemctl stop firewalld.service
[root@client ~]# setenforce 0
[root@client ~]# yum install httpd -y
第七步:手动挂载NFS共享目录或者使用自动挂载
[root@client ~]# mount 192.168.197.173:/mnt /var/www/html
[root@client ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 20G 4.1G 16G 21% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.0M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 37M 10G 1% /home
/dev/sda1 xfs 6.0G 174M 5.9G 3% /boot
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
192.168.197.173:/mnt nfs4 20G 32M 20G 1% /var/www/html
[root@client ~]# umount /var/www/html
[root@client ~]# vim /etc/fstab
192.168.197.173:/mnt /var/www/html nfs defausts,_netdev 0 0
[root@client ~]# mount -a
[root@client ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 20G 4.1G 16G 21% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.0M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 37M 10G 1% /home
/dev/sda1 xfs 6.0G 174M 5.9G 3% /boot
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
192.168.197.173:/mnt nfs4 20G 32M 20G 1% /var/www/html
第八步:配置httpd网页并开启服务
[root@client ~]# cd /var/www/html
[root@client html]# ls
[root@client html]# vim index.html
this is nfs web
[root@client html]# systemctl start httpd.service
用客户端的网址登陆
[root@server ~]# cd /mnt
[root@server mnt]# ls
index.html
[root@server mnt]# cat index.html
this is nfs web
第十步:设置服务器端NFS服务断掉,开始强制卸载
[root@server mnt]# systemctl stop nfs
[root@server mnt]#
'发现客户端使用df -hT 卡死'