最后更新:2013-08-09
背景
自己之前也主要是,在windows平台下,下载和安装某个软件。
后来折腾了Linux下的软件开发后,弄过一些软件的下载和安装。
从完全没有概念,到有了点概念,所以,总结如下,以实现:
和我之前一样的没有Linux下的软件的安装的概念的人,可以基本搞懂,linux下的软件的下载和安装,是个什么逻辑。
简述:
先说windows平台下的软件安装,最常见的是:
下载到exe的安装文件,然后双击,然后一路下一步,使用默认配置,最后点击安装完成即可。
而对于linux下,一般来说,至少在出现各种更方便的软件包管理工具之前,是没有:
双击某个软件包,然后就可以自动帮你安装,直到安装完成的。
而linux下,对于安装软件来说,主要分两种:
- 手动安装
- 二进制直接安装:
- 别人帮你编译好了,针对你的平台的,二进制文件,你直接拿过来使用即可
- 源码编译后安装:
- 获得源码,然后自己配置,编译,成对应的二进制,然后再安装到你系统中
- 二进制直接安装:
- 自动安装:
- 使用ubuntu下的apt等工具,自动实现某软件的安装
- 无需关心细节,直接apt-install xxx,即可实现常见的软件的安装
- 使用ubuntu下的apt等工具,自动实现某软件的安装
此处,主要介绍的是:
手动安装,包括二进制和源码的两种不同方式。
【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) |
时,对于–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
的配置的。
下载源码后自己配置编译安装
最最通用的步骤是:
- ./configure
- make
- make install
即所谓的:
- 配置
- 编译
- 安装
下面详细解释每个步骤。
获得软件的源码
简述:
主要有两种方式:
一种是,直接去官网,下载对应的源码包;
一种是,去别的某些(镜像)网站,下载对应的源码包;
详解:
配置
如果没特殊需求,则直接去配置即可:
./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等)示例文件,安装到相应的位置。
转载请注明:在路上 » 软件开发基础之linux下安装某个软件的逻辑和过程