odmowa dostępu: /etc/apt/sources.list

20

Próbuję zainstalować java jre, zwykle robię to w ten sposób

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

ale kiedy robię

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

Widzę

odmowa dostępu: /etc/apt/sources.list

Kiedy robię

ls -l /etc/apt/sources.list

Widzę

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

Kiedy robię

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

Widzę

#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

i problem nie został rozwiązany, nadal widzę ten błąd uprawnień, jestem na 64-bitowym laptopie

Lynob
źródło

Odpowiedzi:

40

Jest to znany problem, gdy używasz go sudow ten sposób, nie działa poprawnie. Dzieje się tak, ponieważ gdy echopolecenie jest uruchamiane jako sudo, >>for forend próbuje otworzyć cel pliku jako sudoużytkownik niebędący użytkownikiem. To jest kwestia pozwolenia.

Proszę jednak przeczytać moją wieloczęściową odpowiedź, która daje osobne rozwiązanie, które można uznać za bardziej „bezpieczne” niż inne, które zapewniam:

1:

Użyj osobnego pliku, w /etc/apt/sources.list.d/którym znajduje się instrukcja deb, o której mówisz teraz. Nadal będziesz musiał jednak użyć sudodo edycji / utworzenia pliku.


2:

Rozwiązaniem byłoby zrobienie tego sudo su -c "echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list", które nakazuje systemowi uruchomienie go jako superużytkownika, do którego można uzyskać dostęp za pomocą polecenia „sudo” przed poleceniem „su”.

PROSZĘ PAMIĘTAĆ, że supolecenie użyte poza poleceniem, które tu podałem, jest niebezpieczne, więc powinieneś używać tej metody tylko wtedy, gdy jest to absolutnie potrzebne.


Najbezpieczniejsze rozwiązanie (nr 3): użyj echo | sudo teeORAZ osobnego.list

Możesz jednak osiągnąć to samo, co powyżej, jednak bez przechodzenia do monitu administratora. Za pomocą tego polecenia:

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

Weźmy jednak również pod uwagę punkt 1 powyżej i zamiast tego użyj nowego pliku:

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

W ten sposób zostawiamy główny w sources.listspokoju, ale źródła zostaną dodane za pomocą dołączonego pliku, który konkretnie obsługuje to repozytorium. (Nawiasem mówiąc, w ten sposób dodawane są umowy PPA!)

Thomas Ward
źródło
19

To, co dzieje się z poleceniem, echojest uruchamiane jako root, ale nie >>. Zamiast tego spróbuj wykonać następujące czynności:

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

alternatywnie możesz to zrobić w dwóch krokach:

sudo -i

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

exit
mikewhthing
źródło
3

Co to polecenie nie jest dołączanie deb http://www.duinsoft.nl/pkg debs alldo /etc/apt/sources.list. Zróbmy to w inny sposób! Wystarczy otworzyć ten plik i dołączyć go ręcznie!

sudo nano /etc/apt/sources.list

Następnie dodaj deb http://www.duinsoft.nl/pkg debs alldo końca i naciśnij, Ctrl + Oa następnie ENTER, aby zapisać zmiany i ostatecznie Ctrl + Xwyjść nano.

Możesz teraz przejść do następnego polecenia ...

Milad Rahimi
źródło
1
Fajnie, to mi bardzo pomogło!
Kirill Gusyatin
0

Po prostu dodaj sudo ponownie, gdy >> zadziała dla tego. Spróbuj tego

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

Dosłownie miałem tylko ten sam problem i nie chciałem się wycofywać, a to zadziałało dla mnie.

Dziecko hippie
źródło