-bash: sudo: команда не знайдена


63

Я намагаюся розгорнути додаток django. Коли я друкую, apt-get update я бачу

W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list - RealFileExists (13: Permission denied)
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Коли я друкую, sudo apt-get update я бачу

-bash: sudo: command not found

Я намагався використовувати suзамість sudo. Але це дивно. Наприклад, я друкую, su apt-get update і нічого не відбувається, я просто бачу новий рядок,

(uiserver):u78600811:~$ su apt-get update
(uiserver):u78600811:~$

Те саме, якщо я спробую встановити деякі пакети. Що мені робити?

Якщо це корисна інформація - я використовую Debian

(uiserver):u87600811:~$ uname -a
Linux infong1559 3.14.0-ui16294-uiabi1-infong-amd64 #1 SMP Debian 3.14.79-2~ui80+4 (2016-10-20) x86_64 GNU/Linux

Це обліковий запис клієнта на комерційному сервері?
Томаш

@tomas yeah ////
користувач2950593

1
Якщо ви не є власником сервера, що змусило вас вважати право встановлювати чи видаляти програмне забезпечення? запитайте адміністратора
Шадур

Що станеться, якщо ти біжиш apt-cache policy sudo? Не всі дистрибутиви Linux встановлюють sudo за замовчуванням (наприклад, Debian встановлюватиме sudo, якщо і лише якщо ви не встановите кореневий пароль при встановленні). Ви можете запускати apt-кеш без привілеїв root.
rosuav

Відповіді:


79

За замовчуванням sudo не встановлено на Debian, але ви можете встановити його. Спочатку ввімкніть su-режим:
su -

Встановіть sudo, запустивши:
apt-get install sudo -y

Після цього вам потрібно буде пограти з користувачами та дозволами. Дайте право судо своєму власному користувачеві.

usermod -aG sudo yourusername

Переконайтеся, що у вашому файлі sudoers додано групу sudo. Виконати:
visudoзмінити файл sudoers та додати до нього наступний рядок (якщо він відсутній):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Щоб зміни набули чинності, потрібно повністю переробити або перезавантажити пристрій.


3
Це слід прийняти відповіддю, це вирішило мою проблему
Callat

Я отримую "су: Неможливо визначити ваше ім'я користувача". on doing su -
user674669

@ user674669 Ви перевірили це повідомлення: serverfault.com/questions/816969/… ?
Максим Лузик

Дякую @MaksimLuzik Шахта - контейнер для докерів. Ідеї ​​на цій сторінці мені не корисні. Можливо, я повинен поставити окреме запитання.
користувач674669

19

Оскільки це комерційний сервер, ви не матимете доступу до кореневого облікового запису і не зможете працювати з привілеями root. Це означає, що ви не зможете запускати sudoабо встановлювати пакети. Що ви можете спробувати зробити:

  • Перевірте, чи є у вас доступ до компілятора і складіть те, що ви хочете для себе та у своєму домашньому просторі.

  • Перевірте, чи можна запустити віртуальну машину. Це може дозволити вам запустити приватний екземпляр ОС, на який ви встановите пакети.


12

suі sudoце дві різні, але пов'язані команди. Він незвичний тим, що його sudoне встановлюють, але він може просто не бути у вашому Шляху. Спробуйте /usr/bin/sudo command.

Якщо вона дійсно sudoнедоступна, вам потрібно, як ви і вирішили використовувати su, але це не працює так само, як і sudo. Найпростіший спосіб його використання - це просто запустити:

su -

Це попросить вас rootввести пароль користувача, і в цей момент ви, ймовірно apt install sudo, повинні вийти з кореневої оболонки, а потім продовжити як звичайно.

Майте в виду , що в відміну від sudo, який просить у вас ваш пароль, suзапросить кореневої пароль «s.


коли я пишу су - нічого не відбувається - просто новий рядок
user2950593

3
Тоді ти, мабуть, вже корінь. Перевірте whoami. Якщо ви root, apt install sudoяк описано.
DopeGhoti

(uiserver): u78600811: ~ $ apt install sudo
user2950593

1
W: Не вдається прочитати /etc/apt/apt.conf.d/ - DirectoryExists (13: дозвіл відхилено) E: Не вдалося відкрити файл блокування / var / lib / dpkg / lock - відкрити (13: дозвіл відхилено) E: неможливо щоб заблокувати каталог адміністрації (/ var / lib / dpkg /), ви root?
користувач2950593

1
Залежно від того, що PS1встановлено.
DopeGhoti
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.