我发现了 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'`
我查看了原文问题并从这里找到答案;
sudo ln -s /etc/apt/sources.list.d/official-package-repositories.list /etc/apt/sources.list
这没有输出并且尝试
canu –help
出现与之前相同的错误。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
。现在一切应该都可以正常工作了。