linux14——源码包安装卸载

    #注意,如果在 "./configure" 或 "make" 编译中报错,则在重新执行命令前一定要执行 make clean 命令,它会清空 Makefile 文件或编译产生的 ".o" 头文件。

    #初次安装时,可能需要apr、apr-util、pcre文件,请自行下载,然后用WinSCP传输进Linux中,用“./configure”命令安装编译,建议和apache安装在同一目录下。

    由于 Linux 操作系统开放源代码,因此在其上安装的软件大部分也都是开源软件,例如 Apache、Tomcat 和 PHP 等。开源软件基本都提供源码下载,可采用源码安装的方式安装软件。

    注意,本节使用的源码包,指的是软件所有源代码的压缩包,其后缀名为 ".tar.gz" 或 ".tar.bz2";而 SRPM 源码包本质上属于 RPM 包,也就是源码的RPM包,其文件后缀为 ".src.rpm"。虽然都叫源码包,但不是一码事。

    软件的源代码,也就是软件的原始数据,任何人都可以通过源代码查看该软件的设计架构和实现方法,但软件源代码无法再计算机中直接运行安装,需要将源代码通过编译转换为计算机可以识别的机器语言,然后才可以安装。

    Linux 系统中,绝大多数软件的源代码都是用 C 语言编写的,少部分用 C++(或其他语言)编写。因此要想安装源码包,必须安装 gcc 编译器(如果涉及 C++ 源码程序,还需要安装 gcc-c++编译器)。

图1.查询gcc和gcc-c++是否安装

    如果没有安装,建议使用yum命令安装

    除了安装编译器,还需要安装 make 编译命令。要知道,编译源码包可不像编译一个 hello.c 文件那样轻松,包中含大量的源码文件,且文件之间有着非常复杂的关联,直接决定着各文件编译的先后顺序,因此手动编译费时费力,而使用 make 命令可以完成对源码包的自动编译。

图2.查询make是否安装

    如果未安装,可使用 yum -y install make 命令直接安装 make。

    下载 apache 源码包。该软件的源码包可通过官方网站http://httpd.apache.org/download.cgi#apache24下载,得到的源码包格式为压缩包( ".tar.gz" 或 ".tar.bz2" )。下载完成后通过WinSCP将源码包传输给linux(直接拖拽即可),WinSCP如图3:

图3.

    将各种文件分门别类保存在对应的目录中,应该成为合格 Linux 管理员约定俗成的习惯。

    将源码包进行解压缩,使用tar命令,不同的压缩包使用不同的命令和选项。

图4.

    进入解压目录,执行如下命令:

图5.该目录已经安装过apache

    ./configure 软件配置与检查。这一步主要完成以下 3 项任务:

    1.检测系统环境是否符合安装要求。

    2.定义需要的功能选项。通过 "./configure--prefix=安装路径" 可以指定安装路径。注意,configure 不是系统命令,而是源码包软件自带的一个脚本程序,所以必须采用 "./configure" 方式执行("./" 代表在当前目录下)。"./configure" 支持的功能选项较多,可执行 "./configure--help" 命令查询其支持的功能,例如:

    3.把系统环境的检测结果和定义好的功能选项写入 Makefile 文件,因为后续的编译和安装需要依赖这个文件的内容。图5是已经安装过apache的目录,若没有安装,则没有Makefile文件

图6.--prefix 选项的含义为指定安装目录。

    安装源码包既可以放在/opt/目录下,也可以放在/usr/local/目录下。我选择的是/opt/目录。

    此命令没有加载其他功能,只是指定安装目录。需要说明的是,"/opt/apache2" 目录不需要手工建立,安装完成后会自动建立(这个目录是否生成也是检测软件是否正确安装的重要标志)。

    make 编译。make 会调用 gcc 编译器,并读取 Makefile 文件中的信息进行系统软件编译。编译的目的就是把源码程序转变为能被 Linux 识别的可执行文件,这些可执行文件保存在当前目录下。

    执行的编译命令如下:[root@localhost httpd-2.2.9]# make

    编程过程较为耗时,需要有足够的耐心。

    正式开始安装软件,这里通常会写清程序的安装位置,如果没有,则建议读者把安装的执行过程保存下来,以备将来删除软件时使用。

    安装指令如下:[root@localhost httpd-2.2.9]# make install    #整个过程不报错,即为安装成功。

    安装源码包过程中,如果出现“error”(或“warning”)且安装过程停止,表示安装失败;反之,如果仅出现警告信息,但安装过程还在继续,这并不是安装失败,顶多使软件部分功能无法使用。

Linux源码包卸载

    通过源码包方式安装的各个软件,其安装文件独自保存在 /usr/local/ 目录下的各子目录中。例如,apache 所有的安装文件都保存在 /usr/local/apache2 目录下。这就为源码包的卸载提供了便利。

    源码包的卸载,只需要找到软件的安装位置,直接删除所在目录即可,不会遗留任何垃圾文件。需要读者注意的是,在删除软件之前,应先将软件停止服务。

    以删除 apache 为例,只需关闭 apache 服务后执行如下命令:[root@localhost ~]# rm -rf /usr/local/apache2/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容