Ubuntu16.04.2 LTS下使用编译安装程序(使用configure、make、 make install)
以安装vim为例。
(vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面)。
1.获取源文件
首先进入/usr/local下(只是为了方便处理安装文件,位置随意)
用git clone下vim的源文件,执行命令:sudo git clone https://github.com/vim/vim.git,也可以使用wget的方式,仅仅是为了获取源文件。
使用命令进入到vim文件夹,ls查看
这些都是vim的源文件。
2.configure命令
configure:是一个shell脚本,它在源文件的根目录中。他的作用是检查你的系统中是否有编译这个程序依赖的其它库之类的东西。
prefix 参数——指定目标安装路径,必须指定,否则不知道默认安装到哪里,不方便以后的管理(类似windows的安装路径)。
命令全文: sudo ./configure --prefix=/usr/local/vimdir ( prefix后的路径随意; 另外 ./configure “./”——表示当前目录,这个是相对路径。)
执行后,可能会遇到问题:
错误提示:no terminal library found
解决方法:
sudo apt-get update
sudo apt-get install libncurses5-dev
安装完terminal library,再重新运行configure脚本,成功!
3.make
make指令最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译的工作。
Makefile:这个文件是按照特定的语法编写的,文件中说明了,如何编译的各个源文件并链接生成可执行文件,并要求定义源文件之间的依赖关系。
简单的说:定义好源文件之间的依赖关系,并编译生成可执行性文件(这里是编译,不是检查)。
完整命令: sudo make
4.make install:
执行安装,在执行configure的时候prefix指定的安装路径也是在此时创建出来的。
完整命令: sudo make install
到此为止,vim就在bin目录下。执行:/usr/local/vimdir/bin/vim下了。
5.ln命令软链接
一般用vim的时候,无论在任何地方输入vim都可以,但是现在就不行。只能到这个/usr/local/vimdir/bin/目录下执行./vim才能执行。
原因:
系统对应的所有的指令目标目录的路径,只有上述的这些,并没有新装的 /usr/local/vimdir/bin,所以当我们在非此目录输入 vim 时,会提示未安装。
解决方法:
建立一个软连接到/usr/bin目录下:
完整命令:
sudo ln -s /usr/local/vimdir/bin/vim /usr/bin/vim
Ubuntu16.04.2 LTS下使用编译安装程序(使用configure、make、 make install)的更多相关文章
- Linux下通过源码编译安装程序(configure/make/make install的作用,然后在/etc/profile文件里修改PATH环境变量)
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
- Linux编译安装程序(使用configure、make、 make install)
以安装vim为例. (vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面). 1.获取源文件 首先进入/usr/local下(只是为了方便处理安装文件,位置随意) 用git ...
- Python在Linux下编译安装报错:Makefile:1141:install
正常情况下执行:./configuremake && make install可以直接安装python,但是在在更新了乌版图后居然报错了!!!检查了一圈,发现乌版图安装了python3 ...
- Ubuntu16.04.2 LTS 64bit系统装机记录
系统环境:Win10 + Ubuntu16.04.2 LTS 64bit(双系统)安装教程:Win10和Ubuntu16.04双系统安装详解(简书)以下为系统安装后所要进行的操作. 一.安装显卡驱动 ...
- ubuntu下boost编译安装
ubuntu下boost编译安装 boost 安装 1.依赖安装 apt-get install mpi-default-dev libicu-dev python-dev python3-dev l ...
- Ubuntu16.04系统美化、常用软件安装等,长期更新
Ubuntu16.04系统美化.常用软件安装等,长期更新 IT之家啊 18-09-0915:00 因为我个人偏向于玩VPS.服务器之类的东西,所以一般我都是用CentOS.不过对于桌面版的Linux, ...
- ubuntu16.04 ROS环境下配置和运行SVO
ubuntu16.04 ROS环境下配置和运行SVO https://blog.csdn.net/nnUyi/article/details/78005552
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- unbutu下wireshark编译安装(已更新)
今天下午在ubuntu下进行编译安装wireshark,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,有参考博文的安装编译方法,也有自己的总结和心得. 1 安装编译工具 $sud ...
随机推荐
- 善用Intellij插件可大幅提升我们的效率
转自 :https://www.jianshu.com/p/686ba0ae4ac2 1. .ignore 生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写 截图: 2. ...
- Mysql 和 Postgresql 抛开性能的对比
MySQL/MariaDB的当前版本是5.7.6(MariaDB为MySQL创建者Monty Widenius创建的一个MySQL分支),PostgreSQL的版本是9.4.1. 以下几个方面对比两者 ...
- java ant 编译打包build.xml完整配置范例
java ant 编译打包build.xml完整配置范例 <?xml version="1.0" encoding="UTF-8" ?> <p ...
- Redis学习系列六ZSet(有序列表)及Redis数据结构的过期
一.简介 ZSet可以说是Redis中最有趣的数据结构了,因为他兼具了Hash集合和Set的双重特性,也是用的最多的,保证了value值的唯一性的同时,,同时又保证了高性能,最主要的是还可以给每个Va ...
- c++实现二叉树层序、前序创建二叉树,递归非递归实现二叉树遍历
#include <iostream> #include <cstdio> #include <stdio.h> #include <string> # ...
- 使用Nagios打造专业的业务状态监控
想必各个公司都有部署zabbix之类的监控系统来监控服务器的资源使用情况.各服务的运行状态,是否这种监控就足够了呢?有没有遇到监控系统一切正常确发现项目无法正常对外提供服务的情况呢?本篇文章聊聊我们如 ...
- Maven <Profiles>定义不同环境的参数变量
记录一下 https://blog.csdn.net/qq245282209/article/details/52192115
- 【IT笔试面试题整理】堆栈和队列
如何准备: Whether you are asked to implement a simple stack / queue, or you are asked to implementa modi ...
- 大数据之superset
1.概述 superset大数据可视化的利器,深度集成durid,结合kylin.presto完成强大的大数据可视化功能,曾用名Panoramix.caravel.相比caravel它有个比较抢眼的功 ...
- OpenSSL修复加密漏洞、加强Logjam防御
来源:TechTarget中国作者:Michael Heller翻译:张程程 OpenSSL项目团队为其密码库发布补丁以修复一个严重的漏洞(该漏洞可能允许攻击者解密HTTPS通信),同时强化对Logj ...