rpm与yum实现程序包的管理

rpm命令

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

语法:

rpm(选项)(参数)

选项:

-a:查询所有套件;

-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;

-c:只列出组态配置文件,本参数需配合"-l"参数使用;

-d:只列出文本文件,本参数需配合"-l"参数使用;

-e<套件档>或--erase<套件档>:删除指定的套件;

-f<文件>+:查询拥有指定文件的套件;

-h或--hash:套件安装时列出标记;

-i:显示套件的相关信息;

-i<套件档>或--install<套件档>:安装指定的套件档;

-l:显示套件的文件列表;

-p<套件档>+:查询指定的RPM套件档;

-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;

-R:显示套件的关联性信息;

-s:显示文件状态,本参数需配合"-l"参数使用;

-U<套件档>或--upgrade<套件档>:升级指定的套件档;

-v:显示指令执行过程;

-vv:详细显示指令执行过程,便于排错。

RPM安装软件包

RPM软件包的下载地址有:

http://rpmfind.net

http://rpm.pbone.net

http://pkgs.org

[[email protected] tmp]# rpm -ivh python-2.7.5-16.el7.x86_64.rpm


rpm 安装时常用的选项与参数说明


可下达的选项


代表意义


--nodeps


使用时机:当发生软件属性相依问题而无法安装,但你执意安装时            
危险性: 软件会有相依性的原因是因为彼此会使用到对方的机制或功能,如果强制安装而不考虑软件的属性相依, 则可能会造成该软件的无法正常使用!


--replacefiles


使用时机: 如果在安装的过程当中出现了『某个文件已经被安装在你的系统上面』的资讯,又或许出现版本不合的信息 (confilcting files) 时,可以使用这个参数来直接覆盖文件。            
危险性: 覆盖的动作是无法复原的!所以,你必须要很清楚的知道被覆盖的文件是真的可以被覆盖喔!否则会欲哭无泪!


--replacepkgs


使用时机: 重新安装某个已经安装过的软件!如果你要安装一堆 RPM 软件文件时,可以使用 rpm -ivh *.rpm ,但若某些软件已经安装过了, 此时系统会出现『某软件已安装』的资讯,导致无法继续安装。此时可使用这个选项来重复安装喔!


--force


使用时机:这个参数其实就是 --replacefiles 与 --replacepkgs 的综合体!


--test


使用时机: 想要测试一下该软件是否可以被安装到使用者的 Linux 环境当中,可找出是否有属性相依的问题。范例为:            
rpm -ivh pkgname.i386.rpm --test


--justdb


使用时机: 由於 RPM 数据库破损或者是某些缘故产生错误时,可使用这个选项来升级软件在数据库内的相关资讯。


--nosignature


使用时机: 想要略过数码签章的检查时,可以使用这个选项。


--prefix 新路径


使用时机: 要将软件安装到其他非正规目录时。举例来说,你想要将某软件安装到 /usr/local 而非正规的 /bin, /etc 等目录, 就可以使用『 --prefix /usr/local 』来处理了。


--noscripts


使用时机:不想让该软件在安装过程中自行运行某些系统命令。            
说明: RPM 的优点除了可以将文件放置到定位之外,还可以自动运行一些前置作业的命令,例如数据库的初始化。 如果你不想要让 RPM 帮你自动运行这一类型的命令,就加上他吧!


RPM 升级


-Uvh


后面接的软件即使没有安装过,则系统将予以直接安装; 若后面接的软件有安装过旧版,则系统自动升级至新版;


-Fvh


如果后面接的软件并未安装到你的 Linux 系统上,则该软件不会被安装;亦即只有已安装至你 Linux 系统内的软件会被『升级』!

--oldpackage:降级

RPM 查询

[[email protected] tmp]# rpm -qa | grep python


RPM 卸载

[[email protected] tmp]# rpm --nodeps -e python

============================================================

yum命令

软件包管理

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

语法:

yum [options] COMMAND

参数:

check 检查 RPM 数据库问题

check-update 检查是否有可用的软件包更新

clean 删除缓存数据

deplist 列出软件包的依赖关系

distribution-synchronization 已同步软件包到最新可用版本

downgrade 降级软件包

erase 从系统中移除一个或多个软件包

fs Creates filesystem snapshots, or lists/deletes current snapshots.

fssnapshot Creates filesystem snapshots, or lists/deletes current snapshots.

groups 显示或使用、组信息

help 显示用法提示

history 显示或使用事务历史

info 显示关于软件包或组的详细信息

install 向系统中安装一个或多个软件包

langavailable Check available languages

langinfo List languages information

langinstall Install appropriate language packs for a language

langlist List installed languages

