澳门威斯尼人平台登录删除命令,基础教程

    对于Linux而言管理各类软件,如安装、卸载和升级等是常有的事情和必备的技能。以CentOS为例,常用的安装包命令有rpmyum

在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法。

CentOS系统之rpm包管理

一、概述

RPM是RPM Package Manager(RPM软件包管理器)的缩写,现在包括Open Linux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,基于这种标准打包而成的软件包,为软件的使用提供了方便。

二、rpm包组成

(注:程序名使用APP代替)

程序包的组成格式:包括二进制程序、库文件、配置文件、帮助文件

程序包安装文件放置目录:

  1. 二进制程序:/bin, /sbin; /usr/bin, /usr/sbin; /usr/local/bin, /usr/local/sbin; 或者自定义目录 下:/usr/local/APP/bin,/usr/local/APP/sbin

  2. 库文件(开发库、运行库):针对64位系统的库文件放在/lib64; /usr/lib64; /usr/local/lib64; 或着自定义 目录/usr/local/APP/lib64

  3. 帮助文件man:/usr/share/man, /usr/local/share/man, 或者自定义目录/usr/local/APP/man

另外,程序包的帮助文件主要有:man、info、doc

注:有些特殊的应用程序不允许用户在自己的在命令行中直接执行,除非使用绝对路径。这些程序放置于libexec( 位于/usr/; /usr/local/;或者自定义目录/usr/local/App/ 下)目录下。另外,有些第三方应用默认安装于/opt 目录**

三、RPM程序包管理器

RPM程序包管理器的功能是将编译好的程序打包成一个文件或有限的几个文件,可用于实现安装、卸载、升级、查询、校验、数据库管理等功能。主要包含两部分:数据库和程序组成清单。

  1. 数据库内容:

程序名及版本

依赖关系

功能性说明

安装生成的各文件路径及校验码

  1. 程序组成清单:

文件清单

安装卸载时运行的脚本,包括安装前脚本、安装后脚步、卸载前脚本、卸载后脚本

四、rpm包使用。包括安装、卸载、升级、查询、校验记及包来源合法性及完整性检验

1.包命名、分包机制认识以及如何获取rpm包

(1)包命名格式

源码命名:程序名-版本号:name-version.tar.{gz,bz2,xz}

version:major.minor.release 主版本号.次版本号.修整号

例如:bash-4.2.3.tar.gz

rpm包命名:程序名-版本号-包修正号.硬件平台:name-version-relase.arch.rpm

version:和源码格式相同

release: 包修正号。rpm自身的发行号,与程序源码的发行号无关,仅用于标识对rpm包不同制 作的修订

arch: 适用于的硬件平台

x86: i386, i486, i586, i686等

x86_64: x86_64

powerpc: ppc

noarch: 依赖于虚拟机(解释器)

例如:bash-4.2.3-3.centos5.x86_64.rpm

(2)分包机制

一个程序有一定数量的功能。这些功能被打包成核心包(主包)和多个子包。

核心包(主包):命名与源程序一致

例如:bash-4.2.3-3.centos7.x86_64.rpm

子包:在名称后加上功能名命名

例如 :

具有a功能的包命名: bash-a-4.2.3-3.centos7.x86_64.rpm

和二次开发相关的功能命名:bash-devel-4.2.3-3.centos7.x86_64.rpm

(3)获取rpm包的途径

  1. 发行的光盘或站点服务器

例如:

  1. 项目的官网

获取源代码、rpm包

  1. 很多第三方机构或个人制作并公开发布许多rpm包

  1. 可靠的途径

EPEL

Fedora-EPEL

2.rpm包管理器的常见使用场景

(注;软件包名称使用 package_name代替)

(1)安装程序包

命令:rpm [option] /.../.../package_file (选项后跟软件包的路径)

命令选项:

-i:安装

-v:显示安装过程

-vv:显示详细安装过程

-vvv:显示更详细安装过程

-h: 使用#号显示安装进度

--test: 仅作测试,不执行安装

例如:rpm -ivh --test /media/cdrom/Packages/zsh-4.3.10-7.el6.x86_64.rpm

--nodeps: 忽略依赖关系

注:能安装上,但有可能无法运行

--replacepkgs 重新安装

注:如果原有配置文件作了修改,很有可能不执行替换,而是将应该安装生成的配置文件重

命名为 .rpmnew

(2)卸载软件包

