Linux中如何搭建YUM服务
什么是yum,有何作用?
YUM,yellow Updater Modified
- 为客户机集中提供软件仓库,基于红帽RPM安装包构建
- 能够自动解决软件安装依赖关系
- 简单说就是linux的应用商店
实验环境
- CentOS7
- 在虚拟机上使用VMNAT 8模式
- 配好IP地址,能够跟物理机ping通
敲起来
准备软件仓库
首先,挂载CentOS7光盘
[root@svr7 ~] ls /dev/cdrom // 查看光驱设备
/dev/cdrom
[root@svr7 ~] mkdir /dvd // 创建dvd目录
[root@svr7 ~] ls /dvd //查看创建的dvd目录
[root@svr7 ~] mount /dev/cdrom /dvd/ //将光盘挂载到创建的dvd目录下
[root@svr7 ~] ls /dvd //查看挂载是否成功 看dvd目录下是否有挂载文件
[root@svr7 ~] ls /dvd/Packages //查看dvd目录下软件包目录
[root@svr7 ~] mkdir -p /repo/cos7dvd //创建仓库目录
[root@svr7 ~] ls /repo/cos7dvd/ //查看创建是否成功
[root@svr7 ~]# cp -r /dvd/* /repo/cos7dvd/ //复制dvd下所有文档到仓库
确认仓库数据
[root@svr7 ~]# ls /repo/cos7dvd/ //查看仓库数据
CentOS_BuildTag LiveOS
EFI Packages
EULA repodata
GPL RPM-GPG-KEY-CentOS-7
images RPM-GPG-KEY-CentOS-Testing-7
isolinux TRANS.TBL
为yum设置软件源
[root@svr7 ~] mkdir /etc/yum.repos.d/oldrepo //在仓库下创建一个目录
[root@svr7 ~] mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/oldrepo/ //将仓库中所有.repo移动到oldrepo中
[root@svr7 ~] ls /etc/yum.repos.d/oldrepo/ //查看是否移动成功
[root@svr7 ~] yum-config-manager --add-repo file:/ // repo / cos7dvd //建立配置文件
[root@svr7 ~] vim /etc/yum.repos.d/yum.repo //修改配置文件
[yum] # 仓库标识,随意起一个名
name=yum # 仓库描述信息
baseurl=file:// /repo/cos7dvd # 指定服务端位置
enabled=1 # 本文件是否生效 1代表生效
gpgcheck=0 # 是否检测红帽签名信息 0代表不检测
[root@svr7 ~] yum repolist #列出仓库信息
清理yum缓存数据
[root@svr7 ~] yum clean all // 清除缓存
[root@svr7 ~] yum repolis // 列出仓库信息
# 为了提高检索数据,yum会在本机缓存数据
# 当软件源地址发生变化时,需要检索仓库时,需要清除缓存,才能生效
软件安装与查询
[root@ svr7 ~] yum -y install httpd //安装httpd
[root@ svr7 ~] yum -y install sssd //安装sssd
[root@ svr7 ~] yum -y install bind-chroot //安装bin-chroot
[root@ svr7 ~] yum -y install maridb-server //安装maridb-server
[root@svr7 ~] yum list firefox //查看firefox软件是否安装
已安装的软件包
firefox.x86_64 45.4.0-1.el7.centos @ anaconda
[root@ svr7 ~] yum info firefox //查看软件详细信息
[root@ svr7 ~] yum provides /usr/bin/hostname //查看hostname指令由哪个软件包产生
[root@svr7 ~] yum provides */guestmount //模糊搜索哪个路径下有 /guestmount
卸载软件
[root@svr7 ~]# yum remove httpd //卸载软件
[root@svr7 ~]# yum list httpd //查看httpd还是否存在
[root@svr7 ~]# yum -y reinstall httpd //重新安装httpd服务
部署FTP服务
FTP通信解析
- 基于C/S架构的文档下载/上传通信
- 服务端:支持FTP协议的下载/上传资源提供程序
- 客户端:与服务端通信实现文档下载/上传功能的控制程序
FTP控制连接使用的端口为21
FTP数据连接的建立
服务端主动:从20端口连接客户端
服务器被动:在随机端口等待客户端来连接
FTP用户
- 匿名访问
登录名为ftp或anonymous 密码任意 - 验证访问
直接使用linux服务器的系统用户,需要输入正确密码
在高级应用中可以使用数据库中的虚拟用户访问
部署及访问FTP服务
[root@svr7 ~] yum -y install vsftpd //安装提供FTP服务的软件
[root@svr7 ~] yum info vsftpd #查看软件详细信息
[root@svr7 ~] systemctl restart vsftpd #重启服务
[root@svr7 ~] systemctl enable vsftpd #设置开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@svr7 ~] firefox ftp://192.168.4.7 //测试访问
# 匿名用户显示为/var/ftp目录内容,本地系统用户显示该用户家目录的内容
[root@svr7 ~] ls /var/ftp/ //查看目录是否存在
[root@svr7 ~] touch /var/ftp/anon.txt //目录下创建anon文档
[root@svr7 ~] ls /var/ftp/ //查看文档是否创建成功
[root@svr7 ~] firefox ftp://192.168.4.7 //访问ftp
[root@svr7 ~] id xxx //查询是否有xxx用户
[root@svr7 ~] ls /home/xxx/ //查看xxx的家目录
[root@svr7 ~] touch /home/xxx/xxx.txt //在xxx用户家目录下创建文档
[root@svr7 ~] ls /home/xxx/ //查看文档是否创建成功
[root@svr7 ~] firefox ftp://xxx:123456@192.168.4.7
# 格式 firefox ftp://用户名:密码@自己的IP地址
利用物理机访问FTP服务
- 虚拟机跟物理机能够ping通
- 选择VMNAT 8模式
[root@svr7 ~] systemctl stop firewalld //立即关闭防火墙
[root@svr7 ~] systemctl disable firewalld //永久关闭防火墙
Removed symlink /etc/systemd/system/dbus- org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@svr7 ~] getenforce //查看当前SELinux状态
[root@svr7 ~] setenforce 0 //当前使SELinux失效
[root@svr7 ~] vim /etc/selinux/config //开机禁用,下一次开机生效
SELINUX=disabled
# 修改第一个SELINUX
最后
最近时间太少,来不及挂图片,大家就将就一下看吧
这个呢纯属个人笔记的延伸
有什么不严谨不对的地方希望大家指出,好便及时更正
由于路径的双斜杠跟文本编辑的语法可能有些冲突,颜色上可能有所差异
这个适合有点linux基础的看,不会linux的话看起来会有些吃力
大体思路:挂载---搭建仓库---设置软件源---安装需要的软件包---卸载---搭建FTP---root用户测试访问FTP---普通用户访问FTP