Sudo
パッケージをインストールするにはどうすればよいですか?
$ apt-get install Sudo
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
コマンドを実際に削除した場合は、次のコマンドを実行して、それを提供するパッケージを再インストールできます。
pkexec apt-get update
pkexec apt-get --reinstall install Sudo
これが機能するのは、ほとんどのUbuntuシステムには、管理者がrootとしてアクションを実行できる2つの個別の方法 Sudo および Polkit があるためです。 Sudoが破損しても、Polkitは通常はそのままです。
もちろん、これを行うには管理者としてログインする必要があります。 Sudo
(システムにSudo
が存在したときに戻る)の使用を許可されたアカウントを使用している場合、それは正常に機能するはずです。
最小システムまたはUbuntuサーバーシステムでは、Polkitが使用できない場合があり、一部の構成ではpkexec
コマンドをSSHセッションで実行できません。
示されているpkexec
は削除されませんが、Sudo
のように削除されませんが、破損します。具体的には、システムの所有権またはアクセス権が間違っています。 setuid rootであるはずですが、そうではないため、使用できません。
知っておくと便利です/usr/bin/Sudo
の削除方法、および/usr/bin/pkexec
のパーミッション(または所有権)の変更方法。これらは、システムに対する2つの、一見別個の重大な変更です。再帰的(-R
)chown
またはchmod
が/
、/usr
、または/usr/bin
で実行された場合、どのようにpkexec
のパーミッションが変更されました。適切な修正は、その1つの実行可能ファイルに対して単に変更するだけではありません。
とは言っても、システムで間違っているのがSudo
がなく、pkexec
のパーミッションまたは所有権が間違っている場合、 これは簡単に修正できます 復旧モードで再起動するか、ライブ環境からchrootする必要があります。復旧モードをお勧めします。
/
を実行して、mount -o remount,rw /
readwriteを再マウントします。pkexec
の所有権が正しいことを確認してください:chown root:root /usr/bin/pkexec
pkexec
の権限を修正:chmod 4755 /usr/bin/pkexec
exit
してプロンプトに従います)、またはreboot
でリブートします。Sudo
でapt-get
を実行して、pkexec
パッケージを再インストールするための上記の指示に従ってください。これには、.deb
ファイルをダウンロードして手動でインストールすることなく、インターネット接続が回復モードで使用可能かどうかに関係なく機能するという利点があります。 --reinstall
を使用すると、apt-get
はSudo
のすべてのパッケージファイルを置き換え、追加の問題を修正できます。さらに、これは壊れたpkexec
も修正します。
ただし、これが唯一のアプローチではありません。特に、 San Lin Naingの答え で指定されているメソッドも機能するはずです。主な違いは、ここで示した方法では、chrootでパッケージ管理操作が実行されないことです。chrootはpkexec
の修復にのみ使用されるため、通常の起動時にパッケージの管理に使用できます。
はい、私はsudoファイルをacidentlly削除しました。 ls -l/usr/bin/Sudoの出力は「/ usr/bin/Sudo」にアクセスできません:そのようなファイルまたはディレクトリはありません
ちょっとした考え:
Ubuntuをシステムにインストールしたメディア(DVD/USBスティック)がまだありますか?
/usr/bin/Sudo
をライブシステムからマウントされたパーティションにコピーします。ソフトウェアをインストールするにはroot
権限が必要です。しかし、Sudo
パッケージを削除しました。
root
としてアクセスできる場合は、Sudo
を再度インストールできる場合があります。
これへの参照 answer 。
bash mode
からroot
のユーザーで開始してみてください。
Shift
キーまたはEsc
キーを長押しします。Advanced options for Ubuntu
を選択します。Ubuntu, with Linux x.x.x-xx-generic (recovery mode)
を選択します。root Drop to root Shell Prompt
を選択しますmount -o rw,remount /
コマンドを入力して、読み取り/書き込みアクセスを取得します。apt install Sudo
と入力します。画面の指示に従います。インストールが完了したら、完了です!
notの場合、ネットワーク接続が必要になる場合があります。
システムを再起動して通常の起動を行い、必要なファイルをダウンロードします。その場合、Ctrl + D
はメニューページに戻り、resume
を選択します。これにより、通常の起動が開始されます。
Sudoをオフラインでインストールする必要がある場合があります。これは別の研究かもしれません。 ここ.deb
パッケージがあります。ご使用のOSバージョンでダウンロードできます。 Sudo_1.8.19-3_xxxx.deb
であるファイルをダウンロードします。そして、ダウンロードfile path
を覚えておいてください。
bash mode (recovery mode)
でシステムを再起動し、1〜6の手順に従います。
そしてdpkg -i *file_path/Sudo_1.8.19-3_xxxx.deb
。これにより、Sudo
がインストールされます。終わった! Ctrl + D
を選択し、resume
を選択して通常起動します。
できた!
ソースからSudo
をビルドできます
mkdir Sudo-src
cd Sudo-src
apt-get source Sudo
cd Sudo-x.y.z
./configure --prefix=$HOME
make
make install
たぶん、grubを使用してシステムをリカバリモードで起動できます。そこから、dpkgを使用してシステム統合を確認することができます。これにより、問題を解決できる可能性があります。または、その後、パーティションが読み取り/書き込み権限でマウントされているため、ルートメニューエントリを使用してSudoコマンドを使用せずにSudoをインストールできます。 apt-getで更新し、最初にapt-get install -f
とdpkg --configure -a
の使用を試す必要があります。