软件开发基础之linux下安装某个软件的逻辑和过程

最后更新:2013-08-09


背景

自己之前也主要是,在windows平台下,下载和安装某个软件。

后来折腾了Linux下的软件开发后,弄过一些软件的下载和安装。

从完全没有概念,到有了点概念,所以,总结如下,以实现:

和我之前一样的没有Linux下的软件的安装的概念的人,可以基本搞懂,linux下的软件的下载和安装,是个什么逻辑。

 

简述:

先说windows平台下的软件安装,最常见的是:

下载到exe的安装文件,然后双击,然后一路下一步,使用默认配置,最后点击安装完成即可。

而对于linux下,一般来说,至少在出现各种更方便的软件包管理工具之前,是没有:

双击某个软件包,然后就可以自动帮你安装,直到安装完成的。

而linux下,对于安装软件来说,主要分两种:

  • 手动安装
    • 二进制直接安装:
      • 别人帮你编译好了,针对你的平台的,二进制文件,你直接拿过来使用即可
    • 源码编译后安装:
      • 获得源码,然后自己配置,编译,成对应的二进制,然后再安装到你系统中
  • 自动安装:
    • 使用ubuntu下的apt等工具,自动实现某软件的安装
      • 无需关心细节,直接apt-install xxx,即可实现常见的软件的安装

 

此处,主要介绍的是:

手动安装,包括二进制和源码的两种不同方式。

 

【todo:总结ubuntu下面的apt-install的常见用法】

 

Linux下安装软件的通用流程

 

下载得到对应平台的二进制文件而直接安装

很多时候,对于某个软件,别人,已经提供了,针对某个平台,编译好的,二进制文件;

如果此时,已经有了你的平台的二进制文件时,则可以直接下载后,直接(安装)使用,就不用麻烦再去编译了。

此时,只剩下,把解压后的,二进制,所在的xxx/bin的路径,添加到linux的环境变量path中,即可。

 

【todo:给出详细的例子,说明如何添加xxx/bin的路径到path中】

 

配置编译安装之前要明白的事情

一般的软件的源码包内,都有一些,关于介绍本软件,在配置,编译,安装等方面的注意事项。

所以,在真正去配置编译安装之前,认真的看人家的说明,会在你后期遇到问题时,有很大帮助。

最常见的几类说明文件有:

(1)readme.txt或README

最常见的,在你使用此程序之前,最好看看人家的说明。

注意其中是否有哪些事项需要你注意的。

以及,如何使用此程序等等。

举例:

【todo:给出,典型的某个readme中,有值得关注的内容的例子】

 

(2)INSTALL

在编译完毕后,对于安装,有哪些注意事项,如何操作,等等。

举例:

【todo:给出,典型的某个INSTALL中,有值得关注的内容的例子】

 

(3)config.sub

全称是:

Configuration validation subroutine script

其中,包含了:

当我们在进行各种配置,比如交叉编译时,常用的–host或–target的值的时候,往往不太确定,当前支持哪些值

这时候,就可以去config.sub去找找了。

举例:

【记录】Cygwin下用arm-xscale-linux-gnueabi-gcc交叉编译curl(libcurl)

【记录】Cygwin下用arm-xscale-linux-gnueabi交叉编译xmlrpc

【记录】Cygwin下用arm-xscale-linux-gnueabi交叉编译libxml2

 

时,对于–host和–target,就是:

先参考了:

【记录】重试使用最新版本1.18.0的crosstool-ng去配置和编译xscale的交叉编译器

中的:

【记录】编译配置好的xscale版本的crosstool-ng-1.18.0

期间编译输出的信息:

[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = i686-pc-cygwin
[EXTRA]      host   = i686-pc-cygwin
[EXTRA]      target = arm-xscale-linux-gnueabi

再去到config.sub中确认了一下,然后之后采用:

--build=i686-pc-cygwin --target=arm-xscale-linux --host=arm-xscale-linux

的配置的。

 

下载源码后自己配置编译安装

最最通用的步骤是:

  1. ./configure
  2. make
  3. make install

即所谓的:

  1. 配置
  2. 编译
  3. 安装

下面详细解释每个步骤。

 

获得软件的源码

简述:

主要有两种方式:

一种是,直接去官网,下载对应的源码包;

一种是,去别的某些(镜像)网站,下载对应的源码包;

详解:

【整理】Linux中如何查找,下载并解压某软件的源码

 

配置

如果没特殊需求,则直接去配置即可:

./configure

 

1.在配置之前,一般都可以通过:

./configure –help

可以查看到,当前软件,支持哪些详细的功能和配置

即,可以通过,该软件特定的参数,去开启或关闭某个功能或特性等等。

 

举例:

【记录】Cygwin下用arm-xscale-linux-gnueabi-gcc交叉编译curl(libcurl)

【记录】Cygwin下用arm-xscale-linux-gnueabi交叉编译xmlrpc

【记录】Cygwin下用arm-xscale-linux-gnueabi交叉编译libxml2

 

2.比较通用几个参数

(1)–prefix=xxx:

将你的程序,安装到哪里,等价于:

windows中,在安装过程中,所要选择的程序的安装目录

(2)交叉编译时,常会用到–host和–target

详见:

【整理】交叉编译心得和注意事项

 

编译

最常用的,就是直接make去编译即可:

make

 

安装

一般都是直接安装:

make install

即可,将生成的二进制文件,以及相关帮助文件(man文件),(sample,demo等)示例文件,安装到相应的位置。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量