langremove Remove installed language packs for a language

list 列出一个或一组软件包

load-transaction 从文件名中加载一个已存事务

makecache 创建元数据缓存

provides 查找提供指定内容的软件包

reinstall 覆盖安装软件包

repo-pkgs 将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包。

repolist 显示已配置的源

search 在软件包详细信息中搜索指定字符串

shell 运行交互式的 yum shell

swap Simple way to swap packages, instead of using shell

update 更新系统中的一个或多个软件包

update-minimal Works like upgrade, but goes to the ‘newest‘ package match which fixes a problem that affects your system

updateinfo Acts on repository update information

upgrade 更新软件包同时考虑软件包取代关系

version 显示机器和/或可用的源版本。

选项:

-h, --help 显示此帮助消息并退出

-t, --tolerant 忽略错误

-C, --cacheonly 完全从系统缓存运行,不升级缓存

-c [config file], --config=[config file] 配置文件路径

-R [minutes], --randomwait=[minutes] 命令最长等待时间

-d [debug level], --debuglevel=[debug level] 调试输出级别

--showduplicates 在 list/search 命令下,显示源里重复的条目

-e [error level], --errorlevel=[error level] 错误输出级别

--rpmverbosity=[debug level name] RPM 调试输出级别

-q, --quiet 静默执行

-v, --verbose 详尽的操作过程

-y, --assumeyes 回答全部问题为是

--assumeno 回答全部问题为否

--version 显示 Yum 版本然后退出

--installroot=[path] 设置安装根目录

--enablerepo=[repo] 启用一个或多个软件源(支持通配符)

--disablerepo=[repo] 禁用一个或多个软件源(支持通配符)

-x [package], --exclude=[package] 采用全名或通配符排除软件包

--disableexcludes=[repo] 禁止从主配置,从源或者从任何位置排除

--disableincludes=[repo] disable includepkgs for a repo or for everything

--obsoletes 更新时处理软件包取代关系

--noplugins 禁用 Yum 插件

--nogpgcheck 禁用 GPG 签名检查

--disableplugin=[plugin] 禁用指定名称的插件

--enableplugin=[plugin] 启用指定名称的插件

--skip-broken 忽略存在依赖关系问题的软件包

--color=COLOR 配置是否使用颜色

--releasever=RELEASEVER 在 yum 配置和 repo 文件里设置 $releasever 的值

--downloadonly 仅下载而不更新

--downloaddir=DLDIR 指定一个其他文件夹用于保存软件包

--setopt=SETOPTS 设置任意配置和源选项

--bugfix Include bugfix relevant packages, in updates

--security Include security relevant packages, in updates

--advisory=ADVS, --advisories=ADVS

Include packages needed to fix the given advisory, in

updates

--bzs=BZS Include packages needed to fix the given BZ, in

updates

--cves=CVES Include packages needed to fix the given CVE, in

updates

--sec-severity=SEVS, --secseverity=SEVS

Include security relevant packages matching the

severity, in updates

实例:

部分常用的命令包括:

自动搜索最快镜像插件:yum install yum-fastestmirror

安装yum图形窗口插件:yum install yumex

查看可能批量安装的列表:yum grouplist

安装指定的安装包

[[email protected] ~]# yum install mariadb\* -y

安装指定的程序组

[[email protected] ~]# yum groups install web\* -y

更新和升级

yum update #全部更新

yum update package1 #更新指定程序包package1

yum check-update #检查可更新的程序

yum upgrade package1 #升级指定程序包package1

yum groupupdate group1 #升级程序组group1

查找和显示

yum info package1 #显示安装包信息package1

yum list #显示所有已经安装和可以安装的程序包

yum list package1 #显示指定程序包安装情况package1

yum groupinfo group1 #显示程序组group1信息yum search string 根据关键字string查找安装包

删除程序

yum remove | erase package1 #删除程序包package1

yum groupremove group1 #删除程序组group1

yum deplist package1 #查看程序package1依赖情况

清除缓存

yum clean packages #清除缓存目录下的软件包

yum clean headers #清除缓存目录下的 headers

yum clean oldheaders #清除缓存目录下旧的 headers

yum源的配置

[[email protected] yum.repos.d]# cd /etc/yum.reops.d

[[email protected] yum.repos.d]# vim aa.repo

时间: 2024-10-14 11:12:16

rpm与yum实现程序包的管理的相关文章

总结rpm和yum实现程序包的管理功能

