编者按:为什么要debian使用yum命令rpm来管悝软件包相比debian使用yum命令shell脚本,从源码编译安装的方式排除规模引出的效率因素不讲,脚本的可维护性比起rpm要糟糕一些当然debian使用yum命令rpm僦需要深入了解rpmbuild以及spec文档,似乎也并不简单但从长远来看,rpm、yum源的可维护性要比“脚本”可靠一些。在本文中花开分享了创建yum源的操作步骤,用于管理系统上“定制”的软件包以下为正文。
创建yum源需要一个ftp或者http服务鉴于ftp烦人的防火墙策略(防火墙配制不当,ftp的模式——主动/初动debian使用yum命令不当服务会变得不可用),建议debian使用yum命令http服务
的根目录下创建一个yum目录,来保存 yum 源数据
观察官方yum源的目录規划,像是yum并不能自己维护arch即并不能自己区分i386还是x86_64,所以是单独放在不同的目录下
我维护的是基于CentOS Linux 5的包,规划目录如下:
[....] 代表这个库嘚名字必须是唯一的,不可以重复
name= 是这个库的说明,没有太大的实际意义只是一个字段说明。
baseurl= 说明采取什么方式传输具体路径在哪里,可以debian使用yum命令的方式有,file://ftp://,http://等关于baseurl中的变量,可以查看yum.conf 的手册:man yum.conf 在手册的最后一段有详细描述。
enabled=1 说明启用这个更新库0表示不啟用。
gpgcheck=1 表示debian使用yum命令gpg文件来检查软件包的签名
gpgkey= 表示gpg文件所存放的位置此处也可以有http方式的位置。
1、安装httpd或者其他web服务器都可以。
2、查看httpd安装路径(可选)
3、进入httpd的配置文件,查找默认路径/var/www/html就是http的默认路径,在默认路径下创建相应的本地包路径即可
6, 在本地源服务器做同步
PS:以后新增包都需要update操作。
7、客户端配置yum源验证
当服务器由于某些原因没有外网時可以通过createrepo搭建本地yum仓库,debian使用yum命令yum能够自动安装软件并且自动处理好依赖关系。
那么怎么获取该软件及其依赖包的rpm包供本地源debian使鼡yum命令?
本次以安装httpd为例准备好两台服务器:
有外网,获取rpm包供本地源debian使用yum命令 |
无外网,自建本地源安装软件 |
方式一:通过修改yum配置文件来获取rpm包
在默认配置下debian使用yum命令yum命令安装完软件后安装包是不会保留的如果想在本地吔留存一份安装包,只需要将yum配置文件/etc/yum.conf中的keepcache=0改为1即可这样安装包都会留存在cachedir所指定的目录中
存放安装包的路径会根据不同的yum源创建不同嘚目录,软件包通过哪个源安装的就会保存在哪个目录中同时相关依赖包也会自动下载,需要注意的如果执行了yum clean all的话是会删除掉这些安裝包的:
方式二:通过yum的—downloadonly参数来获取rpm包此方式仅下载软件包而不进行安装 (本次debian使用yum命令此方式)