LinuxСредняя

Ошибка sudo: command not found в Linux — решение

Статья объясняет, почему в Linux появляется ошибка 'sudo: command not found', и предлагает несколько способов её исправить: проверка установки sudo, настройка PATH, добавление пользователя в группу sudo.

Обновлено 8 апреля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04+Debian 10+CentOS 7+RHEL 8+Любой дистрибутив Linux

Что означает ошибка sudo: command not found

Когда вы пытаетесь выполнить команду с sudo, а система выводит sudo: command not found, это означает, что ваша оболочка (shell) не может найти исполняемый файл sudo в директориях, перечисленных в переменной PATH. Ошибка обычно появляется сразу после ввода команды:

$ sudo apt update
bash: sudo: command not found

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

Причины возникновения

  1. Пакет sudo не установлен. В минимальных установках (Docker-контейнеры, некоторые сборки вроде Alpine, или ручная настройка) sudo часто отсутствует по умолчанию.
  2. Переменная PATH повреждена или не включает стандартные пути. Если в PATH нет /usr/bin (стандартная директория для sudo), shell его не найдёт.
  3. Файл sudo удалён или повреждён. Редко, но возможно случайное удаление или повреждение бинарного файла /usr/bin/sudo.
  4. Система в режиме восстановления или chroot. В некоторых окружениях (например, при загрузке в rescue mode) sudo может быть отключён.

Способ 1: Установите пакет sudo (если он отсутствует)

Сначала проверьте, установлен ли sudo:

which sudo
# или
command -v sudo

Если команда ничего не выводит — sudo не установлен или не в PATH. Установите его, используя root-доступ (через su или напрямую если вы вошли как root).

Для Ubuntu/Debian:

su -c "apt update && apt install sudo"

Для RHEL/CentOS 7:

su -c "yum install sudo"

Для RHEL/CentOS 8+/Fedora:

su -c "dnf install sudo"

Для Arch Linux:

su -c "pacman -S sudo"

После установки проверьте which sudo — команда должна вернуть /usr/bin/sudo.

Способ 2: Проверьте и исправьте переменную PATH

Если sudo установлен (например, вы уверены, что пакет есть), но команда не находится, проблема в PATH.

echo $PATH

Убедитесь, что в выводе есть /usr/bin. Обычно sudo находится именно там (/usr/bin/sudo). Если пути нет:

Временное исправление (действует до перезагрузки):

export PATH=$PATH:/usr/bin

Постоянное исправление:

  1. Откройте файл ~/.bashrc (для bash) или ~/.zshrc (для zsh).
  2. Добавьте строку:
    export PATH=$PATH:/usr/bin
    
  3. Примените изменения:
    source ~/.bashrc
    

Способ 3: Переустановите или восстановите пакет sudo

Если sudo установлен, но файл повреждён (например, после сбоя обновления), переустановите пакет:

  • Ubuntu/Debian:
    su -c "apt --reinstall install sudo"
    
  • RHEL/CentOS:
    su -c "yum reinstall sudo"
    # или для dnf:
    su -c "dnf reinstall sudo"
    
  • Arch Linux:
    su -c "pacman -S sudo"
    

После переустановки проверьте целостность файла:

ls -l /usr/bin/sudo

Права должны включать setuid-бит (например, -rwsr-xr-x). Если нет, исправьте:

su -c "chmod 4755 /usr/bin/sudo"

Способ 4: Добавьте пользователя в группу sudo (если права не настроены)

Хотя отсутствие группы sudo обычно вызывает ошибку "user is not in the sudoers file", в некоторых дистрибутивах (или при кастомной настройке) это может привести к отсутствию команды в PATH. Если sudo установлен и в PATH, но не работает, проверьте группы:

groups

Если в списке нет sudo (или wheel в RHEL/CentOS), добавьте пользователя:

  • Через root (если sudo недоступен):
    su -c "usermod -aG sudo $USER"
    
  • Если sudo уже работает частично:
    sudo usermod -aG sudo $USER
    

После этого выйдите и зайдите снова, или выполните:

newgrp sudo

Профилактика

  • Не удаляйте пакет sudo без крайней необходимости. В минимальных установках (например, Docker) используйте su или запускайте контейнер с root-правами (docker run -u 0).
  • Будьте осторожны при редактировании PATH. Всегда проверяйте, что стандартные пути (/usr/bin, /bin) присутствуют.
  • Регулярно обновляйте систему (apt update && apt upgrade), чтобы избежать повреждения пакетов.
  • Проверяйте целостность пакетов после сбоев: apt verify sudo (Debian/Ubuntu) или rpm -V sudo (RHEL/CentOS).

Если проблема остаётся, проверьте, не находитесь ли вы в chroot-окружении или режиме восстановления — там sudo часто недоступен по design. В таких случаях используйте su или войдите как root.

Часто задаваемые вопросы

Почему возникает ошибка 'sudo: command not found'?
Как добавить пользователя в группу sudo, если команда sudo недоступна?
Можно ли работать в Linux без sudo?
Почему после установки sudo команда всё равно не найдена?

Полезное

Проверьте наличие sudo
Установите sudo (если отсутствует)
Проверьте переменную PATH
Добавьте пользователя в группу sudo
Перезагрузите сессию

Эта статья помогла вам решить проблему?