程序包的管理器,其功能有打包.后续的包管理(安装,升级,卸载,查询及校验)       deb:debian系列系统        rpm:功能的提升使得rpm包管理器成为linux主流的标准                程序包的组成四部分:            1.二进制程序:程序的源代码存放/bin, /sbin,/ /usr/bin, /usr/sbin, 2.库文件:某些         二进制程序可能会被多个程序包调用,将这些被多个调用的称               之为库文件存

rpm和yum实现程序包的管理功能

rpm 1.rmp包管理器作用 rpm包管理器,可以对程序包进行安装.升级.卸载.查询和校验(主要校验来源的合法性和完整性) 2.rpm包的命名机制(通常) name-VERSION-RELEASE-ARCH.rpm,如 3.获取rpm包的途径 1.发行版提供的程序包(光盘) 2.Fedora-EPEL组织 3.项目的官方站点 4.搜索引擎 rpmfind.net   pkgs.org等 4.常用命令选项 -i : install 安装 -v :显示详细过程 -h :用"#"显示安装过

CentOS程序包管理器rpm、yum以及程序包编译安装详解

一.程序包管理器RPM和Yum简介 程序包管理器:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,可以更方便地实现程序包的安装.升级.卸载和查询等管理操作. rpm软件包管理器(RPM Package Manager):rpm包存在依赖关系,依赖关系复杂,安装时间很长,虽然可以忽略依赖关系,但是可能会导致程序包安装后无法正常使用. yum程序包管理器( Yellow dog Updater, Modified):yum是基于RPM包管理,自动解决程序包间的依赖关系.根据配置文件的资源地

rpm和yum实现程序包管理功能

包管理器的功能:打包,包管理(安装,升级,卸载,查询及验证)   打包:将源码包中的各种组成文件放在一个单一的归档文件中   安装:相当于将打包文件中的各个文件放到对应的目录中去   卸载:将安装的文件收集起来,然后删除   升级:更新已经安装的包,新版本替换老版本   查询:查询程序包的信息   验证:验证包安装后生成的文件是否被改变        Linux常用的包管理器   dpkg:debian 下的包管理器   rpm:redhat package manager    RPM is

rpm和yum程序包的管理

rpm和yum程序包的管理 rpm简介: RPM,是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了. 程序包管理: 内核功能:进程管理.内存管理.网络协议栈.驱动程序.... 应用程序:由二进制程序.管理程序文件.配置文件.文档文件.帮助手册文件组成 程序包的组成部分: 二进

Linux系统程序包的管理功能相关命令rpm与yum的使用

一.软件包管理核心功能 1.软件包制作 2.包管理器:打包,安装.升级.卸载.查询及校验 3.工具:rpm .deb 4.程序包的组成部分: 二进制程序:/bin, /sbin,/ /usr/bin, /usr/sbin, 库文件:/lib64, /usr/lib64 配置文件:/etc 帮助文件:manual, info 5.rpm包管理 rpm:数据库  /var/lib/rpm rpmbuild:建立软件管理数据库 rpm包默认为二进制格式,有rpm包作者下载源码程序,编译完成后,制作成r

YUM前端程序包管理器

一.概述: 1.常见程序包前端管理器: yum:Yellow dog Updater, Modified简写,由Duke University团队,修改Yellow Dog Linux的Yellow Dog Updater开发而成,是一个基于 RPM 包管理的字符前端软件包管理器. apt:Advanced Packaging Tools简写,是Debian及其衍生发行版,基于dpkg包管理器的前端工具. 2.yum特点: 1).可自动解决程序安装或卸载时的依赖性关系问题: 2).可以同时配置多

程序包管理的前端工具yum、程序包管理器编译安装、sed命令

下面介绍的是程序包管理的前端工具yum.程序包管理器编译安装.sed命令. 一.Linux程序包管理:程序包管理的[前端工具] 1.yum软件包仓库简介 CentOS系的管理工具有yum和dnf.yum是一款发行版的Linux,其使用的默认程序包管理工具为rpm. URL是yum定位软件包仓库和仓库中程序文件的主要标识方式,表示如下: 例如:schema://[[email protected]]hostname/PATH/TO/DOCUMENT[paramers][methord] (例子中的

程序包前端管理工具yum,及仓库配置

        简单分析yum的用法. 1:yum 是什么? 英文全称为 yellow dog update modify. 直译过来肯定是不对的.大体的意思为程序包管理. 2:yum有什么用? yum 的用处可就大了. 是一种能帮助我们管理程序包的工具.正是因为这个工具,让我们安装,卸载程序包时,只要执行一个命令,就能搞掂.背后的复杂操作,如安装时的依赖关系,查询时文件的路径在哪里,卸载时文件的路径又在哪里,等等这些复杂繁琐的操作都经我们隐藏了. 就像上帝说,让人间有阳光,于是就有了阳光一样.