权限被拒绝:/etc/apt/sources.list


20

我正在尝试安装java jre,我通常这样做

sudo echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 5CB26B26
sudo apt-get update
sudo apt-get install update-sun-jre
exit

但是当我这样做

sudo echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list

我知道了

权限被拒绝:/etc/apt/sources.list

当我做

ls -l /etc/apt/sources.list

我知道了

-rw-r--r-- 1 root root 3360 Aug 26 01:45 /etc/apt/sources.list

当我做

sudo mv /etc/apt/sources.list /etc/apt/sources.list.old
sudo cat /etc/apt/sources.list.old | sudo tee /etc/apt/sources.list

我知道了

#deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/main/binary-i386/

#deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/restricted/binary-i386/
#deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ precise main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://lb.archive.ubuntu.com/ubuntu/ precise main restricted
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://lb.archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://lb.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise universe
deb http://lb.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://lb.archive.ubuntu.com/ubuntu/ precise multiverse
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise multiverse
deb http://lb.archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://lb.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://lb.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu precise-security main restricted
deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
deb http://security.ubuntu.com/ubuntu precise-security multiverse
deb-src http://security.ubuntu.com/ubuntu precise-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main

并且问题没有解决,我仍然看到权限错误,我在64位笔记本电脑上

Answers:


40

这是一个已知问题,当您sudo以这种方式使用时,它将无法正常工作。这是因为当echo命令以方式运行时sudo>>for append会尝试以非sudo用户身份打开文件目标。这就是权限问题所在。

但是,请阅读我的多部分答案,它为您提供了一个单独的解决方案,该解决方案比我提供的其他解决方案更“安全”:

1:

使用一个单独的文件,/etc/apt/sources.list.d/其中包含您现在要说的deb指令。sudo不过,您仍然需要使用来编辑/创建文件。


2:

一种解决方案是do sudo su -c "echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list",它告诉系统以超级用户身份运行它,您可以通过在'su'命令前面使用'sudo'来访问它。

请注意,在su我在此处所述的命令之外使用的命令很危险,因此,仅在绝对需要时才应使用此方法。


最安全的解决方案(#3):echo | sudo tee单独使用AND.list

但是,您可以实现与上述相同的功能,而无需进入超级用户提示符。使用此命令:

echo 'deb http://www.duinsoft.nl/pkg debs all' | sudo tee -a /etc/apt/sources.list

但是,让我们也考虑到上面的#1,而是使用一个新文件:

sudo touch /etc/apt/sources.list.d/duinsoft.list
echo 'deb http://www.duinsoft.nl/pkg debs all' | sudo tee -a /etc/apt/sources.list.d/duinsoft.list

这样,我们就不用管它了sources.list,而是通过专门处理此存储库的包含文件添加源。(顺便说一下,这就是PPA的添加方式!)


19

该命令会echo以root身份运行,而不是以root身份运行>>。请尝试以下操作:

echo 'deb http://www.duinsoft.nl/pkg debs all' | sudo tee -a /etc/apt/sources.list

或者,您可以分两个步骤进行操作:

sudo -i

echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list

exit

3

该命令的作用是附加deb http://www.duinsoft.nl/pkg debs all/etc/apt/sources.list。让我们用另一种方法来做!只需打开该文件并手动附加即可!

sudo nano /etc/apt/sources.list

然后添加deb http://www.duinsoft.nl/pkg debs all到它的末尾并按Ctrl + O,然后按Enter以保存更改,最后Ctrl + X退出nano

您现在可以跳到下一个命令...


1
很好,这对我有很大帮助!
Kirill Gusyatin

0

只需在>>将在此之后再次添加sudo即可。尝试这个

sudo echo'deb http://www.duinsoft.nl/pkg全部删除'>> sudo /etc/apt/sources.list

我实际上只是遇到了同样的问题,并且不想回溯,这对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.