разрешение отклонено: /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-битном ноутбуке

Lynob
источник

Ответы:

40

Это известная проблема, когда вы используете sudoэтот способ, он не будет работать правильно. Это потому, что пока echoкоманда запускается как sudo, >>for append пытается открыть целевой файл как не sudoпользователь. Вот где проблема разрешения.

Однако, пожалуйста, прочитайте мой многочастный ответ, который дает вам отдельное решение, которое можно считать более «безопасным», чем другие, которые я предоставляю:

1:

Используйте отдельный файл, в /etc/apt/sources.list.d/котором содержится инструкция deb, которую вы сейчас говорите. sudoТем не менее, вам все равно придется использовать для редактирования / создания файла.


2:

Решением может быть решение sudo su -c "echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list", которое говорит системе запускать это как суперпользователь, к которому вы получаете доступ, используя sudo перед командой su.

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, что suкоманда, используемая вне команды, которую я здесь изложил, опасна, поэтому вы должны использовать этот метод только в том случае, если он вам абсолютно необходим.


Самое безопасное решение (# 3): использовать echo | sudo teeИ отдельный.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, но нет >>. Попробуйте следующее:

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
mikewhatever
источник
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
Хорошо, это мне очень помогло!
Кирилл Гусятин
0

Просто добавьте sudo снова после того, как >> будет работать для этого. Попробуй это

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

У меня буквально была та же проблема, и я не хотел отступать, и это сработало для меня.

Ребенок хиппи
источник