LINUX.ORG.RU

почему команда требует sudo?

 ,


1

1

установил postgres на linux mint и пытаюсь подключиться к БД. проблема в том, что команда подключения на уровне ОС требует ввести пароль.

kalinin@lenovo ~ $ -i -u postgres
-i: command not found
kalinin@lenovo ~ $ sudo -i -u postgres
[sudo] password for kalinin: 
postgres@lenovo ~ $ man createuser

это всё хорошо и правильно, но мне не понятно какое отношение sudo имеет к командам postgres. ведь в чистом виде команда postgres выглядит так:

-i -u postgres

то есть, как видите, здесь только два ключа и имя суперпользователя. а именно команды нет.

kalinin@lenovo ~ $ postgres
No command 'postgres' found, did you mean:
 Command 'postgrey' from package 'postgrey' (universe)
postgres: command not found
kalinin@lenovo ~ $ sudo postgres
sudo: postgres: command not found

я пробовал выполнять из под рута:

kalinin@lenovo ~ $ su -
Password: 
lenovo ~ # -i -u postgres
-i: command not found

как видите, такой команды не существует.

объясните пожалуйста почему после добавления sudo она начинает существовать?


Обратная польская нотация - это конечно классно, но всё-таки команда всегда идёт первой:

postgres -i -u

sudo postgres -i -u

sanwashere ★★
()
Последнее исправление: sanwashere (всего исправлений: 2)

Очень толсто, бро!

anonymous
()
Ответ на: комментарий от sanwashere
kalinin@lenovo ~ $ sudo postgres -i -u
sudo: postgres: command not found
kalinin@lenovo ~ $ sudo -i -u postgres
postgres@lenovo ~ $ 
prozaik
() автор топика

sudo -i -u postgres

Ну ты запускаешь интерактивный сеанс от имени юзера postgres

Изменившееся приглашение об этом говорит

postgres@lenovo ~ $

Radjah ★★★★★
()
Ответ на: комментарий от prozaik

У тебя каша в голове.

Прочитай man sudo.

В общем случае строка запуска состоит из команды (исполняемый файл, втроенная команда оболочки) и ключей. Ключей может не быть, но команда должна быть обязательно.

-i -u postgres

Запуск -i с ключами -u postgres.

Оболочка не находит команду с именем "-i" и ругается.

$ postgres
postgres: command not found
$ sudo postgres
sudo: postgres: command not found

И такой команды тоже не находит, программа sudo солидарна с оболочкой.

Radjah ★★★★★
()

psql а не postgres...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.