Linux下程序安装:rpm工具

在CentOS系统中linux下的程序管理主要会用到rpm,yum,与源码编译这几种手段,这篇文章主要对于rpm工具的使用做简要介绍。

软件安装到计算机上,能够正常运行并使用,是要进行一系列复杂的操作的,平常我们安装软件基本上不需要几个步骤,是因为软件厂商对软件进行了特殊的处理,能够让我们非常方便的使用,编译安装好的rpm包就是其中一种手段。由于rpm是通过预编译并打包成为rpm包的形式,再加以安装的一种方式,并且还能够进行数据库的记载,所以rpm有以下的优点:

1.rpm内含已经编译好的程序与设置文件等数据,可以让用户免除重新编译的困扰

2.rpm在被安装之前,会先检测系统的硬盘容量、操作系统版本等数据,以避免文件被错误安装

3.rpm文件本身提供软件版本信息、属性依赖信息、软件用途信息、软件所含文件等信息,便于了解软件;

4.rpm软件管理的方式使用数据库记录rpm文件的相关参数,便于升级、删除、查询、验证

rpm软件包的格式:我们可以使用rpm

例:VNC-Viewer-5.2.3-Linux-x64.rpm

例如上面的一个rpm包的名称:

VNC-Viewer:表示文件名

5.2.3:表示版本号,主版本号.次版本号.微小改动的次数

Linux-x64:适用的操作平台类型,Linux-x64代表适合64位Linux系统使用,此外还有                            i386,i586,i686,x86-64,noarch等各种表示

rpm命令的用法:rpm  [OPTIONS]  [PACKAGE_FILE]

安装:-i, --install

升级:-U, --update, -F, --freshen

卸载:-e, --erase

查询:-q, --query

校验:-V, --verify

数据库维护:--builddb, --initdb

1.安装:rpm -i  [安装选项] [软件包名称]:安装软件

安装选项:-v,显示更详细的安装信息

-h,以安装信息栏显示安装进度

--test:测试安装,检查并报告依赖关系及冲突消息等;

还有后面这几个,但是平常不建议使用:

--nodeps:忽略依赖关系;不建议;

--replacepkgs:重新安装

--nosignature:不检查包签名信息,不检查来源合法性;

--nodigest:不检查包完整性信息;

软件安装过程中的依赖关系:在我们使用rpm安装软件的过程中,很可能会出现,我们安装一个软件,却因为软件之间的依赖关系,需要安装多个文件,否则没办法安装的问题。这是因为只有这些依赖关系都存在的情况下,这个软件才能够正常使用,如果忽略了依赖关系,即使软件安装好,可能也无法正常使用。那么如何解决这个问题呢,留待下一篇文章。。。

2.升级:rpm [-U|--upgrade] [升级选项] PACKAGE_FILE ...

rpm [-F|--freshen] [升级选项] PACKAGE_FILE ...

-U:升级或安装;rpm  -Uvh PACKAGE_FILE ...

-F:升级,rpm  -Fvh PACKAGE_FILE ...

升级选项:--oldpackage:降级;

--force:强制升级;

3.卸载:rpm {-e|--erase}  [卸载选项] PACKAGE_NAME ...

卸载选项:--allmatches:卸载所有匹配指定名称的程序包的各版本;

--nodeps:忽略依赖关系

--test:测试卸载,dry run模式

卸载就是解除安装,注意:解安装的过程一定要由最上层往下解除,而且删除的过程中,一些具有依赖关系的软件也是没办法强制卸载的。

4.查询:

rpm {-q|--query} [select-options] [query-options]

-q:查询指定的程序包是否已经安装,及其版本;

-qa, --all:查询所有已经安装过的程序包;

-qf  FILE:查询指定的文件由哪个程序包安装生成;

-qp, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;

[query-options]

--changelog:查询rpm包的changlog;

-l, --list:程序安装生成的所有文件列表;

-i, --info:程序包相关的信息,版本号、大小、所属的包组,等;

-c, --configfiles:查询指定的程序包提供的配置文件;

-d, --docfiles:查询指定的程序包提供的文档;

--provides:列出指定的程序包提供的所有的CAPABILITY;

-R, --requires:查询指定的程序包的依赖关系;

--scripts:查看程序包自带的脚本片断;

注意:这些选项可以组合使用,例如:-qi  PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE,-qpi  PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE, ...

5.校验:验证(Verify)功能主要在于提供系统管理员一个有用的管理机制。其作用的方式是使用/var/lib/rpm下面的数据库内容来比较目前Linux系统下面的所有文件

rpm -Va:列出目前系统上所有可能被改动过的文件

rpm -V [已安装软件名称]:若该软件所含的文件被改动过,才会显示出来

rpm -Vp [某个rpm文件名称]:列出软件内可能被改动的文件

rpm -Vf [在系统上的某个文件]

对于列出的信息,你会发现文件名之前有个c,然后就是一堆奇怪的文字。c表示configuration,即设置文件的意思。至于最前面的8个信息:

S file Size differs:文件的容量大小是否被改变

