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

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