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 的标准化部署,后续可直接在命令行中使用该工具实现任务并行化,提升工作效率。

相关推荐
代码AI弗森11 小时前
一文理清楚“算力申请 / 成本测算 / 并发评估”
java·服务器·数据库
^—app56686612 小时前
游戏运存小启动不起来临时解决方法
运维·服务器
志栋智能12 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
Edward1111111114 小时前
4月28日防火墙问题
linux·运维·服务器
想学后端的前端工程师14 小时前
【补充内外网突然不通的情况】
运维·服务器
跨境数据猎手15 小时前
跨境独立站系统技术拆解(附带源码)
服务器·前端·php
小龙在慢慢变强..16 小时前
目录结构(FHS 标准)
linux·运维·服务器
beyond阿亮17 小时前
IEC104 Client Simulator - IEC104 主站/客户端模拟器 仿真器免费使用教程
运维·服务器·网络
(Charon)18 小时前
【C++/Qt】Qt 封装 TCP 客户端底层 Network 类:连接、收发、自动测试与错误处理
服务器·网络·qt·tcp/ip