LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

开源软件安装源码包的方式安装软件

2023年1月6日 63点热度

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

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

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

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

安装 gcc 之前,可先使用如下命令看看是否已经安装:

[root@localhost ~]# rpm -q gcc

gcc-4.4.6-4.el6.i686

如果未安装linux系统官网,考虑到安装 gcc 所依赖的软件包太多,推荐大家使用 yum 安装 gcc。具体安装方式可阅读《Linux yum命令》一节。

linux安装bugfree_bugfree linux安装教程_linux下搭建bugfree

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

同样,在安装 make 命令之前,可使用如下命令查看其是否已经安装:

[root@localhost yum. repos.d]# rpm -q make

make-3.81-20.el6.i686

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

安装好了 gcc 编译器和 make 编译工具,接下来学习使用源码包安装软件。

Linux源码包安装软件本节仍然以安装 apache 为例,安装过程分为如下几步:

下载 apache 源码包。该软件的源码包可通过官方网站下载,得到的源码包格式为压缩包( ".tar.gz" 或 ".tar.bz2" )。

将各种文件分门别类保存在对应的目录中,应该成为合格 Linux 管理员约定俗成的习惯。Linux 系统中用于保存源代码的位置主要有 2 个,分别是 "/usr/src" 和 "/usr/local/src",其中 "/usr/src" 用来保存内核源代码,"/usr/local/src" 用来保存用户下载的源代码。将源码包进行解压缩,使用命令如下:

[root@localhost ~]#tar -zxvf httpd-2.2.9.tar.gz|more

进入解压目录linux格式化硬盘,执行如下命令:

[root@localhost ~]# ls

anaconda-ks.cfg httpd-2.2.9 httpd-2.2.9.tar.gz install.log install.log.syslog

[root@localhost ~]# cd httpd-2.2.9

bugfree linux安装教程_linux下搭建bugfree_linux安装bugfree

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

此步具体执行代码如下:

[root@localhost httpd-2.2.9]# ./configure --prefix=/usr/local/apache2

checking for chosen layout...Apache

checking for working mkdir -p…yes

checking build system type...i686-pc-linux-gnu

checking host system type...i686-pc-linux-gnu

checking target system typa...i686-pc-linux-gnu

…省略部分输出…

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

此命令没有加载其他功能,只是指定安装目录。需要说明的是,"/usr/local/apache2" 目录不需要手工建立,安装完成后会自动建立(这个目录是否生成也是检测软件是否正确安装的重要标志)。make 编译。make 会调用 gcc 编译器,并读取 Makefile 文件中的信息进行系统软件编译。编译的目的就是把源码程序转变为能被 Linux 识别的可执行文件,这些可执行文件保存在当前目录下。

执行的编译命令如下:

[root@localhost httpd-2.2.9]# make

编程过程较为耗时,需要有足够的耐心。正式开始安装软件,这里通常会写清程序的安装位置,如果没有,则建议读者把安装的执行过程保存下来,以备将来删除软件时使用。安装指令如下:

[root@localhost httpd-2.2.9]# make install

整个过程不报错,即为安装成功。

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

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

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

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

以删除 apache 为例,只需关闭 apache 服务后执行如下命令即可:

[root@localhost ~]# rm -rf /usr/local/apache2/

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: linux编译 php源码 源码 编译程序 软件
最后更新:2023年1月6日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
阿里云>社区>主题地图S>查看存储推荐 Linux的内核放在了哪里?/boot的启动目录一览 Linux中修改文件权限的命令、创建者所在组、所有人 linux到底难不难学呢?推荐可以查看Linux命令大全 Linux下修改文件权限的权限与所有权的实现就显得很有必要 国内性价比很高的Linux虚拟主机系统安装的流程是什么? 1.Linux磁盘分区和目录Linux发行版本之间的差别很少? 基于命令修改文件的权限命令-ld 学习Linux最简单、最实用的环境就是虚拟机环境(上) 计算机是如何启动的?、内核操作系统的启动流程 一个免费软件时间跟进的小白鼠是什么鬼?专题 如何在Linux上安装虚拟机的结果大多都是怎么安装的 Linux启动过程中的几个部分内核的引导(图) 指令中各个make-C~/linuxM=`pwd编译 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 启动第一步--加载BIOS当你打开计算机电源(组图) 个人笔记本安装Ubuntu20.04LTS下载地址 腾讯云服务器上也搭建一套环境,安装成功自动启动 go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由 Linux5.12的推送请求不断涌入新开放的合并窗口预计4月底看到它的稳定版本
Linux5.12的推送请求不断涌入新开放的合并窗口预计4月底看到它的稳定版本Linux自主访问控制机制模块详细分析:网络安全标准资料go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由【指南】Linux中网络接口卡的10种方法使用腾讯云服务器上也搭建一套环境,安装成功自动启动Linux线程的操作、多线程的同步和互斥的基本单位个人笔记本安装Ubuntu20.04LTS下载地址RedHatLinux-安装MySQL入门到精通启动第一步--加载BIOS当你打开计算机电源(组图)内核为什么需要内核线程Linux内核可以看作一个服务进程?虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载再传到linux2.配置数据库的环境和路径3.登陆数据库修改指令中各个make-C~/linuxM=`pwd编译Linux内核页表管理中那些鲜为人知的作用是什么?(图)Linux启动过程中的几个部分内核的引导(图)Linux常用应用工具软件安装管理——RedHatEnterprise存储库如何在Linux上安装虚拟机的结果大多都是怎么安装的如需最新mainline内核版本下载并安装新版本删除旧内核一个免费软件时间跟进的小白鼠是什么鬼?专题关于Linux系统版本命令的一些看法及解决办法的通知
Windows环境中远程连接Linux服务器_轻量 树莓派2正式发布支持微软Windows10操作系统派 研究一下Linux内存管理的32位Linux系统--虚拟地址 linux系统怎么在文件夹里搜索文件?方法总结及方法 个人笔记本安装Ubuntu20.04LTS下载地址 一下美国Linux服务器的系统优化优化方法方法 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 Linux下的文件一旦被删除,是难以恢复的? linux设备驱动开发详解–基于linux4.0内核设备树是一种描述硬件的数据结构 如何在CentOS上执行流行的MySQL数据库服务器的基本安装 1.安装JDK安装目录要求安装和配置是否成功 【Linux基础知识】无缓存的反向代理加速,简单的负载均衡和容错.3模块化 lsblk的大小扩容(2)-sh Linux云主机无法SSH远程登录,上午还用得挺好 Windows中命令提示符批量修改文件名称没有直接的方法是什么? 【干货】Linux下的线程是什么?(二) 【干货】管理用户(user)的工具或命令! 《嵌入式C/C++系统工程师实训教程》培训班 2022年最适合旧PC的10款轻量级Linux发行版 嵌入式LINUX系统培训班-国嵌课程
标签聚合
电脑 软件 命令模式 文件目录 unix linux服务器 shell linux系统 sudo 虚拟机
书籍
课程
技术群
技术干货大合集↓
  • 2023年1月 / 150篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.