`
xiaolong0211
  • 浏览: 326674 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

Linux下软件包安装问题1

阅读更多

一、安装软件包
命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm
把要安装的RPM包的文件名
详细选项:
-h (or --hash)
安装时输出hash记号 (``#'')
--test
只对安装进行

[url=javascript:;]
测试[/url]
,并不实际安装。

--percent
以百分比的形式输出安装的进度。
--excludedocs
不安装软件包中的文档文件
--includedocs
安装文档
--replacepkgs
强制重新安装已经安装的软件包
--replacefiles
替换属于
[url=javascript:;]
其它[/url]
软件包的文件--force 忽略软件包及文件的冲突

--noscrīpts
不运行预安装和后安装脚本
--prefix
把软件包安装到由 指定的路径下
--ignorearch
不校验软件包的结构
--ignoreos
不检查软件包运行的
[url=javascript:;]
操作系统[/url]
--nodeps
不检查依赖性关系

--ftpproxy
作为 FTP代理
--ftpport
指定FTP的端口号为
通用选项
-v
显示附加信息
-vv
显示调试信息
--root
RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile
设置rpmrc文件为
--dbpath
设置RPM 资料库存所在的路径为
例子:
1.
安装软件
rpm -ivh *.rpm
若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”
2.
在线安装
rpm -i ftp
//ftp.* *.rpm
ftp
//ftp.*是地址 *.rpm软件包

二、软件包的删除卸载
命令格式:
rpm -e ( or --erase) options pkg1 ... pkgN
参数
pkg1 ... pkgN
:要删除的软件包
详细选项
--test
只执行删除的测试
--noscrīpts
不运行预安装和后安装脚本程序
--nodeps
不检查依赖性
通用选项
-vv
显示调试信息
--root
RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile
设置rpmrc文件为
--dbpath
设置RPM 资料库存所在的路径为
例子:
1.
卸载软件
rpm-e *.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
以百分比的形式输出安装的进度。
--noscrīpts
不运行预安装和后安装脚本
--prefix
把软件包安装到由 指定的路径下
--ignorearch
不校验软件包的结构
--ignoreos
不检查软件包运行的操作系统
--nodeps
不检查依赖性关系
--ftpproxy
作为 FTP代理
--ftpport
指定FTP的端口号为
通用选项
-v
显示附加信息
-vv
显示调试信息
--root
RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile
设置rpmrc文件为
--dbpath
设置RPM 资料库存所在的路径为
例子:
1.
升级软件
rpm -uvh *.rpm
注意:此时的文件名必须是要升级软件的升级补丁
四、查询
命令格式:
rpm -q ( or --query) options
参数:
pkg1 ... pkgN
:查询已安装的软件包
详细选项
-p (or ``-'')
查询软件包的文件
-f
查询属于哪个软件包
-a
查询所有安装的软件包
--whatprovides
查询提供了 功能的软件包
-g
查询属于 组的软件包
--whatrequires
查询所有需要 功能的软件包
信息选项
显示软件包的全部标识
-i
显示软件包的概要信息
-l
显示软件包中的文件列表
-c
显示配置文件列表
-d
显示文档文件列表
-s
显示软件包中文件列表并显示每个文件的状态
--scrīpts
显示安装、卸载、校验脚本
--queryformat (or --qf)
以用户指定的方式显示查询信息
--dump
显示每个文件的所有已校验信息
--provides
显示软件包提供的功能
--requires (or -R)
显示软件包所需的功能
通用选项
-v
显示附加信息
-vv
显示调试信息
--root
RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile
设置rpmrc文件为
--dbpath
设置RPM 资料库存所在的路径为
1.
查询一个包是否被安装
rpm -q *.rpm
2.
查看软件包里的内容
rpm -qpi *.rpm
3.
查看软件包把会在系统里安装哪些部分
rpm -qpl *.rpm
4.
快速判定某个文件属于哪个软件包
rpm -qf *.rpm
5.
列出所有被安装的rpm 软件包
rpm –qa
五、校验已安装的软件包
命令格式:
rpm -V ( or --verify, or -y) options
参数
pkg1 ... pkgN
把要校验的软件包名
软件包选项
-p Verify against package file
-f
校验所属的软件包
-a Verify
校验所有的软件包
-g
校验所有属于组 的软件包
详细选项
--noscrīpts
不运行校验脚本
--nodeps
不校验依赖性
--nofiles
不校验文件属性
通用选项
-v
显示附加信息
-vv
显示调试信息
--root
RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile
设置rpmrc文件为
--dbpath
设置RPM 资料库存所在的路径为
例子:
1.
列出所有损坏的文件
rpm -Va *.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的当前版本

常用命令组合:
ivh:安装显示安装进度--install--verbose--hash
Uvh:升级软件包--Update

qpl:列出RPM软件包内的文件信息[Query Package list]
qpi:列出RPM软件包的描述信息[Query Package install package(s)]
qf:查找指定文件属于哪个RPM软件包[Query File]
Va:校验所有的RPM软件包,查找丢失的文件[View Lost]
e:删除包
rpm -q samba //
查询程序是否安装
rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm
#按路径安装并显示进度
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm    
#指定安装目录
rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm
                  #用来检查依赖关系;并不是真正的安装;
rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm              
#新版本降级为旧版本
rpm -qa | grep httpd
        [搜索指定rpm包是否安装]--all搜索*httpd*
rpm -ql httpd
            [搜索rpm]--list所有文件安装目录

rpm -qpi Linux-1.4-6.i368.rpm
  [查看rpm]--query--package--install package信息
rpm -qpf Linux-1.4-6.i368.rpm
  [查看rpm]--file
rpm -qpR file.rpm
          #[查看包]依赖关系

rpm2cpio file.rpm |cpio -div    
[抽出文件]
rpm -ivh file.rpm
             [安装新的
rpm]--install--verbose--hash
rpm -ivh
http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm
rpm -Uvh file.rpm              
[升级一个rpm]--upgrade
rpm -e file.rpm                
[删除一个rpm
]--erase

rpm
相关问题集锦

1.
如何不安装但是获取rpm包中的文件?
使用工具rpm2cpiocpio
rpm2cpio xxx.rpm | cpio -vi
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio xxx.rpm | cpio --extract --make-directories
参数iextract相同,表示提取文件。v表示指示执行进程

d
make-directory相同,表示根据包中文件原来的路径建立目录
m
表示保持文件的更新时间。
2.
如何查看与rpm包相关的文件和其他信息?
下面所有的例子都假设使用软件包mysql-3.23.54a-11
1.
我的系统中安装了那些rpm软件包

rpm -qa
讲列出所有安装过的包
如果要查找所有安装过的包含某个字符串sql的软件包
rpm -qa |grep sql
3.
如何获得某个软件包的文件全名?
rpm -q mysql
可以获得系统中安装的mysql软件包全名,从中可以获得
当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-11
4.
一个rpm包中的文件安装到那里去了?

rpm -ql
包名
注意这里的是不包括.rpm后缀的软件包的名称
也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm
如果只是想知道可执行程序放到那里去了,也可以用which,比如
which mysql
5.
一个rpm包中包含那些文件?
一个没有安装过的软件包,使用rpm -qlp ****.rpm
一个已经安装过的软件包,还可以使用
rpm -ql ****.rpm
6.
如何获取关于一个软件包的版本,用途等相关信息?

一个没有安装过的软件包,使用rpm -qip ****.rpm
一个已经安装过的软件包,还可以使用
rpm -qi ****.rpm
7.
某个程序是哪个软件包安装的,或者哪个软件包包含这个程序?

rpm -qf `which
程序名` 返回软件包的全名
rpm -qif `which
程序名` 返回软件包的有关信息
rpm -qlf `which
程序名` 返回软件包的文件列表
注意,这里不是引号,而是`,就是键盘左上角的那个键。
也可以使用rpm -qilf,同时输出软件包信息和文件列表
8.
某个文件是哪个软件包安装的,或者哪个软件包包含这个文件?
[color="#ff0000"]
注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以
用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。
首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:
# whereis ftptop
ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz
# rpm -qf /usr/bin/ftptop
proftpd-1.2.8-1
# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt
proftpd-1.2.8-1
总结:
获得软件包相关的信息用rpm -qq表示查询query,后面可以跟其他选项,比如
i
表示info,获得软件包的信息;
l
表示list,获得文件列表;
a
表示all,在所有包中执行查询;
f
表示file,根据文件进行相关的查询;
p
表示package,根据软件包进行查询
需要的查询条件可以使用grep产生,或者从"` `"中的命令行产生
9.
什么是rpm
rpm
RedHat Package Management,是RedHat的发明之一

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics