当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪linux下删除或卸载已安装的rpm包的方法      工作中有时你想删除或卸载已安装好的软件。但可能只知道这个软件安装好后的文件名是什么,此时可以先用which或其find找到你想删除的文件。 [root@localhost rpm]# which httpd  ---查删除的文件 /us.........
    ▪rpm 安装 删除 查询 软件包      安装软件包 rpm  -i 包全名 删除  rpm -e name(不是包名) 参数 -ivh 获得一个详细的安装进程  --nodeps 忽略依赖关系 --force 强制安装 -U 包名:升级安装 -F 更新不管是什么直接覆盖 --repl.........
    ▪linux中软件包管理命令 rpm 用法      rpm 常用命令   1.安装一个包 rpm -ivh 2.升级一个包 rpm -Uvh 3.移走一个包 rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,.........

[1]linux下删除或卸载已安装的rpm包的方法
    来源: 互联网  发布时间: 2013-12-24

工作中有时你想删除或卸载已安装好的软件。但可能只知道这个软件安装好后的文件名是什么,此时可以先用which或其find找到你想删除的文件。

[root@localhost rpm]# which httpd  ---查删除的文件
/usr/sbin/httpd

[root@localhost rpm]# rpm -q -f /usr/sbin/httpd  --根据文件查出所对应的rpm包名
httpd-2.2.3-31.el5.centos

[root@localhost rpm]# rpm -e httpd-2.2.3-31.el5.centos  --执行删除
error: Failed dependencies: --会报错,这说明会有依赖关系存在
        httpd-mmn = 20051115 is needed by (installed) php-5.1.6-23.2.el5_3.i386
        httpd-mmn = 20051115 is needed by (installed) mod_python-3.2.8-3.1.i386
        httpd-mmn = 20051115 is needed by (installed) mod_ssl-2.2.3-31.el5.centos.i386
        httpd-mmn = 20051115 is needed by (installed) mod_perl-2.0.4-6.el5.i386
        webserver is needed by (installed) webalizer-2.01_10-30.1.i386
        httpd is needed by (installed) piranha-0.8.4-13.el5.i386
        httpd >= 2.0.40 is needed by (installed) mod_python-3.2.8-3.1.i386
        httpd = 0:2.2.3-31.el5.centos is needed by (installed) mod_ssl-2.2.3-31.el5.centos.i386
        httpd = 2.2.3-31.el5.centos is needed by (installed) httpd-manual-2.2.3-31.el5.centos.i386
        httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-6.el5.i386
        httpd is needed by (installed) system-config-httpd-1.3.3.3-1.el5.noarch

[root@localhost rpm]# rpm -e --allmatches httpd-2.2.3-31.el5.centos
error: Failed dependencies:
        httpd-mmn = 20051115 is needed by (installed) php-5.1.6-23.2.el5_3.i386
        httpd-mmn = 20051115 is needed by (installed) mod_python-3.2.8-3.1.i386
        httpd-mmn = 20051115 is needed by (installed) mod_ssl-2.2.3-31.el5.centos.i386
        httpd-mmn = 20051115 is needed by (installed) mod_perl-2.0.4-6.el5.i386
        webserver is needed by (installed) webalizer-2.01_10-30.1.i386
        httpd is needed by (installed) piranha-0.8.4-13.el5.i386
        httpd >= 2.0.40 is needed by (installed) mod_python-3.2.8-3.1.i386
        httpd = 0:2.2.3-31.el5.centos is needed by (installed) mod_ssl-2.2.3-31.el5.centos.i386
        httpd = 2.2.3-31.el5.centos is needed by (installed) httpd-manual-2.2.3-31.el5.centos.i386
        httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-6.el5.i386
        httpd is needed by (installed) system-config-httpd-1.3.3.3-1.el5.noarch

-----加上删除一些选项,--allmatches是把与这个rpm包所有相匹配的rpm包全部删除掉;--nodeps是在删除时不进行依赖性的读取
[root@localhost rpm]# rpm -e --allmatches --nodeps httpd-2.2.3-31.el5.centos
[root@localhost rpm]# which httpd  ---再次查询,已经安装的rpm包已经没有了


    
[2]rpm 安装 删除 查询 软件包
    来源: 互联网  发布时间: 2013-12-24

安装软件包
rpm  -i 包全名
删除 
rpm -e name(不是包名)

参数

