Linux RPM、TAR包管理

一.RPM软件包命令的使用

RPM主要有5种基本操作模式:安装、卸载、刷新、升级及查询。下面分别介绍。

1.安装软件包

命令语法:

rpm -ivh [RPM包文件名称]

命令中各参数的含义如下:

-i:表示安装软件包。

-v:表示在安装过程中显示详细的信息。

-h:表示显示水平进度。

例1:安装 sqldeveloper-4.0.1.14.48-1.noarch.rpm软件包。

[[email protected] ~]# rpm -ivh sqldeveloper-4.0.1.14.48-1.noarch.rpm

Preparing...                                                            (100########################################### [100%]

1:sqldeveloper                                                       (  1########################################### [100%]

[[email protected] ~]#

如果某软件包的同一版本已经安装,系统会显示如下信息。

[[email protected] ~]# rpm -ivh sqldeveloper-4.0.1.14.48-1.noarch.rpm

Preparing...                                                            (100########################################### [100%]

package sqldeveloper-4.0.1.14.48-1.noarch is already installed

例2:在软件包  sqldeveloper-4.0.1.14.48-1.noarch.rpm 已安装的情况下仍旧安装该软件包。

如果在软件包已安装的情况下仍打算安装同一本版本的软件包,可以使用“--replacepkgs”选项忽略错误。

[[email protected] ~]# rpm -ivh --replacepkgs sqldeveloper-4.0.1.14.48-1.noarch.rpm

Preparing...                                                            (100########################################### [100%]

1:sqldeveloper                                                       (  1########################################### [100%]

[[email protected] ~]#

2.卸载软件包

命令语法:

rpm -e [RPM包名称]

命令中参数的含义如下。

-e:表示卸载软件包。

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

[[email protected] ~]#

注意:在卸载软件包时使用软件包名称sqldeveloper,而不是软件包名称sqldeveloper-4.0.1.14.48-1.noarch.rpm

在卸载软件包时也会遇到依赖关系错误。当另一个已安装的软件包依赖于用户试图删除软件包时,依赖关系错误就会发生。

要使RPM忽略这个错误并强制删除该软件包,可以使用“--nodeps”选项,但是依赖于它的软件包可能无法正常运行。

3.查询软件包

使用"rpm -q" 命令可以查询软件包安装的相关信息。

(1).查询指定软件包的详细信息。

命令语法:

Rpm -q [RPM包名称]

例1:查sqldeveloper软件包是否安装

[[email protected] ~]# rpm -q sqldeveloper

sqldeveloper-4.0.1.14.48-1.noarch

[[email protected] ~]#

//说明已经安装

(2)查询系统中所有已安装的RPM软件包

命令语法:

Rpm -qa

例1:查询系统内所有已安装的yun软件包。

[[email protected] ~]# rpm -qa yum*

yum-plugin-security-1.1.30-14.el6.noarch

yum-plugin-aliases-1.1.30-14.el6.noarch

yum-rhn-plugin-0.9.1-40.el6.noarch

yum-metadata-parser-1.1.2-16.el6.x86_64

yum-plugin-changelog-1.1.30-14.el6.noarch

yum-plugin-verify-1.1.30-14.el6.noarch

yum-3.2.29-30.el6.noarch

yum-plugin-downloadonly-1.1.30-14.el6.noarch

yum-plugin-versionlock-1.1.30-14.el6.noarch

yum-utils-1.1.30-14.el6.noarch

yum-presto-0.6.2-1.el6.noarch

yum-plugin-tmprepo-1.1.30-14

(3)查询指定已安装软件包的描述信息

命令语法:

Rpm -qi [RPM包名称]

例:查询sqldeveloper 软件包的描述信息。

[[email protected] ~]# rpm -qi sqldeveloper

Name        : sqldeveloper                 Relocations: (not relocatable)

Version     : 4.0.1.14.48                       Vendor: (none)

Release     : 1                             Build Date: Tue 18 Feb 2014 03:15:58 PM PST

Install Date: Wed 21 Jan 2015 05:56:15 AM PST      Build Host: slc04qag.us.oracle.com

Group       : Developer                     Source RPM: sqldeveloper-4.0.1.14.48-1.src.rpm

Size        : 299716358                        License: Oracle

Signature   : (none)

Summary     : Oracle SQL Developer

Description :

Oracle SQL Developer is a new, free graphical tool that enhances productivity and simplifies database development tasks. With SQL Developer, you can browse database objects, run SQL statements and SQL scripts, and edit and debug PL/SQL statements. You can also run any number of provided reports, as well as create and save your own.

[[email protected] ~]#

(4).查询某已安装软件包所含的文件列表

命令语法:

Rpm -ql [软件包名称]

(5).查询软件包的依赖要求。

命令语法:

Rpm -qR [RPM包名称]

例:查询软件包的依赖关系。

[[email protected] ~]# rpm -qR sqldeveloper

/bin/sh

rpmlib(CompressedFileNames) <= 3.0.4-1

rpmlib(FileDigests) <= 4.6.0-1

rpmlib(PayloadFilesHavePrefix) <= 4.0-1

rpmlib(PayloadIsXz) <= 5.2-1

[[email protected] ~]#

(6).查询系统中指定文件属于哪个软件包。

命令语法:

Rpm -qf [文件名]

例:查询/usr/local/bin/sqldeveloper文件属于那个软件包。

[[email protected] ~]# rpm -qf /usr/local/bin/sqldeveloper

sqldeveloper-4.0.1.14.48-1.noarch

[[email protected] ~]#

//当指定文件时,必须指定文件的完整路径(如/usr/local/bin/sqldeveloper)

二.tar包管理

使用tar命令可以将文件和目录进行打包或压缩以做备份用。

在Windows系统下最常见的压缩文件是zip和rar,Linux系统就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外Windows系统下的.zip和.rar也可以在Linux下使用。

Linux系统下最常用的打包程序是tar,使用tar程序打出来的包称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其他的程序来进行压缩了。

1.tar包使用和管理

命令语法:

[[email protected] ~]# tar --help

Usage: tar [OPTION...] [FILE]...

GNU `tar‘ saves many files together into a single tape or disk archive, and can

restore individual files from the archive.

Examples:

tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.

tar -tvf archive.tar         # List all files in archive.tar verbosely.

tar -xf archive.tar          # Extract all files from archive.tar.

Main operation mode:

-A, --catenate, --concatenate   append tar files to an archive

-c, --create               create a new archive

-d, --diff, --compare      find differences between archive and file system

--delete               delete from the archive (not on mag tapes!)

-r, --append               append files to the end of an archive

------------------------------------

------------------------------------

------------------------------------

例1:备份/root目录下的全部文件,备份文件名为root.bak.tar。

[[email protected] ~]# tar cvf root.bak.tar /root/*

tar: Removing leading `/‘ from member names

/root/a

/root/anaconda-ks.cfg

/root/b/

/root/b/ccc

/root/Desktop/

/root/Desktop/gnome-terminal.desktop

/root/Documents/

/root/Downloads/

/root/install.log

/root/install.log.syslog

/root/Music/

/root/Pictures/

/root/Public/

/root/sqldeveloper-4.0.1.14.48-1.noarch.rpm

/root/Templates/

/root/Videos/

/root/yang

[[email protected] ~]#

[[email protected] ~]# ls

a                install.log         sqldeveloper-4.0.1.14.48-1.noarch.rpm

anaconda-ks.cfg  install.log.syslog  Templates

b                Music               Videos

Desktop          Pictures            yang

Documents        Public

Downloads        root.bak.tar

[[email protected] ~]#

//可以看到 root.bak.tar就是打包后生成的文件。

例2:查看root.bak.tar备份文件的内容,并显示在显示器上。

[[email protected] ~]# tar tvf root.bak.tar

-r--r--r-- root/newuser      0 2015-01-19 05:19 root/a

-rw------- root/root      2623 2014-06-02 14:28 root/anaconda-ks.cfg

drwxr-xr-x newuser/newuser   0 2015-01-20 05:52 root/b/

-rw-r--r-- newuser/newuser   0 2015-01-20 05:52 root/b/ccc

drwxr-xr-x root/root         0 2014-06-03 17:39 root/Desktop/

-rwxr-xr-x root/root      6333 2014-06-03 17:39 root/Desktop/gnome-terminal.desktop

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Documents/

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Downloads/

-rw-r--r-- root/root     40730 2014-06-02 14:27 root/install.log

-rw-r--r-- root/root      9272 2014-06-02 14:19 root/install.log.syslog

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Music/

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Pictures/

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Public/

-rw-r--r-- root/root 230725684 2014-04-02 20:18 root/sqldeveloper-4.0.1.14.48-1.noarch.rpm

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Templates/

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Videos/

-rw-r--r-- root/root        28 2014-12-15 05:12 root/yang

//可以看到该打包文件由root目录下的所有文件打包而成。

例3:将打包文件解压出来。

[[email protected] ~]# tar xvf root.bak.tar

root/a

root/anaconda-ks.cfg

root/b/

root/b/ccc

root/Desktop/

root/Desktop/gnome-terminal.desktop

root/Documents/

root/Downloads/

root/install.log

root/install.log.syslog

root/Music/

root/Pictures/

root/Public/

root/sqldeveloper-4.0.1.14.48-1.noarch.rpm

root/Templates/

root/Videos/

root/yang

[[email protected] ~]#

例4:将文件/root/a添加到root.bak.tar包里面去。

[[email protected] ~]# tar rvf root.bak.tar a

a

[[email protected] ~]# tar tvf root.bak.tar

-r--r--r-- root/newuser      0 2015-01-19 05:19 root/a

-rw------- root/root      2623 2014-06-02 14:28 root/anaconda-ks.cfg

drwxr-xr-x newuser/newuser   0 2015-01-20 05:52 root/b/

-rw-r--r-- newuser/newuser   0 2015-01-20 05:52 root/b/ccc

drwxr-xr-x root/root         0 2014-06-03 17:39 root/Desktop/

-rwxr-xr-x root/root      6333 2014-06-03 17:39 root/Desktop/gnome-terminal.desktop

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Documents/

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Downloads/

-rw-r--r-- root/root     40730 2014-06-02 14:27 root/install.log

-rw-r--r-- root/root      9272 2014-06-02 14:19 root/install.log.syslog

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Music/

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Pictures/

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Public/

-rw-r--r-- root/root 230725684 2014-04-02 20:18 root/sqldeveloper-4.0.1.14.48-1.noarch.rpm

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Templates/

drwxr-xr-x root/root         0 2014-06-02 06:42 root/Videos/

-rw-r--r-- root/root        28 2014-12-15 05:12 root/yang

-r--r--r-- root/newuser      6 2015-01-21 06:49 a

[[email protected] ~]#

三.tar包的特殊使用

tar   可以在打包或解包的同时调用其他的压缩程序,比如调用gzip,bzip等。

1.tar调用gzip

gzip是GNU组织开发的一个压缩程序,以.gz结尾的文件就是gzip压缩的结果。与gzip相对应的解压程序是gunzip,tar中使用参数“z”来调用gzip,下面举例说明。

例1:把/root/abc目录包括其子目录全部做备份文件,并进行压缩,文件名为abc.tar.gz。

[[email protected] ~]# tar zcvf abc.tar.gz /root/a

tar: Removing leading `/‘ from member names

/root/a

[[email protected] ~]#

例2:查看压缩文件abc.tar.gz的内容,并显示在显示器上。

[[email protected] ~]# tar ztvf abc.tar.gz

-r--r--r-- root/newuser      6 2015-01-21 06:49 root/a

[[email protected] ~]#

//可以看到该压缩文件由一个目录和该目录下的3个文件压缩而成。

例3:将压缩文件abc.tar.gz解压出来。

[[email protected] ~]# tar zxvf abc.tar.gz

root/a

[[email protected] ~]#

2.tar调用bzip2

bzip2是一个压缩能力更强的压缩程序,以.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对应的解压程序是bunzip2。tar中使用参数“j”来调用gzip,下面举例说明。

例1:将目录/root/a及该目录所有文件压缩成abc.tar.bz2文件。

[[email protected] ~]# tar cjf abc.tar.bz2 /root/a

tar: Removing leading `/‘ from member names

[[email protected] ~]# ls

a                Downloads           root

abc.tar.bz2      install.log         root.bak.tar

anaconda-ks.cfg  install.log.syslog  sqldeveloper-4.0.1.14.48-1.noarch.rpm

b                Music               Templates

Desktop          Pictures            Videos

Documents        Public              yang

[[email protected] ~]#

例2:查看压缩文件abc.tar.bz2的内容,并显示在显示器上。

[[email protected] ~]# tar tjf abc.tar.bz2

root/a

[[email protected] ~]

时间: 2024-10-17 03:09:00

Linux RPM、TAR包管理的相关文章

linux rpm程序包管理器

在linux中的应用程序结构形式分为三种:1)源代码形式2)二进制形式3)程序包形式其中源代码是最权威的,二进制形式经过了一系列的编译.汇编.连接等等其他操作得到可以执行的程序及其他相关的文件,而程序包形式则是二进制形式进一步进行操作,使之可以自动安装程序包中的所有文件,当然在卸载的时候,也可以一并删除:一般来说,我们对于程序包形式的程序的操作比较常用.比较方便. 有了程序包之后,我们就需要程序包管理器来管理程序包,借此来方便终端用户的安装.卸载.升级.安装信息查询及校验等工作: 我们在这只说R

Linux学习笔记:rpm程序包管理

以CentOS为例,rpm程序包管理器的相关内容如下: CentOS的程序包管理器:    程序包的命名规则:        源代码包:            software_name-VERSION.tar.gz            VERSION:major.minor.release                major:主版本号,通常代表重大功能改进的版本分支:                minor:次版本号,通常代表在某个版本的分支中的某个功能发生变化:          

linux程序包管理之rpm程序包管理器与yum前端工具

这里主要讲以CentOS为例,rpm程序包管理器的相关内容: CentOS的程序包管理器:   1) 程序包的命名规则:        源代码包:            software_name-VERSION.tar.gz            VERSION:major.minor.release                major:主版本号,通常代表重大功能改进的版本分支:                minor:次版本号,通常代表在某个版本的分支中的某个功能发生变化:     

linux自学笔记——rpm程序包管理

RPM是Redhat PackageManager(RPM程序包管理器)的缩写,这一文件格式名称虽然打上了Redhat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.Suse以及Turbo Linux的分发版本也都有采用.RPM程序包管理器可分为安装.升级.卸载.查询.校验等五种功能,以下我们将会对这五种功能的相应的用法一一说明. RPM程序包: 源代码:name-VERSION.tar.gz    源代码由RPM自动编译安装: VERSION: major.minor.rel

linux之程序包管理器(rpm)

linux下的程序包可支持多种工具编写的,如C.C++.PERL等. 但是这种高级语言编写出来的代码是我们人能看懂的,但是计算机是看不懂的,那么计算机怎么执行,怎么了解人要它做什么呢? 这就需要我们做一些转换了,把人能读懂的语言让机器也能识别,这个过程就是由编译器完成的,通常是吧代码语言转换成二进制语言. 过程:预处理.编译.汇编.链接 一个程序的运行大部分时间是离不开库的. 什么是库呢?库也是一种程序,只不过与其他程序不同,库没有执行入口,不能独立运行,只能被其他独立运行的程序调用的时候才能执

Linux的程序包管理器(上)——rpm详解

在使用Linux操作系统的过程中,我们需要的一些服务(例如Nginx)并没有提供,需要用户自行安装相应的程序包,才能使用相应的服务.本文以CentOS6.6为例,分三小节为读者朋友们尽可能详细的讲解rpm.yum以及程序包的编译安装三种程序包的管理方法. rpm rpm包管理工具是Red Hat公司贡献的一款rpm程序包管理器,在RHEL.CentOS.Fedora.SUSE等主流发行版本中,被广泛使用. rpm包管理工具可用于安装,升级,卸载,重新安装程序:也可以用于查询当前系统上安装了哪些程

linux的程序包管理-rpm

我们知道,程序就是指令加上数据的集合或者称为算法加上数据结构的集合.应用程序以源代码和二进制的形式存在:源代码是包含了整个应用程序的编程语言的所有代码的文本文件:二进制则是将源代码经过一系列的转换操作之后得到的可以直接执行的文件.    使用源代码安装应用程序的步骤为:预处理(预处理器) --> 编译(编译器) --> 字节码 --> 汇编(汇编器) --> 链接(链接器) --> 可以直接执行的二进制程序文件.当我们使用源代码安装应用程序时,不同操作系统的相同操作安装出来的

Linux系统管理-(8)-RPM程序包管理器

Centos下RPM程序包管理器:     安装:     rpm {-i|--install} [install-options] PACKAGE_FILE ...            -v: 显示过程            -vv:  显示更详细的过程            -h: 以#显示程序包管理执行进度:每个#表示2%的进度          其他选项: --test 测试安装 --nodeps:忽略依赖关系:                    --replacepkgs: 重新

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.可以安装.删除.升级和管理软件:当然也支持在线安装和升级软件: