如何在Linux下快速安装MapTiler
研究背景:
实际项目用到MapTiler时,为了适应项目不同场景需求,需要测试MapTiler在linux下切图速度,这时就涉及到到MapTiler在Linux下安装的问题,从 MapTiler公司拿到的在linux30天试用期的是一个rpm文件,单纯的利用rpm –ivh命令安装会发现它依赖了gdal,qtwebkit 等包,也就是说你需要先安装这些依赖包。当你去安装它们的时候你又会发现它们又依赖了其它包,这样就会陷入无止尽的安装,所以写这篇博客的意义是让在不熟悉linux但是得在linux下面安装软件的人少走弯路,同时记录自己的成长。
在说安装步骤之前,先谈几个概念,方便弄清每一步的含义:
1:Maptiler是国外的一个可以帮助我们快速发布地图服务的软件,它的切图速度以及切图质量相对与ArcGis来说好一点。
2:yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
3:EPEL 是yum的一个软件源,里面包含了许多基本源里没有的软件。
安装步骤详解:
/*注意:所有安装都是基于Linux RedHat 7.0,安装步骤中的配置请自行找到自己的版本包 */
/*安装过程中可能会提示没有对应权限,我们可以在每个执行的命令前加上sudo 然后在提示下输入管理员密码即可*/
1:替换掉自带的yum服务(yum服务是要付费的,替换后可以随便用,不用付费,在替换之前可以先试试自己的yum服务 看是否可用,可用可跳过本步骤)
打开linux命令终端 按步骤输入以下命令
《1》rpm –ivh http://mirrors.163.com/CentOS/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm 《2》rpm -ivh http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
《3》rpm -ivh http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-118.el7.centos.noarch.rpm http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-24.el7.noarch.rpm (注意:第三步安装了两个rpm包) 《4》cd /etc/yum.repos.d/
《5》wget wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
《6》sed -i "s/\$releasever/7/" CentOS7-Base-163.repo
《7》yum makecache
2:通过刚刚替换的yum添加EPEL仓库
yum -y install epel-release
3:添加maptiler的依赖包gdal和qtwebkit
yum - y install gdal (本依赖包加载速度略慢)
yum - y install qtwebkit
4:安装maptiler的rpm包
rpm -ivh (maptiler对应rpm名称)
至此 MapTiler成功安装了。
总结:
在摸索中走了很多弯路,中途还用中式英语给MapTiler公司写了封邮件,不管怎样,还是很高兴最后试验成功了。在技术世界,我还是一只菜鸟,不敢谈多熟练什么什么技术,但是在技术的道路上我会坚持初心,砥砺前行!
由于我薄弱的知识,博客有写得不对的地方欢迎指出,大家一起探讨,共同进步!
如何在Linux下快速安装MapTiler的更多相关文章
- linux下快速安装jenkins
Linux下快速安装Jenkins 建议使用 FileZilla 工具简化以下步骤中移动.环境变量配置等步骤. 1 软件下载 l Java:jdk-7u17-linux-x64.tar.g ...
- linux下快速安装chrome
linux下安装chrome 1.按下 Ctrl + Alt + t 键盘组合键,启动终端 2.在终端中,输入以下命令: (将下载源加入到系统的源列表.命令的反馈结果如图.如果返回“地址解析错误”等信 ...
- linux下快速安装emacs方法
背景 在公司工作的时候经常需要在很多服务器之间切换,而公司的服务器上一般都没emacs,因此总结一下快速安装emacs的方法. 最简单的是直接使用yum安装,但是有两个问题,一个是有的生产服务器直接没 ...
- Linux下快速安装Mysql及使用
1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: ...
- 如何在Linux下Redis安装
转载出于:http://blog.csdn.net/jiangguilong2000/article/details/8114740 redis作为NoSQL数据库的一种应用,响应速度和命中率上还是比 ...
- linux下快速安装python3.xx
安装python3之前的准备工作: 当前环境是centos操作系统[已经安装了gcc++],在安装前需要安装zlib-devel包: yum install zlib-devel yum instal ...
- Linux下快速安装Python3和pip
如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一.安装p ...
- linux下快速安装pyenv管理多版本python
起因 一直服务器python项目都是放docker跑,这次为了测试,不得不在宿主机跑,就必须安装python3.7,但是ubuntu16.04下有点麻烦 尝试 源码安装,懒,算了,也不想污染服务器环境 ...
- 如何在Linux下安装Tomcat
上篇文章写到了Linux下安装JDK1.8,这篇文章详细阐述一下 如何在Linux下安装Tomcat!!!有啥问题可以留言,博主每天都会看博客的. 准备步骤和方法和以前一样,博主用的工具是XShell ...
随机推荐
- 使用slice和concat对数组的深拷贝和浅拷贝
一.数组浅拷贝 在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份. 如下代码,如果只是简单才用赋值的方法,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致了问 ...
- HashSet和TreeSet 的区别与分析
Set是java中一个不包含重复元素的collection.更正式地说,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素.正如其名称所暗示的, ...
- oracle表空间创建
/*分为四步 *//*第1步:创建临时表空间 */create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9 ...
- linux 根分区扩展
linux根分区扩容 今天网站上传图片出问题了,一开始还以为是程序问题,后来发现原来是服务器存储空间不够,明明有200G的磁盘空间,没理由这么快就用完,查了一下分区情况,原来有两块磁盘,根分区只挂载在 ...
- 安装node配置环境变量,解决某组件(如cordova,webpack等)“不是内部命令”问题
安装cordova之后,控制台输入cordova -v之后,一直提示不是内部命令,查了很久入了很多坑之后,终于配置正确~记录一下~ 1.安装node,我的安装路径为D:\frontend\nodejs ...
- ZJOI2017 Day2
私のZJOI Day2 2017-3-22 08:00:07 AtCoder试题选讲 SYC(Sun Yican) from Shaoxing No.1 High School 2017-3-22 0 ...
- java学习笔记 --- 多态
一.多态 (1)定义:同一个对象在不同时刻体现出来的不同状态.父类的引用或者接口的引用指向了自己的子类对象. Dog d = new Dog();//Dog对象的类型是Dog类型. Animal ...
- 老李分享:性能测试你不应该只知道loadrunner(1)
老李分享:性能测试你不应该只知道loadrunner(1) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试 ...
- 使用VS2015将解决方案同步更新到Github上
如今开源已经是一种趋势与潮流了,今天就来谈一谈如何将利用VS将我们的解决方案同步更新到Github上. 第一步:登录自己的Github账号(没有的自行注册). 我的Github登录后的界面: 第二步: ...
- Java基础学习(六)—List
一.List 1.List集合特有功能 /* * List集合的特有功能: * A:添加功能 * void add(int index,Object element):在指定位置添加元素 * B:获取 ...