1.安装vsftpd软件
[root@sanchuang yum.repos.d]# yum install vsftpd -y
2.启动vsftpd服务
[root@sanchuang yum.repos.d]# yum install lsof net-tools -y
[root@sanchuang yum.repos.d]# lsof -i:21
关闭防火墙
[root@sanchuang yum.repos.d]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@sanchuang yum.repos.d]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain sc (0 references)
target prot opt source destination
修改配置文件
[root@sanchuang yum.repos.d]# cd /etc/vsftpd/
[root@sanchuang vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@sanchuang vsftpd]# vim vsftpd.conf
anonymous_enable=YES --》centos8里是NO,修改为yes centos7里默认是yes
刷新服务
[root@sanchuang vsftpd]# service vsftpd restart
Redirecting to /bin/systemctl restart vsftpd.service
ftp这个用户是专门用来匿名登录ftp服务
[root@sanchuang vsftpd]# cat /etc/passwd|grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@sanchuang vsftpd]# cd /var/ftp/
[root@sanchuang ftp]# ls
pub
[root@sanchuang ftp]#
[root@sanchuang ftp]# mkdir centos
[root@sanchuang ftp]#
挂载镜像文件,获得很多的rpm包,然后复制rpm到/var/ftp/centos里
[root@sanchuang ftp]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@sanchuang ftp]# cp /mnt/* /var/ftp/centos/ -r
在客户机上新建一个ftp.repo文件,找到我们自己搭建的ftp服务器
[root@sanchuang yum.repos.d]# cat ftp.repo
[ftpyum]
name="sanchuang ftp yum server"
baseurl=ftp://192.168.0.142/centos
enabled=1
gpgcheck=0
[root@sanchuang yum.repos.d]#
将其他的repo文件移动到backup目录里
[root@sanchuang yum.repos.d]# ls
backup ftp.repo nginx.repo
[root@sanchuang yum.repos.d]#
[root@sanchuang centos]# yum install squid
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
ftpyum | 3.6 kB 00:00:00
nginx-stable | 2.9 kB 00:00:00
(1/3): ftpyum/group_gz | 166 kB 00:00:00
(2/3): ftpyum/primary_db | 3.1 MB 00:00:00
(3/3): nginx-stable/7/x86_64/primary_db | 55 kB 00:00:03
正在解决依赖关系
--> 正在检查事务
---> 软件包 squid.x86_64.7.3.5.20-12.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================================================
Package 架构 版本 源 大小
=================================================================================================================
正在安装:
squid x86_64 7:3.5.20-12.el7 ftpyum 3.1 M
事务概要
=================================================================================================================
安装 1 软件包
总下载量:3.1 M
安装大小:10 M
Is this ok [y/d/N]:
我自己下载的不是官方镜像里的rpm包,可以使用你的ftp yum源安装吗?
添加rpm包
[root@sanchuang ~]# cp mysql80-community-release-el7-3.noarch.rpm /var/ftp/centos/Packages/
[root@sanchuang ~]#
需要重新更新repodata里的解决依赖关系的文件
[root@sanchuang centos]# yum install createrepo
重新生成解决依赖关系的文件(直接做这一步操作会遇到问题,解决方法在下面)
[root@sanchuang centos]# createrepo --update /var/ftp/centos
Spawning worker 0 with 2011 pkgs
Spawning worker 1 with 2011 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@sanchuang centos]#
问题:自己的软件包放到ftp yum 源里,目前发现不了?
解决方法1:
在/var/ftp/centos目录下新建一个新的目录
mkdir mysql
cp /root/mysql80-community-release-el7-3.noarch.rpm mysql/
createrepo --update /var/ftp/centos/mysql/
在ftp.repo文件里新建一个源,单独搞一个路径
[root@sanchuang centos]# cat /etc/yum.repos.d/ftp.repo
[ftpyum]
name="sanchuang ftp yum server"
baseurl=ftp://192.168.0.142/centos
enabled=1
gpgcheck=0
[ftpyumMysql]
name="sanchuang ftp yum server"
baseurl=ftp://192.168.0.142/centos/mysql
enabled=1
gpgcheck=0
[root@sanchuang centos]#
解决方法2:
[root@sanchuang centos]# rm -rf repodata/
[root@sanchuang centos]# createrepo --update /var/ftp/centos/
Could not find valid repo at: /var/ftp/centos/
Spawning worker 0 with 2012 pkgs
Spawning worker 1 with 2011 pkgs