Linux RPM、TAR包管理
一.RPM软件包命令的使用
RPM主要有5种基本操作模式:安装、卸载、刷新、升级及查询。下面分别介绍。
1.安装软件包
命令语法:
rpm -ivh [RPM包文件名称]
命令中各参数的含义如下:
-i:表示安装软件包。
-v:表示在安装过程中显示详细的信息。
-h:表示显示水平进度。
例1:安装 sqldeveloper-4.0.1.14.48-1.noarch.rpm软件包。
[root@redhat2 ~]# rpm -ivh sqldeveloper-4.0.1.14.48-1.noarch.rpm
Preparing... (100########################################### [100%]
1:sqldeveloper ( 1########################################### [100%]
[root@redhat2 ~]#
如果某软件包的同一版本已经安装,系统会显示如下信息。
[root@redhat2 ~]# 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”选项忽略错误。
[root@redhat2 ~]# rpm -ivh --replacepkgs sqldeveloper-4.0.1.14.48-1.noarch.rpm
Preparing... (100########################################### [100%]
1:sqldeveloper ( 1########################################### [100%]
[root@redhat2 ~]#
2.卸载软件包
命令语法:
rpm -e [RPM包名称]
命令中参数的含义如下。
-e:表示卸载软件包。
[root@redhat2 ~]# rpm -e sqldeveloper
[root@redhat2 ~]#
注意:在卸载软件包时使用软件包名称sqldeveloper,而不是软件包名称sqldeveloper-4.0.1.14.48-1.noarch.rpm
在卸载软件包时也会遇到依赖关系错误。当另一个已安装的软件包依赖于用户试图删除软件包时,依赖关系错误就会发生。
要使RPM忽略这个错误并强制删除该软件包,可以使用“--nodeps”选项,但是依赖于它的软件包可能无法正常运行。
3.查询软件包
使用"rpm -q" 命令可以查询软件包安装的相关信息。
(1).查询指定软件包的详细信息。
命令语法:
Rpm -q [RPM包名称]
例1:查sqldeveloper软件包是否安装
[root@redhat2 ~]# rpm -q sqldeveloper
sqldeveloper-4.0.1.14.48-1.noarch
[root@redhat2 ~]#
//说明已经安装
(2)查询系统中所有已安装的RPM软件包
命令语法:
Rpm -qa
例1:查询系统内所有已安装的yun软件包。
[root@redhat2 ~]# 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 软件包的描述信息。
[root@redhat2 ~]# 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.
[root@redhat2 ~]#
(4).查询某已安装软件包所含的文件列表
命令语法:
Rpm -ql [软件包名称]
(5).查询软件包的依赖要求。
命令语法:
Rpm -qR [RPM包名称]
例:查询软件包的依赖关系。
[root@redhat2 ~]# 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
[root@redhat2 ~]#
(6).查询系统中指定文件属于哪个软件包。
命令语法:
Rpm -qf [文件名]
例:查询/usr/local/bin/sqldeveloper文件属于那个软件包。
[root@redhat2 ~]# rpm -qf /usr/local/bin/sqldeveloper
sqldeveloper-4.0.1.14.48-1.noarch
[root@redhat2 ~]#
//当指定文件时,必须指定文件的完整路径(如/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包使用和管理
命令语法:
[root@redhat2 ~]# 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。
[root@redhat2 ~]# 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
[root@redhat2 ~]#
[root@redhat2 ~]# 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
[root@redhat2 ~]#
//可以看到 root.bak.tar就是打包后生成的文件。
例2:查看root.bak.tar备份文件的内容,并显示在显示器上。
[root@redhat2 ~]# 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:将打包文件解压出来。
[root@redhat2 ~]# 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
[root@redhat2 ~]#
例4:将文件/root/a添加到root.bak.tar包里面去。
[root@redhat2 ~]# tar rvf root.bak.tar a
a
[root@redhat2 ~]# 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
[root@redhat2 ~]#
三.tar包的特殊使用
tar 可以在打包或解包的同时调用其他的压缩程序,比如调用gzip,bzip等。
1.tar调用gzip
gzip是GNU组织开发的一个压缩程序,以.gz结尾的文件就是gzip压缩的结果。与gzip相对应的解压程序是gunzip,tar中使用参数“z”来调用gzip,下面举例说明。
例1:把/root/abc目录包括其子目录全部做备份文件,并进行压缩,文件名为abc.tar.gz。
[root@redhat2 ~]# tar zcvf abc.tar.gz /root/a
tar: Removing leading `/' from member names
/root/a
[root@redhat2 ~]#
例2:查看压缩文件abc.tar.gz的内容,并显示在显示器上。
[root@redhat2 ~]# tar ztvf abc.tar.gz
-r--r--r-- root/newuser 6 2015-01-21 06:49 root/a
[root@redhat2 ~]#
//可以看到该压缩文件由一个目录和该目录下的3个文件压缩而成。
例3:将压缩文件abc.tar.gz解压出来。
[root@redhat2 ~]# tar zxvf abc.tar.gz
root/a
[root@redhat2 ~]#
2.tar调用bzip2
bzip2是一个压缩能力更强的压缩程序,以.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对应的解压程序是bunzip2。tar中使用参数“j”来调用gzip,下面举例说明。
例1:将目录/root/a及该目录所有文件压缩成abc.tar.bz2文件。
[root@redhat2 ~]# tar cjf abc.tar.bz2 /root/a
tar: Removing leading `/' from member names
[root@redhat2 ~]# 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
[root@redhat2 ~]#
例2:查看压缩文件abc.tar.bz2的内容,并显示在显示器上。
[root@redhat2 ~]# tar tjf abc.tar.bz2
root/a
[root@redhat2 ~]
Linux RPM、TAR包管理的更多相关文章
- linux RPM/YUM包管理
linux RPM/YUM包管理 目录 linux RPM/YUM包管理 RPM RPM包管理 查询rpm包 卸载rpm包 安装rpm包 YUM 查看yum服务器是否有需要安装的软件 下载安装指定的y ...
- Linux下程序包管理工具RPM
实验环境: CentOS release 6.6 (Final) 一台 IP地址:172.16.249.230 RPM 是 Red Hat Package Manager 的缩写,本意是Red Ha ...
- Linux之centos包管理【rpm】、【yum】、【tar】
rpm包是二进制格式,无需编译安装便可使用,tar包是源码格式,需要编译安装才可使用 rpm包管理: rpm:redhat package manager,红帽的包管理器,其主要的操作参数有如下: - ...
- rpm 程序包管理介绍
API:application program interface ABI:application binary interface linux系统的ABI文件是ELF格式的 windows系统的AB ...
- 把玩Alpine linux(二):APK包管理器
导读 Alpine Linux非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置 Alpine Linux的优劣 优势 Alpine Linux的Docker镜像特点 ...
- Arch Linux 独特的包管理器相关名词解释及用法对照
https://wiki.archlinux.org/index.php/PacmanPacman包管理器是Arch Linux的主要特色之一.它结合了简单的二进制包格式和易于使用的构建系统.pacm ...
- 在linux中使用包管理器安装node.js
网上文章中,在linux下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法. 1. 在U ...
- linux RPM(红帽软件包管理器)和Yum软件仓库中常见的命令
RPM(红帽软件包管理器)常用命令 安装软件:rpm -ivh filename.rpm 升级软件:rpm -Uvh filename.rpm 卸载软件:rpm -e filename.rpm 查询软 ...
- linux 学习笔记 TAR包管理
>显示gong.tar 文件内容 #tar tf gong.tar ./epuinfo.txt ./smart/ ./smart/smartsuite-2.1-2.i386.rpm ./smar ...
随机推荐
- QML Image: Cannot open: qrc:///new.pic.png
初次遇到这个问题真有点摸不着头脑,于是乎百度一下咯,但是百度一向没有什么用,该有的没有,没用的回答倒是有特么一大堆. 自己解决: 我的解决方法很简答: 第一步:把图片放到当前路径下,也就是和.pro一 ...
- JS 对象
对象,在Java当中用的最多的,但是js也有这个概念. 有了对象,处好了就可以结婚了(请容我慢慢道来别不信,处好了当然可以结婚) 来来,我们先创建一个对象, 创建对象的方法有各种各样的,你找对象的地方 ...
- equals与==的区别
equals与==的区别. 下面是equals的源码 public boolean equals(Object anObject) { if (this == anObject) { //如果两个对象 ...
- cookie的详细解释
突然看到网页上中英文切换的效果,不明白怎么弄得查了查 查到了cookie 并且附有详细解释 就copy留作 以后温习 http://blog.csdn.net/xidor/article/detail ...
- Ext.Net 学习随笔 002 默认按钮
在FormPanel中按回车按键,会触发默认按钮的click事件.设置方法为在FormPanel中设置DefaultButton属性,如果没有设置这个属性,默认为最后一个按钮. 1.缺省最后一个按钮为 ...
- IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic、 @synthesize、@property、@dynamic
IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic. @synth ...
- NIO NIO.2
An NIO.2 primer, Part 1: The asynchronous channel APIs http://blog.arganzheng.me/posts/java-network- ...
- iOS NSTimer使用详解 开启、关闭、移除
定时器定时器详解ios定时器关闭定时器NSTimer 一,要使用一个定时器首先要定义一个定时器: @property (strong, nonatomic) NSTimer *myTimer;//定时 ...
- 原创跑酷小游戏《Cube Duck Run》 - - 方块鸭快跑
自从unity5出来才开始关注unity,业余时间尝试做了个小游戏: <方块鸭快跑> (Cube Duck Run) 像素风,3d视角,色彩明快,有无尽和关卡两种模式. 应用连接: goo ...
- Storm进阶
并行度 在Storm集群中真正运行Topology的主要有三个实体:worker.executor.task,下图是可以表示他们之间的关系. 数据流模型 对于一个Spout或Bolt,都会有多个tas ...