一、示例环境说明
服务器版本redhat6.2 , 使用网易163的centos 6的yum源,客户端通过FTP的方式从YUM服务器安装RPM包。YUM服务器将光盘中的rpm包存放在var/ftp/pub目录下,通过网易163更新rpm包。
二、YUM服务器搭建
1、光盘挂载
mkdir /mnt/cdrom/
mount /dev/cdrom /mnt/cdrom/
2、进入光盘的Packages包下,安装yum及vsftp
rpm -ivh yum
rpm -ivh vsftp
3、安装完成后,将光盘里所有的文件拷贝到 /var/ftp/pub 目录里 ####如果换成其他目录,例如/var/ftp/temp/,要求目录再安装完成VSFTP之后创建,否则会报错
cd /mnt/cdrom/
cp -rv * /var/ftp/pub
切换到 /var/ftp/pub目录
删除*.html
删除CentOS/repodata/TRANS.TBL
cd /var/ftp/pub
rm -rf .html
rm -rf repodata/TRANS.TBL
4、安装createrepo工具,生成YUM通用数据库
cd /mnt/cdrom/
rpm -ivh createrepo-0.9.8-4.el6.noarch
createrepo -g /var/ftp/pub/repodata/comps.xml /var/ftp/pub/ ####次目录要求与保存rpm包的目录保持一致
createrepo /var/ftp/pub/ 如果包有更新需要重新执行createrepo命令生产新的repomd.xml文件
5、重启vsftp,配置完成。
/etc/init.d/vsftpd restart
6、配置以网易163的centos为YUM源的repo文件
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
vi CentOS6-Base-163.repo
编辑文件,把文件里面的$releasever全部替换为版本号,即6 最后保存!或者直接把下面的内存拷贝到CentOS6-Base-163.repo文件中即可(已经修改好)
通过:/%s/$releasever/6/g替换即可
7、清理yum缓存
#yum clean all
#yum makecache #将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度
#yum install vim #测试域名是否可用
三、YUM客户端配置:
1.进入/etc/yum.repos.d/目录,备份原有的repo文件,创建新的repo文件,myredhat.repo
#cd /etc/yum.repos.d/
#mkdir bak/
#cp * bak/
#vi myredhat.repo
#############################
[rhel6]
name=rhel6
baseurl=ftp://172.16.101.43/pub/
enabled=1
gpgcheck=0
gpgkey=ftp://172.16.101.43/pub/RPM-GPG-KEY-redhat-release/
#############################
2.注意上面的baseurl是刚才安装yum服务器的ftp地址,安装完成后执行
#yum clean all
#yum update
#yum makecache
四、yum命令工具使用举例
yum update 升级系统
yum install ~安装指定软件包
yum update~升级指定软件包
yum remove~卸载指定软件
yum grouplist 查看系统中已经安装的和可用的软件组,可用的可以安装
yum grooupinstall~安装上一个命令显示的可用的软件组中的一个
yum grooupupdate~更新指定软件组的软件包
yum grooupremove~卸载指定软件组中的软件包
yum deplist~查询指定软件包的依赖关系
yum list yum\*列出所有以yum开头的软件包
yum localinstall~从硬盘安装rpm包并使用yum解决依赖
五、FAQ
问题一:temp目录先于vsftpd安装前创建,导致ftp账户无法访问temp目录里面的文件
解决方案一、是否pub目录,即vsftp安装会默认创建的目录;
解决方案二、先安装完vsftp,然后再创建目录,并拷贝rmp包到该目录下。
问题二:客户端无法ftp连接服务器
解决方法:关闭iptables,命令:service iptables stop;chkconfig --level 35 iptables off