Fork me on GitHub

[linux笔记]理清linux安装程序用到的(configure, make, make install)

我作为一名经常和linux打交道的程序员,每次在linux安装软件都祈求可以用——apt-get,yum,brew等应用程序管理器安装,有的时候事与愿违,你只能自己编译安装~wtf,说好的美丽世界呢?

这个时候你就用会用到标题上的:

configure, make, make install这四个指令,每当这个时候我的发怵 ,今天我忍不了了,我要把他们弄清楚,所以画了一整个中午的时间好好研究了它们。

不说百分之百都弄懂了,但是下次再编译安装的时候,嘿嘿。下面分享下我的收获:

后来我发现,这么直接说不直观,同时发现我的ubuntu上没有vim,索性:我就用编译的方法安装vim,配合着这些文字,希望大家看完可以跟清晰明了!

1.源文件

我用git clone下vim的源文件

git clone https://github.com/vim/vim.git


vim的源文件如下:

这个时候你down下来(关键词——git clone或 wget 或 curl)得到的文件,有可能是压缩包。也有可能就是个一堆文件(git clone下来的)

2.configure

一般网上的步骤:

./configure ——这里新手有可能会执行不了,这里解释下“./”——当前目录的意思,这个是相对路径。搜索关键词:绝对路径和相对路径

configure:是一个shell脚本,它在源文件的根目录中。他的作用是检查你的系统中是否有编译这个程序依赖的其它库之类的东西。

如果在windows下安装过大型游戏的小伙伴就知道那种感觉了。如果configure脚本检查编译环境不完整(需要的其它软件你没有安装或者找不到——路径不对没有关联上)。

就会中断,你必须解决它报告出来的error,才能进行下一步。

需要注意的一点:prefix参数——指定安装路径(安装到哪里),这个一定要指定,否则你不知道默认安装到哪里,不方便以后的管理

其它参数——搜索关键词:configure 参数

下面我运行:configure脚本并加上prefix参数(我要安装到root/learn_install目录下):

检查环境的时候遇到问题(这个就是需要依赖其它库):

搜索之后,解决方案如下:

安装完terminal library,重新运行configure脚本,成功!

 

make工具的来源是因为:

源文件多了可真是件让人头疼的事。幸运的是,实用程序make可以帮我们解决这两个问题——当程序的源文件改变后,它能保证所有受影响的文件都将重新编译,而不受影响的文件则不予编译,这真是太好了。

make:

make指令最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译的工作。

Makefile:这个文件是按照特定的语法编写的,文件中说明了,如何编译的各个源文件并链接生成可执行文件,并要求定义

源文件之间的依赖关系。

简单的说就是定义好源文件之间的依赖关系,并编译(这里是编译,不是检查)。

我认为就相当于:编译一边import中所有的模块,这样执行源文件的时候,就可以顺利执行了~(我是pythoner,c++貌似是include)

make完成:

 

make install:

执行完这条命令,安装完成,你会发现,在执行configure的时候prefix指定的安装路径,出现了~

  下面是我第一步执行的:

下面我运行:configure脚本并加上prefix参数(我要安装到root/learn_install目录下):

结果如下:

vim就在bin目录下。执行:/root/learn_install/bin/vim

但是还有最后一个问题,一般我们用vim的时候,无论在任何地方输入:vim都可以,但是现在就不行了。只能到这个/root/learn_install/bin目录下执行./vim才能执行.

这是因为:

你键入的指令都是在这些目录中查找,所以输入vim,他还是提示你没有安装。

所以我们可以建立一个软连接到/usr/bin目录下:

关键词:ln 软链接

这个不是我矫情啊,我一般都是用vi指令,但是vim是vi的升级版我干嘛放着plus不用,所以搜索一下,关键词:alias

输入:alais vi="vim"(这种方式重启后失效)

 

ok啦,这个时候你在哪里输入vi都可以了,嘿嘿

posted @ 2015-11-06 17:30  削微寒  阅读(1922)  评论(2编辑  收藏  举报