记录安装pdsh中 Linux 系统根目录空间不足导致的编译安装问题

解决 Linux 系统根目录空间不足导致的编译安装问题

问题描述

在 Ubuntu 系统上编译安装 pdsh-2.29 时,由于根目录空间不足,导致 configure 过程中出现以下错误:

bash 复制代码
./configure: line 1197: cannot create temp file for here-document: No space left on device

系统状态:

bash 复制代码
# 根目录已满
/dev/mapper/ubuntu--vg-ubuntu--lv  878G  834G     0 100% /

# 其他数据盘还有空间
/dev/sdc1                          3.6T  2.0T  1.5T  58% /data1

解决方案

1. 设置临时文件目录

首先将临时文件目录转移到有足够空间的数据盘:

bash 复制代码
# 创建新的临时文件目录
mkdir -p /data1/home/qwen/tmp

# 将环境变量写入 .bashrc
echo 'export TMPDIR=/data1/home/qwen/tmp' >> ~/.bashrc

# 使配置生效
source ~/.bashrc

2. 下载和编译安装

bash 复制代码
# 下载源码
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pdsh/pdsh-2.29.tar.bz2

# 解压
tar -xvf pdsh-2.29.tar.bz2
cd pdsh-2.29

# 配置(指定安装路径)
./configure --prefix=/data1/home/qwen/pdsh-install --with-ssh --without-rsh --with-exec --with-timeout=60 --with-nodeupdown --with-rcmd-rank-list=ssh

# 编译和安装
make
make install

3. 设置环境变量

将以下配置添加到 ~/.bashrc:

bash 复制代码
# 添加可执行文件路径
echo 'export PATH=/data1/home/qwen/pdsh-install/bin:$PATH' >> ~/.bashrc

# 添加库文件路径
echo 'export LD_LIBRARY_PATH=/data1/home/qwen/pdsh-install/lib/pdsh:$LD_LIBRARY_PATH' >> ~/.bashrc

# 使配置生效
source ~/.bashrc

4. 修复权限问题

安装后可能遇到模块加载问题:

bash 复制代码
pdsh@mindspore: module path "/data1/home/qwen/pdsh-install/lib/pdsh" insecure.
pdsh@mindspore: "/data1": World writable and sticky bit is not set

解决方法是修改相关目录权限:

bash 复制代码
# 需要 sudo 权限
sudo chmod 755 /data1
sudo chmod 755 /data1/home

# 修改用户目录权限
chmod 755 /data1/home/qwen
chmod 755 /data1/home/qwen/pdsh-install
chmod 755 /data1/home/qwen/pdsh-install/lib
chmod 755 /data1/home/qwen/pdsh-install/lib/pdsh

5. 验证安装

bash 复制代码
pdsh -V

正确输出应该显示:

复制代码
pdsh-2.29
rcmd modules: ssh,exec (default: ssh)
misc modules: (none)

注意事项

  1. 确保 /data1 目录有足够的空间
  2. 需要 sudo 权限来修改部分目录权限
  3. 如果没有 sudo 权限,可以考虑将安装路径改到用户家目录下(比如 ~/.local)

参考资料

相关推荐
mucheni1 天前
迅为RK3588开发板Ubuntu 系统开发ubuntu终端密码登录
linux·运维·ubuntu
ZKNOW甄知科技1 天前
客户案例 | 派克新材x甄知科技,构建全场景智能IT运维体系
大数据·运维·人工智能·科技·低代码·微服务·制造
长安城没有风1 天前
从入门到精通【Redis】Redis 典型应⽤ --- 缓存 (cache)
数据库·redis·后端·缓存
skywoodsky1 天前
Ubuntu 24.04环境下的挂起转休眠
linux
学无止境w1 天前
Redis在电商中的深度应用:商品缓存、秒杀锁、排行榜的实现与避坑指南
数据库·redis·缓存
象象翔1 天前
Redis实战篇---添加缓存(店铺类型添加缓存需求)
数据库·redis·缓存
小云数据库服务专线1 天前
GaussDB 应用侧报Read timed out解决方法
linux·服务器·gaussdb
放弃幻想_1 天前
S4和ECC或者不通CLIENT,不通HANA服务器互相取数
服务器·数据库·sap·abap·abap sap
资源补给站1 天前
服务器高效操作指南:Python 环境退出与 Linux 终端快捷键全解析
linux·服务器·python
一苓二肆1 天前
代码加密技术
linux·windows·python·spring·eclipse