M Mode differs (includes permissions and file type):文件的类型或属性是否被改变

5 digest (formerly MD5 sum) differs:MD5这一种指纹码的内容已经不同

D Device major/minor number mismatch:设备的主/次代码已经改变

L readLink(2) path mismatch:Link路径已经被改变

U User ownership differs:文件的所有者已经被改变

G Group ownership differs:文件的所属用户组已经被改变

T mTime differs:文件的创建时间已经被改变

经过验证,就可以知道哪个文件被改动过。所以当一个设置文件的所有信息都被改过之后,那么他的显示就会是:

SM5DLUGT c filename

数据库重建:由于rpm文件经常会安装/删除/卸载/升级等,某些操作可能会导致rpm数据库/var/lib/rpm内的文件损坏。那么就可以使用--rebuilddb这个参数来重建数据库。

rpm --rebuilddb:重建数据库

包来源合法性验正和完整性验正:

来源合法性验正:

完整性验正:

获取并导入信任的包制作者的密钥:

对于CentOS发行版来说:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

验证:(1) 安装此组织签名的程序时,会自动执行验正;

(2) 手动验正:rpm -K PACKAGE_FILE

时间: 2024-08-06 03:26:01

Linux下程序安装:rpm工具的相关文章

Linux下程序包管理工具RPM

实验环境: CentOS release 6.6 (Final)  一台 IP地址:172.16.249.230 RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:在CentOS .Redhat.Fedora .SuSE.YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用: 一.RPM程序包管理的用途: 1.可以安装.删除.升级和管理软件:当然也支持在线安装和升级软件:

linux下lrzsz安装过程,SecureCRT上传下载文件工具

linux下lrzsz安装过程,SecureCRT上传下载文件工具 1.从下面的地址下载 lrzsz-1.12.20.tar.gz http://down1.chinaunix.net/distfiles/lrzsz-0.12.20.tar.gz 2.查看里面的INSTALL文档了解安装参数说明和细节 3.解压文件 tar zxvf lrzsz-1.12.20.tar.gz 4.进入目录 cd lrzsz-1.12.20 5../configure --prefix=/usr/local/lrz

linux下oracle安装

本文主要介绍linux下oracle的安装,主要分为3部分:准本工作.安装oracle软件.用dbca工具创建数据库. 实验环境:rhel5.6+oracle_database_linux32.zip(10.2.0.1.0) 实验过程: 首先要确保linux系统内存大小在1G以上,另外/home与/目录也要足够大. 1.在安装oracle软件前,linux需要安装这些软件:binutils-2.17.50.0.6-5.el5.compat-db-4.2.52-5.1.control-center

Linux下编译安装qemu和libvirt

目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3 参考资料 KVM虚拟机(英语:Kernel-based Virtual Machine),是一种用于Linux内核中的虚拟化基础设施.KVM目前支援Intel VT及AMD-V的原生虚拟技术.KVM在2007年2月被导入Linux 2.6.20核心中.它也被引入FreeBSD.在Mac OS X中,

linux下程序包管理

我是一个老实人从来不说实话,我是一个好人从来不说真话,学习linux有段时间了,太高深的东西还不懂,就写一下最近学习的程序包管理吧. 大家都知道在我们学习linux主要是搞运维的,那么我们每天上班的时候就避免不了跟程序包打交道,你不信啊?反正我上班的时候领导总是在我不经意的抬头瞬间给我抛一个媚眼,我立马就领悟了领导的意思,有活要干了,最好不是服务器挂了老天保佑. 有时候我们需要在系统上安装某个软件或者服务(就是程序包),可能需要现在本地磁盘上查一下有没有这些程序包,有的话我们可以直接使用rpm

linux下MySQL安装登录及操作

linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-client-4.0.16-0.i386.rpm 下载地址为:http://www.mysql.com/downloads/mysql-4.0.html, 打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的

Linux 下软件安装

Linux 下软件安装 实验介绍 介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用. 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二进制软件包安装 从源代码编译安装 这几种安装方式各有优劣,而大多数软件包会采用多种方式发布软件,所以我们常常需要全部掌握这几种软件安装方式,以便适应各种环境.下面将介绍前三种安装方式,从源码编译安装你将在 Linux 程序设计中学习到. 二.在线安装 试想一下,平时我们在

Linux下nagio安装与配置

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios  Ain't Gonna Insist On Sainthood" Sainthood  翻译为

Linux下软件包安装详解

一.概述 现在Linux上软件的安装方式有多种,有源码包编译,软件包管理器,软件包管理器前端工具,通用二进制编译等.源码包,优点是,灵活性和可定制性比较好,缺点是,技术要求高,操作复杂,虽然网上有编译安装软件的文档,也有很多人在使用,也都是默认或者简单配置后编译的.后来出了软件包管理工具RPM,RPM软件包管理软件方便多了但是它的依赖关系让人头疼,所以又推出出了YUM解决了让人头疼的依赖关系.在这里我给大家介绍一下几种常用Linux软件安装方式. 二.软件包的组成 一个软件包安装之后包含多种类型