当前位置: 技术问答>linux和unix
redhat9.0怎样在图形界面下安装软件?
来源: 互联网 发布时间:2015-05-09
本文导语: 我最近才装了这个操作系统。不知道如何安装一些应用软件。请高手赐教。不胜感激呀。也可以留下QQ以便以后讨论学习。 | 使用RPM RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸...
我最近才装了这个操作系统。不知道如何安装一些应用软件。请高手赐教。不胜感激呀。也可以留下QQ以便以后讨论学习。
|
使用RPM
RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证。本节简要的描述了这五种操作。使用命令 rpm --help, 或查阅第8.4 节以获得更为全面的信息。
8.2.1 安装
RPM 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名。其中包括软件包的名称(foo), 版本号(1.0), 发行号(1), 和硬件平台(i386). 安装一个软件包只需简单的键入以下命令:
$ rpm -ivh foo-1.0-1.i386.rpm
foo ####################################
正如您所看到的, RPM 将会打印出软件包的名字(并不一定与文件名相同), 而后打印一连串的#号以表示安装进度。
软件包的安装被设计的尽量简单易行, 但是可能会发生几个错误::
8.2.1.1 软件包已被安装
如果您的软件包已被安装, 将会出现以下信息:
$ 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 选项,这将忽略该错误信息。
8.2.1.2 文件冲突
如果您要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:
# 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 命令行选项。.
8.2.1.3 未解决依赖关系
RPM软件包可能依赖于其它软件包,也就是说要求在安装了特定的软件包之后才能安装该软件包。如果在您安装某个软件包时存在这种未解决的依赖关系。会产生以下信息:
$ rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
foo is needed by bar-1.0-1
您必须安装完所依赖的软件包,才能解决这个问题。如果您想强制安装(这是个坏主意,因为安装后的软件包未必能正常运行), 请使用--nodeps 命令行选项。
8.2.2 卸载
卸载软件包就象安装软件包时一样简单:
$ rpm -e foo
注意这里使用软件包的名字name ``foo'', 而不是软件包文件的名字file ``foo-1.0-1.i386.rpm''.
如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。如:
$ rpm -e foo
removing these packages would break dependencies:
foo is needed by bar-1.0-1
要想RPM忽略该错误信息继续卸载的话(这可不是一个好主意 ,因为依赖于该软件包的程序可能无法运行), 请使用--nodeps 命令行选项.
8.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 -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 命令行参数。
8.2.4 查询
使用命令rpm -q来查询已安装软件包的数据库。简单的使用命令 rpm -q foo 会打印出foo软件包 的包名 ,版本号,和发行号:
· $ rpm -q foo
foo-2.0-1
除了指定软件包名以外,您还可以连同-q使用以下选项来指明要查询哪些软件包的信息。这些选项被称之为 “软件包指定选项“:
· -a 查询所有已安装的软件包.
· -f 将查询包含有文件. 的软件包
· -p 查询软件包文件名为. 的软件包
有几种方式来指定查询软件包时所显示的信息。以下选项用于选择您感兴趣的信息进行显示。它们被称作信息选择选项:
· -i 显示软件包信息,如描述, 发行号, 尺寸, 构建日期, 安装日期, 平台, 以及其它一些各类信息。
· -l 显示软件包中的文件列表。
· -s 显示软件包中所有文件的状态。.
· -d 显示被标注为文档的文件列表(man 手册, info 手册, README's, etc).
· -c 显示被标注为配置文件的文件列表。这些是您要在安装完毕以后加以定制的文件(sendmail.cf, passwd, inittab, etc).
对于那些要显示文件列表的文件, 您可以增加-v 命令行选项以获得如同 ls -l 格式的输出。.
8.2.5 验证
验证软件包是通过比较compares从软件包中安装的文件和软件包中的原始文件信息来进行的。除了其它一些东西,验证主要是比较文件的尺寸, MD5 校验码, 文件权限, 类型, 属主和用户组等。
rpm-V命令用来验证一个软件包。您可以使用任何包选择选项来查询您要验证的软件包 命令rpm -V foo 将用来验证foo软件包。又如:
· 验证包含特定文件的软件包:
· rpm -Vf /bin/vi
· 验证所有已安装的软件包:
· 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
模式e (包括权限和文件类型)
如果有信息输出, 您应当认真加以考虑,是删除,重新安装,还是修正出现的问题。
令人惊异的RPM
RPM是一个用于系统维护和诊断,解决问题的十分有用的工具。了解各种选项用法的最好方式是通过例子来学习。
· 比如您误删了一些文件, 但您不能肯定到底都删除那些文件。如果您想验证一下整个系统看看都丢失了那些文件的话,您可以键入:
· rpm -Va
若是一些文件丢失了或已被损坏, 您就可以重新安装或先卸载再安装该软件包。
· 如果您碰到了一个自己不认识的文件,要想查处它属于哪个软件包,您可以输入以下命令
· rpm -qf /usr/X11R6/bin/xjewel
而输出的结果会是:
xjewel-1.6-1
· 如果发生综合以上两个例子的情况,如文件/usr/bin/paste.出了问题。您想验证一下拥有该文件的软件包,可由不知道软件包的名字,您这时可以简单的键入:
· rpm -Vf /usr/bin/paste
这样相应的软件包就会被验证。.
· 如果您想了解一个您正在使用的程序的详细信息, 您可以键入如下命令来获得拥有该程序的软件包中的文档信息:
· rpm -qdf /usr/bin/ispell
输出结果为:
/usr/man/man4/ispell.4
/usr/man/man4/english.4
/usr/man/man1/unsq.1
/usr/man/man1/tryaffix.1
/usr/man/man1/sq.1
/usr/man/man1/munchlist.1
/usr/man/man1/ispell.1
/usr/man/man1/findaffix.1
/usr/man/man1/buildhash.1
/usr/info/ispell.info.gz
/usr/doc/ispell-3.1.18-1/README
· 您发现了一个新的koules RPM,但您不知道它是什么东西.,您可以键入如下命令:
· rpm -qip koules-1.2-2.i386.rpm
输出结果大概为:
Name : koules Distribution: Red Hat Linux Colgate
Version : 1.2 Vendor: Red Hat Software
Release : 2 Build Date: Mon Sep 02 11:59:12 1996
Install date: (none) Build Host: porky.redhat.com
Group : Games Source RPM: koules-1.2-2.src.rpm
Size : 614939
Summary : SVGAlib action game; multiplayer, network
Description :
This arcade-style game is novel in conception and
excellent in execution. No shooting, no blood, no guts,
no gore. The play is simple, but you still must develop
skill to play. This version uses SVGAlib to run on a
graphics console.
· 现在您想了解koules RPM 所安装的文件. 您可以键入:
· rpm -qlp koules-1.2-2.i386.rpm
输出结果为:
/usr/man/man6/koules.6
/usr/lib/games/kouleslib/start.raw
/usr/lib/games/kouleslib/end.raw
/usr/lib/games/kouleslib/destroy2.raw
/usr/lib/games/kouleslib/destroy1.raw
/usr/lib/games/kouleslib/creator2.raw
/usr/lib/games/kouleslib/creator1.raw
/usr/lib/games/kouleslib/colize.raw
/usr/lib/games/kouleslib
/usr/games/koules
以上只是几个例子. 随着您进一步的使用系统,您会发现rpm的更多用途。.
RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证。本节简要的描述了这五种操作。使用命令 rpm --help, 或查阅第8.4 节以获得更为全面的信息。
8.2.1 安装
RPM 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名。其中包括软件包的名称(foo), 版本号(1.0), 发行号(1), 和硬件平台(i386). 安装一个软件包只需简单的键入以下命令:
$ rpm -ivh foo-1.0-1.i386.rpm
foo ####################################
正如您所看到的, RPM 将会打印出软件包的名字(并不一定与文件名相同), 而后打印一连串的#号以表示安装进度。
软件包的安装被设计的尽量简单易行, 但是可能会发生几个错误::
8.2.1.1 软件包已被安装
如果您的软件包已被安装, 将会出现以下信息:
$ 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 选项,这将忽略该错误信息。
8.2.1.2 文件冲突
如果您要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:
# 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 命令行选项。.
8.2.1.3 未解决依赖关系
RPM软件包可能依赖于其它软件包,也就是说要求在安装了特定的软件包之后才能安装该软件包。如果在您安装某个软件包时存在这种未解决的依赖关系。会产生以下信息:
$ rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
foo is needed by bar-1.0-1
您必须安装完所依赖的软件包,才能解决这个问题。如果您想强制安装(这是个坏主意,因为安装后的软件包未必能正常运行), 请使用--nodeps 命令行选项。
8.2.2 卸载
卸载软件包就象安装软件包时一样简单:
$ rpm -e foo
注意这里使用软件包的名字name ``foo'', 而不是软件包文件的名字file ``foo-1.0-1.i386.rpm''.
如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。如:
$ rpm -e foo
removing these packages would break dependencies:
foo is needed by bar-1.0-1
要想RPM忽略该错误信息继续卸载的话(这可不是一个好主意 ,因为依赖于该软件包的程序可能无法运行), 请使用--nodeps 命令行选项.
8.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 -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 命令行参数。
8.2.4 查询
使用命令rpm -q来查询已安装软件包的数据库。简单的使用命令 rpm -q foo 会打印出foo软件包 的包名 ,版本号,和发行号:
· $ rpm -q foo
foo-2.0-1
除了指定软件包名以外,您还可以连同-q使用以下选项来指明要查询哪些软件包的信息。这些选项被称之为 “软件包指定选项“:
· -a 查询所有已安装的软件包.
· -f 将查询包含有文件. 的软件包
· -p 查询软件包文件名为. 的软件包
有几种方式来指定查询软件包时所显示的信息。以下选项用于选择您感兴趣的信息进行显示。它们被称作信息选择选项:
· -i 显示软件包信息,如描述, 发行号, 尺寸, 构建日期, 安装日期, 平台, 以及其它一些各类信息。
· -l 显示软件包中的文件列表。
· -s 显示软件包中所有文件的状态。.
· -d 显示被标注为文档的文件列表(man 手册, info 手册, README's, etc).
· -c 显示被标注为配置文件的文件列表。这些是您要在安装完毕以后加以定制的文件(sendmail.cf, passwd, inittab, etc).
对于那些要显示文件列表的文件, 您可以增加-v 命令行选项以获得如同 ls -l 格式的输出。.
8.2.5 验证
验证软件包是通过比较compares从软件包中安装的文件和软件包中的原始文件信息来进行的。除了其它一些东西,验证主要是比较文件的尺寸, MD5 校验码, 文件权限, 类型, 属主和用户组等。
rpm-V命令用来验证一个软件包。您可以使用任何包选择选项来查询您要验证的软件包 命令rpm -V foo 将用来验证foo软件包。又如:
· 验证包含特定文件的软件包:
· rpm -Vf /bin/vi
· 验证所有已安装的软件包:
· 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
模式e (包括权限和文件类型)
如果有信息输出, 您应当认真加以考虑,是删除,重新安装,还是修正出现的问题。
令人惊异的RPM
RPM是一个用于系统维护和诊断,解决问题的十分有用的工具。了解各种选项用法的最好方式是通过例子来学习。
· 比如您误删了一些文件, 但您不能肯定到底都删除那些文件。如果您想验证一下整个系统看看都丢失了那些文件的话,您可以键入:
· rpm -Va
若是一些文件丢失了或已被损坏, 您就可以重新安装或先卸载再安装该软件包。
· 如果您碰到了一个自己不认识的文件,要想查处它属于哪个软件包,您可以输入以下命令
· rpm -qf /usr/X11R6/bin/xjewel
而输出的结果会是:
xjewel-1.6-1
· 如果发生综合以上两个例子的情况,如文件/usr/bin/paste.出了问题。您想验证一下拥有该文件的软件包,可由不知道软件包的名字,您这时可以简单的键入:
· rpm -Vf /usr/bin/paste
这样相应的软件包就会被验证。.
· 如果您想了解一个您正在使用的程序的详细信息, 您可以键入如下命令来获得拥有该程序的软件包中的文档信息:
· rpm -qdf /usr/bin/ispell
输出结果为:
/usr/man/man4/ispell.4
/usr/man/man4/english.4
/usr/man/man1/unsq.1
/usr/man/man1/tryaffix.1
/usr/man/man1/sq.1
/usr/man/man1/munchlist.1
/usr/man/man1/ispell.1
/usr/man/man1/findaffix.1
/usr/man/man1/buildhash.1
/usr/info/ispell.info.gz
/usr/doc/ispell-3.1.18-1/README
· 您发现了一个新的koules RPM,但您不知道它是什么东西.,您可以键入如下命令:
· rpm -qip koules-1.2-2.i386.rpm
输出结果大概为:
Name : koules Distribution: Red Hat Linux Colgate
Version : 1.2 Vendor: Red Hat Software
Release : 2 Build Date: Mon Sep 02 11:59:12 1996
Install date: (none) Build Host: porky.redhat.com
Group : Games Source RPM: koules-1.2-2.src.rpm
Size : 614939
Summary : SVGAlib action game; multiplayer, network
Description :
This arcade-style game is novel in conception and
excellent in execution. No shooting, no blood, no guts,
no gore. The play is simple, but you still must develop
skill to play. This version uses SVGAlib to run on a
graphics console.
· 现在您想了解koules RPM 所安装的文件. 您可以键入:
· rpm -qlp koules-1.2-2.i386.rpm
输出结果为:
/usr/man/man6/koules.6
/usr/lib/games/kouleslib/start.raw
/usr/lib/games/kouleslib/end.raw
/usr/lib/games/kouleslib/destroy2.raw
/usr/lib/games/kouleslib/destroy1.raw
/usr/lib/games/kouleslib/creator2.raw
/usr/lib/games/kouleslib/creator1.raw
/usr/lib/games/kouleslib/colize.raw
/usr/lib/games/kouleslib
/usr/games/koules
以上只是几个例子. 随着您进一步的使用系统,您会发现rpm的更多用途。.
|
直接双击
字符下如果是rpm包,用rpm命令
字符下如果是rpm包,用rpm命令
|
建议成立linux msn联盟,方面大家交流学习
msn:dreamnan@hotmail.com
msn:dreamnan@hotmail.com