web-dev-qa-db-ja.com

sudoが削除されます

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?
11
Kaliya Mitesh

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つの、一見別個の重大な変更です。再帰的(-Rchownまたはchmod//usr、または/usr/binで実行された場合、どのようにpkexecのパーミッションが変更されました。適切な修正は、その1つの実行可能ファイルに対して単に変更するだけではありません。

とは言っても、システムで間違っているのがSudoがなく、pkexecのパーミッションまたは所有権が間違っている場合、 これは簡単に修正できます 復旧モードで再起動するか、ライブ環境からchrootする必要があります。復旧モードをお勧めします。

  1. 回復モードで起動します。
  2. /を実行して、mount -o remount,rw / readwriteを再マウントします。
  3. pkexecの所有権が正しいことを確認してください:chown root:root /usr/bin/pkexec
  4. pkexecの権限を修正:chmod 4755 /usr/bin/pkexec
  5. システムをブートし(exitしてプロンプトに従います)、またはrebootでリブートします。
  6. Sudoapt-getを実行して、pkexecパッケージを再インストールするための上記の指示に従ってください。

これには、.debファイルをダウンロードして手動でインストールすることなく、インターネット接続が回復モードで使用可能かどうかに関係なく機能するという利点があります。 --reinstallを使用すると、apt-getSudoのすべてのパッケージファイルを置き換え、追加の問題を修正できます。さらに、これは壊れたpkexecも修正します。

ただし、これが唯一のアプローチではありません。特に、 San Lin Naingの答え で指定されているメソッドも機能するはずです。主な違いは、ここで示した方法では、chrootでパッケージ管理操作が実行されないことです。chrootはpkexecの修復にのみ使用されるため、通常の起動時にパッケージの管理に使用できます。

20
Eliah Kagan

はい、私はsudoファイルをacidentlly削除しました。 ls -l/usr/bin/Sudoの出力は「/ usr/bin/Sudo」にアクセスできません:そのようなファイルまたはディレクトリはありません

ちょっとした考え:

Ubuntuをシステムにインストールしたメディア(DVD/USBスティック)がまだありますか?

  1. それから起動し、PCのシステムパーティションをマウントします。
  2. /usr/bin/Sudoをライブシステムからマウントされたパーティションにコピーします。
  3. ファイルの所有者と権限が同じであることを確認してください。
  4. システムを再起動します。
2
Timothy Truckle

ソフトウェアをインストールするにはroot権限が必要です。しかし、Sudoパッケージを削除しました。

rootとしてアクセスできる場合は、Sudoを再度インストールできる場合があります。

これへの参照 answer

bash modeからrootのユーザーで開始してみてください。

  1. システムを再起動します。
  2. ShiftキーまたはEscキーを長押しします。
  3. Advanced options for Ubuntuを選択します。
  4. Ubuntu, with Linux x.x.x-xx-generic (recovery mode)を選択します。
  5. root Drop to root Shell Promptを選択します
  6. mount -o rw,remount /コマンドを入力して、読み取り/書き込みアクセスを取得します。
  7. 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を選択して通常起動します。

できた!

2
San Lin Naing

ソースからSudoをビルドできます

mkdir Sudo-src
cd Sudo-src
apt-get source Sudo
cd Sudo-x.y.z
./configure --prefix=$HOME
make
make install
0
GAD3R

たぶん、grubを使用してシステムをリカバリモードで起動できます。そこから、dpkgを使用してシステム統合を確認することができます。これにより、問題を解決できる可能性があります。または、その後、パーティションが読み取り/書き込み権限でマウントされているため、ルートメニューエントリを使用してSudoコマンドを使用せずにSudoをインストールできます。 apt-getで更新し、最初にapt-get install -fdpkg --configure -aの使用を試す必要があります。

0
starkus