基于 elementary OS 配置数据处理与分析环境
GNU/Linux 操作系统的发行版众多,各有其特色和侧重。对于使用者而言,需要明确自己的需求,才能选择适合自己的发行版。此外,安装 Linux 系统之后,配置应用程序也是必要的过程。本文以 elementary OS 为例,记录我配置用于 GNSS 数据处理与分析工作环境的过程。首先是对自己经验的总结,便于再次安装时查看;对于其他 Linux 的使用者而言,或许也能有一点儿借鉴意义。
需要说明的是:这里安装的某些软件可能基于个人偏好,并不一定是唯一的选择。
操作系统
GNU/Linux 操作系统的发行版不计其数,我选择 elementary OS,主要基于以下理由:
- 它很漂亮!elementary OS 由来自英国的设计师主导设计,界面类似于 macOS 但更轻盈;
- 基于 Ubuntu,兼容 Ubuntu 的软件仓库和包,运行较稳定,用户多,有详细的文档参考;
- 自带 NTFS-3G 等软件,对由 Windows 格式化的移动硬盘可实现即插即用,方便数据交换;
- 拥有一些创新的小特性,例如终端程序的任务完成通知等,对于运行终端程序来说很方便。
本次安装的 elementary OS 操作系统版本为 Loki 0.4.1,基于 Ubuntu 16.04.3 LTS。在 elementary OS 的官方网站上,你可以下载到最新版本。如果有能力,请尽量为其捐赠。但其捐赠系统目前只能接收美元,你可以通过点击 “其他” 输入框,输入 “0” 来获取免费下载链接。
下载完成后,将其刻录到光盘,也可以使用 Rufus 或者 Universal USB Installer 软件烧录成安装 U 盘。然后从光盘或烧录的 U 盘启动计算机,进入 “Install elementary OS” 项目,根据安装程序提示,设置操作系统的时间和语言、安装位置、时区等。整个安装过程非常简单。
软件源
elementary OS 使用 Ubuntu 的软件源。鉴于国内对默认的 Ubuntu 软件源访问速度较慢,因此,添加国内的软件源镜像可以显著地提高软件包的下载和更新速度。国内著名的开源镜像有清华大学、阿里云、网易等维护的站点。elementary OS 的软件源配置文件为 /etc/apt/sources.list,这里以配置使用清华大学镜像为例,首先备份原文件:
1 | $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak |
然后编辑软件源文件,将其替换为以下内容:
1 | # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
最后执行以下命令刷新软件源缓存:
1 | $ sudo apt-get update |
离线情况下,你也可以参照 Linux 系统搭建离线软件源一文来创建一个本地的软件源,方便后续软件包的安装。
应用程序
操作系统配置完毕后,下一步就是安装用于数据处理和分析的应用程序了。
Anaconda
Anaconda 是 Python 专注于科学计算和数据分析的发行版,相比官方的 CPython 增加了许多科学计算库。如果需要使用 Python 进行数据分析等工作,特别是在离线环境下,直接安装 Anaconda 可以节约很多时间。
在 Download Anaconda 页面获取适用于 Linux 的安装包,然后使用 Bash 执行它。以 Anaconda3-5.1.0-Linux-x86_64.sh 为例:
1 | $ sudo bash ~/Downloads/Anaconda3-5.1.0-Linux-x86_64.sh |
根据提示,输入 Anaconda 的安装目录,等待程序执行完毕。程序安装完成后,会询问是否要把 Anaconda 程序目录加入到 PATH 中。这里不建议将其加入到 PATH:elementary OS Loki 已经安装了 Python 3.5,若将 Anaconda 加入到 PATH 中,可能会造成一些冲突(或许会造成 ibus 输入法不可用)。使用以下命令将必要的程序链接到系统的 /usr/bin 目录即可:
1 | $ cd /usr/bin |
如此,需要使用 Anaconda 中的 Python 时,运行 py,而运行 python3 则会运行系统自带的 Python 3.5。
Git
Git 是最流行的开源分布式版本控制工具,该程序已经被收录到软件源里。使用以下命令即可完成安装:
1 | $ sudo apt-get install git |
Visual Studio Code
Visual Studio Code 是微软出品的文本编辑器,亦是一个轻量级的开发工具,功能强大,美观易用。从 Download Visual Studio Code 页面下载 .deb 后缀名的安装包,此处以 code_1.23.0-1525361119_amd64.deb 为例。依次运行以下命令安装它:
1 | $ sudo apt-get install gconf2-common |
安装 Visual Studio Code 后,你可以通过为其添加扩展来增强功能。若需要在离线环境下安装 Visual Studio Code 扩展,可以从扩展商店进入特定扩展页面,点击 “Download Extension” 链接下载 .vsix 格式的程序包,然后使用命令安装:
1 | $ code --install-extension <package.vsix> |
这里的 <package.vsix>
代表要安装的扩展文件路径。
GAMIT/GLOBK
GAMIT/GLOBK 是由 MIT 和 SIO 联合开发的高精度 GNSS 数据处理软件。elementary OS 基于 Ubuntu,因此你可以参照本博客 Ubuntu 操作系统安装 GAMIT 一文来安装 GAMIT/GLOBK 程序,安装及配置过程完全一致。
其他程序
Cartopy
Cartopy 是为 Python 提供地图制图功能的扩展工具包,其安装可参考本博客 Cartopy 简介与安装一文。
dos2unix
dos2unix 是一个用于将文本文件字符和换行符编码在 Windows、macOS 和 Linux 系统之间转换的工具。该程序的安装和使用可参考本博客 DOS2UNIX 安装与使用简介。
GFZRNX & TEQC
GFZRNX 和 TEQC 都是用于 GNSS 数据预处理的工具,这两个程序的配置和使用可参考本博客:TEQC 配置及其数据转换功能的使用 和 GFZRNX 配置及格式相关功能的使用。
Graphviz
Graphviz 是一个命令行程序,它可以根据一种名为 dot 的图形结构描述语言,生成简洁美观的示意图。如结构图、流程图、UML 图等。该程序的安装参考本博客:Graphviz 安装与使用简介。
Pandoc
Pandoc 能够将文档在 Markdown、LaTeX、reStructuredText、HTML 和 Word docx 等多种标记格式之间相互转换,并支持输出 PDF、EPUB、HTML 幻灯片等多种格式,是编写文档的利器。该程序的安装参考本博客:Pandoc 安装与使用心得。
补充
若你需要一个运行在服务器或者工作站上的、非常稳定的 Linux 操作系统,elementary OS 可能不太适合。在我的计算机上,elementary OS Loki 出现了重新点亮屏幕后无法正常显示登录界面或桌面的 Bug(经检查,该问题是因为显示器同时通过 DP 和 DVI 接口连接至主机所致,断开 DVI 接口之后恢复正常)。随着 Ubuntu 18.04 LTS 的发布,elementary OS 的新版本 Juno 也于 2019 年下半年释出,升级新版本可以获得更好的稳定性和更强大的功能。