libc6 をアンインストールしたら、アプリが起動しない


dpkgの勉強していて、間違って強制的に

[code]

    sudo dpkg -r --force-depends libc6
    
[/code]

を実行してしまいました。その後アプリを立ち上げようとしても

> **** を子プロセスとして起動できませんでした：そのようなファイルやディレトリはありません

とエラーが出てしまい全てのアプリが起動しなくなりました。

これは、もうどうしようもないのでしょうか？




まずは、現在起動中のシェルは終了しない方がよいです。  
（もし終了してしまった場合は、シングルユーザーモードに入り、以下のような作業をすることになります。少し手順が増えて面倒かと思います）  
`busybox` コマンドが存在するならば、起動中のシェルで `busybox sh` を実行し、`libc` に依存しないシェルが起動できます。  
`busybox` にはいくつかの基本的なコマンドが内蔵されていますので、これでリカバリー作業を行います。

例えばDebianであれば `dpkg` も内蔵されていると思いますので、libc6のパッケージを `dpkg` でインストールできます。  
Debianのパッケージは[公式サイト](https://packages.debian.org/ja/)で検索して `wget`
でダウンロードできますし、もしかしたらキャッシュが（`/var/cache/apt/` あたりに？）残っているかも知れません。

* * *

生きているシェルが一般ユーザーのものだけだと、結局はシングルユーザーモードに入るしかないかも知れません。  
シングルユーザーモードに入る方法は、マシンが手元のものか、遠隔のものか、などにより変わります。




まずは、現在起動中のシェルは終了しない方がよいです。  
（もし終了してしまった場合は、シングルユーザーモードに入り、以下のような作業をすることになります。少し手順が増えて面倒かと思います）  
`busybox` コマンドが存在するならば、起動中のシェルで `busybox sh` を実行し、`libc` に依存しないシェルが起動できます。  
`busybox` にはいくつかの基本的なコマンドが内蔵されていますので、これでリカバリー作業を行います。

例えばDebianであれば `dpkg` も内蔵されていると思いますので、libc6のパッケージを `dpkg` でインストールできます。  
Debianのパッケージは[公式サイト](https://packages.debian.org/ja/)で検索して `wget`
でダウンロードできますし、もしかしたらキャッシュが（`/var/cache/apt/` あたりに？）残っているかも知れません。

* * *

生きているシェルが一般ユーザーのものだけだと、結局はシングルユーザーモードに入るしかないかも知れません。  
シングルユーザーモードに入る方法は、マシンが手元のものか、遠隔のものか、などにより変わります。

