Linux软件安装之RPM的安装技巧
- 格式:doc
- 大小:17.50 KB
- 文档页数:3
LinuxRPM包安装、卸载和升级(rpm命令)详解
本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装、卸载和升级操作。
我们以安装apache 程序为例。
因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。
RPM包默认安装路径
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。
是测试页,如图 2 所示。
图 2 apache测试页
-e 选项表示卸载,也就是 erase 的首字母。
RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。
Linux上安装和卸载rpm软件包的⽅法Linux上安装和卸载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包,在安装时需要进⾏编译。
这类软件包有两种安装⽅法,⽅法⼀:执⾏rpm -i your-package.src.rpmcd /usr/src/redhat/SPECSrpmbuild -bp your-package.specs ⼀个和你的软件包同名的specs⽂件cd /usr/src/redhat/BUILD/your-package/ ⼀个和你的软件包同名的⽬录./configure 这⼀步和编译普通的源码软件⼀样,可以加上参数makemake 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 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名。
其中包括软件包的名称(foo),版本号(1.0),发行号(1),和硬件平台(i386)。
安装一个软件包只需简单的键入以下命令:$ rpm -ivh foo-1.0-1.i386.rpmfoo ####################################RPM安装完毕后会打印出软件包的名字(并不一定与文件名相同),而后打印一连串的#号以表示安装进度。
虽然软件包的安装被设计的尽量简单易行,但还是可能会发生如下的错误:1、软件包已被安装如果您的软件包已被安装, 将会出现以下信息:$ rpm -ivh foo-1.0-1.i386.rpmfoo package foo-1.0-1 is already installederror: foo-1.0-1.i386.rpm cannot be installed如果您仍旧要安装该软件包,可以在命令行上使用--replacepkgs 选项,RPM将忽略该错误信息强行安装。
2、文件冲突如果您要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:# rpm -ivh foo-1.0-1.i386.rpmfoo /usr/bin/foo conflicts with file from bar-1.0-1error: foo-1.0-1.i386.rpm cannot be installed要想让RPM 忽略该错误信息,请使用--replacefiles 命令行选项。
3、未解决依赖关系RPM软件包可能依赖于其它软件包,也就是说要求在安装了特定的软件包之后才能安装该软件包。
如果在您安装某个软件包时存在这种未解决的依赖关系。
安装完了一个崭新的操作系统,且对操作系统自带的程序有了大致的了解,相信大家的兴趣一定高了不少,接下来一定会想安装一些自己需要的应用软件。
在Linux系统中安装和配置应用软件,长期以来被公认为是Linux的软肋之一,因为Linux到目前还没有像微软Windows那样简单的Setup-And-Run的安装方法。
但是随着KDE和GNOME等桌面环境的完善,在Linux中安装应用软件的难度降低了许多。
首先说说REDHAT Linux 9.0中几种软件安装方式。
三大软件安装方式1.通过RPM软件包来安装说起RPM(REDHAT Package Management)标准的软件包,大家可能都会想起大名鼎鼎的REDHAT公司,正是RPM软件包发行方式的出现,使Linux中的应用软件安装变得简单。
如果用户想安装按RPM方式发行的软件,只需简单地输入命令“rpm -ivh xxx.rpm”即可。
比如用户想安装-1.0.1.rpm软件包,只需输入命令“rpm -ivh -1.0.1.rpm”即可。
RPM软件包发行方式的另一个优点是它能够方便地对已经安装的RPM软件包进行删除,只要使用“rpm -e -1.0.1”命令就能将刚才安装的-1.0.1.rpm从硬盘上安全永久地删除。
如果你是在X-Window环境中安装/删除软件,那便有更好的办法,如果使用的是KDE,可以使用KDE自带的Kpackage程序来对软件进行添加或删除,如果是使用GNOME,则可以使用Gnorpm程序对软件进行管理。
这两个程序都很像微软Windows中的“添加/删除程序”功能。
以RPM软件包发行方式的软件是最容易安装和管理的,建议大家以后多采用这种模式来管理软件。
2.Tar.gz(Tgz)软件包的安装以Tar.gz为扩展名的软件包,是用Tar程序打包并用Gzip程序压缩的软件包。
要安装这种软件包,需要先对软件包进行解压缩,使用“tar -zxfv filename.tar.gz”可以对软件包进行解压缩,解压缩所得的文件在以Filename为名的目录中。
rpm使用方法
RPM是一个软件包管理工具,用于在Linux操作系统中安装、升级和卸载软件包。
以下是使用RPM的一些常见方法:
1. 安装软件包:使用rpm命令安装软件包,例如:
`rpm -ivh packagename.rpm`
其中,-i参数表示安装,-v参数表示显示详细信息,-h参数表示显示进度条。
2. 升级软件包:使用rpm命令升级软件包,例如:
`rpm -Uvh packagename.rpm`
其中,-U参数表示升级,-v参数表示显示详细信息,-h参数
表示显示进度条。
3. 卸载软件包:使用rpm命令卸载软件包,例如:
`rpm -e packagename`
其中,-e参数表示卸载软件包。
4. 查询软件包信息:使用rpm命令查询软件包信息,例如:
`rpm -q packagename`
其中,-q参数表示查询软件包信息。
5. 列出所有安装的软件包:使用rpm命令列出所有已安装的软件包,例如:
`rpm -qa`
其中,-a参数表示列出所有软件包。
6. 列出软件包文件列表:使用rpm命令列出软件包中包含的所有文件,例如:
`rpm -ql packagename`
其中,-q参数表示查询软件包信息,-l参数表示列出软件包文件列表。
以上是使用RPM的一些常见方法,需要注意的是,在使用rpm命令时需要以root权限运行。
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操作系统中RPM命令参数的使用详解在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。
此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。
由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。
下面就给大家介绍一下它的具体使用方法。
[root@ford /root] # rpm -qa | more1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:rpm -qpi Linux-1.4-6.i368.rpm系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。
2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:rpm -qpl Linux-1.4-6.i368.rpm3.选择安装方式后,开始安装。
我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。
在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可。
5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁6.另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。
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包,这个是编译好的二进制文件。
linux系统中如何安装程序软件方法有哪些Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
对于安装程序软件方法,Linux系统和Windows相比相对复杂一点,这篇文章主要介绍了linux系统中如何安装程序、软件的几种方法,需要的朋友可以参考下一、二进制分发软件包的安装与卸载Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
1、*.rpm形式的二进制软件包安装:rpm -ivh *.rpm卸载:rpm -e packgename说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。
rpm的参数中-i是安装,-v是校验,-h是用散列符显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel。
更多的rpm参数请自行参看手册页:man rpm。
如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。
Redhat Linux如何安装软件先来看看Linux软件扩展名。
软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的;后缀为.bin的一般是一些商业软件。
通过扩展名可以了解软件格式,进而了解软件安装。
RPM格式软件包的安装1.简介几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。
与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。
PM全称是Red Hat Package Manager(Red Hat包管理器)。
RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。
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 software 4.强行卸载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包。
详解linux安装软件的⼏种⽅法⼀、rpm包安装⽅式步骤:1、找到相应的软件包,⽐如soft.version.rpm,下载到本机某个⽬录;2、打开⼀个终端,su -成root⽤户;3、cd soft.version.rpm所在的⽬录;4、输⼊rpm -ivh soft.version.rpm详细介绍:1. 安装:我只需简单的⼀句话,就可以说完。
执⾏:rpm –ivh rpm的软件包名更⾼级的,请见下表:rpm参数参数说明-i 安装软件-t 测试安装,不是真的安装-p 显⽰安装进度-f 忽略任何错误-U 升级安装-v 检测套件是否正确安装这些参数可以同时采⽤。
更多的内容可以参考RPM的命令帮助。
2. 卸载:我同样只需简单的⼀句话,就可以说完。
执⾏:rpm –e 软件名不过要注意的是,后⾯使⽤的是软件名,⽽不是软件包名。
例如,要安装software-1.2.3-1.i386.rpm这个包时,应执⾏:rpm –ivh software-1.2.3-1.i386.rpm⽽当卸载时,则应执⾏:rpm –e software。
另外,在Linux中还提供了象GnoRPM、kpackage等图形化的RPM⼯具,使得整个过程会更加简单。
⼆、deb包安装⽅式步骤:1. 1、找到相应的软件包,⽐如soft.version.deb,下载到本机某个⽬录;2. 2、打开⼀个终端,su -成root⽤户;3. 3、cd soft.version.deb所在的⽬录;4. 4、输⼊dpkg -i soft.version.deb详细介绍:这是Debian Linux提供的⼀个包管理器,它与RPM⼗分类似。
但由于RPM出现得更早,所以在各种版本的Linux都常见到。
⽽debian的包管理器dpkg则只出现在Debina Linux中,其它Linux版本⼀般都没有。
1. 安装dpkg –i deb的软件包名如:dpkg –i software-1.2.3-1.deb2. 卸载dpkg –e 软件名如:dpkg –e software3.查询:查询当前系统安装的软件包:dpkg –l ‘*软件包名*'如:dpkg –l '*software*'三、tar.gz源代码包安装⽅式:1. 1、找到相应的软件包,⽐如soft.tar.gz,下载到本机某个⽬录;2. 2、打开⼀个终端,su -成root⽤户;3. 3、cd soft.tar.gz所在的⽬录;4. 4、tar -xzvf soft.tar.gz //⼀般会⽣成⼀个soft⽬录5. 5、cd soft6. 6、./configure7. 7、make8. 8、make install详细介绍:1. 安装:整个安装过程可以分为以下⼏步:1. 1)取得应⽤软件:通过下载、购买光盘的⽅法获得;2. 2)解压缩⽂件:⼀般tar包,都会再做⼀次压缩,如gzip、bz2等,所以你需要先解压。
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包安装方式详细步骤安装包(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中安装软件是需要安装包的,软件的安装包有各种类型:.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:说明这样的软件包可以在任何平台上安装,不需要特定的硬件平台。
Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alie n把rpm转换成de b。
sudoapt-g et in stall alie n #al ien默认没有安装,所以首先要安装它sudo alie n xxx x.rpm #将rp m转换位d eb,完成后会生成一个同名的x xxx.d ebsudodpkg-i xx xx.de b #安装注意,用ali en转换的deb包并不能保证100%顺利安装,所以可以找到d eb最好直接用deb有时候,我们想要使用的软件并没有被包含到U buntu的仓库中,而程序本身也没有提供让 Ub untu可以使用的 deb包,你又不愿从源代码编译。
但假如软件提供有rpm包的话,我们也是可以在 Ub untu中安装的。
方法一:1. 先安装 ali en 和faker oot 这两个工具,其中前者可以将 rp m 包转换为 deb包。
安装命令为:sud o apt-getinsta ll al ien f akero ot2. 将需要安装的rpm 包下载备用,假设为p ackag e.rpm。
3. 使用alien将 rp m 包转换为 deb包:fake rootalien pack age.r pm4. 一旦转换成功,我们可以即刻使用以下指令来安装:s udo d pkg -i pac kage.deb 方法二:1.CODE:su do ap t-get inst all r pm al ien 2.CO DE: alie n -dpacka ge.rp m3.CODE:s udo d pkg -i pac kage.deb在Ubun tu下安装exe软件要wine,而安装r pm软件要alien。
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 表⽰⽂件⽇期修改过。
Linux软件安装之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 -i new-package.rpm即可安装完成。
3.怎么卸载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强制卸载 4.怎么不安装不过获取rpm包中的文件使用工具rpm2cpio和cpiorpm2cpio xxx.rpm | cpio -virpm2cpio xxx.rpm | cpio -idmvrpm2cpio xxx.rpm | cpio --extract --make-directories参数i和extract相同,表示提取文件。
v表示指示执行进程d和make-directory相同,表示根据包中文件原来的路径建立目录m表示保持文件的更新时间。
5.怎么查看和rpm包相关的文件和其他信息下面所有的例子都假设使用软件包mysql-3.23.54a-111.我的系统中安装了那些rpm软件包rpm -qa 讲列出所有安装过的包如果要查找所有安装过的包含某个字符串sql的软件包rpm -qa |grep sql 2.怎么获得某个软件包的文件全名rpm -q mysql 能获得系统中安装的mysql软件包全名,从中能获得当前软件包的版本等信息。
这个例子中能得到信息mysql-3.23.54a-11 3.一个rpm包中的文件安装到那里去了?rpm -ql 包名注意这里的是不包括.rpm后缀的软件包的名称也就是说只能用mysql或mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。
如果只是想知道可执行程式放到那里去了,也能用which,比如which mysql 4.一个rpm包中包含那些文件一个没有安装过的软件包,使用rpm -qlp ****.rpm一个已安装过的软件包,还能使用rpm -ql ****.rpm 5.怎么获取关于一个软件包的版本,用途等相关信息?一个没有安装过的软件包,使用rpm -qip ****.rpm一个已安装过的软件包,还能使用rpm -qi ****.rpm 6.某个程式是哪个软件包安装的,或哪个软件包包含这个程式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 包名,能包含版本号等信息,不过不能有后缀.rpm Q 在MS的系统下有没有读RPM 文件的工具?A wincmd with rpm plugins..... Q 是否能通过ftp安装安装升级rpm包?A 能。
rpm -ivh ftp://xxxxxxxx/PATH2SomeRPM Q rpm安装时已有的包版本过高怎么办?A 有时由于安装的软件包太老,而系统中相关的软件包版本比较新,所以可能需要安装的包依赖的一些文件会未找到。
这时有两种解决办法,第一是在系统文件中找到和需要的文件功能相同或相似的文件,做一个符号链接到需要的目录下。