linux的安装命令选项太多,整理一下,方便后期查找.
汇总:
install: rpm -ivh 包全名 安装
upgrade: rpm -Uvh 包全名 升级
erase: rpm -e 包名 删除
search rpm:
rpm -q 包名 查询软件包是否安装
rpm -qa 查询所有已经安装的rpm包
rpm -qi 包名 查询已安装的rpm信息
rpm -qip 包名 查询未安装的rpm信息
rpm -ql 包名 查看rpm的安装位置
rpm -qlp 包名 查看rpm的预设安装位置
rpm -qf 系统文件名 eg: rpm -qf /usr/share/locale/de/LC_MESSAGES/lrzsz.mo 查看文件输入哪个rpm包
rpm校验
rpm -V 已安装的包名
rpm包中的文件提取----处理一些系统文件丢失时,可以用到
rpm2cpio 包全名 | cpio -idv .文件绝对路径 eg: rpm2cpio /mnt/cdrom/Packages/coreutils-5.97-23.el5.rpm | cpio -idv ./bin/ls
yum--rpm的在线安装方法!!!
其他参考博客:
RPM 命令大全
Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理
----------------------------------------------------以下是详细信息----------------------------------------------------
RedHatCentOS中
linux软件包主要分为两类
- 源码包
脚本安装包---所谓的脚本安装包就是封装安装源码包和二进制包的安装过程.
- 二进制包(RPM包 系统默认包)
rpm包所在位置:rpm包一般在系统光盘的Packages目录中.
命名规则:httpd-2.2.15-15.e16.centos.1.i686.rpm--------包全名-----------操作的包是没有安装的软件包时,使用包全名,注意路径!!! eg:install upgrade
--httpd软件包名---------------------------------------------------包名--------------操作已经安装的软件包时,适用包名,(搜索的/var/lib/rpm/中的数据库) eg:erase search
--2.2.15 software version
--15软件发布的次数
--e16.centos适用linux平台
--i686适用的硬件平台
--rpm-rpm包扩展名
rpm包依赖性:
- 树形依赖:a-->b-->c 解决方法:先install c,再install b,最后install a.
- 环形依赖:a-->b-->c-->a 解决方法:同时install a/b/c
- 模块依赖(库文件依赖):查询Url:http://www.rpmfind.net/ 解决方法:先install 含有依赖文件(.so)的rpm包,再安装目标rpm包.
rpm安装:
rpm -ivh 包全名 一般先install主包,再install附加包
option:
-i install安装
-v verbose显示详细信息
-h hash显示进度
--nodeps不检测依赖性---------------没事别强制安装,就算安装上软件也不可用.
注意:显示2个100%才时真正安装成功!!! 第一个只是准备成功而已.
rpm升级:
rpm -Uvh 包全名
options:
-U upgrade 升级
如果安装包比当前版本高,则执行升级操作.否则不会安装.如果当前并没有没有安装,等同于安装命令.
rpm卸载:
rpm -e 包名
options:
-e erase 卸载
--nodeps不检测依赖性
eg: rpm -e httpd
卸载时,需要先下载依赖它的其他包.
rpm查询:
- 查询软件包是否安装
rpm -q 包名
#查询包是否安装
-q 查询(query)
[[email protected] ~]# rpm -q gedit gedit-2.16.0-9.el5 [[email protected] ~]#
rpm -qa
#查询所有已经安装的rpm包
-a 所有 all
- 查询软件包详细信息
rpm -qi 包名
options:
-i 查询软件信息 information
-p 查询未安装包信息 package
[[email protected] ~]# rpm -qi gedit Name : gedit Relocations: (not relocatable) Version : 2.16.0 Vendor: Red Hat, Inc. Release : 9.el5 Build Date: 2008年01月09日 星期三 23时13分50秒 Install Date: 2014年06月24日 星期二 18时45分10秒 Build Host: hs20-bc2-4.build.redhat.com Group : Applications/Editors Source RPM: gedit-2.16.0-9.el5.src.rpm Size : 17719102 License: GPL Signature : DSA/SHA1, 2008年01月10日 星期四 20时04分02秒, Key ID 5326810137017186 Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> URL : http://gedit.sourceforge.net/ Summary : gEdit is a small but powerful text editor for GNOME Description : gEdit 是一个小型的文本编辑器。它是特为 GNOME GUI 桌面而设计的。gEdit 包括一个插件 API(支持可扩展性, 同时又保持核心二进制程序的小巧),支持使用笔记本标 签来编辑多重文档,以及标准的文本编辑器功能。 您需要安装 GNOME 和 GTK+ 来使用 gEdit。 [[email protected] ~]#
1 [[email protected] software]# rpm -qip httpd-2.2.3-91.el5.centos.x86_64.rpm 2 warning: httpd-2.2.3-91.el5.centos.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 3 Name : httpd Relocations: (not relocatable) 4 Version : 2.2.3 Vendor: CentOS 5 Release : 91.el5.centos Build Date: 2014年09月16日 星期二 23时09分48秒 6 Install Date: (not installed) Build Host: builder17.centos.org 7 Group : System Environment/Daemons Source RPM: httpd-2.2.3-91.el5.centos.src.rpm 8 Size : 3325176 License: Apache Software License 9 Signature : DSA/SHA1, 2014年09月19日 星期五 19时48分33秒, Key ID a8a447dce8562897 10 URL : http://httpd.apache.org/ 11 Summary : Apache HTTP 服务器 12 Description : 13 The Apache HTTP Server is a powerful, efficient, and extensible 14 web server. 15 [[email protected] software]#
- 查询包中文件安装位置
rpm -ql 包名
options:
-l 列表 list
-p 查询未安装包将要安装在哪里信息 package
1 [[email protected] software]# rpm -qlp httpd-2.2.3-91.el5.centos.x86_64.rpm 2 warning: httpd-2.2.3-91.el5.centos.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 3 /etc/httpd 4 /etc/httpd/conf 5 /etc/httpd/conf.d 6 /etc/httpd/conf.d/README 7 /etc/httpd/conf.d/proxy_ajp.conf 8 /etc/httpd/conf.d/welcome.conf 9 /etc/httpd/conf/httpd.conf 10 /etc/httpd/conf/magic 11 /etc/httpd/logs 12 /etc/httpd/modules 13 /etc/httpd/run
rpm默认安装位置--------------并非硬性标准,仅仅是习惯安装位置,个别软件是有不遵守此标准的.
/etc/ 配置文件安装目录
/usr/bin/ 可执行命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man 帮助文件保存位置
- 查询系统文件属于哪个rpm包
rpm -qf 系统文件名(必须是通过rpm安装出来的文件才可以进行反向查询)
options:
-f 查询系统文件属于哪个软件包 file
1 [[email protected] var]# rpm -ql lrzsz 2 /usr/bin/rb 3 /usr/bin/rx 4 /usr/bin/rz 5 /usr/bin/sb 6 /usr/bin/sx 7 /usr/bin/sz 8 /usr/share/locale/de/LC_MESSAGES/lrzsz.mo 9 /usr/share/man/man1/rz.1.gz 10 /usr/share/man/man1/sz.1.gz 11 [[email protected] var]# rpm -qf /usr/share/locale/de/LC_MESSAGES/lrzsz.mo 12 lrzsz-0.12.20-22.1 13 [[email protected] var]#
- 查询软件包依赖性
rpm -qR 包名
options:
-R 查询软件包的依赖性 requires
-p 查询未安装包的信息 package
1 [[email protected] var]# rpm -qR lrzsz 2 libc.so.6 3 libc.so.6(GLIBC_2.0) 4 libc.so.6(GLIBC_2.1) 5 libc.so.6(GLIBC_2.3) 6 libc.so.6(GLIBC_2.3.4) 7 libc.so.6(GLIBC_2.4) 8 libnsl.so.1 9 rpmlib(CompressedFileNames) <= 3.0.4-1 10 rpmlib(PartialHardlinkSets) <= 4.0.4-1 11 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 12 rtld(GNU_HASH) 13 [[email protected] var]# rpm -qRp /root/software/httpd-2.2.3-91.el5.centos.x86_64.rpm 14 warning: /root/software/httpd-2.2.3-91.el5.centos.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 15 /bin/bash 16 /bin/mktemp 17 /bin/mv 18 /bin/rm 19 /bin/sh 20 /bin/sh 21 /bin/sh 22 /bin/sh 23 /bin/sh 24 /etc/mime.types 25 /sbin/chkconfig 26 /usr/bin/find
rpm包校验:
rpm -V 已安装的包名
options:
-V 校验指定rpm包中的文件 verify 没有任何输出,则代表OK;如果显示出信息,则代表文件被动了手脚--文件被修改.
rpm包中的文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径
rpm2cpio 将rpm包转换为cpio格式的命令
cpio 是一个标准工具,用于创建软件档案和从档案文件中提取文件
cpio 选项 < [文件|设备]
options:
-i copy-in模式,还原
-d 还原时自动新建目录
-v 显示还原过程
1 [[email protected] ~]# rpm -qf /bin/ls 2 coreutils-5.97-23.el5 3 [[email protected] ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-5.97-23.el5.rpm | cpio -idv ./bin/ls 4 [[email protected] ~]# cp /root/bin/ls /bin/