在Linux平台下,软件包的类型可以划分为两类:源码包、二进制包。

源码包:
即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包)。

二进制包:
如 Red Hat发行版的.rpm包,Debian发行版的.deb包。

源码安装的主要步骤

1)获取源代码文件:一般为压缩包,并解压。

2)执行config: 一般在源代码目录中有install 或 readme等说明。

运行./config --prefix=PREFIX或者 ./config, config是一个可执行文件,其作用是检测操作系统,并生成makefile文件。其检测的内容有:系统中是否有合适的编译器来编译本软件,是否已经存在本软件所需要的函数库或其他相关软件,操作系统版本是否符合要求等。其中,PREFIX为安装位置。

曾经自己编译qt源码时,运行config时,其先生成了qmake,然后qmke根据.pro文件生成makefile文件。

3)执行make命令。
make根据makefile中指定的规则来将源代码编译成可执行文件。但是,这些可执行文件被放在当前目录下,不会安装到预定的安装目录中。

4)执行make install
make会根据makefile中关于install的选项,将上一步编译出来的东西(?)搞到指定的安装目录中。

-------------------------------------------------------

--prefix后面接的路径表示这个软件将要安装到哪个目录去,如果没有指定--prefix=/path这个参数,通常默认为/usr/local。推荐安装位置为 /usr/local/XXX,XXX为自己的实际目录,这样会方便以后的管理。

源码包安装方式的man文件默认保存在/usr/local/man或/usr/local/share/man中,如果你的安装路径自定义为如/usr/local/XXX,则man文件则一般是在/usr/local/XXX/share/man中。此时如果你想要通过man来查看你所安装软件的man手册,则需要自行修改man的路径配置文件(可能是man.config或者manpath.config)。需要在相应位置添加如下一行:

MANPATH    /usr/local/XXX/share/man

卸载

通过源码包安装的软件,当你想要卸载的时候,只需要把整个安装路径删除掉就行了,100%卸载,不会像windows那样经常会残留那多注册表之类的垃圾。

根据你的安装时候选择的安装路径,源码包的卸载又仓库两种情况:

如果你安装时候指定的路径为:
--prefix=/usr/local/XXX,那么卸载的时候只需要把XXX这个文件夹删除即可,因为该软件安装的所有文件都是放置在XXX这个文件夹。

但如果你进行源码包安装的时候没有指定位置(默认值一般为/usr/local/),或指定的位置为--prefix=/usr/local,则这时候你安装软件生成的文件将分别存储在/usr/local/里面的bin、lib或ect等目录中,这时候卸载起来就相对麻烦一点了。

源码包安装与二进制包的区别

源码包的优点:

1)开源,如果有能力可以修改源代码

2)可以自由选择所需的功能

3)软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高

4)卸载方便

源码包的缺点:

1)安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误

2)编译过程时间较长,安装比二进制安装时间长

3)因为是编译安装,安装过程中一旦报错新手解决

二进制包的优点:

1)包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载

2)安装速度比源码快得多

二进制包的缺点:

1)经过编译,不可以再看到源码

2)功能选择不如源码包灵活

3)依赖性

转载于:https://www.cnblogs.com/butterflybay/p/10347912.html

Linux软件安装管理---源码安装相关推荐

  1. 在 Linux 和 Windows 下源码安装 Perl

    Perl 是一种功能丰富的计算机程序语言,运行在超过 100 种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发.在生物信息分析领域,Perl 主要是做数据预处理.文本处理 ...

  2. linux下软件包管理-源码包-二进制包

    linux软件包管理   1.软件包分类     源码包     二进制包(rpm包)      2.rpm包命名规则       命名规则:         name-major-minjor-re ...

  3. 软件包的安装(源码安装)

    为什么要进行源码安装软件包呢? 由于我们系统自带都是一些已经编译好的rpm安装包,这些rpm包的更新的速度大约是每三年更新一次,对于那些具有新功能或者具有更多功能的的软件包,官方只提供给我们那些以c语 ...

  4. linux运行软件代码,Linux软件安装-详细源码安装过程

    1.简介 软件的安装是linux学习时的重中之重,*nux上重要思维哲 学组合若干小功能进而成为一个可用可维护的系统平台.那么在 操作系统构建完成之时,除非内核等支持系统必需软件之外,可 拓展可维护的 ...

  5. Linux下的软件安装方式+源码安装软件cmatrix代码雨

    Linux下的软件安装方式 1 rpm工具安装 2 yum工具安装 3 源码编译安装 软件包类型 1 二进制软件包(=rpm软件包) 无需编译,直接安装 根据计算机CPU架构类型和操作系统选择合适的软 ...

  6. linux下的geany源码安装,linux 下php开发工具geany-0.16的安装。

    说明 一款linux下的编辑器,支持很多开发语言. 下载 下载地址:http://www.geany.org/ 安装 源码安装 #./configure #make #make install 我在m ...

  7. linux中的httpd源码安装方法

    对于源码我们应该知道所谓源码就是用特定语言写成的文本,如C语言.其次源码安装 的好处是我们可以使用最新的版本和最新的功能,可以加入各种选项来个性配置,也可 以自定制使其更符合自己的习惯,而且在任何平台 ...

  8. Linux安装MySQL(源码安装)

    文章目录 一.下载 二.最小化安装配置 三.MySQL的安装的几种方式 1.MySQL安装方式 2. 三种安装方式的区别 四.MySQL的GLIBC版本安装 1. 上传软件包解压 2. 软件安装 3. ...

  9. l源码安装mysql升级_[Linux]javaEE篇:源码安装mysql

    javaEE :源码安装mysql 安装环境 系统平台:CentOS-7-x86_64 数据库版本:mysql-5.6.14 源码安装mysql步骤: 一.卸载mysql 安装mysql之前,先确保l ...

最新文章

  1. Android设计模式-观察者模式
  2. mysql search yum_centos7通过yum安装mysql的方法
  3. dataframe 通配符筛选
  4. java常用技术栈,HR的话扎心了
  5. mysql创建表对经常要查询的列添加索引或者组合索引
  6. 批评“古风”歌词“狗屁不通”就是不尊重?我们又都成了“垃圾听众”
  7. iOS多线程开发(三)---Run Loop(一)
  8. wxWidgets:wxRegKey 类演示
  9. 编写Nginx启停服务脚本
  10. 英特尔第十代处理器为什么不支持win7_5GHz动力澎湃 高主频多核处理器成就巅峰玩家...
  11. [html] 可替换元素和不可替换元素有什么不同的特点?
  12. GIS-004-Cesium版权信息隐藏
  13. 区间覆盖全部类型及部分精选习题汇总详解(贪心策略)
  14. Unity 如何修改 particle system 的 start color 属性
  15. Http协议简易分析
  16. 【 js 算法类】这么全的数组去重,你怕不怕?
  17. C语言判断素数的三种方法 判断素数(质数)
  18. 流水作业c语言代码,C语言流水灯
  19. 总结24个Python接单赚钱的平台,兼职月入5000+
  20. linux桥接模式配置

热门文章

  1. 当我们在谈大前端的时候,我们谈的是什么
  2. linux内核参数sem的说明
  3. springMvc时间格式化
  4. MFC第三节-多线程
  5. WCF中常见的几种Host,承载WCF服务的方法详解
  6. VIM的snipMate的继承设置
  7. POJ2486POJ3659 ——树形动态规划
  8. 为 ActionScript 导出库元件
  9. Java 集合系列02之 Collection架构
  10. ssh无法登录,提示Connection closing...Socket close.