permissão negada: /etc/apt/sources.list

20

Estou tentando instalar o java jre, geralmente faço assim

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

mas quando eu faço

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

eu vejo

permissão negada: /etc/apt/sources.list

Quando eu faço

ls -l /etc/apt/sources.list

eu vejo

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

Quando eu faço

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

eu vejo

#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

e o problema não foi resolvido, ainda vejo esse erro de permissão, estou em um laptop de 64 bits

Lynob
fonte

Respostas:

40

Esse é um problema conhecido. Quando você usa sudodessa maneira, não funciona corretamente. Isso ocorre porque enquanto o echocomando é executado como sudo, o >>append for tenta abrir o destino do arquivo como um não sudousuário. É aí que está o problema de permissão.

No entanto, leia minha resposta de várias partes, que fornece uma solução separada que pode ser considerada mais 'segura' do que as outras que eu forneço:

1:

Use um arquivo separado no /etc/apt/sources.list.d/qual contenha a instrução deb que você está dizendo agora. Você ainda precisará usar sudo, no entanto, para editar / criar o arquivo.


2:

Uma solução seria fazer isso sudo su -c "echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list", que informa ao sistema para executá-lo como superusuário, ao qual você obtém acesso usando 'sudo' na frente do comando 'su'.

Observe que o sucomando usado fora do comando que afirmei aqui é perigoso; portanto, você só deve usar esse método se for absolutamente necessário.


Solução mais segura (nº 3): use echo | sudo teeAND um.list

Você pode conseguir o mesmo que o acima, no entanto, sem cair em um prompt de superusuário. Com este comando:

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

No entanto, vamos levar em consideração o item 1 acima e, em vez disso, usar um novo arquivo para ele:

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

Dessa forma, deixamos o principal em sources.listpaz, mas as fontes serão adicionadas através de um arquivo incluído que lida especificamente com este repositório. (É assim que os PPAs são adicionados, a propósito!)

Thomas Ward
fonte
19

O que acontece com o comando é que echoé executado como root, mas não >>. Tente o seguinte:

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

Como alternativa, você pode fazer isso em duas etapas:

sudo -i

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

exit
mikewhatever
fonte
3

O que este comando faz é anexar deb http://www.duinsoft.nl/pkg debs alla /etc/apt/sources.list. Vamos fazê-lo em outro método! Basta abrir esse arquivo e anexá-lo manualmente!

sudo nano /etc/apt/sources.list

Em seguida, adicione deb http://www.duinsoft.nl/pkg debs allao final e pressione Ctrl + Oe, em seguida, ENTER para salvar as alterações e finalmente Ctrl + Xsair nano.

Você pode pular para o próximo comando agora ...

Milad Rahimi
fonte
11
Bom, isso me ajudou muito!
Kirill Gusyatin
0

Basta adicionar o sudo novamente depois que >> funcionará para este. Tente isto

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

Eu literalmente tinha o mesmo problema e não queria voltar atrás e isso funcionou para mim.

Criança hippie
fonte