命令: rpm [option] package_name (选项后直接跟包名)

命令选项:

-e:erase 卸载

--nodeps: 忽略依赖关系卸载

注:1. 能卸载,但依赖于此包程序包可能会运行不正常;

2.如果包的配置文件安装后被改动过,卸载时此文件将不会卸载,而是被重命名并保留 卸载时可能会有提示。例如:

[[email protected] ~]# rpm -e zsh

warning: /etc/zprofile saved as /etc/zprofile.rpmsave

(3)升级软件包

命令:rpm [option]/.../.../package_file(选项后跟软件包的路径)

命令选项:

-Uvh: 升级或安装

-Fvh:只升级

--force:强制升级

注:1.由于依赖关系可能会带来升级后的版本冲突等,导致依赖于此包的其他包不能正常运行

2.不应该对内核执行升级操作,而是安装系统允许多内核并存

(4)软件包相关查询

1.查询软件包是否已经安装

命令:rpm -q package_name...

2.查询所有已经安装的包

命令:rpm -qa

另外,可按条件过滤查询指定的已安装的包,例如,查询已安装的内核:rpm -qa | grep '^kernel*'

3.查询已安装包的描述信息

命令:rpm -qi package_name

4.查询某包安装生成了哪些文件

命令:rpm -ql package_name

更详细的:

(1)查询某已安装包安装生成了那些配置文件

命令:rpm -qc package_name

(2)查询某已安装包安装生成了哪些文档(帮助文件)

命令:rpm -qd package_name

(3)查询程序包的相关脚本

命令:rpm -q --scripts package_name

(4)查询某文件是由哪个包安装生成的

命令:rpm -qf /path/to/some_file

对尚未安装的包执行查询:

命令:rpm [option] /path/to/package_file

命令选项:

-qpi:查询某为安装包的描述信息

-qpl:查询某未安装包安装会生成那些文件

-qpc:查询某未安装包安装会生成那些配置文件

-qpd:查询某为安装包安装会生成那些文档

(5)校验

用于检查包安装生成的文件属性是否发生变化:

命令:rpm -V package_name

例如:

[[email protected] ~]# rpm -V zsh

S.5....T. c /etc/zprofile

各表示符代表意义:

S :文件大小改变

M: 权限和文件类型改变

5 :MD5校验码改变

D :设备文件的主设备号、次设备号改变

L :readLink路径改变

U: 属主改变

G: 属组改变

T :修改时间改变

P:功能改变

.号:表示安装文件属性没有改变

(6)rpm包来源合法性及完整性检验

以发行光盘rpm包检验为例:

1.在当前系统上导入包的制作者的公钥

命令:rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-6

显示所有已经导入的gpg格式的公钥:

命令:rpm -qa gpg-pubkey*

显示密钥的详细信息:

命令:rpm -qi/media/cdrom/RPM-GPG-KEY-CentOS-6

注:公钥导入后,包来原型及合法性检验会在软件包安装时执行。

2.手动检查

例如,检查程序包zsh:

[[email protected] ~]# rpm -K /media/cdrom/Packages/zsh-4.3.10-7.el6.x86_64.rpm

/media/cdrom/Packages/zsh-4.3.10-7.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

不检查包完整性:

[[email protected] ~]# rpm -K --nodigest /media/cdrom/Packages/zsh-4.3.10-7.el6.x86_64.rpm

/media/cdrom/Packages/zsh-4.3.10-7.el6.x86_64.rpm: rsa (md5) pgp OK

不检查来源合法性:

[[email protected] ~]# rpm -K --nosignature /media/cdrom/Packages/zsh-4.3.10-7.el6.x86_64.rpm

/media/cdrom/Packages/zsh-4.3.10-7.el6.x86_64.rpm: sha1 md5 OK

(7)数据库重建

如过数据库损坏,则需要进行数据库重建。

注:数据库目录所在位置 /etc/var/lib/rpm

重建方式:

1.初始化,如果事先没有库,会新建一个;如果有,则不新建:

命令:rpm --initdb

2.直接重建,覆盖原有的数据库

命令:rpm --rebuilddb

一、概述 RPM是RPM Package Manager(RPM软件包管理器)的缩写,现在包括Open Linux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有...

