Ошибка «Отказано в доступе» при редактировании /etc/ld.so.conf

14

Когда я запускаю эту команду, она терпит неудачу:

sudo echo '/usr/local/lib' >> /etc/ld.so.conf 
bash: /etc/ld.so.conf: Permission denied

У меня нет проблем с выполнением sudoдругих задач. Я использую Ubuntu 12.04. Работает при подключении как root.

Любая помощь будет высоко ценится

maazza
источник
5
Вы делаете эхо sudo, но остальная часть этой команды НЕ выполняется как sudo (перенаправление не выполняется как sudo ;-))
Rinzwind

Ответы:

19

По памяти это надо сделать:

sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf"
Rinzwind
источник
2
Не могли бы вы объяснить, почему это работает?
Бар
@ Бар Я думаю, что это работает, потому что sudoприменяется только к одной команде за раз. Кавычки объединяют две команды ( echoсопровождаемые и >>) в одну. Альтернативный подход , чтобы открыть редактор с sudoи делать изменения вручную, то есть sudo gedit /usr/local/lib.
apostl3pol