Linux下软件安装详解.docx_第1页
Linux下软件安装详解.docx_第2页
Linux下软件安装详解.docx_第3页
Linux下软件安装详解.docx_第4页
Linux下软件安装详解.docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :-))不过我们常见的软件包有两种:1)含有软件的源代码的压缩包,解压后需要手动编译。这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz)。./configure (配置) make (编译)make install (安装)make clean (卸载)注:典型的源代码包可以这样安装,但不都是这样,如webmin要执行其目录下./setup.sh进入交互式配置安装卸载用uninstall程序具体如果不清楚看要安装的包下的README文件2)软件的可执行程序,你只要安装它就可以了(习惯windows安装的朋友的最爱!)。这种软件安装包叫做RPM包(RedhatLinuxPacketManager,就是Redhat的包管理器),后缀是.rpm。当然,还有有用rpm格式打包的源代码;用gzip压缩过的可执行程序包。但是只要理解了以下的安装思路,这两种形式的安装包也不在话下了。下面,我们进行不同软件包安装的详细介绍第一部分:安装.tar.gz软件包1.首先,使用tar -xzvf来解开这个包,如:# tar -xzvf apache_1_3_6_tar.gz*tar命令参数解释:x 从档案文件中释放文件。z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。f 使用档案文件或设备,这个选项通常是必选的。如果需要详细了解tar的使用参见其他文档*这样就会在当前目录中创建了一个新目录(目录名与.tat.gz包的文件名类似),用来存放解压了的内容。如本例中就是apache_1.3.62.进入这个目录,再用ls命令查看一下所包含的文件,命令如下:# cd apache_1.3.6# ls你观察一下这个目录中包含了以下哪一个文件:configure、Makefile还是Imake。1)如果是configure文件,就执行:# ./configure# make# make install2)如果是Makefile文件,就执行:# make# make install3)如果是Imake文件,就执行:# xmkmf# make# make install4)如果没有itstall(安装过程)文件例如rzsz软件包,就执行# make posix或# make linux3.如果没有出现什么错误提示的话,tar包就安装完毕了。软件安装到什么位置,通常会在安装时出现。如果没有可以查阅一下README。tar包安装过程中的常见问题:1)没有安装C或C+编译器确诊方法:执行命令gcc(C+则为g+),提示找不到这个命令。解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:# rpm -ivh gcc*(C或C+编译器是RPM包,后续会讲到)2)没有安装make工具确诊方法:执行命令make,提示找不到这个命令。解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:# rpm -ivh make*3)没有安装autoconf工具;确诊方法:执行命令make,提示找不到这个命令。解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:# rpm -ivh autoconf*4)缺少某些链接库;确诊方法:在make时,提示需要某些文件。解决方法:安装包含这个文件的包。第二部分:安装.rpm软件包RPM是RedHat公司随RedhatLinux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装(像windows下安装软件一样)。1.安装软件:执行rpm -ivh rpm包名,如:# rpm -ivh apache-1.3.6.i386.rpm*rpm 参数解释:i 安装软件包v 显示附加信息h 安装时输出哈希标记(#)如果需要详细了解rpm的使用参见附录*2.升级软件:# rpm -Uvh rpm包名3.卸载软件包:# rpm -e rpm包名4.查询软件包的详细信息:# rpm -qpi rpm包名5.查询某个文件是属于那个rpm包的:# rpm -qf rpm包名6.查该软件包会向系统里面写入哪些文件:# rpm -qpl rpm包名*附录: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 忽略软件包及文件的冲突-noscrpts 不运行预安装和后安装脚本-prefix 把软件包安装到由 指定的路径下-ignorearch 不校验软件包的结构-ignoreos 不检查软件包运行的操作系统-nodeps 不检查依赖性关系-ftpproxy 用 作为 FTP代理-ftpport 指定FTP的端口号为通用选项-v 显示附加信息-vv 显示调试信息-root 让RPM把指定的路径做为根目录,这样预安装程序和后安装程序都会安装到这个目录下-rcfile 设置rpmrc文件为-dbpath 设置RPM 资料库存所在的路径为例子:1.安装软件rpm -ivh *.rpm若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”。2.在线安装rpm -i ftp:/ftp.* *.rpmftp:/ftp.*是地址 *.rpm软件包二、软件包的删除卸载命令格式:rpm -e ( or -erase) options pkg1 . pkgN参数pkg1 . pkgN :要删除的软件包详细选项-test 只执行删除的测试-noscrpts 不运行预安装和后安装脚本程序-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 以百分比的形式输出安装的进度。-noscrpts 不运行预安装和后安装脚本-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 显示软件包中文件列表并显示每个文件的状态-scrpts 显示安装、卸载、校验脚本-queryformat (or -qf) 以用户指定的方式显示查询信息-dump 显示每个文件的所有已校验信息-provides 显示软件包提供的功能-requires (or -R) 显示软件包所需的功能通用选项-v 显示附加信息-vv 显示调试信息-root 让RPM把指定的路径做为根目录,这样预安装程序和后安装程序都会安装到这个目录下-rcfile 设置rpmrc文件为-dbpath 设置RPM 资料库存所在的路径为1.查询一个包是否被安装rpm -q *.rpm2. 查看软件包里的内容rpm -qpi *.rpm3.查看软件包把会在系统里安装哪些部分rpm -qpl *.rpm4.快速判定某个文件属于哪个软件包rpm -qf *.rpm5.列出所有被安装的rpm 软件包rpm qa五、校验已安装的软件包命令格式:rpm -V ( or -verify, or -y) options参数pkg1 . pkgN 把要校验的软件包名软件包选项-p Verify against package file-f 校验所属的软件包-a Verify 校验所有的软件包-g 校验所有属于组 的软件包详细选项-noscrpts 不运行校验脚本-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-hashUvh:升级软件包-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包-filerpm -qpR file.rpm 查看包依赖关系rpm2cpio file.rpm |cpio -div 抽出文件rpm -ivh file.rpm 安装新的rpm-install-verbose-hashrpm -ivh/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpmrpm -Uvh file.rpm 升级一个rpm-upgraderpm -e file.rpm 删除一个rpm包-eraserpm相关问题集锦1.如何不安装但是获取rpm包中的文件?使用工具rpm2cpio和cpiorpm2cpio xxx.rpm | cpio -virpm2cpio xxx.rpm | cpio -idmvrpm2cpio xxx.rpm | cpio -extract -make-directories参数i和extract相同,表示提取文件。v表示指示执行进程d和make-directory相同,表示根据包中文件原来的路径建立目录m表示保持文件的更新时间。2.如何查看与rpm包相关的文件和其他信息?下面所有的例子都假设使用软件包mysql-3.23.54a-111.我的系统中安装了那些rpm软件包rpm -qa 讲列出所有安装过的包如果要查找所有安装过的包含某个字符串sql的软件包rpm -qa |grep sql3.如何获得某个软件包的文件全名?rpm -q mysql 可以获得系统中安装的mysql软件包全名,从中可以获得当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-114.一个rpm包中的文件安装到那里去了?rpm -ql 包名注意这里的是不包括.rpm后缀的软件包的名称也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。如果只是想知道可执行程序放到那里去了,也可以用which,比如which mysql5.一个rpm包中包含那些文件?一个没有安装过的软件包,使用rpm -qlp *.rpm一个已经安装过的软件包,还可以使用rpm -ql *.rpm6.如何获取关于一个软件包的版本,用途等相关信息?一个没有安装过的软件包,使用rpm -qip *.rpm一个已经安装过的软件包,还可以使用rpm -qi *.rpm7.某个程序是哪个软件包安装的,或者哪个软件包包含这个程序?rpm -qf which 程序名 返回软件包的全名rpm -qif which 程序名 返回软件包的有关信息rpm -qlf which 程序名 返回软件包的文件列表注意,这里不是引号,而是,就是键盘左上角的那个键。也可以使用rpm -qilf,同时输出软件包信息和文件列表8.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件?注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:# whereis ftptopftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz# rpm -qf /usr/bin/ftptopproftpd-1.2.8-1# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txtproftpd-1.2.8-1总结:获得软件包相关的信息用rpm -q,q表示查询query,后面可以跟其他选项,比如i 表示info,获得软件包的信息;l 表示list,获得文件列表;a 表示all,在所有包中执行查询;f 表示file,根据文件进行相关的查询;p 表示package,根据软件包进行查询需要的查询条件可以使用grep产生,或者从 中的命令行产生9.什么是rpm?rpm 即RedHat Package Management,是RedHat的发明之一10.为什么需要rpm?在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,配置,卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个较好的办法来管理成千上百的软件。这就是RPM管理系统。在系统中安装了rpm管理系统以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载11.是不是所有的linux都使用rpm ?任何系统都需要包管理系统,因此很多linux都使用rpm系统。但rpm系统是为RH专门但是TL,Mandrake等系统也都使用rpm。由于rpm的源程序可以在别的系统上进行编译,所以有可能在别的系统上也使用rpm除了rpm,其他一些系统也有自己的软件包管理程序,例如debian的deb包,slakware也都有自己的包管理系统12.rpm包的文件名为什么那么长?rpm包的文件名中包含了这个软件包的版本信息,操作系统信息,硬件要求等等。比如mypackage-1.1-2TL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论