这里写目录标题
YUM仓库概述
YUM的前身是YUP( Yellow dog Updater,Yellow dog Linux的软件更新器 ),最初由TSS公司使用Python语言开发而成,后来由杜克大学的Linux开发队伍进行改进,命名为YUM(Yellow dog Updater Modified)
要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依
赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件
yum的配置文件
- 基本设置:/etc/yum.conf
- 仓库设置:/etc/yum.repos.d/*.repo
- 日志文件:/var/log/yum.log
yum常用命令
查询软件包列表
yum list 【软件名】
查询软件包的描述信息
yum info 【软件名】
查询指定的软件包
yum search 【关键词】
查询命令属于什么包组
yum whatprovides 【命令】
查询包组信息
yum grouplist
yum groupinfo
软件安装、升级 、卸载
安装软件
yum install [软件名] |
---|
yum groupinstall <包组名> |
升级软件
yum update |
---|
yum groupupdate |
卸载软件
yum remove <软件名> |
---|
yum groupremove <包组名> |
示例
(1)安装net-tools软件包
[root@localhost ~]# yum -y install net-tools
(2)安装gnome-desktop软件包组
[root@localhost ~]# yum -y groupinstall gnome-desktop
(3)即更新软件包,同时也更新系统内核
[root@localhost ~]# yum -y update
只更新软件包
[root@localhost ~]# yum upgrade
##############################################################################
(1)安装软件包
[root@localhost ~]# yum install <软件包>
(2)卸载软件包
[root@localhost ~]# yum remove <软件包>
(3)查看软件列表
[root@localhost ~]# yum list
(4)清空缓存
[root@localhost ~]# yum clean all
(5)查看软件包详细信息
[root@localhost ~]# yum info <软件包>
(6)查看文件或者目录归属于哪个软件包
[root@localhost ~]# yum whatprovides <文件或目录>
YUM搭建
1.本地yum
挂载光盘镜像文件
挂载光盘
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
永久挂载,如果不挂载本地YUM仓库不能使用
[root@localhost ~]# vim /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
进入yum 默认目录
[root@localhost ~]# cd /etc/yum.repos.d/
创建备份目录
[root@localhost yum.repos.d]# mkdir backup
将默认源移走
[root@localhost yum.repos.d]# mv C* backup/
创建本地yum
[root@localhost yum.repos.d]# vi local.repo
[local] ##模块名称随便写
name=local ##随便写
baseurl=file:///mnt ###包源路径
enabled=1 ###开机自启
gpgcheck=0 ###表示对从这个源下载的rpm包不进行校验
[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 makecache
或者:
[root@localhost yum.repos.d]# yum list
2.FTP-YUM源服务器
##服务端的设置##
安装一下vsftpd
[root@localhost ~]# yum -y install vsftpd
进入该目录
[root@localhost ~]# cd /var/ftp/
查看下
[root@localhost ftp]# ls
pub
创建一个cENTOS7目录
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# ll
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/
查看目录centos7目录中的内容
[root@localhost ftp]# ls 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
[root@localhost ftp]# systemctl status vsftpd
验证:
##客户端的设置##
[root@localhost ~]# yum -y install ftp
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
ftp连接一下服务器的IP
[root@localhost ~]# ftp 20.0.0.21
Connected to 20.0.0.21 (20.0.0.21).
220 (vsFTPd 3.0.2)
Name (20.0.0.21:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls ===>查看一下
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
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
-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 clean all
[root@localhost yum.repos.d]# yum makecache
[root@localhost yum.repos.d]# yum -y install httpd ===>安装一下测试一下
3.搭建阿里线网yum源
建议在一个文件里配置多个镜像,下面主要是尝试安装一个基础源,两个扩展源
[root@uplooking ~]# vim /etc/yum.repos.d/aliyun.repo
基础源
[aliyun_jc]
name=aliyun_jc
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0
扩展源
[aliyun_kz1]
name=aliyun_kz1
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
enabled=1
gpgcheck=0
扩展源
[aliyun_kz2]
name=aliyun_kz2
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
enabled=1
gpgcheck=0
清理yum内存,重新加载,相当于restart
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
安装一下试试
[root@localhost yum.repos.d]# yum -y install gcc gcc-c++
也可以使用这条命令直接下载到yum.d中
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
再使用试试
NFS 共享存储服务
NFS是一种基于TCP/IP传输的网络文件系统协议,最初由sun公司开发。通过使用NFS协议,NFS客户机可以像访问本地目录一样访问远程NFS服务器中的共享资源。对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是,NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
1.如何使用NFS
NFS (Network File System)网络文件系统
- 依赖于RPC(远程过程调用)
- 需安装nfs-utils,rpcbind软件包
- 系统服务:nfs,rpcbind
- 共享配置文件:/etc/exports
2.在客户机中访问 NFS 共享资源
NFS协议的目的是提供一种网络文件系统,因此对NFS共享的访问也是用mount命令来挂载,对应的文件系统类型为nfs。既可以收到挂载,也可以加入fstab配置文件来实现开机自动挂载。
NFS实验
环境部署
IP | 网关 | 其他 |
---|---|---|
20.0.0.110 | 20.0.0.2 | 防火墙核心防护全关,NFS服务器 |
20.0.0.111 | 20.0.0.2 | 防火墙核心防护全关,客户机 |
[root@NFS ~]# Yum -y install rpcbind nfs-utils
[root@NFS ~]# Systemctl enable rpcbind
[root@NFS ~]# Systemctl enable nfs-utils
[root@NFS ~]# mkdir -p /opt/www
[root@NFS ~]# Vi /etc/exports 添加:
(/opt/www/ 192.168.30.100(rw,sync,no_root_squash)
[root@NFS ~]# systemctl start rpcbind
[root@NFS ~]# systemctl start nfs
[root@NFS ~]# netstat -anpt | grep rpc
[root@NFS ~]# showmount -e
/opt/www/ 192.168.10.100(rw,sync,no_root_squash)
################这个时候去客户机操作验证:#################
[root@khj ~]# Yum -y install rpcbind nfs-utils
[root@khj ~]# systemctl enable rpcbind
[root@khj ~]# systemctl start rpcbind
[root@khj ~]# Systemctl enable nfs
[root@khj ~]# systemctl start nfs
[root@khj ~]# showmount -e 192.168.30.10
/opt/www 192.168.30.100
[root@khj ~]# mkdir -p /var/www/html
[root@khj ~]# mount 192.168.30.10:/opt/www /var/www/html/
[root@khj ~]# df -Th
[root@khj ~]# vi /etc/fstab
192.168.30.10:/opt/www /var/www/html nfs defaults,_netdev 0 0
做一个测试往/var/www/html/创造一个文件写点东西进去
[root@khj ~]# cd /var/www/html
[root@khj ~]# vi index.html
111
再回到NFS服务器查看(192.168.30.10)
[root@NFS ~]# Cd /opt/www/
[root@NFS ~]# ls
index.html
[root@NFS ~]# cat index.html
111