Отказано в разрешении: /etc/apt/sources.list

Я пытаюсь установить java jre, обычно я делаю это так

sudo echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.listsudo apt-key adv --keyserver keys.gnupg.net --recv-keys 5CB26B26sudo apt-get updatesudo apt-get install update-sun-jreexit

но когда я это делаю

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.oldsudo 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 restricteddeb-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 restricteddeb-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 universedeb-src http://lb.archive.ubuntu.com/ubuntu/ precise universedeb http://lb.archive.ubuntu.com/ubuntu/ precise-updates universedeb-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 multiversedeb-src http://lb.archive.ubuntu.com/ubuntu/ precise multiversedeb http://lb.archive.ubuntu.com/ubuntu/ precise-updates multiversedeb-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 multiversedeb-src http://lb.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiversedeb http://security.ubuntu.com/ubuntu precise-security main restricteddeb-src http://security.ubuntu.com/ubuntu precise-security main restricteddeb http://security.ubuntu.com/ubuntu precise-security universedeb-src http://security.ubuntu.com/ubuntu precise-security universedeb http://security.ubuntu.com/ubuntu precise-security multiversedeb-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 maindeb-src http://extras.ubuntu.com/ubuntu precise main

и проблема не решена, я все еще вижу эту ошибку разрешения, я на 64-разрядном ноутбуке

Это известная проблема, когда вы используете 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.


Самое безопасное решение (№ 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.listecho 'deb http://www.duinsoft.nl/pkg debs all' | sudo tee -a /etc/apt/sources.list.d/duinsoft.list

Таким образом, мы оставляем основную sources.list отдельно, но исходные тексты будут добавлены через включенный файл, который специально обрабатывает этот репозиторий. (Кстати, именно так добавляются PPA!)

Что происходит с командой, так это то, что echo запускается от имени root, но не >>. Вместо этого попробуйте выполнить следующее:

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

в качестве альтернативы, вы могли бы сделать это в два этапа:

sudo -iecho 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.listexit

Что делает эта команда, так это добавление 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.

Теперь вы можете перейти к следующей команде...

Создайте сценарий myscript.sh содержащий

#!/bin/bashecho 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list

выполните его с помощью (сначала вы должны дать ему разрешение на выполнение, например chmod u+x myscript.sh)

sudo ./myscript.sh