[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都可以了,嘿嘿
[linux笔记]理清linux安装程序用到的(configure, make, make install)的更多相关文章
- 【Linux笔记】Linux目录结构
[Linux笔记]Linux目录结构 本文内容整理自网络,以作参考. /:根目录,位于linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib ...
- Linux源码编译安装程序
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
- linux 下通过源代码安装程序 ./configure 解释
大家 都知道在 linux 通过源代码 安装程序 1. 下载源码 2.解压缩 3. 执行 ./configure 4. make 5 make install make 命令 是对 makefile ...
- 『学了就忘』Linux软件包管理 — 49、拓展:Linux中通过脚本安装程序
目录 1.脚本程序简介 2.Webmin安装 (1)简介 (2)安装 (3)使用 1.脚本程序简介 脚本程序包并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于Windows下的程序安装,有 ...
- linux笔记:linux系统安装-vmware虚拟机安装
vmware版本:vmware8(百度云里备份了安装程序VMware_Workstation_wmb.zip) vmware软件安装过程: 1.在百度云中下载安装程序压缩包VMware_Worksta ...
- Linux源码包安装程序
★安装OS时,建议提前安装开发组件 CentOS 6:Development Tools.Server Platform DevelopmentCentOS 7:Development Tools.D ...
- Linux下编译安装源码包软件 configure ,make, make install, make test/check, make clean
http://www.360doc7.net/wxarticlenew/541275971.html 一.什么是源码包软件? 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件 ...
- Linux下编译安装源码包软件 configure ,make, make install, make test/check, make clean 假目标
http://www.360doc7.net/wxarticlenew/541275971.html 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 ...
- linux笔记:linux软件包管理,软件安装位置
linux软件包简介 软件包分类:1.源码包(用C语言等编写的源代码,没有进行编译):脚本安装包(对源码包进行了安装优化的源码包)优点:开源,可修改可以自由选择所需的功能编译安装,更适合自己的系统,稳 ...
随机推荐
- Java 定时任务
control 类 Date nowDate = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH: ...
- React同构直出原理浅析
通常,当客户端请求一个包含React组件页面的时候,服务端首先响应输出这个页面,客户端和服务端有了第一次交互.然后,如果加载组件的过程需要向服务端发出Ajax请求等,客户端和服务端又进行了一次交互,这 ...
- [转]office2010一直卡在“正在受保护的视图中打开”
用Office 2010 打开文件遇到“”,如下图: 转自: 解决办法: 还可以使用下面的方法打开上图的受保护视图设置界面: 1. 启动 Word 2010 应用程序,单击[文件]按钮并选择[选项 ...
- zz 游戏程序员的学习之路(中文版)
游戏程序员的学习之路(中文版) Milo Yip · 1 天前 感谢 @楚天阔(tkchu)编写脚本及整理中文译本数据,自动从英文版生成中文版,SVG / PDF 版本中的书籍图片现在链接至豆瓣页面. ...
- django关闭debug后,静态文件的处理
Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供 ...
- Docker实践(2)—虚拟网络
1 docker(container)的虚拟网络 docker的虚拟网络结构: host创建一个虚拟bridge,每个container对应一个虚拟网络设备(TAP设备),与bridge一起构成一个虚 ...
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
Pomelo:网易开源基于 Node.js 的游戏服务端框架 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese
- Thinkpad X240使用U盘安装Win7系统
更改BIOS设置 不同电脑的进入BIOS的方式可能不太一样,Thinkpad X240的进入方式是在电脑启动的时候按下回车键,然后按F1进入BIOS. 1. 修改secure boot为Disable ...
- 99 Lisp Problems 列表处理(P1~P28)
L-99: Ninety-Nine Lisp Problems 列表处理类问题的解答,用Scheme实现,首先定义几个在后续解题中用到的公共过程: ; common procedure (define ...
- android 开发 - 对图片进行虚化(毛玻璃效果,模糊)
概述 IPAD,IPHONE上首页背景的模糊效果是不是很好看,那么在 Android中如何实现呢.我通过一种方式实现了这样的效果. 开源库名称:anroid-image-blur 一个android ...