GNU Parallel 安装与使用--生信工具078

GNU Parallel 安装与环境配置全流程

GNU Parallel 是一款高效的命令行并行计算工具,能轻松将串行任务批量并行化执行,大幅提升数据处理效率。本文将详细记录从源码下载、编译安装到全局环境配置的完整步骤,适合需要在 Linux 服务器上部署该工具的开发者参考。

一、准备工作:下载源码包

首先获取 GNU Parallel 源码包,推荐从 GNU 官方镜像站下载(本文以 20190122 版本为例,也可替换为 20220922 新版本): 不同版本区别不大,为调度软件

复制代码
# 下载 20190122 版本(稳定版)
wget https://ftp.gnu.org/gnu/parallel/parallel-20190122.tar.bz2
# 若需新版本,可替换为以下链接
# wget https://ftp.gnu.org/gnu/parallel/parallel-20220922.tar.bz2

二、编译安装:指定自定义安装路径

为避免与系统自带版本冲突,我们将 Parallel 安装到自定义目录 /data/apps_and_code/001java/parallellocation,步骤如下:

1. 解压源码包

复制代码
# 解压下载的源码包
tar jxvf parallel-20190122.tar.bz2
# 创建安装目录
mkdir parallellocation
# 进入源码解压目录
cd parallel-20190122

2. 配置编译参数

通过 ./configure 指定安装路径,确保后续可精准管理工具文件:

复制代码
./configure --prefix=/data/apps_and_code/001java/parallellocation

3. 编译并安装

使用 make -j 4 开启 4 线程编译(线程数可根据服务器 CPU 核心数调整),加速安装过程:

复制代码
# 多线程编译
make -j 4
# 执行安装
make install

安装完成后,可查看安装目录下的可执行文件,确认安装成功:

复制代码
ls /data/apps_and_code/001java/parallellocation/bin

三、环境变量配置:全局生效

为让所有用户登录服务器后都能直接使用 parallel 命令,需将安装路径添加到系统全局环境变量 /etc/profile

1. 编辑 profile 文件

复制代码
# 打开全局环境配置文件
vim /etc/profile

2. 添加环境变量内容

在文件末尾追加以下内容(同时补充了 cpulimit、NCBI BLAST 等工具的路径,保持原配置完整性):

复制代码
# 配置 GNU Parallel 环境变量
export PATH=/data/apps_and_code/001java/parallellocation/bin:$PATH
# 配置 cpulimit 工具路径
export PATH=/data/apps_and_code/003cpulimit/cpulimit-master/src:$PATH
# 配置 NCBI BLAST 工具路径
export PATH=/data/apps_and_code/ncbi-blast-2.14.0+/bin:$PATH

3. 使配置立即生效

无需重启服务器,执行以下命令即可让环境变量立即生效:

复制代码
source /etc/profile

四、验证安装结果

执行以下命令,若能输出 Parallel 版本信息,说明安装与配置成功:

复制代码
parallel --version
GNU Parallel 20260122   #不同版本区别不大,为调度软件

注意事项

  1. conda install conda-forge::parallel 亦可迅速
  2. 权限说明:编辑 /etc/profile 需要 root 权限(可加 sudo),否则无法保存全局配置;
  3. 线程数调整:make -j 4 中的 4 为编译线程数,建议设置为服务器 CPU 核心数(如 8 核服务器可设 -j 8),平衡编译速度与服务器负载。

通过以上步骤,即可完成 GNU Parallel 的标准化部署,后续可直接在命令行中使用该工具实现任务并行化,提升工作效率。

相关推荐
沉在嵌入式的鱼13 分钟前
Jetson系列集成第三方库和应用程序到镜像方案
运维·服务器
无限进步_1 小时前
Linux进程等待——wait、waitpid与僵尸进程
linux·运维·服务器·开发语言
帅大大的架构之路2 小时前
linux上面的一些小知识点
linux·运维·服务器
光电笑映2 小时前
进程间通信:深入 System V IPC:共享内存、消息队列与信号量
linux·运维·服务器·c++
RisunJan2 小时前
Linux命令-patch (为开放源代码软件安装补丁程序)
linux·服务器·算法
Android系统攻城狮2 小时前
Linux Pulseaudio深度解析之pa_context_set_sink_mute_by_index用流程与实战(四十七)
linux·运维·服务器·音频进阶·pulseaudio进阶
木白CPP2 小时前
aarch64-linux-gnu* (gcc,ld,objcopy,objdump)工具总结
linux·运维·gnu
豆是浪个2 小时前
Linux(Centos 7.6)命令详解:xargs
linux·运维·服务器
Java开发追求者2 小时前
oracle解决服务器正常使用但是互联网无法使用问题
运维·服务器·ora-12154·windows监听问题·oracle互联网无法访问
日取其半万世不竭3 小时前
Palworld《幻兽帕鲁》 服务器搜不到怎么办?端口和防火墙排查清单
运维·服务器