第一回合 —— 定义
rmp
RPM(redhat package manager)是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
yum
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
第二回合——常用方法
rpm
rpm –i software.rpm(安装);
rpm -e software.rpm(卸载);
rpm –U software.rpm(升级形式安装);
rpm –ivh software.rpm
-v 显示详细信息;-h显示进度条
rpm –qa 列出全部已经安装的.rpm软件
rpm –qa |grep openssh 列出有关openssh的rpm软件
rpm -ivh *.rpm –nodeps 忽略依赖安装rpm包(常用于安装)
rmp包格式 说明
出处
RPM包的一般格式为:
name-version-arch.rpm
name-version-arch.src.rpm
例:
httpd-2.2.3-29.el5.i386.rpm
httpd-devel-2.2.3-29.el5.i386.rpm
httpd-manual-2.2.3-29.el5.i386.rpm
system-config-httpd-1.3.3.3-1.el5.noarch.rpm
(1)name,如:httpd,是软件的名称
(2)version,如:2.2.3 ,是软件的版本号。版本号的格式通常为“主版本号.次版本号.修正号”
29,是发布版本号,表示这个RPM包是第几次编译生成的
(3)arch,如:i386,表示包的适用的硬件平台,目前RPM支持的平台有:i386、i586、i686、sparc、alpha
(4).rpm或.src.rpm,是RPM包类型的后缀,.rpm是编译好的二进制包,可用rpm命令直接安装;.src.rpm表示是源代码包,需要安装源码包生成源码,并对源码编译生成.rpm格式的RPM包,就可以对这个RPM包进行安装了
特殊名称:
1、el* 表示这个软件包的发行商版本,el5表示这个软件包是在RHEL 5.x/CentOS 5.x下使用。
2、devel:表示这个RPM包是软件的开发包
3、noarch:说明这样的软件包可以在任何平台上安装,不需要特定的硬件平台。在任何硬件平台上都可以运行。
4、manual 手册文档
了解了RPM包的命名规则,看到一个RPM包就能知道它适用的环境了
yum
yum仓库
yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。
仓库的配置文件/etc/yum.repos.d目录下 (之后我会写一篇如何搭建yum仓库,参考中科大某学长的博客)
简单使用
yum install 安装
yum restall 重新安装
yum remove卸载
yum update openssh 升级openssh
yum search ssh 搜素ssh
yum repolist all 列出所有仓库
yum list all 列出仓库中所有的包
yum info openssh 查看软件包信息
yum clean all 清楚所有仓库缓存
yum check-update 检查可更新的软件包
yum grouplist 查看系统中套件 比如“web server”、“桌面环境”
yum groupinstall 安装套件
yum groupremove 移除套件
yum groupinfo 查询条件信息
缓存利用
1.使用 yum 缓存
默认情况下,当前版本的 yum 在成功下载和安装软件包后,会把下载的文件删掉。这样可以减少 yum 占用的磁盘空间。你可以打开缓存,这样 yum 将在缓存目录保留下载到的文件。
缓存带来很多好处:
yum 的性能可以提高
你可以离线运行 yum 操作,只使用缓存
你可以复制缓存中的软件包以备用
默认情况下,yum 在 /var/cache/yum/ 目录保存临时文件,每个仓库都有自己的子目录。仓库目录中 packages/ 子目录包含了缓存的软件包。例如,目录 /var/cache/yum/development/packages/ 包含从 development 仓库下载的软件包。
2. 启用 yum 缓存
要配置 yum 保留已下载的文件而不是删除,设置 /etc/yum.conf 中的 keepcache 选项为 1:
keepcache=1
打开缓存后,每个 yum 操作都可能从仓库下载软件包数据。要保证缓存包含了软件包数据,在启用缓存后运行一个操作,例如 list 或 search 来下载软件包数据而不影响系统。
3.在只使用缓存的模式下使用 yum
要在没有网络的情况下执行 yum,只要启用了缓存,就可以用 -C 选项。这样 yum 就不会检查网络上的仓库,只使用缓存。在这个模式中,yum 只能安装已下载并缓存的软件包。
要在没有网络连接的时候搜索软件包 tsclient,输入命令:
su -c ‘yum -C list tsclient’
4. 缓存带来的好处
如果你有多台机子 只须要一台机子从网上下载 软件包跟软件更新包 , 还有如果你想重装系统不想再下载的几个G的更新跟软件(前提缓存了你系统所有安装的软件的更新包).
在开启 缓存的状态下因为 yum 下载的软件包不会被删除,所以可以多次利用.(就是占硬盘空间而以, 呵呵几个G我不放在眼里,我硬盘有 1.2TB)
很简单的方法,把这台机子的 /var/cache/yum/ 目录下的所有文件包过目录. 复制到另一台机子下的相同目录. 执行.
yum -C update
yum -C install <软件包名>
缓存利用2
开发保留缓存以后执行
yum install –downloadonly openssh 只下载不安装
ls /var/cache/yum 查看缓存包,然后将其打包拷贝到另外一台机器上面。
yum -C install openssh 安装缓存包