RPM基础

    RPM(RedHat Package Manager)是一个系统软件包,功能类似于Windows中的添加/删除程序,但又比添加/删除程序功能更强。在Linux界广泛使用的依然为各类开源软件,也就是代码是开放的,这些代码通常会被打包为.tar.gz形式在互联网上进行传播,而这些开源软件被下载后仍然需要编译成二进制后才可以使用。这种试虽然兼容性好,但使用起来却不方便,存在一定的依赖关系,而文件较大时,编译出错的概率也非常大,对于日常使用人员也很麻烦。
    使用RPM可以很容易地对RPM形式的软件进行安装、升级、卸载、检验和查询等操作。RPM可以让用户直接以binary方式安装软件包且可代替用户查询是否已经安装了相关的库文件。在用RPM删除程序时,管理器会提示用户是否要删除相关程序。如果使用RPM进行升级,RPM会保留得得配置。另外RPM还保留了一个包含所有软件包资料的数据库,通过该数据库可以查询各个已经安装的软件包等等。

  1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:

RPM使用

  rpm -qpi Linux-1.4-6.i368.rpm
  系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

RPM安装路径

    Linux的目录是有统一规范的,这个规范的作用是保证任何一个软件都能找到另一款软件、文件。

  • 可以运行的文件存放在/bin或/usr/bin目录中
  • 库文件存放在/lib或/usr/lib目录中
  • 配置文件存放在/etc目录

    一般,RPM类型的文件在安装的时候,会先去读取文件内记载的设置参数内容,然后将该数据用于比较Linux环境,从而找出是否有属性依赖的软件还没有安装的问题。使用RPM方式安装的软件,在完成安装后,会将该软件的相关信息写入到/var/lib/rpm目录下的数据库文件中。该数据库非常重要,如果软件升级必须依赖它,如版本比对就是从这个数据库中读取数据的。

  2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:
  rpm -qpl Linux-1.4-6.i368.rpm

RPM组成部分

    RPM包含RPM数据库RPM软件包文件RPM命令三部分。

  • RPM数据库

    Linux系统中保留了当前安装软件的数据库,路径位于/var/lib/rpm,可使用file命令查看目录内容。
澳门威斯尼人平台登录 1

/var/lib/rpm目录中的文件全部都是数据库文件且为二进制。
  • RPM软件包文件

    RPM软件包与tar归档文件类似:tar文件含有要安装到系统上的文件,软件包除了tar中的信息还包含一个RPM包头,该包头提供了有关软件包的信息,如名称、安装大小及其内容的简短描述等。另软件包还包含了属性依赖信息,即为了使文件可被安装和使用,必须安装的其他软件包、可执行文件和库文件等。在Linux安装光盘中,软件包文件通常位于Packages目录中。软件包文件的名称通常由下列几条信息构成:

名称-版本-发行号.体系结构.rpm

    以CentOS 7中MySQL为例
澳门威斯尼人平台登录 2

名称:mysql-community-common
版本:5.7.20
发行号:1
体系结构:el7.x86_64。el7代表CentOS 7.x系统,x86_64是指该软件是针对哪种CPU架构开发的。
  • RPM命令

    RPM命令是用来管理数据库的工具,如下所示:

命令选项 作用
-i 安装软件包
-U,-F 软件包升级
-e 删除软件包
-q 查询安装包
-a 查询的所有安装包
-v 显示安装的详细过程
-h 显示安装进度
--checksig 校验签名以确保其完整性和源发性
更多RPM命令解释可以使用man rpm进行查看

  3.选择安装方式后,开始安装。我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:
  rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm

RPM安装

RPM包安装格式如下:

rpm -i rpm包的全路径及文件名
rpm -ivh rpm包的全路径及文件名

其中各参数解释如下:

  • -i:代表安装
  • -v:代表verbose,在安装过程中显示详细的信息
  • -h:代表hash,在安装过程中将显示#表示安装进度
对于较大的RPM包,在安装时需要使用-ivh,可以方便查看在安装过程中的相应信息和进度。在安装过程出现warning时并不影响软件包的安装,出现error则无法继续安装,需要排错。

示例1:本地安装VSFTPD
澳门威斯尼人平台登录 3

    在上面我们使用的是本地安装,如果RPM软件包不在本地时,如何安装?RPM其实也支持在线安装。
示例2:在线安装VSFTPD
澳门威斯尼人平台登录 4

可与rpm -i结合使用的参数如下所示:

