Ubuntu GNU并行解链错误
是否在虚拟Ubuntu服务器上本地安装了GNU Parallel:Ubuntu GNU并行解链错误,ubuntu,unlink,gnu-parallel,virtual-server,Ubuntu,Unlink,Gnu Parallel,Virtual Server,是否在虚拟Ubuntu服务器上本地安装了GNU Parallel: $uname -a Linux #### 2.6.32-43-server #97-Ubuntu SMP Wed Sep 5 16:56:41 UTC 2012 x86_64 GNU/Linux 并行运行时,在STDERR上出现以下错误: $parallel echo ::: A B C Error unlinking file ./rTrUcTv2ZS using unlink0 at /home/######/bin/pa
$uname -a
Linux #### 2.6.32-43-server #97-Ubuntu SMP Wed Sep 5 16:56:41 UTC 2012 x86_64 GNU/Linux
并行运行时,在STDERR上出现以下错误:
$parallel echo ::: A B C
Error unlinking file ./rTrUcTv2ZS using unlink0 at /home/######/bin/parallel line 5529
有没有关于这意味着什么以及如何解决的建议
我已经调查过的事情:
- 权限我对所有文件和目录都有读写权限
- 错误安装可能是错误安装。要安装,我使用了
。以下是configure.log的输出:/configure--prefix=$HOME
This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by parallel configure 20140622, which was generated by GNU Autoconf 2.69. Invocation command line was $ ./configure --prefix=/home/###### ## --------- ## ## Platform. ## ## --------- ## hostname = ###### uname -m = x86_64 uname -r = 2.6.32-43-server uname -s = Linux uname -v = #97-Ubuntu SMP Wed Sep 5 16:56:41 UTC 2012 /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown
uname-p
。
lscpu显示:
Architecture: x86_64
CPU op-mode(s): 64-bit
CPU(s): 48
Thread(s) per core: 1
Core(s) per socket: 12
CPU socket(s): 4
NUMA node(s): 8
Vendor ID: AuthenticAMD
CPU family: 16
Model: 9
Stepping: 1
CPU MHz: 800.000
Virtualization: AMD-V
L1d cache: 64K
L1i cache: 64K
L2 cache: 512K
L3 cache: 5118K
您尚未编写所使用的版本,但导致问题的行可能是:
$disk_full_fh = ::tempfile();
它稍后用于查看是否可以将其他数据写入缓冲文件系统
这会导致任何问题,这是非常令人惊讶的,因为GNU Parallel广泛使用tempfile()
。您可能希望遵循提交错误报告的过程(请参阅LESS=+/^REPORTING man parallel
)
我最好的猜测是$TMPDIR(默认值为/tmp)在您的系统上有一定的特殊性。尝试使用--tmpdir并将其设置为另一个目录。结果表明,取消链接错误是my home directory的NFS文件系统与parallel使用File::Temp模块之间的冲突: >最后,在NFS文件系统上,文件句柄的链接计数并不总是在断开链接后立即变为零。目前,此命令在NFS磁盘上可能会失败 为了解决这个问题,我要求系统管理员在包含根文件夹的卷上提供一个粘性目录,根文件夹位于ext4文件系统上。然后,我将其添加到$TMPDIR下的环境变量中:
export TMPDIR=/to/the/directory
我还将这一行添加到
.bash_profile
我现在能够重现错误。它在最新的git版本中得到了修复,并将包含在20140922版本中(修复程序很疯狂,但似乎可以工作)
请测试一下。谢谢您的回复。我使用的是最新版本20140622。在我的主文件夹中,[代码>和<代码>和<代码>平行——tmpdir/home/##;#;ţ;ţ;ţ;ţ;ţ;ţ;ţ;;ţ;ţ;;