-ivh 获得一个详细的安装进程 
--nodeps 忽略依赖关系
--force 强制安装
-U 包名:升级安装
-F 更新不管是什么直接覆盖
--replacepkgs这样 RPM 将忽略该错误信息 -vih --replacepkgs
-q name :查询
-qa查询所有已安装的RPM
-qi name 查询这个软件详细信息
-ql 显示列表
-qf path  :查询一个文件属于哪个包
-qp 包名 :查文件是什么
-qpl 包名 :针对一个没装过的包

rpm -qc 配置文件

效验 rpm  -Va 
rpm  -Vf /bin/ls
rpm  -Vp 包名

5 -- MD5 校验和 
S -- 文件长度 
L -- 符号链接 
T -- 文件修改日期 
D -- 设备 
U -- 用户 
G -- 用户组 
M -- 模式 (包含许可和文件类型) 
? -- 不可读文件

附:
使用 RPM
RPM  有五个基本的操作 模式(不包括包的编译): 安装,卸载,升级,查询,校验。本节将对它们一一介绍。要了解完整的细节和选项,可以使用 rpm -- help, 或转到 the section called 其它 RPM 资源 得到更多关于 RPM 的信息。 

1 安装
典型的 RPM 有着类似 foo-1.0-1.i386.rpm这样的名称, 其中指明了包名 (foo), 版本号 (1.0), 发行号 (1), 和硬件平台 (i386)。安装一个软件包只需简单的键入以下命令: 
# rpm -ivh foo-1.0-1.i386.rpm
foo    ####################################
#
    
正如您所看到的, RPM 将会打印出软件包的名字 ( 并不一定要与文件名相同, 可能是 1.rpm), 而后打印出一连串的 # 号以表示安装进度。 

请注意 
尽管通常是使用 rpm -ivh foo-1.0-1.i386.rpm 来安装包, 但也可以用 rpm -Uvh foo-1.0- 1.i386.rpm 来替代。 -U 是包升级参数, 也可以用来安装新包。参看 升级 有关RPM 中 -U 参数的详细使用情况。

软件包的安装设计非常简单, 但还是有可能发生以下错误: 
软件包已被安装
如果软件包已被安装, 会出现以下信息: 
# rpm -ivh foo-1.0-1.i386.rpm
foo                    package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
如果仍要安装该包, 可以在命令行中使用 --replacepkgs 选项, 这样 RPM 将忽略该错误信息: 

# rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
foo    ####################################
#
  
文件冲突
如果要安装的软件包中有一个文件已在安装其它包时被安装,会显示以下信息: 

# rpm -ivh foo-1.0-1.i386.rpm
foo          /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
#

要想让RPM 忽略该错误信息, 请使用 --replacefiles 命令行选项: 

# rpm -ivh --replacefiles foo-1.0-1.i386.rpm
foo   ####################################
#
 
未解决依赖关系
一个 RPM 包可能会 "依赖" 其它软件包, 也就是说要求在安装了特定的软件包之后才能安装该软件包。 如果在安装这个软件包时未解决这种存在的依赖关系, 会看到: 
# rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
       foo is needed by bar-1.0-1
#
 
只有先安装完所依赖的软件包,才能解决这个问题。 如果想强制安装 (这不是个好办法,因为安装后的软件包未必能正常运行), 可以使用 --nodeps 命令行选项。 

3.2.2 卸载
卸载软件包就象安装软件包时一样简单: 

# rpm -e foo
#

请注意 
  注意这里使用软件包的 名字 "foo" , 而不是原始软件包的 文件名 "foo-1.0-1.i386.rpm"。卸载软件包时, 需要用原始包的实际文件名替换 foo 包名。 

在卸载某个软件包时,可能会发生依赖关系错误,这说明其它包与此包之间有安装依赖关系。例如: 
# rpm -e foo
removing these packages would break dependencies:
       foo is needed by bar-1.0-1
#

要使 RPM 在卸载此包时忽略该错误 (这不是个好办法,因为卸载后,与它有依赖关系的软件包未必能正常运行), 使用 --nodeps 命令行选项。 

3.2.3 升级
升级软件包和安装软件包十分类似。 
# rpm -Uvh foo-2.0-1.i386.rpm
foo    ####################################
#
   
RPM 将自动卸载已安装的老版本的 foo 软件包,用户无法看到有关信息。事实上用户可能总是使用 -U 来安装软件包, 因为即便以往未安装过该软件包,也能正常运行。 

因为 RPM 执行智能化的软件包升级,自动处理配置文件,会显示如下信息: 
saving /etc/foo.conf as /etc/foo.conf.rpmsave
         
这表示用户对配置文件的修改,不一定能 "向上兼容" 该软件包中的配置文件。 因此,RPM 会备份原始的文件,再安装新文件。用户应当尽快解决这两个配置文件的不同之处,以便系统能持续正常运行。 

因为升级其实就是软件包的卸载与安装的综合,也可能会遇见那些操作中所可能发生的错误。 再有就是: 在使用 旧 版本的 RPM 软件包来升级新版本的软件时,会产生以下信息: 
# rpm -Uvh foo-1.0-1.i386.rpm
foo   package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
 
要使用 RPM 强行 "升级" , 请使用 --oldpackage 命令行参数: 
# rpm -Uvh --oldpackage foo-1.0-1.i386.rpm
foo   ####################################
#
   
3.2.4 更新
包的更新与包升级相似: 
# rpm -Fvh foo-1.2-1.i386.rpm
foo  ####################################
#
    
RPM  更新选项,是检查命令行中指明的包版本与安装在系统中的包版本是否一致。 当 RPM 更新选项处理完已安装包的新版本时,该包会升级到新版本。 但是, RPM 更新选项无法安装系统目前没有的软件包。 这与 RPM 升级不同,升级选项 能够 安装软件包,无论旧版本的包是否已安装。 

RPM 更新选项可以很好的更新一个软件包或一组软件包。 如果用户下载了大量的软件包,但只想升级系统中已有的包时,RPM 更新选项会非常有用。 使用 RPM 更新选项意味着你无需从下载的包中挑挑拣拣,也不用事先删除不要的包。 

这种情况下, 只需简单的键入: 
# rpm -Fvh *.rpm
RPM 工具会自动升级那些已经安装好的包。 

3.2.5 查询
使用命令 rpm -q来查询已安装软件包的数据库。简单的使用命令 rpm -q foo 会打印出foo软件包的包名、版本号和发行号: 
# rpm -q foo
foo-2.0-1
#    校验所有已安装的软件包: rpm -Va

用 RPM 包文件校验已安装的软件包: rpm -Vp foo-1.0-1.i386.rpm
            
如果担心RPM数据库被破坏,就可以使用这种方式加以校验。

如果校验结果一切正常,将不会产生任何输出。如果有不一致的地方,会显示出来。 输出格式是8位长字符串, "c" 用以指配置文件, 接着是文件名。8位 长字符,每个代表一个文件属性与RPM数据库中记录的属性相比较的结果。"." (点) 表示测试通过。 下面的字符代表某测试的失败:
5 -- MD5 校验和
S -- 文件长度
L -- 符号链接
T -- 文件修改日期
D -- 设备
U -- 用户
G -- 用户组
M -- 模式 (包含许可和文件类型)
? -- 不可读文件

如果有信息输出, 用户应当认真加以考虑,是该删除、重新安装、还是修正出现的问题。


    
[3]linux中软件包管理命令 rpm 用法
    来源: 互联网  发布时间: 2013-12-24

rpm 常用命令
 
1.安装一个包 rpm -ivh

2.升级一个包 rpm -Uvh

3.移走一个包 rpm -e

4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
查询一个包是否被安装 rpm -q < rpm package name>

6.得到被安装的包的信息 rpm -qi < rpm package name>

7.列出该包中有哪些文件 rpm -ql < rpm package name>

8.列出服务器上的一个文件属于哪一个RPM包 rpm -qf
可综合好几个参数一起用 rpm -qil < rpm package name>

10.列出所有被安装的 rpm package rpm -qa

11.列出一个未被安装进系统的RPM包文件中包含有哪些文件? rpm -qilp < rpm package name>

一、安装
命令格式: rpm -i ( or --install) options file1.rpm ... fileN.rpm
参数: file1.rpm ... fileN.rpm 将要安装的RPM包的文件名

