软件安装#

  • 本节贡献者: 田冬冬(作者)、姚家园(作者)

  • 最近更新日期: 2021-01-12

  • 预计阅读时间: 10 分钟


安装方式#

Linux 或 macOS 系统下安装软件通常有如下几种方式:

  1. 使用系统自带的应用商店(App Store)在图形界面下安装软件

  2. 使用软件包管理器通过命令行安装软件。例如,Ubuntu/Debian 的 apt、 Fedora 的 dnf、macOS 的 brew。这些软件包管理器既可以安装 官方源提供的软件,也可以安装可信赖的第三方源提供的软件

  3. 直接下载闭源软件或商业软件提供的二进制包进行安装,如 Linux 下的 debrpm、macOS 下的 dmg

  4. 某个编程语言的包,通常可以使用该编程语言自带的包管理工具进行安装,比如 Python 语言的包管理器 condapip

  5. 某些软件提供了二进制的压缩包,则解压后直接放在某个目录,然后修改环境变量 PATH 即可使用

  6. 下载软件源码、编译并安装

绝大多数非科研类开源软件都可以通过方式 1–3 安装;多数闭源软件或商业软件 都可以通过方式 1–3 和方式 5 安装;对于地震学科研软件而言, 通常可以通过方式 4(很多地震学软件是用 Python 语言写的,因而可以通过 condapip 安装)、方式 5 或方式 6 进行安装。

方式 1–4 会将软件安装到默认的位置,通常用户无法控制,也无需关心其具体安装位置。 而对于方式 5 和 6,用户可选择将软件安装到任意位置。为了便于安装与管理科研 相关软件,我们总结了如下实践经验。

安装路径#

软件安装相关的路径如下:

  • ~/software/:存放软件的原始压缩包

  • ~/opt/:解压即用的软件、需源码编译并安装的软件

  • ~/src/:需源码编译的软件(含需源码编译并安装软件的源码目录)

  • ~/bin/:简单的小工具软件,如单个源码文件编译链接后生成的可执行文件、 单个可执行文件以及工具型脚本

  • /opt/:大多数闭源软件或商业软件、某些与地震学科研无关的软件、ARM 架构 macOS 下的 Homebrew

软件包#

软件的原始压缩包可以保存在 ~/software/ 目录下,相当于做一个备份, 如 ~/software/TauP-2.4.5.tgz

解压即用的软件#

某些软件提供了二进制包,可以解压即用,可安装在 ~/opt/ 的子目录下, 如 ~/opt/TauP

从源码编译的软件#

需要从源码编译的软件,可将源码目录放在 ~/src/ 的子目录下,如 ~/src/fk~/src/GMT~/src/distaz

若该软件不需安装,则编译链接后生成的可执行文件在该软件目录下或其子目录 bin 下, 如 ~/src/fk~/src/CPS/bin。如果该软件只是一个简单的小工具, 比如单个源码文件或单个可执行文件,则可以将生成的可执行文件复制至 ~/bin/ 目录下, 如 ~/bin/distaz

若该软件编译后需要安装,可安装在 ~/opt/ 的子目录下,如 ~/opt/GMT

闭源或商业软件#

大多数闭源软件或商业软件可安装到 /opt/ 的子目录下,如 Matlab、Intel 编译器等。 一般这也是闭源软件或商业软件的默认安装路径。某些与地震学科研无关的软件,比如 文献管理软件 Mendeley 和 Zotero 均可安装到任意路径,也建议安装到 /opt/ 目录下。

关于 ~/opt/ 的说明#

这里推荐将科研相关软件安装到 ~/opt/ 目录下,而不是更常见的 /opt//usr/local/ 目录,主要是基于如下几点考虑:

  • 某些包管理器使用了这些目录,比如非 ARM 架构 macOS 下的 Homebrew 的软件安装路径是 /usr/local/,macOS 的 MacPorts 的软件安装路径是 /opt/local/。 历史上,该目录主要用于放置在本地编译并另行安装的程序,避免和 /usr/ 目录下的系统自带版本冲突

  • /opt/ 目录一般用于安装非系统自带的、第三方预先编译并发行的独立软件包。 例如,某些闭源或商业软件(如 Matlab、Google Chrome、Google Earth)默认将软件 安装到 /opt/ 目录下。ARM 架构 macOS 下的 Homebrew 也被安装到该目录下

  • 地震学科研软件与其他软件属于不同的两类软件,因而将二者放在不同的目录下更合理

  • 对于使用服务器的用户而言,通常没有权限在 /opt//usr/local/ 等 目录安装软件,因而服务器用户必须在家目录下安装软件。设定软件安装在 ~/opt/ 下使得用户在个人电脑和服务器上可以有完全相同的目录结构

  • 将所有科研相关软件的源码及二进制文件都放在家目录下,使得备份和还原变得更简单

基于以上理由,推荐将地震学科研软件安装在 ~/opt/ 目录下。