При попытке обновить свои репозитории я получаю следующую ошибку:
avinash@avinash-VirtualBox:~$ sudo apt-get update
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Кажется, что я случайно удалил свой файл /etc/sudoers
. /etc/sudoers
Файл на самом деле принадлежит пакету sudo
, поэтому я пытаюсь переустановить sudo
с помощью pkexec
, но это не сработает.
avinash@avinash-VirtualBox:~$ pkexec apt-get install sudo
Reading package lists... Done
Building dependency tree
Reading state information... Done
sudo is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 301 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up sudo (1.8.6p3-0ubuntu3.1) ...
WARNING: /etc/sudoers not present!
chown: cannot access ‘/etc/sudoers’: No such file or directory
dpkg: error processing sudo (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
sudo
E: Sub-process /usr/bin/dpkg returned an error code (1)
avinash@avinash-VirtualBox:~$
А также я пытался,
avinash@avinash-VirtualBox:~$ pkexec apt-get install --reinstall sudo
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 301 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for sudo:amd64
Как заставить команду sudo
снова работать?
Просто начальная загрузка от Ubuntu живой диск и копия /etc/sudoers
файл к установленному разделу Ubuntu /etc
каталог.
Начальная загрузка Ubuntu живая скидка и щелчок пробуют опцию Ubuntu на запуске.
команда Run sudo blkid
для знания идентификатора раздела установленного Ubuntu.
Монтируют, что раздел установленного Ubuntu на определенном каталоге как ниже,
sudo mkdir /media/foo
sudo mount /dev/sdaX /media/foo # /dev/sdaX installed Ubuntu's partition id.
Теперь копируют файл живого диска sudoers
в /etc
каталог раздела установленного Ubuntu.
sudo cp /etc/sudoers /media/foo/etc
Теперь начальная загрузка от жесткого диска (Загружают Вашу ОС Ubuntu).It будет работать.
После того, как я сделал резервное копирование для /etc/sudoers
файл:
sudo mv /etc/sudoers{,.bak}
я получаю те же ошибки как в Вашем случае.
, Если Вы используете
pkexec apt-get install sudo
, не будет работать, потому что apt-get
будет видеть что:
sudo is already the newest version.
, Если Вы используете:
pkexec apt-get install --reinstall sudo
не будет также работать, потому что /etc/sudoers
файл, как находят, не удален и заменен.
, Но если Вы используете:
pkexec apt-get purge sudo
pkexec apt-get install sudo
, как описано в этот ответ , все будет работать как очарование. Я могу сказать это, потому что я просто тестирую его снова.
Так, нет никакого смысла потерять время и загрузить Вашу систему с живым диском.
apt-get purge sudo
также удалил несколько других очень важных пакетов с ним для меня, включая мою настольную среду и менеджера по оформлению (Commandline: /usr/bin/apt-get purge sudo Purge: casper:amd64 (1.340.2), cinnamon:amd64 (2.6.13+rafaela), sudo:amd64 (1.8.9p5-1ubuntu1.3), ubuntu-minimal:amd64 (1.325), lupin-casper:amd64 (0.55), mdm:amd64 (2.0.4+rafaela), gdebi:amd64 (0.9.5.3ubuntu2), gksu:amd64 (2.0.2-6ubuntu2)
). Я провел 5 часов, пытаясь добраться до моего рабочего стола снова. Я рекомендую не делать этого
– Yohan Liyanage
17.05.2020, 11:07
Вот необработанное содержание /etc/sudoers
на Ubuntu 13.10:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
<час> И полномочия:
-r--r----- 1 root root
Для применения тех это chmod 440 /etc/sudoers
и chown root:root /etc/sudoers
sudo
. Таким образом, что you' d должны сделать, загрузиться к живой сессии Linux, и создать файл (конечно, с полномочием пользователя root) и поместить содержание (предложенный в MrVaykadji' s ответ) в файле, сохраните его, закройте редактора, установите правильные полномочия и перезагрузку.. это должно зафиксировать часть проблемы (который я думаю, имеет больший домен)..
– Vadim Kotov
17.05.2020, 11:07
/etc
и измениться ли, полномочия, использующие..., предполагают что?... pkexec
.
– Steve Barnes
17.05.2020, 11:08
sudo
при попытке Ubuntu от живого диска. – JrBriones 17.05.2020, 11:07