【问题标题】:Can't write on hard drive owned by user and with permissions to write, read and execute无法在用户拥有的硬盘上写入,并具有写入、读取和执行权限
【发布时间】:2014-11-15 19:49:51
【问题描述】:

我对我遇到的这个问题感到非常困惑。我正在尝试通过命令行在 Ubuntu 12.04 LTS 中执行文件。我有一个脚本,它调用一个程序来运行并将结果写入硬盘。我将所有内容的权限和所有权更改为 wxr。这是我的脚本(称为 TEST-star)的 ls -l:

-rwxrwxrwx 1 root  root       950 Nov 15 13:16 TEST-star

这是我的脚本调用的包的 ls -l:

-rwxrwxrwx 1 root  root  1931414 Nov 10 12:37 STAR

最后是挂载在/media/CLC"的硬盘的ls -l"

drwxrwxrwx  1 root root    8192 Nov 15 13:04 CLC

我从昨天开始一直在尝试运行它,但总是收到一条消息,说我无权编写结果:

EXITING because of FATAL ERROR: could not create output file ./_STARtmp//Unmapped.out.mate1.thread14
Solution: check that you have permission to write this file

我认为如果我将权限更改为 rwx 并以 root 身份运行我的脚本,它不会有问题(使用 sudo)。现在我没有选择了。任何建议将不胜感激。请让我知道您需要哪些其他信息来解决此问题。 谢谢你。 这是我尝试运行的第一行脚本:

#!/bin/sh
cd /media/CLC/ANOPHELES-STAR-v2.4f1/; mkdir GambFemAnt1 && cd GambFemAnt1;  echo $PWD && echo Starting mapping of GambFemAnt1; /home/aedes/Documents/STAR_2.4.0f1/STAR --genomeDir /media/Galaxy/Galaxy_data/Anopheles/STAR/Genome --readFilesIn /media/Galaxy/Galaxy_data/Anopheles/QC/GambFemAnt1/GambFemAnt1.fastq --runThreadN 23 --outFilterMismatchNmax 4 --outFilterMatchNminOverLread 0.75 --seedSearchLmax 30 --seedSearchStartLmax 30 --seedPerReadNmax 100000 --seedPerWindowNmax 100 --alignTranscriptsPerReadNmax 100000 --alignTranscriptsPerWindowNmax 10000 --outSAMstrandField intronMotif --outFilterIntronMotifs RemoveNoncanonical --outSAMtype BAM SortedByCoordinate --outReadsUnmapped Fastx; mv Aligned.sortedByCoord.out.bam GambFemAnt1.bam; mv Unmapped.out.mate1 GambFemAnt1-unmapped.fastq; cp *.fastq /media/CLC/ANOPHELES-STAR-v2.4f1/UNMAPED-reads/; cd /media/CLC/ANOPHELES-STAR-v2.4f1 && echo $PWD && echo GambFemAnt1 mapping finished;

我还向包的作者发布了一个问题。

【问题讨论】:

  • 你从哪个目录运行脚本?
  • 您确定您使用的是正确的路径吗?该错误消息表明您正在尝试写入与脚本位于同一目录中的文件。
  • 首先我尝试从我试图写入数据的硬盘驱动器运行它。然后我将它移到 /home/user/Documents 并尝试从那里运行。在这个脚本中,我有一个 mkdir 命令并且它可以工作。
  • 好吧,当我运行脚本时,我看到正在创建的目录以及它应该在该目录中创建的所有 5 个文件。让我再检查一遍。
  • 谢谢@MikeW 我在想我为什么会得到这个。/_STARtmp//Unmapped.out.mate1.thread14。我记得看到有人在尝试使用超过 6 个线程运行该软件时遇到问题。我将脚本更改为仅使用 12 个线程而不是 23 个线程,并且它可以工作。所以权限是正确的。感谢您的及时回复。

标签: linux ubuntu permissions


【解决方案1】:

原来所有权限都设置正确。问题在包内消失。我发现它可以使用--runThreadN 12 而不是--runThreadN 23.

【讨论】:

    猜你喜欢
    • 2021-06-21
    • 1970-01-01
    • 2016-06-22
    • 2019-11-22
    • 2012-03-06
    • 2020-12-12
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多