今天我们讲一个小项目:使用centos6 ftp部署一个可供centos6、centos7系统使用的yum网络仓库
我们来分析一下这个项目:首先我们要先安装ftp包,开启并配置ftp服务。接着关闭并配置selinux,关闭防火墙。最后创建并配置网络仓库。这就是这个项目所涉及的内容。
现在我们具体分析每一个步骤及所用的知识。首先我们将要安装ftp安装包,要讲安装包,不得不提rpm命令,rpm命令分为主命令(安装、卸载、升级、查询、校验等)除主命令之外还有子命令。接下来我们详细的讲解一下这个命令:
rpm
-i 安装
-v 显示过程
-vv 显示详细过程
-h 显示进度
--nodeps忽略依赖性关系检测
在这幅图里面,我们可以发现第一次安装不成功,这是因为该包存在依赖性关系,那什么是依赖性关系呢?简单地说就是要安装B包就要先安装A包。这就是依赖性关系,而 --nodeps选项就能忽略依赖性关系检测
--replacepkgs 重复安装已安装过的包,文件覆盖
--replacefiles 即将安装的包的部分文件与其他已安装的包文件冲突,可继续安装,文件不覆盖,这种情况用于不同版本的安装包。
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
--noscripts:不执行程序包脚本
%pre: 安装前脚本; --nopre
%post: 安装后脚本; --nopost
%preun: 卸载前脚本; --nopreun
%postun: 卸载后脚本; --nopostun
-U 指定的包比已安装的包新或者未安装
-F 指定的包比已安装的包新
--oldpackage 指定的包比已安装过的包旧
--force 相当于 --replacepkgs, --replacefiles, --oldpackage的功能
-q 查询包是否安装
-qa 查询已安装的所有包
-qf 文件路径 查询指定的文件来源于哪一个rpm包
-ql 包名 查询该包提供了哪些文件
-qp# rpm包 对未安装的包,指定rpm文件再配合其他查询子选项来进行各项查询操作
-q --changelog 包名 查看更新日志
-qc 包名 查看该软件包所提供的配置文件
-qd 包名 查看该软件包所提供的文档文件
-qi 包名 查看该软件包的详细信息
-q --scripts 查看安装前及安装后的脚本
-q --provides 包名 查看一个软件包提供了哪些能力
-qR 包名 查看一个软件包的运行所依赖的能力
-q --whatprovides 能力名 查看一个能力由哪个包提供
-q --whatrequires 能力名 查看一个能力依赖于哪些包
-e 卸载
-e 包名
rpm -e `rpm -q vsftpd`
或
rpm -e vsftpd --allmatches 安装了多个版本的某个rpm可以一次性全部删除
--nodeps 删除时不检查依赖性关系
-V 校验已安装的包的文件哪些发生了更改或丢失,更改变化的类型如下
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P capabilities differ
-K rpm包 验证包的合法性
--import 公钥 导入公钥
rpm -qa "gpg-pubkey*" 查询公钥
rpm -e `rpm -qa "gpg-pubkey*"` 删除公钥
实验:模拟删除/etc/init/rcS.conf文件并恢复
安装完vsftp后,我们接着做如下操作:
启动服务
service vsftpd start
设置默认开机后自动启动ftp服务
chkconfig vsftpd on
关闭SElinux
所谓的selinux就是linux的安全模式,我们需要进入有关这个服务的配置文件里,vim /etc/selinux/config 设置SELINUX=disabled 如图所示
这里写图片描述
关闭这个的目的是为了让我们能够更好地通过ftp登上服务器
关闭一次防火墙
iptables -F
保存关闭防火墙这个命令
service iptables save
创建ftp目录即可,结果如图:
最后我们编写脚本创建yum网络仓库即可,脚本如图:
这样我们就完美的解决掉了这个项目。通过这个项目我们学到了很多,rpm,yum,服务器的搭建等等。在文章的最后,我还要说yum到底是什么呢?说道底,yum是rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包。这也是yum的好处所在!
转载于:https://blog.51cto.com/13560258/2068758