命令选项 作用
-h,--hash 安装输出#代表安装进度
-v,--verbose 1个-v选项打印软件包名称,多个-v选项提供更多详细信息的输出
--nodeps 即使不符合安装前提条件,仍进行安装
--replace-files 安装时已有的文件会被新文件覆盖替换
--force 即使已经安装了软件包,也要进行安装
--test 不执行任何操作,只打印输出
--noscripts 不执行与RPM安装有关的任何脚本
--prefix 指定安装rpm包安装路径

  4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可。

RPM卸载

    一旦安装了软件包,软件包文件则无关紧要了,该软件包现在就是本地计算机上面的一条数据库记录。因此,不再使用软件包文件名称,如vsftpd-3.0.2-22.el7.x86_64.rpm,而仅仅使用软件包名称,如vsftpd-3.0.2-22.el7.x86_64来指该软件包,使用

rpm -e packagename

进行删除软件包,其中-e代表earse。

说明1:packagename:可以包含版本等信息,但不能包含后缀名.rpm
说明2:rpm -e vsftpd-3.0.2-22.el7.x86_64(正确)
      rpm -e vsftpd-3.0.2-22.el7.x86_64.rpm(错误)

澳门威斯尼人平台登录 5

  5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁?
  6.另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:

RPM升级

    使用RPM升级软件包非常方便简单,主要参数是-U,当然也可以直接写-Uvh或-Fvh,两者区别如下:

-Uvh:如果软件包没有安装,则直接安装,如果要安装的软件包是新的版本,则软件会进行自动更新为新的版本。
-Fvh:如果软件包没有安装,则不会安装,也即只能对已经安装的软件包进行升级

澳门威斯尼人平台登录 6

  rpm -i ftp://ftp.pht.com/pub/linux/redhat/...-1.4-6.i368.rpm

RPM查询

    RPM软件包查询中与rpm -q package-name结合使用的一些选项和作用如下所示:

命令选项 作用
-a 查询所有已安装的软件包
-f filename 拥有文件filename的软件包
-p packagefilename 直接查询软件包文件packagefilename
-i 软件包信息包头
-l 列出软件包所拥有的文件
--requires 安装包的先决条件
--provides 显示安装包提供的内容
--scripts 显示软件包的安装脚本
-last 按时间排序显示系统上安装的RPM包

1、查看已经安装的RPM包信息和安装的文件
澳门威斯尼人平台登录 7
2、查看RPM安装包的依赖项、提供的内容及最近安装包
澳门威斯尼人平台登录 8
本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
澳门威斯尼人平台登录 9

  7.在我们使用电脑过程中,难免会有误操作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的功能,执行此命令:rpm -Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。

  8.Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:

  rpm -qf <文件名>

  9.当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:

  rpm -参数 <文件名>

在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。

RPM 安装操作

命令:

rpm -i 需要安装的包文件名

举例如下:

rpm -i example.rpm 安装 example.rpm 包;

rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;

rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;

RPM 查询操作

命令:

rpm -q …

附加查询命令:

a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;

i 显示安装包的信息;

l 显示安装包中的所有文件被安装到哪些目录下;

s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件;

p 查询的是安装包的信息;

f 查询的是已安装的某文件信息;

举例如下:

rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;

rpm -qip example.rpm 查看 example.rpm 安装包的信息;

rpm -qif /bin/df 查看/bin/df 文件所在安装包的信息;

rpm -qlf /bin/df 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下;

RPM 卸载操作

命令:

rpm -e 需要卸载的安装包

在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。

举例如下:

rpm -e tomcat4 卸载 tomcat4 软件包

RPM 升级操作

命令:

rpm -U 需要升级的包

举例如下:

rpm -Uvh example.rpm 升级 example.rpm 软件包

RPM 验证操作

命令:

rpm -V 需要验证的包

举例如下:

rpm -Vf /etc/tomcat4/tomcat4.conf

输出信息类似如下:

S.5....T c /etc/tomcat4/tomcat4.conf

其中,S 表示文件大小修改过,T 表示文件日期修改过。限于篇幅,更多的验证信息请您参考rpm 帮助文件:man rpm

RPM 的其他附加命令

--force 强制操作 如强制安装删除等;
--requires 显示该包的依赖关系;
--nodeps 忽略依赖关系并继续操作

...

本文由澳门威斯尼人平台登录发布于 操作系统,转载请注明出处:澳门威斯尼人平台登录删除命令,基础教程

相关阅读