Chinaunix首页 | 论坛 | 博客
  • 博客访问: 895353
  • 博文数量: 206
  • 博客积分: 10276
  • 博客等级: 上将
  • 技术积分: 2358
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-01 02:41
文章分类

全部博文(206)

文章存档

2014年(1)

2013年(1)

2012年(2)

2011年(10)

2010年(14)

2009年(15)

2008年(33)

2007年(90)

2006年(40)

我的朋友

分类: LINUX

2006-11-23 14:16:40

 

前言

    Windows中,软件的安装与卸载可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源代码形式发布的;第二种方式则是直接以二进制形式发发布的。下面我们就分别讲述这两种软件安装方式。

 

二进制形式软件的安装

Linux下有一个功能强大的软件安装卸载工具,名为RPM(最早由RedHat公司使用:RedHat Package Manager)。它可以用来建立、安装、查询、更新、验证、卸载软件。该工具是在命令行下使用的。下面分别介绍rpm的使用。

一、安装

命令格式:


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的当前版本

 

八、应用举例

    1.安装软件:执行rpm -ivh rpm包名,如:
  #rpm -ivh apache-2.0.35.i386.rpm
  2.升级软件:执行rpm -Uvh rpm包名。如:rpm -Uvh apache-2.0.35.i386.rpm
  3.反安装:执行rpm -e rpm软件名。如:rpm -e apache-2.0.35
  4.查询软件包的概要信息:执行rpm -qpi rpm包名。
     
:rpm -qpi apache-2.0.35.i386.rpm
  5.查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名。

:rpm -qf /etc/passwd

5.查询某个已安装的rpm包的所有文件:执行rpm -ql rpm包名。

:rpm -ql apache-2.0.35
  6.查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名
     
:rpm -qpl apache-2.0.35.i386.rpm

 

九、以源代码形式发布的rpm软件包

    以源代码形式发布的rpm软件包的后缀名一般为“.src.rpm”,首先使用rpm安装,安装之后,在目录/usr/src/redflag(厂家名称)/SOURCES下面会出现“.tar.gz”后缀名的文件就是真正的源代码。按照下面的步骤进行安装。

 

源代码软件的安装

 

1.首先,将安装文件拷贝主目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。

#cp xxx.tar.gz /root

2.由于该文件是被压缩并打包的,应对其解压缩。命令为:

#tar xvzf filename.tar.gz

3.执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有“INSTALL”的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。

4.执行解压缩在目录下有一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:

#./configure

5.检查通过后,将生成用于编译的MakeFile文件(有些软件已经有这个文件就可以省去上一步)。此时,可以开始进行编译了。编译的过程根据软件的规模和计算机性能的不同,所耗费的时间也不同。命令为:

#make

6.成功编译后,键入如下的命令开始安装:

#make install

7.安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:

#make clean

#make distclean

至此,软件的安装结束。

至于软件的卸载,如果安装时指定了安装目录可以把软件目录直接删除就可以了。

 

8.当安装时出现错误时应考虑:

1)没有安装CC++编译器;
  确诊方法:执行命令gccC++则为g++),提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
  #rpm -ivh gcc*
2
)没有安装make工具;

  确诊方法:执行命令make,提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
  #rpm -ivh make*
3
)没有安装autoconf
工具;
  确诊方法:执行命令make,提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
  #rpm -ivh autoconf*
4
)缺少某些链接库;
  确诊方法:在make时,提示需要某些文件。
  解决方法:安装包含这个文件的包,这就需要积累了。

 

总结:以上介绍的仅仅是一些通用的软件安装方法,遇到具体的软件应该首先察看安装说明,然后进行安装。

阅读(721) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~