文档章节

RedHat系列linux源码包软件的安装与卸载

Junn
 Junn
发布于 2014/06/13 12:19
字数 1910
阅读 156
收藏 2
Linux软件安装与卸载(源码包形式):一般情况下linux程序的发布不能像windows那样,直接打包成一个setup.exe文件,然用户安装 时直接按下一步就完成了,因为它对库的依赖比较严重下面就来看下linux下软件源码包安装与卸载:

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

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 zxvf *.tar.gz 或 tar yxvf *.bz2 先解压
然后进入解压后的目录:
./configure 配置
make 编译
make install 安装
卸载:make uninstall 或 手动删除

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

关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包? 如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里 的文件清单,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文 件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为 bin的目录(仅有少数例外)。


另附:linux删除安装包(rpm,src.rpm,tar.gz,bz2)

不管是哪个平台下,软件的安装与卸载是每一位计算机操作者所必需掌握的知识。Windows之所以易用、好掌握,也在于它软件安装、卸载完全图形化操作、直观。反观Linux,就令人感觉有些困惑。Linux下软件的安装除了二进制形式的软件分发外,还有许多以源码形式分发的软件包。

1、以“rpm”为后缀的二进制软件包

安装:rpm -ivh *.rpm
卸载:rpm -e packagename
参数-i表示安装,-v是校验,-h是用散列符显示安装进度,-e是删除软件包,packgename代表软件包名,也就是版本号前面那个字符串。
卸载软件前,应首先知道软件包在系统中注册的名称,可以使用命令:rpm -q -a 结合grep来查询。确定了要卸载的软件包名后,就可以开始卸载了,命令如上所示。
由于系统中各个软件包之间相互有依赖关系,如果因存在这种依赖关系而不能卸载,rpm将给予提示并停止卸载,此时,可以使用命令 rpm -e --nodeps packagename 来忽略依赖关系,直接进行卸载。当然,忽略依赖关系的卸载,可能导致系统中其它一些软件无法正常使用,卸载前应三思。

2、以“src.rpm”为后缀的源码软件包

安装:先使用命令 rpm -rebuild *.src.rpm 将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再 rpm -ivh *.rpm 安装该二进制包即可。
卸载:同上,rpm -e packgename

3、以“tar.gz”、“.bz2”为后缀的二进制软件包

安装:tar zxvf *.tar.gz 、tar jxvf *.bz2
参数-z调用gzip,-x是解包,-v是校验,-f指定包的文件名,此项通常必选,-j调用bzip。当然,这些参数也不是绝对要加上的,比如-v参数,或者也可以使用其它一些参数,只不过我习惯上这么写。
卸载:手动删除

4、以“tar.gz”、“.bz2”为后缀的源代码软件包

先使用命令 tar zxvf *.tar.gz 或 tar jxvf *.bz2进行解压,然后进入解压后的目录,接着就是众所周知的三步曲: ./configure(配置)、make(编译)、make install(安装)。建议解压后不要急着进行所谓的“三步曲”,而应该先看下相关的说明文件,了解软件安装需要哪些条件,以便在配置的时候提供相应的参数。
我通常的做法是,进入解压后的目录后,先用ls命令查看一下该目录下都有哪些文件。通常在解压后的目录里,会有一个“Install”的纯文本文件,不妨先看看里面的内容,里面详细讲述了软件包的安装方法。当然,有时候也会发现这个“Install”是个可执行文件。
我遇到过里面带有setup这种类似Windows下软件安装的可执行文件(当然,这种情况是比较少数的),这对于不太习惯使用Linux的用户来说,是比较方便的。还有,就是一个后缀为“bin”的安装文件,安装前先查看一下它的执行权限。如果不具有可执行权限,请先赋予它执行的权限,再像正常的可执行文件那样运行即可。
安装完毕后,应清除编译过程中产生的临时文件和配置过程中产生的文件,可以使用命令:make clean 以及make distclean。

有些软件包的源代码在编译安装后可以使用 make uninstall 命令来进行卸载,如果没有提供此功能,则该软件的卸载也只有手动删除。由于软件可能将文件分散安装在系统的多个目录中,手动删除往往很难将它删除干净,这也许是很多人比较头痛的地方。所以,通常的做法是,在编译前的配置阶段,指定软件将要安装到的目标路径,即 “./configure --prefix=目录名”,这样可以使用 “rm -rf  软件的目录名”这一命令来进行干净彻底的卸载。


linux下configure命令详细介绍

Linux中yum和apt-get用法及区别

© 著作权归作者所有

共有 人打赏支持
Junn
粉丝 145
博文 412
码字总数 288918
作品 0
海淀
高级程序员
linux-rpm包管理(一)

linux-rpm包管理(一) rpm软件管理 rpm是redhat与fc系统上提供的软件包管理体制,rpm软件在安装时,会将该软件的的信息写入rpm数据库中,方便将来的查询、验证、与卸载。 rpm软件优缺点 1. 优...

anziguoer
2014/03/29
0
0
Linux中wget、yum与apt-get用法及区别

一般来说著名的linux系统基本上分两大类: RedHat系列:Redhat、Centos、Fedora等 =====> 安装方式:apt-get Debian系列:Debian、Ubuntu等 =====> 安装方式:yum yum可以用于运作rpm包,例如...

干干
07/26
0
0
RedHat Package Manager(RedHat软件包管理工具)

RPM RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等...

Amamatthew
2014/08/20
0
0
深入讲解RPM包安装/升级/查询/卸载

新的一年到来,学习Linux的人逐渐增多,学习Linux,你可能会遇到RPM包安装/升级/查询/卸载问题,这里将介绍RPM包安装/升级/查询/卸载的解决方法,在这里拿出来和大家分享一下。 安装,升级和...

张超
2014/03/12
0
0
linux各个发行版本对比与简介

首先我们要能够清晰的区分Linux系统内核与Linux发行套件系统的区别,Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。而...

河图再现
04/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windbg调试C源码级驱动

联机方式不多说了。我博客里有,英文的。 windbg联机文档 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debug-universal-drivers---step-by-step-lab--echo-kernel......

simpower
36分钟前
0
0
redis快照和AOF简介

数据持久化到硬盘:一是快照(snapshotting),二是只追加文件(append-only file AOF) 快照 核心原理:redis某个时间内存内的所有数据写入硬盘 场景:redis快照内存里面的数据 1. 用户发送bgsav...

拐美人
37分钟前
0
0
这个七夕,送你一份程序员教科书级别的告白指南

给广大爱码士们的高能预警: 今天,就是七夕了…… (单身非作战人群请速速退场!) 时常有技术GG向个推君抱怨 经过网民多年的教育 以及技术人持之以恒的自黑 冲锋衣狂热分子·格子衫骨灰级粉...

个推
42分钟前
0
0
python爬虫日志(15)cookie详解

转载:原文地址 早期Web开发面临的最大问题之一是如何管理状态。服务器端没有办法知道两个请求是否来自于同一个浏览器。那时的办法是在请求的页面中插入一个token,并且在下一次请求中将这个...

茫羽行
42分钟前
0
0
qlv视频格式转换器

  腾讯视频中的视频影视资源有很多,小编经常在里面下载视频观看,应该也有很多朋友和小编一样吧,最近热播的电视剧也不少,如《香蜜沉沉烬如霜》、《夜天子》还有已经完结的《扶摇》,这么...

萤火的萤火
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部