在工作站上安装软件
一般情况下,用户不能通过获取 root 权限的方式安装软件。不过,一般的软件都可以通过一系列
设置安装到自己的个人目录下。通过这种方式安装的软件只能自己使用。
例子:从源码安装软件 FFTW
大部分源码安装的软件都需要进行以下三步
configure: 设置,用户需要根据需求选择软件中的安装选项以及功能
make: 编译,使用系统的编译工具将源码编译成可执行的文件或库文件
install: 安装,将编译好的文件安装到指定的位置
在安装之前,用户需要自行处理软件的依赖,这可能是个复杂的过程,不过
绝大多数数软件的依赖都已经满足。如果需要帮助可联系管理员。
在安装结束后,用户需要设定环境变量,以便可执行程序,库文件,帮助文档
可以被正常访问。通常需要改动的变量是 PATH,LD_LIBRARY_PATH 等。
首先从官网下载 FFTW 的源码。在这里我们以 3.3.5 版本为例。假设下载的文件储存在
服务器个人目录下,文件名字为 fftw-3.3.5.tar.gz。
首先,使用解压缩命令将源码文件解包。
$ tar -xzf fftw-3.3.5.tar.gz
解包完成后会得到一个名为 fftw-3.3.5 的文件夹,我们需要切换到这个文件夹内。
在这里我们新建一个名为 build 的文件夹,以储存所有编译的中间文件。不建议直接在
源文件的目录进行操作,因为在执行编译结束后无法分清哪些是编译生成的文件,会给清理
造成麻烦。
$ mkdir -p build && cd build
接下来,调用 configure 脚本进行设置
$ ../configure --prefix=$HOME
其中的 –prefix 参数一定要设置,它是指定了软件的安装位置。如果不指定,则实际安装的时候
会安装到系统目录中去,由于一般用户不具备操作系统目录的权限,所以安装过程会失败。其他的选项
根据需求安装即可,在这里我们均使用默认值。
如果软件的依赖全部满足,则 configure 会正常结束,并在当前的目录下生成 Makefile 和 config.log
等文件,这时候就可以进行编译了。使用
即可进行软件的编译。
编译需要进行一段时间,对于有些软件的编译过程非常漫长。make 命令正常结束后,需要使用
将软件安装到指定的目录下,在这里我们是把软件安装到 HOME 目录下。安装完成后,可以在 HOME 目录下
看到多出了 include lib 等文件夹,这就是我们软件的实际文件了。
如果有必要,需要在 .bashrc 中修改环境变量,以便在使用软件的时候系统可以在正确的路径找到
我们的库。
小提示
安装完毕后,原则上不再需要软件源码和产生的中间文件。但是建议保留这些安装文件,以便在软件出问题
的时候进行重新安装,或者是在不需要的时候将其删除(删除软件的命令写在了 configure 生成的 Makefile 中)。
安装 Python 包到个人目录
在运行 python 等程序时经常需要各种 python 的软件包,这些包有的已经安装在服务器中了,有些则没有安装。出现这种情况可以联系管理员进行安装,或者可以自行将所需要的包安装在自己的 HOME 目录下。
使用 pip 安装
使用 python 自带的 pip 包管理程序可以方便地进行安装,但是默认情况下 pip 将软件包安装到系统文件夹下,普通用户没有这个权限。因此需要指定 pip 将包安装在
个人的 HOME 目录下。
$ pip install <package name> --user
这里 package name 是所需包的命令,重要的是后面 --user 这个参数,它表示单独为当前用户安装这个 python 软件包。安装的位置是
~/.local/lib/python<ver>/site-packages
其中 ver 是对应 python 的版本。这样安装过后,对应的包就可以使用了,并且不会影响服务器上的其它用户。
使用 conda 安装
如果你在使用 anaconda,那么除了以上的 pip 管理器,你还可以使用 conda 命令进行安装。使用的方式为
$ conda install <package name> --prefix /path/to/install
这里重要的是 --prefix 参数,它指定了相应包的安装路径。在这里建议使用的路径依然是
~/.local/lib/python<ver>/site-packages
其中 ver 是 anaconda 内部嵌入的 python 版本,这样 python 可以在对应位置找到所需要的包。
使用 conda 创建环境后安装(推荐)
conda 除了可以直接安装包以外,还可以创建独立运行环境并且只将指定版本的包安装
到环境里。这和 virtualenv 功能相似。独立环境可以较好地解决 python 包之间版本
依赖问题,并且完全不需要管理员权限。推荐多数用户使用
conda 入门教程
安装 R 包到个人目录
在运行 R 软件时经常需要各种 R 的软件包,此时可以使用 R 自带的安装命令将所需软件包安装在自己的 HOME 目录下。
使用 install.packages() 命令
使用 R 自带的 install.packages() 命令可以进行最方便的安装。打开 R 的控制台,然后输入
> install.packages(<package name>, method="curl")
即可安装,其中 package name 是所需要的软件包的名字。其中,method=“curl” 这个参数不能省略,它表示了下载安装包的方式。当使用 HTTPS 镜像的时候,R 中默认的下载函数不支持 HTTPS 下载。
例如,想要安装 “tseries” 包,就可以输入
> install.packages("tseries", method="curl")
执行完毕后,R 会弹出一条警告
Warning in install.packages("tseries", method = "curl") :
'lib = "/public/software/R/3.2.5/lib64/R/library"' is not writable
Would you like to use a personal library instead? (y/n)
由于当前用户对默认安装目录没有写入权限,因此输入 y 来将包安装到个人的 HOME 目录下。
再次键入 y,将安装的目录设置为
$HOME/R/x86_64-pc-linux-gnu-library/3.2
之后选择下载的镜像源,在这里我们选择 4 号镜像源。
1: 0-Cloud [https] 2: Austria [https]
3: Chile [https] 4: China (Beijing 4) [https]
5: Colombia (Cali) [https] 6: France (Lyon 2) [https]
7: France (Paris 2) [https] 8: Germany (Münster) [https]
9: Iceland [https] 10: Mexico (Mexico City) [https]
11: Russia (Moscow) [https] 12: Spain (A Coruña) [https]
13: Switzerland [https] 14: UK (Bristol) [https]
15: UK (Cambridge) [https] 16: USA (CA 1) [https]
17: USA (KS) [https] 18: USA (MI 1) [https]
19: USA (TN) [https] 20: USA (TX) [https]
21: USA (WA) [https] 22: (HTTP mirrors)
经过一系列编译之后,R 会提示安装已完成。
注:如果编译过程中提示找不到 gfortran 的库,请在运行 R 之前载入 gcc 模块
使用 R CMD 命令
用户还可使用 R CMD 命令来在 Linux 命令行中安装所需要的 R 包。这个命令适用于非联网安装,或者是所需的包不在 CRAN 的镜像当中。
以 RCurl 包为例,假设我们的包的文件名是 RCurl_1.95-4.8.tar.gz。进入到包所在的目录下,输入
$ R CMD INSTALL RCurl_1.95-4.8.tar.gz
即可开始自动安装。
注意,从本地安装的方法不会自动处理包之间的依赖问题,因此在安装之前请确保依赖的软件包已经安装完毕
|