linux下安装编译源文件和rpm文件
LinuxRPM包安装、卸载和升级(rpm命令)详解
LinuxRPM包安装、卸载和升级(rpm命令)详解
本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装、卸载和升级操作。
我们以安装apache 程序为例。
因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。
RPM包默认安装路径
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。
是测试页,如图 2 所示。
图 2 apache测试页
-e 选项表示卸载,也就是 erase 的首字母。
RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。
Linux下的软件安装
Linux下的软件安装一.源码安装1.解压源码软件2.进入到软件所在目录3../configure 执行编译前的准备,参数为默认,若改变参数可用./configure –help查看;4.make 开始编译;5.make install 安装软件。
6.若要卸载软件,可执行make uninstall 。
二.RPM安装1.安装*这里以foo-1.0-1.i386.rpm 为例说明,先说明一下软件参数:foo 为软件名,1.0 为版本号,1 为发行号,i386 为硬件平台;*命令格式:rpm–i【v】【h】【option】file1.rpm… fileN.rpm 可同时安装多个软件包*【】中的内容为可选项:i 表示安装;v 表示显示状态;h 表示以# 输出显示进度;*【option】包含的参数有:--test=-t 只对安装进行测试,并不实际安装--percent=-p 以百分比的形式输出安装的进度--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--nodeps 不检查依赖性关系--excludedocs 不安装软件包中的文档文件--force 忽略软件包及文件的冲突2.升级*命令格式:rpm -【U|F】【v】【h】【option】file1.rpm… fileN.rpm*说明:U 表示升级;F 表示更新;*【option】包含的参数有:--prefix 将软件包安装到由指定的路径下--oldpackage 允许"升级"到一个老版本其它参数和安装选择的参数相同;3.查询*命令格式rpm –q 【option】*【option】包含的参数有:-a 查询所有已安装的软件包-all 查询所有已安装的软件包数据-i 查询软件的信息-l 查询软件包里的内容-f 查询属于哪个软件包-p 查询软件包文件名为。
的软件包例:1)查询一个包是否被安装:rpm –q *2)查看软件包里的内容:rpm –qpi *3)查看软件包将会在系统里安装哪些部分:rpm –qpl *4)快速判定某个文件属于哪个软件包:rpm –qf *5)列出所有被安装的rpm软件包:rpm –qa6)查询已安装软件包都安装到何处:rpm –ql7)查看一下已安装软件所依赖的软件包及文件:rpm -qR 软件名8)查看一下已安装软件的配置文件:rpm -qc 软件名9)查看一个已经安装软件的文档安装位置:rpm -qd 软件名*对未安装的软件进行查询:1)查看一个软件包的用途、版本等信息:rpm -qpi file.rpm2)查看一件软件包所包含的文件:rpm -qpl file.rpm3)查看软件包的文档所在的位置:rpm -qpd file.rpm4)查看一个软件包的配置文件:rpm -qpc file.rpm5)查看一个软件包的依赖关系:rpm -qpR file.rpm4.验证*命令格式:rpm –V file.rmp*软件包状态标签:5 -- MD5 校验和S -- 文件长度L -- 符号链接T -- 文件修改日期D -- 设备U -- 用户G -- 用户组M -- 模式(包含许可和文件类型)? -- 不可读文件5.卸载*命令格式:rpm –e软件包名三.YUM安装& 建立YUM下载源的步骤:1)将所有RPM文件放入同一个目录中;2)在该目录中建立YUM下载源数据,执行createrepo + 软件包绝对路径3)通过本地file、HTTP、FTP分享这个目录&yum的配置一般有两种方式:其一是直接配置/etc目录下的yum.conf文件,& /etc/yum.conf文件说明:[main]cachedir=/var/cache/yum #yum下载的RPM包的缓存目录keepcache=0 #缓存是否保存,1保存,0不保存debuglevel=2 #调试级别(0-10),默认为2logfile=/var/log/yum.log #yum的日志文件所在的位置exactarch=1 #在更新的时候,是否允许更新不同版本的RPM包obsoletes=1 #update参数,允许更新陈旧的RPM包gpgcheck=1 #是否检查GPG(GNU Private Guard),一种密钥方式签名plugins=1 #是否允许使用插件,默认是0不允许installonly_limit=3 #允许保留多少个内核包。
Linux各种包安装命令(.rpm .src .tar.gz .bin)
各种包安装命令(.rpm .src .tar.gz .bin)几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。
与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。
1. RPM全称是Red Hat Package Manager(Red Hat包管理器)。
RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。
大多数Linux RPM软件包的命名有一定的规律,它遵循名称-版本-修正版-类型-MYsoftware-1.2 -1.i386.rpm 。
2.安装RPM包软件#rpm -ivh MYsoftware-1.2 -1.i386.rpmRPM命令主要参数:-i 安装软件。
-t 测试安装,不是真的安装。
-p 显示安装进度。
-f 忽略任何错误。
-U 升级安装。
-v 检测套件是否正确安装。
这些参数可以同时采用。
更多的内容可以参考RPM的命令帮助。
3.卸载软件#rpm -e 软件名需要说明的是,上面代码中使用的是软件名,而不是软件包名。
例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行:#rpm -e software4.强行卸载RPM包有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。
如果执行命令会显示如下错误信息:## rpm -e xsnowerror: removing these packages would break dependencies:/usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1在这种情况下,可以用--force选项重新安装xsnow:## rpm -ivh --force xsnow-1.41-1.i386.rpmxsnow这里推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。
rpm 编译原理-概述说明以及解释
rpm 编译原理-概述说明以及解释1.引言1.1 概述概述部分:RPM(Red Hat Package Manager)是一种用于管理和安装软件包的工具,在Linux系统中被广泛使用。
通过RPM,用户可以轻松地安装、升级、卸载软件包,使得软件管理更加便捷和高效。
RPM编译原理是指在安装软件包时,系统是如何根据软件包的源代码文件进行编译和打包的过程。
本文将详细介绍RPM的编译原理,包括RPM的定义和概念、编译原理的详细解释,以及编译的步骤和流程。
通过深入了解RPM编译原理,读者可以更好地理解软件包管理的原理和过程,为之后的软件安装和管理提供指导。
1.2 文章结构文章结构主要包括引言、正文和结论三部分。
1. 引言部分介绍了文章的概述,包括对RPM编译原理的初步介绍,文章结构的概览以及撰写本文的目的。
2. 正文部分主要分为三个小节:2.1 RPM的定义和概念,该部分主要介绍RPM的定义和相关概念,让读者对RPM有一个基本的认识和了解。
2.2 RPM编译原理详解,详细解释RPM编译原理的相关内容,包括核心概念、理论基础等,帮助读者深入理解RPM的编译原理。
2.3 RPM编译的步骤和流程,具体介绍RPM编译的步骤和流程,让读者掌握RPM编译的实际操作方法。
3. 结论部分包括三个小节:3.1 总结RPM编译原理的重要性,总结RPM编译原理在软件开发中的重要性,并提出相关建议和看法。
3.2 未来发展方向,探讨RPM编译原理的未来发展方向和趋势,展望RPM编译原理在未来的应用和发展。
3.3 结论,对全文内容进行总结,强调RPM编译原理的重要性和价值,为读者留下深刻印象。
1.3 目的本文的主要目的是深入探讨RPM 编译原理,帮助读者更好地理解RPM 软件包管理工具的工作原理。
通过对RPM 的定义和概念、编译原理的详细解释以及编译步骤和流程的分析,读者将能够更全面地了解RPM 软件包是如何被创建、编译和安装的。
此外,我们还将探讨RPM 编译原理的重要性,以及对未来发展方向的展望。
Linux操作系统的编译和安装
Linux操作系统的编译和安装在正文规定的字数限制下,为了准确满足标题描述的内容需求,并确保内容排版整洁美观、语句通顺、全文表达流畅且无影响阅读体验的问题,本文将按照以下格式进行写作:一、简介Linux操作系统是一种开源的、自由的Unix-like操作系统,它广泛应用于各种领域,包括服务器、嵌入式设备等。
本文将重点介绍Linux 操作系统的编译和安装过程。
二、编译准备1. 下载源代码在编译Linux操作系统之前,首先需要从官方网站下载Linux内核的源代码包。
2. 安装必要的依赖软件在编译过程中,需要安装一些必要的软件和工具,如编译器、构建工具等。
三、编译步骤1. 解压源代码包使用解压命令将下载的源代码包解压到指定目录。
2. 配置编译选项进入源代码目录,并运行配置命令,根据需要选择不同的编译选项。
3. 执行编译命令运行编译命令开始编译操作系统内核,这个过程可能需要一段时间。
四、安装步骤1. 安装编译生成的内核镜像文件将编译生成的内核镜像文件复制到合适的位置,并修改相关配置文件以引导新编译的内核。
2. 安装相关系统文件运行安装命令,将其他必要的系统文件复制到适当的位置。
五、系统配置1. 修改引导加载程序根据系统的引导加载程序,如GRUB、LILO等,修改引导配置文件以支持新安装的内核。
2. 配置网络和驱动程序根据具体需求,配置网络设置和硬件驱动程序。
六、测试与验证1. 重新启动系统重新启动计算机,并选择新编译的内核进行引导。
2. 验证系统版本和功能运行相应的命令,验证新安装的Linux操作系统版本和功能是否正确。
七、常见问题解决1. 编译错误分析编译过程中出现的错误信息,根据错误提示进行逐步修复。
2. 硬件兼容性问题部分硬件设备可能需要额外的驱动程序或补丁文件才能正常运行,根据具体情况进行相应的处理。
八、总结通过本文的介绍,读者可以了解到Linux操作系统的编译和安装过程,同时了解到在实际操作中会遇到的一些常见问题及解决方法。
linux程序包管理之rpm
linux程序的源码编译安装方式毕竟比较繁琐,安装后也不易管理,为此linux 官方提供了专门的程序包管理器来解决这些问题一、程序包管理器程序包管理器:将源程序编译并打包成一个或有限的几个文件,可用于实现安装、查询、升级、卸载等功能程序包管理器的管理实现:①数据库,用于记录:程序名及版本程序之间的依赖关系功能性说明安装生成的各文件路径及校验码②程序的组成清单:文件清单安装卸载时运行的脚本常用程序包管理器:Redhat:rpm(redhat package manager),其对应的程序包后缀为.rpm,对应的前端工具为yumDebian:dpkg,其对应的程序包后缀为.deb,对应的前端工具为apt-getrpm包的制作需要rpmbuild工具,其制作过程这里不作说明,以下详解一下rpm包的管理二、rpm程序包2.1、rpm包命名格式:name-version-release.arch.rpm,如httpd-2.2.15-45.el6.centos.x86_64.rpmversion:major.minor.release,同源码release:rpm自身发行号,与源码的发行号无关,仅用于标识对rpm包不同制作的修订,同时release还包含此包适用的OSarch:适用的硬件平台x86: i386, i486, i586, i686等x86_64: x86_64powerpc: ppcnoarch: 依赖于虚拟机2.2、rpm分包机制一个程序体积可能很大,为了方便管理,rpm包管理器依据功能性差异,将一个程序打包成若干个包主包(核心包):其name与源程序一致,如httpd-2.2.15-45.el6.centos.x86_64.rpm子包:httpd-devel-2.2.15-45.el6.centos.x86_64.rpmhttpd-tools-2.2.15-45.el6.centos.x86_64.rpm区别:程序x依赖于y和z,若x是基于rpm包安装,则x依赖的是y和z的核心包;若x基于源码编译安装,则x依赖的是y和z的开发包2.3、获取rpm包的途径①官方发行的光盘、官方站点、镜像站点②项目的官网:源代码、rpm包③第三方机构或个人制作并公开发布许多rpm包④额外程序包的可靠途径:EPEL,为Federa所维护2.4、rpm包的合法性验证rpm包的合法性包括来源合法性和包的完整性两个方面包的制作者使用单向加密算法提取出原始数据的特征码,并使用自己的私钥加密这段特征码,附加在原始数据之后验证过程:前提:必须有可靠机制获取到包制作者的公钥①使用包制作者的公钥解密那段加密的特征码,能解密则说明来源合法②使用与制作者同样的单向加密算法提取数据的特征码,并与解密得到的特征码比对,相同则说明包完整性没问题2.5、rpm 包管理器的使用㈠验证程序包的合法性我们在安装rpm 程序包之前,一般要检验其合法性,尤其是从非官方或非权威站点获得的包。
Linux下软件的命令行安装
Linux下软件的命令行安装Linux下软件包的模式一般有以下几种,rpm包、tar.gz(tar.bz2)源代码包、bin文件。
各种模式的安装方法都是不一样的,下面将简单说明各种模式该如何安装。
rpm包的安装rpm包作为linux下最常见的安装包,其安装命令也是最简单的。
一般采用‘rpm –ivh 包名’命令来安装。
其中-i参数就是安装,-v是显示帮助信息,-h是用hash符号(“#”)来显示安装过程。
对已经安装的rpm包可以使用rpm –e来进行卸载。
命令rpm –qa可以显示所有安装的rpm包。
bin文件的安装这类安装包是最简单的安装包。
我们只要cd进入存放该安装包的目录,键入‘./包名’就可以直接安装了。
其中,要注意的是必须对该文件具有x权限,如果没有x权限,使用命令‘chmod +x 包名’为用户加上x权限。
tar.gz或者tar.bz2源码包的安装step 1:将tar.gz包下载到本机step 2:以root用户进入系统step 3:cd进入tar.gz目录step 4:使用命令‘tar –zxvf ……tar.gz’或者‘tar –jxvf ……tar.bz2’进行解压缩。
解压缩后,一般会形成与[PackageName]相同的文件夹,如果不同,可用ls命令查询。
step 5:如果解压后的文件有install…….sh文件,就可以直接运行./进行安装;如果解压后的文件包含configure,那就需要对configure文件进行配置(configure文件中配置相关信息见附件)step 6:运行./configure执行相关配置step 7:make命令进行编译step 8:make install命令进行安装yum命令yum命令能将安装软件前所必需的软件包都找出来并关联安装。
下面就yum命令进行举例(在RHEL6.0_64bit的gnome界面上安装kde界面):step 1:将iso镜像文件复制到本地step 2:将iso文件挂载到目录/mnt/iso/1下mount –o loop iso文件/mnt/iso/1(注:因为mount命令是挂载一个分区,而这里的iso镜像只是一个文件,所以这里用-o loop来将iso文件当成一个虚拟分区)ps:如果你的iso文件在你的linux的cdrom中,首先用df –h命令查看iso文件是在哪个目录,比如/etc/sr0或者/etc/sr1),然后使用mount /etc/sr0 /mnt/iso/1进行挂载step 3:安装createrepo这个命令是创建yum源,方便后面的yum命令调用。
Linux中安装软件的三种方式
Linux中安装软件的三种⽅式1、Linux中安装软件的三种⽅式1、哪三种⽅式?rpm安装yum安装源代码编译安装2、区别rpm安装类似于windows中的安装包,下载下来之后直接安装。
缺点是不能⾃⼰解决依赖。
yum安装基于rpm安装,也就是在rpm上增加了⾃动解决依赖的功能。
源代码安装:通过编译源代码,得到软件包。
优点是可以⾃定制软件包,缺点是⽐较复杂。
2、RPM安装Linux中安装软件的三种⽅式安装:rpm -ivh [软件包名称]卸载:rpm -e [软件包名称]升级:rpm -Uvh [软件包名称]1、下载安装包2、安装[root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpmPreparing... ################################# [100%]Updating / installing...1:zsh-5.0.2-34.el7_8.2 ################################# [100%]3、卸载[root@localhost ~]# rpm -e zsh4、更新[root@localhost ~]# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpmPreparing... ################################# [100%]Updating / installing...1:zsh-5.0.2-34.el7_8.2 ################################# [100%]5、软件包名称zsh-5.0.2-34.el7_8.2.x86_64.rpm软件包名称:zsh版本号:5.0.2第多少次编译:34适⽤的平台:el7_8(CentOS 7)适⽤的系统位数:x86_64扩展名:rpm6、查看软件包的配置⽂件[root@localhost ~]# rpm -qc zsh7、查看是否安装某软件[root@localhost ~]# rpm -q zsh8、查看当前系统安装了哪些软件[root@localhost ~]# rpm -qa9、查看软件的安装路径,查看安装了哪些东西[root@localhost ~]# rpm -ql zsh上传与下载:yum install lrzsz -y3、yum安装基于rpm安装,⾃动解决依赖。
Linux学习之CentOS(23)--Linux软件管理之源代码以及RPM软件包管理
Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理在Linux系统下,对于软件包的管理有多种机制,有源代码方式、RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制一、源代码形式首先我们先来看一下源代码的方式。
我们知道,在开源的环境下,大多数的开源软件都是以源代码的形式来发布,通常将源代码打包成tar.gz的归档压缩文件发布到网上供我们下载使用。
但是我们下载下来的源代码方式我们还不能够直接使用,不像在windows系统上直接下载下来可执行的二进制文件,我们需要将下载好的源码编译成可执行的二进制文件才能运行使用,源代码形式安装流程一般如下:①./configure检查编译环境、相关库文件以及配置参数并生成makefile②make将源代码编译成可执行的二进制文件③make install安装编译好的可执行文件基本上所有以源代码形式发布的软件都是按照以上流程来进行安装,大家可能觉得其实步骤就这三个,安装过程非常简单!其实不然,通常以源代码形式发布的软件,在对其进行①、②步操作时往往会出很多很多的问题,比如说编译过程中缺少所需的库文件,或者说编译源码时又需要依赖A文件,编译A文件时可能又需要用到B文件,这样我们需要花大量时间去找这些依赖的问题,同时如果一个软件特别大的话,我们在将其编译过程中要等待非常久的时间。
所以说其实源代码形式的安装软件并不是我们想象的那么简单,但是为什么源代码形式的软件管理还一直存在呢?必然也有其优点,因为我们的源码都要通过编译成可执行的二进制文件才行,所以说它适用于各种操作系统平台,我只需要在各个操作系统平台上对其源码进行编译即可运行起来了。
总结一下:源代码形式的缺点:操作复杂、编译时间长、极易出现错误源代码形式的优点:适用于所有的操作系统、可定制二、RPM软件包管理因为源代码方式安装软件终究还是比较麻烦,所以说现在出现了许多代替源码方式安装的软件管理机制。
Linux-RPM包安装及卸载
RPM包安装及卸载来源: ChinaUnix博客日期:2008.01.07 14:36(共有0条评论) 我要评论RPM包:1.如何安装rpm软件包rmp软件包的安装可以使用程序rpm来完成。
执行下面的命令rpm -i your-package.rpm其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。
安装过程中可能出现下面的警告或者提示:... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有的文件,缺省时这样的情况下是无法正确安装的可以用rpm --force -i 强制安装即可... is needed by ...... is not installed ... 此包需要的一些软件你没有安装可以用rpm --nodeps -i 来忽略此信息也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能2.如何安装.src.rpm软件包有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。
这类软件包有两种安装方法,方法一:1.执行rpm -i your-package.src.rpm2. cd /usr/src/redhat/SPECS3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录5. ./configure 这一步和编译普通的源码软件一样,可以加上参数6. make7. make install方法二:1.执行rpm -i you-package.src.rpm2. cd /usr/src/redhat/SPECS前两步和方法一相同3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
rpm安装方法
rpm安装方法RPM安装方法。
RPM(Red Hat Package Manager)是一种用于在Linux系统上进行软件包管理的工具,它可以方便地进行软件的安装、升级和卸载。
在本文中,我们将介绍RPM的安装方法,帮助您快速掌握这一工具的基本操作。
首先,您需要确保您的系统中已经安装了RPM软件包管理工具。
您可以通过在终端中输入以下命令来检查:```bash。
rpm --version。
```。
如果系统中已经安装了RPM,您将会看到版本号等相关信息。
如果系统中没有安装RPM,您可以通过以下命令来安装:```bash。
sudo yum install rpm。
```。
在安装过程中,系统可能会提示您输入密码进行确认,输入密码后按下回车键即可开始安装。
安装完成后,您可以再次输入以下命令来确认RPM的安装情况。
接下来,我们将介绍如何使用RPM来安装软件包。
假设您已经下载了一个名为example.rpm的软件包,并且希望通过RPM来进行安装。
您可以在终端中使用以下命令来进行安装:```bash。
sudo rpm -ivh example.rpm。
```。
在这个命令中,-i表示安装软件包,-v表示显示详细信息,-h 表示显示安装进度。
在执行命令时,系统可能会提示您输入密码进行确认,输入密码后按下回车键即可开始安装。
安装完成后,您可以通过以下命令来确认软件包是否已经成功安装:```bash。
rpm -q example。
```。
如果软件包已经成功安装,您将会看到软件包的版本号等相关信息。
如果您希望卸载已经安装的软件包,可以使用以下命令:```bash。
sudo rpm -e example。
```。
在这个命令中,-e表示卸载软件包。
在执行命令时,系统可能会提示您输入密码进行确认,输入密码后按下回车键即可开始卸载。
卸载完成后,您可以通过以下命令来确认软件包是否已经成功卸载:```bash。
rpm -q example。
linux中rpm的用法
linux中rpm的用法
在Linux系统中,RPM(Red Hat Package Manager)是一种软件包管理工具,用于安装、升级、查询和删除软件包。
下面是一些常用的RPM命令和用法:
1. 安装一个RPM包:
rpm -i package.rpm
例如:rpm -i package.rpm
2. 升级一个已安装的软件包:
rpm -U package.rpm
例如:rpm -U package.rpm
3. 查询已安装的软件包:
rpm -q package_name
例如:rpm -q nginx
4. 列出已安装的所有软件包:
rpm -qa
例如:rpm -qa
5. 查询软件包的详细信息:
rpm -qi package_name
例如:rpm -qi nginx
6. 查询一个文件属于哪个软件包:
rpm -qf file_path
例如:rpm -qf /etc/nginx/nginx.conf
7. 删除一个已安装的软件包:
rpm -e package_name
例如:rpm -e nginx
8. 查询软件包的依赖关系:
rpm -qR package_name
例如:rpm -qR nginx
这些命令可以帮助你在Linux系统中使用RPM进行软件包的管理和操作。
如果需要更详细的信息,你可以通过man rpm 命令查阅RPM的手册页。
Linux操作系统rpm包安装方式详细步骤
Linux操作系统rpm包安装方式详细步骤Linux操作系统rpm包安装方式详细步骤安装包(Install pack),即软件安装包,是可自行解压缩文件的集合,其中包括软件安装的所有文件。
运行这个安装包(可执行文件),可以将此软件的所有文件释放到硬盘上,完成修改注册表、修改系统设置、创建快捷方式等工作。
安装包文件多为exe格式。
以下是店铺帮大家整理的Linux操作系统rpm包安装方式详细步骤,仅供参考,大家一起来看看吧。
Linux操作系统rpm包安装方式详细步骤篇1在Windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下。
所以你要学会如何在linux 下安装一个软件。
在前面的内容中多次提到的yum,这个yum是RedHat所特有的安装RPM程序包的工具,使用起来相当方便。
因为使用RPM安装某一个程序包有可能会因为该程序包依赖另一个程序包而无法安装。
而使用yum工具就可以连同依赖的程序包一起安装。
当然CentOS同样可以使用yum工具,而且在CentOS中你可以免费使用yum,但Redhat中只有当你付费后才能使用yum,默认是无法使用yum的。
在介绍yum之前先说一说RPM相关的东西。
【RPM工具】RPM是”Redhat Package Manager”的缩写,根据名字也能猜到这是Redhat公司开发出来的。
RPM 是以一种数据库记录的方式来将你所需要的套件安装到你的Linux 主机的一套管理程序。
也就是说,你的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。
RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。
但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
linux下RPM工具的使用:RPM安装查询查看卸载升级软件包
linux下RPM⼯具的使⽤:RPM安装查询查看卸载升级软件包⽬录⼀.关于软件包在linux中安装软件是需要安装包的,软件的安装包有各种类型:.zip,.rar,.rpm,.tar.gz,.tar。
软件包还可以分为源代码包和⼆进制包,源代码包是没有经过编译的包,需要经过GCC、C++编译器环境编译才能运⾏。
⼆进制包⽆需编译,可以直接安装使⽤。
区分是否为源代码包还是⼆进制包还得基于软件包⾥⾯的⽂件来判断,包含.h、.c、.cpp、.cc等结尾的源码⽂件,称之为源代码包,⽽软件包⾥⾯存在bin⽬录(bin⽬录⾥有可执⾏⽂件),称之为⼆进制包。
源码包⾼度可定制,可以⾃由选择⾃⼰需要的功能。
⼆.RPM软件包RPM是RPM Package Manager(RPM软件包管理器)的缩写,这⼀⽂件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、SUSE以及Turbo Linux等Linux的分发版本都有采⽤,可以算是公认的⾏业标准了。
RPM包是⼆进制包可以直接使⽤。
三.RPM包通⽤的命名规则RPM包的⼀般命名规则为:name-version-arch.rpm或者name-version-arch.src.rpm。
name就是软件包的名称version是软件的版本号,版本号的格式通常为“主版本号.次版本号.修正号”,也有发布版本号,表⽰这个RPM包是第⼏次编译⽣成的arch表⽰软件包适⽤的硬件平台,⽬前RPM⽀持的平台有:i386,i586,i686、sparc,alpha,x86_64等等.rpm或.src.rpm,是RPM包类型的后缀,.rpm是编译好的⼆进制包,可⽤rpm命令直接安装;.src.rpm表⽰是源代码包,需要编译之后才可以使⽤el* 表⽰这个软件包的发⾏商版本,el7表⽰这个软件包是在RHEL 7.x/CentOS 7.x下使⽤devel:表⽰这个RPM包是软件的开发包noarch:说明这样的软件包可以在任何平台上安装,不需要特定的硬件平台。
rpm、tar、gz、tgz、bz、bz2等文件的安装
rpm、tar、gz、tgz、bz、bz2等文件的安装rpm、tar、gz、tgz、bz、bz2等文件的安装从网站或是在CD-ROM上找到的Linux软件包,大部分为rpm、tar、gz、tgz、bz、bz2等格式。
下面我们便介绍一下它们的安装方法。
一、RPM格式文件的安装RPM 是RedHat Package Manager(RedHat软件包管理工具)的缩写。
现在主流的Linux 发行版本都采用了这一公认的开放式行业标准了(包括Red Hat Linux、Open Linux、S.u.S.E Linux、Turbo Linux等发行版本)。
RPM文件在Linux系统中的安装是很简单的。
下面我们举例说明一下:假设我们有一个RPM文件“Imail-3.10a-13.i386.rpm”,这是一个服务器端的邮件收发系统。
在Terminal中,其安装指令为:提问rpm -i Imail-3.10a-13.i386.rpmRPM的常用参数包括:-e 卸载相关的应用程序-vh 显示安装进度-U 升级软件包-qpl 列出RPM软件包的信息-qf 查找指定文件属于哪个软件包-Va 校验所有的RPM软件包其它参数可察看RPM的帮助文档。
在X Windows中安装RPM文件更为简单。
在文件管理器中找到一个RPM文件,用鼠标右击它,在弹出的菜单中就会有专为RPM文件准备的三个指令:Show Info(显示描述信息)、Upgrade(升级)、Install(安装)。
选择相应的指令即可。
有时在安装RPM软件包时会出现一些错误。
其中最为常见的便是试图安装一个已经安装好的软件、所要安装的软件包需要其它软件或系统库文件的支持等,情形与Windows差不多。
对于后者的错误,应该首先安装这些软件或系统库文件。
二、tar、tar.gz、tar.Z、tgz、bz2软件包的安装方法这几类软件包实质上是将一些文件打包之后,再进行压缩处理(tar文件未压缩)而成的。
Linux下,如何安装有互相依赖关系的RPM包
[root@oracle11g ~]# rpm -ivf elfutils-libelf-devel-0.137-3.el5.i386.rpm
warning: elfutils-libelf-devel-0.137-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
redhat 9如果以minimal安装,系统中并没有装gcc
加载redhat 9 disk1
$ rpm -Uvh binutils-2.13.90.0.18-9.i386.rpm
$ rpm -Uvh cpp-3.2.2-5.i386.rpm
$ rpm -Uvh glibc-devel-2.3.2-11.9.i386.rpm
这时候,可以尝试两个RPM包一起安装。
[root@oracle11g ~]# rpm -ivf elfutils-libelf-devel-0.137-3.el5.i386.rpm elfutils
-libelf-devel-static-0.137-3.el5.i386.rpm
warning: elfutils-libelf-devel-0.137-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
在linux上安装oracle前:
1.需要先检查安装需要的包都存在. #rpm -qa | grep .
2.检查后,没有安装的包可以通过linux ISO文件,RPM目录下找到自己想要的包
3.通过#rpm -ivh package_name进行安装.但有时候安装单个文件会出现error,告之有要依赖的RPM包
如何编译内核及制作RPM包
如何编译内核及制作RPM包编译内核及制作RPM包编译步骤第一步:# cd /home# wget /pub/linux/kernel/v2.6/linux-2.6.32.5.tar.gz# tar -zxvf linux-2.6.32.5.tar.gz -C /usr/src# cd /usr/src# ln -s linux-2.6.32.5 linux# cd linux第二步:# make mrproper (初次编译内核这步也可以省略,方便第二次编译初始用。
)# make menuconfig# make bzImage && make modules && make modules_install(需30~40分钟,具体看服务器配置)# make install如需制作RPM内核安装包,运行以下命令,相当于第二步的操作,但不编译本机内核。
# make rpm生成位置:/usr/src/redhat/RPMS/x86_64/kernel-2.6.32.6-2.x86_64.rpm /usr/src/redhat/SRPMS/kernel-2.6.32.6-2.src.rpm安装步骤1、二进制rpm包安装步骤# rpm -ivh kernel-2.6.32.6-1.x86_64.rpm# vi /boot/grub/menu.lst添加以下并修改default项。
title CentOS (2.6.32.6)root (hd0,0)kernel /vmlinuz-2.6.32.6 ro root=LABEL=/initrd /initrd-2.6.32.6.img# cd /lib/modules && mkinitrd /boot/initrd-2.6.32.6.img 2.6.32.6/2、RPM源码包安装步骤,好处便是在原有基础上再进行编译,更灵活。
Linux下RPM软件包的安装、更新及卸载方法
Linux下RPM软件包的安装、更新及卸载⽅法在 Linux 操作系统下,⼏乎所有的软件均通过RPM 进⾏安装、卸载及管理等操作。
RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,⽤于管理Linux 下软件包的软件。
Linux 安装时,除了⼏个核⼼模块以外,其余⼏乎所有的模块均通过RPM 完成安装。
RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。
RPM 安装操作命令:rpm -i 需要安装的包⽂件名举例如下:rpm -i example.rpm 安装 example.rpm 包;rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显⽰正在安装的⽂件信息;rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显⽰正在安装的⽂件信息及安装进度;RPM 查询操作命令:rpm -q …附加查询命令:a 查询所有已经安装的包以下两个附加命令⽤于查询安装包的信息;i 显⽰安装包的信息;l 显⽰安装包中的所有⽂件被安装到哪些⽬录下;s 显⽰安装版中的所有⽂件状态及被安装到哪些⽬录下;以下两个附加命令⽤于指定需要查询的是安装包还是已安装后的⽂件;p 查询的是安装包的信息;f 查询的是已安装的某⽂件信息;举例如下:rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;rpm -qip example.rpm 查看 example.rpm 安装包的信息;rpm -qif /bin/df 查看/bin/df ⽂件所在安装包的信息;rpm -qlf /bin/df 查看/bin/df ⽂件所在安装包中的各个⽂件分别被安装到哪个⽬录下;RPM 卸载操作命令:rpm -e需要卸载的安装包在卸载之前,通常需要使⽤rpm -q …命令查出需要卸载的安装包名称。
举例如下:rpm -e tomcat4卸载 tomcat4 软件包RPM 升级操作命令:rpm -U 需要升级的包举例如下:rpm -Uvh example.rpm升级 example.rpm 软件包RPM 验证操作命令:rpm -V 需要验证的包举例如下:rpm -Vf /etc/tomcat4/tomcat4.conf输出信息类似如下:S.5....T c /etc/tomcat4/tomcat4.conf其中,S 表⽰⽂件⼤⼩修改过,T 表⽰⽂件⽇期修改过。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
source文件主要在目录下:./configure 可以通过./configure --h来查看安装选项makemake install 就可以搞定,很简单呵呵rpm 的安装参考文章如下,但是有些不同的地方:1.如何安装rpm软件包rmp软件包的安装可以使用程序rpm来完成。
执行下面的命令rpm -i your-package.rpm其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。
安装过程中可能出现下面的警告或者提示:... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有的文件,缺省时这样的情况下是无法正确安装的可以用rpm --force -i 强制安装即可... is needed by ...... is not installed ... 此包需要的一些软件你没有安装可以用rpm --nodeps -i 来忽略此信息也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能2.如何卸载rpm软件包使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm 比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:rpm -e proftpd-1.2.8-1rpm -e proftpd-1.2.8rpm -e proftpd-rpm -e proftpd不可以是下列格式:rpm -e proftpd-1.2.8-1.i386.rpmrpm -e proftpd-1.2.8-1.i386rpm -e proftpd-1.2rpm -e proftpd-1有时会出现一些错误或者警告:... is needed by ... 这说明这个软件被其他软件需要,不能随便卸载可以用rpm -e --nodeps强制卸载3.如何不安装但是获取rpm包中的文件使用工具rpm2cpio和cpiorpm2cpio xxx.rpm | cpio -virpm2cpio xxx.rpm | cpio -idmvrpm2cpio xxx.rpm | cpio --extract --make-directories参数i和extract相同,表示提取文件。
v表示指示执行进程d和make-directory相同,表示根据包中文件原来的路径建立目录m表示保持文件的更新时间。
4.如何查看与rpm包相关的文件和其他信息下面所有的例子都假设使用软件包mysql-3.23.54a-111.我的系统中安装了那些rpm软件包rpm -qa 讲列出所有安装过的包如果要查找所有安装过的包含某个字符串sql的软件包rpm -qa |grep sql2.如何获得某个软件包的文件全名rpm -q mysql 可以获得系统中安装的mysql软件包全名,从中可以获得当前软件包的版本等信息。
这个例子中可以得到信息mysql-3.23.54a-113.一个rpm包中的文件安装到那里去了?rpm -ql 包名注意这里的是不包括.rpm后缀的软件包的名称也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。
如果只是想知道可执行程序放到那里去了,也可以用which,比如which mysql4.一个rpm包中包含那些文件一个没有安装过的软件包,使用rpm -qlp ****.rpm一个已经安装过的软件包,还可以使用rpm -ql ****.rpm5.如何获取关于一个软件包的版本,用途等相关信息?一个没有安装过的软件包,使用rpm -qip ****.rpm一个已经安装过的软件包,还可以使用rpm -qi ****.rpm6.某个程序是哪个软件包安装的,或者哪个软件包包含这个程序rpm -qf `which 程序名` 返回软件包的全名rpm -qif `which 程序名` 返回软件包的有关信息rpm -qlf `which 程序名` 返回软件包的文件列表注意,这里不是引号,而是`,就是键盘左上角的那个键。
也可以使用rpm -qilf,同时输出软件包信息和文件列表7.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以用于可执行程序,也可以用于普通的任何文件。
前提是知道这个文件名。
首先获得这个程序的完整路径,可以用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产生,或者从"` `"中的命令行产生6.关于rpm软件包的一些相关知识1.什么是rpmrpm 即RedHat Package Management,是RedHat的发明之一2.为什么需要rpm在一个操作系统下,需要安装实现各种功能的软件包。
这些软件包一般都有各自的程序,但是同时也有错综复杂的依赖关系。
同时还需要解决软件包的版本,以及安装,配置,卸载的自动化问题。
为了解决这些问题,RedHat针对自己的系统提出了一个较好的办法来管理成千上百的软件。
这就是RPM管理系统。
在系统中安装了rpm 管理系统以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载3.是不是所有的linux都使用rpm任何系统都需要包管理系统,因此很多linux都使用rpm系统。
但rpm系统是为RH专门但是TL,Mandrake等系统也都使用rpm。
由于rpm的源程序可以在别的系统上进行编译,所以有可能在别的系统上也使用rpm除了rpm,其他一些系统也有自己的软件包管理程序,例如debian的deb包,slakware也都有自己的包管理系统4.rpm包的文件名为什么那么长rpm包的文件名中包含了这个软件包的版本信息,操作系统信息,硬件要求等等。
比如mypackage-1.1-2TL.i386.rpm,其中mypackage是在系统中登记的软件包的名字1.1是软件的版本号,2是发行号,TL表示用于TL操作系统,还可能是RH等。
i386表示用于intel x86平台,还可能是sparc等。
5.软件包文件名中的i386,i686是什么意思rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构的信息。
i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32)i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32)noarch指这个软件包于硬件架构无关,可以通用。
i686软件包的程序通常针对CPU进行了优化,所以,向后兼容比较用以,i386的包在x86机器上都可以用。
向前一般不兼容。
不过现在的计算机,奔腾pro以下的CPU 已经很少用,通常配置的机器都可以使用i686软件包6.不同操作系统发行的rpm包可否混用?对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。
对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同系统下安装。
7.使用rpm时遇到的一些特殊问题Q 我用rpm -e **.rpm无法删除rpm包A 包名不要包括rpm,rpm -e 包名,可以包含版本号等信息,但是不可以有后缀.rpmQ 在MS的系统下有没有读RPM文件的工具?A wincmd with rpm plugins.....Q 是否可以通过ftp安装安装升级rpm包?A 可以。
rpm -ivh ftp://xxxxxxxx/PATH2SomeRPMQ rpm安装时已有的包版本过高怎么办?A 有时由于安装的软件包太老,而系统中相关的软件包版本比较新,所以可能需要安装的包依赖的一些文件会找不到。
这时有两种解决办法,第一是在系统文件中找到和需要的文件功能相同或相似的文件,做一个符号链接到需要的目录下。
src.rpm的安装方法:大家都知道的要先升级“module-init-tools“软件包,否则的话,等你安装内核模块文件的时候,系统会提示你:Warning: you may need to install module-init-tools See/post-h...4.21-23.src.rpm进入下载目录下并安装:#rpm -e --nodeps modutils (强行卸载原有的modutilsRPM包)#rpm -ivh modutils-2.4.21-23.src.rpm (把源代码包安装到了/usr/src/redhat目录下)#cd /usr/src/redhat/SPECS (进入规范文件目录下)#rpmbuild --bb modutils.spec (生成二进制的RPM包)#cd ../RPMS/i386 (转入刚生成的二进制的RPM包所在位置)#rpm -ivh modutils*.rpm (刚生成两个[modutils-2.4.21-23.i386.rpm与modutils-debuginfo-2.4.21.23.i386.rpm]二进制的RPM包,一起安装自己在装一个RPM包的时候,在第二步不能通过,cd /usr/src/redhat/SPECS3. rpmbuild -bp your-package.specs ,出现没有文件的依赖错误,所以在./source文件下找到原代码的压缩包,解压后之间安装,不知道可否?。
可以参考如下:三、如果没有spec 文件,我应该怎么办?如果您只是想安装这个软件,可以用下面的办法;[root@localhost beinan]# tar zxvf file.tar.gz 或者 tar file.tar.bz2 [root@localhost beinan]# cd filedir[root@localhost beinan]# ./configure --help注:可以用--help 来查看参数;如果您不懂如何加,一般就默认就好,试着编译几个就知道了;[root@localhost beinan]# make[root@localhost beinan]# make install[root@localhost beinan]# make clean有些软件只提供比较老的file.spec 文件,我们可以改造改造file.spec 文件,以适合软件的新版本;您也可以到/svn/trunk/rpms查找是不是有对应的file.spec 文件;有些软件不提供file.spec 文件,并且您也在其实资源站上也找不到类似的文件,而且您还想从源码包打一个file.rpm 包和大家交流,那只好自己学习编写了。