三款国产操作系统使用初步体验一文从操作系统易用性、生态完整性、软件包获取难易程度等方面考察其是否满足日常办公需求。然而对我来说,QGIS是日常最常用的软件之一, QGIS与操作系统的兼容性尤其重要,于是我决定测试一下QGIS在各个国产操作系统运行情况。
本文从QGIS安装、编译两个方面试验QGIS与国产操作系统的兼容性,并将试验结果分享给大家。
01 从软件源安装QGIS
-
1.1 测试结论
Deepin和优麒麟可以通过添加QGIS软件源的方式成功安装最新版本,即QGIS 3.18。中标麒麟是类Fedora系统,但是本人能力有限,使用EPEL源和Fedora源安装QGIS失败。
-
1.2 Deepin上安装QGIS
从三款国产操作系统使用初步体验一文得知,Deepin是Debian 10.6的分支版本,按照QGIS安装指南,分两步完成安装:
1、编辑/etc/apt/sources.list添加对应的软件源
sudo vim /etc/apt/sources.list
2、运行安装命令
sudo apt update
sudo apt install qgis qgis-plugin-grass
耐心等待,当看到如下界面时表示安装完成:
从开始菜单找到“QGIS Desktop”,点击启动QGIS:
运行效果:
Deepin操作系统支持QGIS的全部组件和功能模块,包括3D、Grass、SAGA等,使用体验与Windows系统无区别。
-
1.3 优麒麟上安装QGIS
在优麒麟上安装QGIS的过程与Deepin相同,根据QGIS安装指南,第一步是检查操作系统的版本,所使用的命令如下:
wujianling@wujianling-Vostro-3900:~/dev/QGIS-master$ uname -a
Linux wujianling-Vostro-3900 5.4.0-66-generic #74-Ubuntu SMP Wed Jan 27 22:54:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
wujianling@wujianling-Vostro-3900:~/dev/QGIS-master$ lsb_release -c -s
Focal
wujianling@wujianling-Vostro-3900:~/dev/QGIS-master$ cat /etc/debian_version
bullseye/sid
根据输出结果得知,我所安装的优麒麟是Ubuntu 20.04,根据版本信息开始安装QGIS:
1、编辑/etc/apt/sources.list添加对应的软件源
sudo vim /etc/apt/sources.list
2、运行安装命令
sudo apt update
sudo apt install qgis qgis-plugin-grass
安装成功后,在开始菜单找到“QGIS Desktop”,点击运行:
运行效果如图:
由于优麒麟是基于Ubuntu的分发版本,所以像Ubuntu一样支持QGIS的全部组件和功能模块。另外,部分QGIS开发团队成员所使用的操作系统也源于Ubuntu,这为兼容性更添加了一层保证。
-
1.4 中标麒麟上安装QGIS
中标麒麟官方的软件源没有QGIS的安装包。对于类Fedora系统,首先想到的是EPEL源和Fedora官方源,但是很遗憾,EPEL源上保留的QGIS安装包只有2.14版本,与现在的3.18版本相隔甚远,而Fedora源虽然有最新的安装包,但是依赖库却不匹配。
由于本人能力有限,中标麒麟上安装QGIS失败了。(如果有这方面的高手能指导我安装,请在公众号后台留言赐教,不胜感激!)
02 在国产操作系统编译QGIS
-
2.1 测试结论
Deepin、优麒麟和中标麒麟三款国产操作系统均能通过编译源代码的方式安装QGIS。所不同的是,Deepin和优麒麟上可以编译QGIS最新版本的源代码,即3.18版。
由于中标麒麟自带的GCC版本为4.9,只支持C++11特性,不支持C++17(QGIS 3.18要求使用C++17编译)新特性,所以基于系统默认配置,我选择编译一个比较老的QGIS版本(QGIS 3.4.7),最终成功将QGIS安装到中标麒麟系统上。
(另外,也许可以采用先升级GCC,再编译QGIS最新版源码的思路,但我还没有时间验证这个思路的可行性。)
-
2.2 Deepin和优麒麟上编译QGIS源码
由于Deepin和优麒麟二者都是基于Debian,编译源代码的过程大致相同,所以我把这两个系统上QGIS的编译过程写在同一个小节里。
与所有Linux系统一样,编译源代码的过程分为四个步骤:安装依赖库、配置编译选项、编译和安装。
-
安装依赖库
使用sudo apt-get install命令安装QGIS编译需要的依赖库,具体可以参考之前的文章:自己动手编译QGIS 3.18源代码,含出错大全和解决办法或者官方的编译指南(https://github.com/qgis/QGIS/blob/master/INSTALL.md)。
-
配置编译选项
使用ccmake图形化界面设置编译相关的选项。
-
编译和安装
使用make和make install命令,根据配置选项将QGIS编译生成可执行文件。
编译成功后,用./output/bin/qgis启动QGIS,运行效果与apt安装的QGIS相同。
-
2.3 中标麒麟上编译QGIS
由于中标麒麟官方更新库缺少QGIS编译所需的依赖库,需要从源代码编译,所以编译起来相对复杂,工作量也大一些。以编译QGIS 3.4.7版源代码为例,所选择安装的依赖库及其版本如下:
Python-3.9.2
QScintilla-2.11.6
autoconf-2.71
bison-3.7.5
cmake-3.16.9-Linux-x86_64
curl-7.75.0
dbus-1.13.2
exiv2-0.27.3-Linux64
flex-2.6.0
freetype-2.8
freexl-1.0.6
gawk-5.1.0
gdal-2.4.1
geos-3.9.1
gsl-2.5
isl-0.18
libffi-3.3
librttopo-librttopo-1.1.0
libspatialite-4.3.0a
libxml2-master
libzip-1.7.3
openssl-OpenSSL_1_1_1j
proj-7.2
protobuf-3.6.1
qca-2.3.2
qt-5.12.8
qtkeychain-0.12.0
qwt-6.1.0
readline-8.1
sip-6.0.3
spatialindex-1.9.3
spatialite-2.0
sqlite-3340100
texinfo-6.7
tiff-4.2.0
编译过程曲折艰难,耗费的时间比较长,在此不一一赘述,最终运行效果如图:
03 写在最后的话
国产操作系统与QGIS的兼容性测试,花费了我将近2周的时间,从操作系统的选择、下载、安装,到QGIS的安装、编译和测试,其中的过程并不都是一帆风顺,这里分享一下我的心得:
“QGIS能在国产操作系统上运行”,这是我得到的测试结论,一方面说明国产操作系统做到了兼容与开放,另一方面也说明QGIS对多平台的支持是经得住考验的。
第二,在这过程中我一直思考国产操作系统的选择标准问题。从我个人角度来说,希望一个操作系统简单、易用、稳定、又不失灵活性,有一定的生态圈,Deepin、优麒麟和中标麒麟均满足了以上要求。但是,仅依据上述标准评判和选择一个操作系统,或者对操作系统进行打分排序,是有失公平的,因为每个操作系统的设计和开发理念不同,例如Deepin和优麒麟解决的是国内用户使用Linux中文化和用户习惯问题,而中标麒麟则侧重系统的安全可信和国产化生态,是站在国家安全的角度开发的系统,所以在照顾个人用户习惯方面比另外两个系统稍微逊色一些。
以上是我的个人观点,如有理解不到位的地方,欢迎指正。
版权声明
本文欢迎转载,转载时请注明出处。