linux下安装程序

最近要在apache下装一个fastcgi的支持模块,费了挺多功夫,还没搞定:(。先看看基础的,linux程序安装问题吧。这个文字以前也看过,总是用到时需要重新到网上查,这次转到这里,备再查。

在Linux系统中,安装软件最常见的有两种:
一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip压缩过的tar包(后缀名为.tar.gz)。
  另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(RedHat Linux Packet Manager,就是RedHat的软件包管理器),后缀名是.rpm。当然,也有用RPM格式打包的源代码、用gzip压缩过的可执行套装程序。只要您理解了以下的思路,这两种形式的安装包也不在话下了。

源代码编译安装

Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制码并进行安装。其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境;缺点是难度较大,一般不适合初学者使用。

  各个软件的源代码包一般都在各个软件项目的主页中提供下载,例如:www.apache.org等。

  1.*.src.rpm形式的源代码软件包

  安装:

  rpm -rebuild *.src.rpm

  cd /usr/src/dist/RPMS

  rpm -ivh *.rpm

  卸载:

  rpm -e packgename

  说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的RPM软件包,然后再安装该二进制包即可。Packgename如前所述。

  2.*.tar.gz/*.tgz/*.bz2形式的源代码软件包

  以tar.gz或tgz或tar.bz2等格式结尾的软件包一般都是以源代码方式发布的软件,安装这类软件首先需要对软件进行解压:

  # tar zxvf filename.tar.gz

  # tar xvfz filename.tgz

  # tar xvf j filename.tar.bz2

  解压以后,就可以进入解压后的目录:

  # cd filename/

  对于这类文档,常见的安装步骤是:配置、编译和安装3步,其中最麻烦的就是配置,因为所有和软件安装相关的配置都是在这一步指定的:比如软件安装位置等。

  配置:./configure

  编译:make

  安装:make install

  卸载:make uninstall 或手动删除

  说明:建议解压后先阅读说明文件(ReadMe和Install),了解安装的需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make uninstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动进行。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其他安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

RPM格式软件包的安装

RPM是RedHat公司开发的软件包管理器,使用它可以很容易地对RPM形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用RPM形式的软件包。软件包往往有特定的命令规范,名字是由“文件名+版本号+. rpm”组成的字串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm,它们的软件包名称分别是apache和apache-devel。各个支持RPM格式的Linux常见软件的RPM包可以在网站rpmfind.net中找到。

  1.安装

  命令格式:

  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 NEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport PORT指定FTP的端口号为PORT。

  通用选项:

  -v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

  2.删除

  命令格式:

  rpm -e(or--erase) options pkg1 ... pkgN

  参数:

  pkg1...pkgN:要删除的软件包。

  详细选项:

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

  通用选项:

  -vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

  3.升级

  命令格式:

  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 NEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport HOST指定FTP的埠号为HOST。

  通用选项:

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

4.查询

  命令格式:

  rpm -q(or--query) options

  参数:

  pkg1...pkgN:查询已安装的软件包。

  详细选项:

  -p PACKAGE_FILE查询软件包的文件;-f FILE查询FILE属于哪个软件包;-a查询所有安装的软件包;--whatproVides CAPABILITY查询提供了CAPABILITY功能的软件包;-g group查询属于group组的软件包;--whatrequires CAPABILITY查询所有需要CAPABILITY功能的软件包。

  选项:

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

  通用选项:

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

  5.校验已安装的软件包

  命令格式:

  rpm -V(or--verify,or-y) options

  参数:

  pkg1...pkgN将要校验的软件包名

  软件包选项:

  -p PACKAGE_FILE校验PACKAGE_FILE所属的软件包;-a校验所有的软件包;-g group校验所有属于组group的软件包。

  详细选项:

  --noscripts不运行校验脚本;--nodeps不校验依赖性;--nofiles不校验文档属性。

  通用选项:

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

  6.校验软件包中的文件

  语法:

  rpm -K(or--checksig) options file1.rpm...fileN.rpm

  参数:

  file1.rpm...fileN.rpm软件包的文件名;Checksig--详细选项;--nopgp不校验PGP签名。

  通用选项:

  -v显示附加信息;-vv显示调试信息;--rcfile FILELIST设置rpmrc文件为FILELIST。

  7.其他RPM选项

  --rebuilddb重建RPM资料库;--initdb创建一个新的RPM资料库;--quiet尽可能地减少输出;--help显示帮助文件;--version显示RPM的当前版本。

  如果你不喜欢在字符接口下安装或卸载这些软件包,完全可以安装基于X-Window的图形接口软件包管理程序,如glint, xrpm这样的图形接口。或使用KDE的KPackage(单击【开始】→【运行命令】,在其中输入KPackage即可启动KPackage)等,这样对软件包的安装、升级、卸载、验证和查询就可以通过单击鼠标来轻松完成,如图所示。

需要注意的是,每个RPM软件包格式的软件并不一定是独立的,各个RPM软件包之间有一定的依赖关系,删除某个RPM软件包可能导致别的软件不能使用。因此在升级和删除时应该注意。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值