详 细选项: -h (or --hash) 安装时输出hash记号 (``#'') --test 只对安装进行测试,并不实际安装。 --percent 以百分比的形式输出安装的进度。 --excludedocs 不安装软件包中的文档文件 --includedocs 安装文档 --replacepkgs 强制重新安装已经安装的软件包 --replacefiles 替换属于其它软件包的文件 --force 忽略软件包及文件的冲突 --noscripts 不运行预安装和后安装脚本 --prefix 将软件包安装到由 指定的路径下 --ignorearch 不校验软件包的结构 --ignoreos 不检查软件包运行的操作系统 --nodeps 不检查依赖性关系 --ftpproxy 用 作为 FTP代理 --ftpport 指定FTP的端口号为

通用选项 -v 显示附加信息 -vv 显示调试信息 --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安 装程序都会安装到这个目录下 --rcfile 设置rpmrc文件为 --dbpath 设置RPM 资料库存所在的路径为

二、删除
命令格式: rpm -e ( or --erase) options pkg1 ... pkgN
参数 pkg1 ... pkgN :要删除的软件包

详细选项 --test 只执行删除的测试 --noscripts 不运行预安装和后安装脚本程序 --nodeps 不检查依赖性

通用选项 -vv 显示调试信息 --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装 程序都会安装到这个目录下 --rcfile 设置rpmrc文件为 --dbpath 设置RPM 资料库存所在的路径为

三、升级
命令格式 rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm

参数 file1.rpm ... fileN.rpm 软件包的名字

详 细选项 -h (or --hash) 安装时输出hash记号 (``#'') --oldpackage 允许"升级"到一个老版本 --test 只进行升级测试 --excludedocs 不安装软件包中的文档文件 --includedocs 安装文档 --replacepkgs 强制重新安装已经安装的软件包 --replacefiles 替换属于其它软件包的文件 --force 忽略软件包及文件的冲突 --percent 以百分比的形式输出安装的进度。 --noscripts 不运行预安装和后安装脚本 --prefix 将软件包安装到由 指定的路径下 --ignorearch 不校验软件包的结构 --ignoreos 不检查软件包运行的操作系统 --nodeps 不检查依赖性关系 --ftpproxy 用 作为 FTP代理 --ftpport 指定FTP的端口号为

通用选项 -v 显示附加信息 -vv 显示调试信息 --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下 --rcfile 设置rpmrc文件为 --dbpath 设置RPM 资料库存所在的路径为

四、查询
命令格式: rpm -q ( or --query) options
参数: pkg1 ... pkgN :查询已安装的软件包

详细选项 -p (or ``-'') 查询软件包的文件 -f 查询属于哪个软件包 -a 查询所有安装的软件包 --whatprovides 查询提供了 功能的软件包 -g 查询属于 组的软件包 --whatrequires 查询所有需要 功能的软件包

信 息选项 显示软件包的全部标识 -i 显示软件包的概要信息 -l 显示软件包中的文件列表 -c 显示配置文件列表 -d 显示文档文件列表 -s 显示软件包中文件列表并显示每个文件的状态 --scripts 显示安装、卸载、校验脚本 --queryformat (or --qf) 以用户指定的方式显示查询信息 --dump 显示每个文件的所有已校验信息 --provides 显示软件包提供的功能 --requires (or -R) 显示软件包所需的功能

通用选项 -v 显示附加信息 -vv 显示调试信息 --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下 --rcfile 设置rpmrc文件为 --dbpath 设置RPM 资料库存所在的路径为

五、校验已安装的软件包
命令格式: rpm -V ( or --verify, or -y) options
参数 pkg1 ... pkgN 将要校验的软件包名

软件包选项 -p Verify against package file -f 校验所属的软件包 -a Verify 校验所有的软件包 -g 校验所有属于组 的软件包

详细选项 --noscripts 不运行校验脚本 --nodeps 不校验依赖性 --nofiles 不校验文件属性

通用选项 -v 显示附加信息 -vv 显示调试信息 --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下 --rcfile 设置rpmrc文件为 --dbpath 设置RPM 资料库存所在的路径为

六、校验软件包中的文件
语法: rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
参数: file1.rpm ... fileN.rpm 软件包的文件名

Checksig--详细选项 --nopgp 不校验PGP签名

通用选项 -v 显示附加信息 -vv 显示调试信息 --rcfile 设置rpmrc文件为

七、其它RPM选项
--rebuilddb 重建RPM资料库
--initdb 创建一个新的RPM资料库
--quiet 尽可能的减少输出
--help 显示帮助文件 --version 显示RPM的当前版本


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
CSS属性参考手册 iis7站长之家
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3