PATH 和 sources.list 问题

PATH 和 sources.list 问题

我发现了 PATH 中存在一个问题,/ect/apt/sources.list请问您能建议如何解决它吗?

由于我对编码和堆栈交换还很陌生,请您发表评论并让我知道需要从该问题中删除哪些部分。

我最近开始研究使用你可以吗

最初,我开始使用命令的完整路径来使用它,即 ~/Canu/canu/Linux-amd64/bin/canu

我尝试使用该-correct选项,但没有成功。
我推测这可能是因为包含命令文件(还包含几个其他命令文件)的目录需要添加到 PATH。

  • 因此,我补充道:

    export PATH=$PATH:/localadmin/Canu/canu/Linux-amd64/bin/canu
    

    到最后~/.bashrc

  • 运行时:

    $ canu –help
    WARNING:root:could not open file '/etc/apt/sources.list'`
    
  • 我查看了原文问题并从这里找到答案;

    1. sudo ln -s /etc/apt/sources.list.d/official-package-repositories.list /etc/apt/sources.list

      这没有输出并且尝试canu –help出现与之前相同的错误。

    2. sudo chmod -R 0644 /etc/apt/sources.list.d/

      这似乎让事情变得更糟了;

      localadmin@dna-ws:~$canu --help
      WARNING:root:could not open file '/etc/apt/sources.list
      WARNING:root:could not open file '/etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-xenial.list'
      WARNING:root:could not open file /etc/apt/sources.list.d/mirror.oxfordnanoportal.com.list'
      WARNING:root:could not open file '/etc/apt/sources.list.d/xenial-dell-service.list'
      WARNING:root:could not open file '/etc/apt/sources.list.d/google-chrome.list'
      WARNING:root:could not open file '/etc/apt/sources.list.d/xenial-dell-matira-5-7.list'
      WARNING:root:could not open file '/etc/apt/sources.list.d/nanoporetech.sources.list'
      WARNING:root:could not open file '/etc/apt/sources.list.d/xenial-dell.list'`
      

我查看了一下/ect/apt/,发现了以下内容

localadmin@dna-ws:/etc/apt$ ls
apt.conf.d  preferences.d  sources.list~  sources.list.d  sources.list.save  trusted.gpg  trusted.gpg~  trusted.gpg.d`

此时,我想在破坏其他任何东西之前先做一些备份,这显示了以下内容sources.list.d(我认为这可能是有用的内容)

localadmin@dna-ws:/etc/apt$ cp -r sources.list.d ~/sources.list.d.backup
cp: cannot stat 'sources.list.d/google-chrome.list': Permission denied
cp: cannot stat 'sources.list.d/xenial-dell.list': Permission denied
cp: cannot stat 'sources.list.d/mirror.oxfordnanoportal.com.list': Permission denied
cp: cannot stat 'sources.list.d/nanoporetech.sources.list': Permission denied
cp: cannot stat 'sources.list.d/mirror.oxfordnanoportal.com.list.save': Permission denied
cp: cannot stat 'sources.list.d/xenial-dell-service.list.save': Permission denied
cp: cannot stat 'sources.list.d/google-chrome.list.save': Permission denied
cp: cannot stat 'sources.list.d/xenial-dell-matira-5-7.list.save': Permission denied
cp: cannot stat 'sources.list.d/nanoporetech.sources.list.save': Permission denied
cp: cannot stat 'sources.list.d/xenial-dell.list.save': Permission denied
cp: cannot stat 'sources.list.d/jonathonf-ubuntu-python-3_6-xenial.list': Permission denied
cp: cannot stat 'sources.list.d/jonathonf-ubuntu-python-3_6-xenial.list.save': Permission denied
cp: cannot stat 'sources.list.d/xenial-dell-matira-5-7.list': Permission denied
cp: cannot stat 'sources.list.d/xenial-dell-service.list': Permission denied`

然后我设法使用sudo

编辑: localadmin@dna-ws:~$ type -a canu -bash: type: canu: not found

答案1

变量PATH包含可执行文件的目录而不是可执行文件本身。您尝试将canu可执行文件添加到 PATH:

export PATH=$PATH:/localadmin/Canu/canu/Linux-amd64/bin/canu

这使得你的系统寻找目录调用/localadmin/Canu/canu/Linux-amd64/bin/canu,然后它会搜索可执行文件。由于没有这样的目录(canu是一个文件),该命令基本上不执行任何操作。您想要做的是:

export PATH="$PATH":/home/localadmin/Canu/canu/Linux-amd64/bin

(还要注意引号,如果目录名称中带有空格,那么引号就很重要)

恐怕你之后所做的一切都与此无关。我不明白你遇到的错误,但由于它canu实际上不在你的 PATH 中,所以root:could not open file错误与 无关canu。我怀疑你弄乱了 PATH,这导致了各种问题。

/etc/sources*因此,撤消您对以下内容所做的更改@steeldriver 的建议,然后删除您添加的行.bashrc,并添加我上面显示的正确行。更好的方法是,不要添加任何内容.bashrc,而使用~/.bash_profile,因为那是定义全局变量的更好位置。

然后,注销并重新登录并重新运行canu --help。现在一切应该都可以正常工作了。

相关内容