前回の記事でWSL 2にRootless Dockerを入れました。
ただ、コンテナからインターネットに接続できないという問題が残っていて実用的じゃないなと思ったのでアンインストール方法を記載しておきます。
目標は、上の記事を適用する前の段階にすることです。
やること
- Rootless Dockerをアンインストールする
- Genieをアンインストールする
具体的な手順
- Rootless Dockerを停止する
- .bashrcからRootless Dockerの設定を消す
- Rootless Dockerをアンインストールする
- Genieの自動起動設定を消す
- Genieをアンインストールする
- dotnet-runtime-3.1をアンインストールする
- daemonize/dbus/policykit-1をアンインストールする
- WSL 2を再起動する
手順
1. Rootless Dockerを停止する
次のコマンドでRootless Dockerを停止し、自動起動しないようにします。
systemctl --user stop docker systemctl --user disable docker
2. .bashrcからRootless Dockerの設定を消す
Rootless Dockerの設定が~/.bashrc
に記載されているので、次の内容を消します。
export DOCKER_HOST=unix:///run/user/1000/docker.sock
その後、ターミナルを再起動します。
3. Rootless Dockerをアンインストールする
Rootless Dockerをアンインストールします。アンインストール方法は以下のGitHubのIssueコメントを参考にしました。 github.com
rootlesskit rm -rf ~/.local/share/docker cd ~/bin rm -f *docker* *containerd* *runc* *rootlesskit* *vpnkit*
4. Genieの自動起動設定を消す
再び~/.bashrc
を開き、Genieの自動起動設定を消します。次の内容を消してください。
if [ "`ps -eo pid,lstart,cmd | grep systemd | grep -v -e grep -e systemd- | sort -n -k2 | awk 'NR==1 { print $1 }'`" != "1" ]; then genie -s fi
また、getty@tty1サービスを有効化しておきます。(必要ないかもしれません)
そして再度ターミナルを再起動します。
5. Genieをアンインストールする
Genieを次のコマンドでアンインストールします。
sudo apt purge systemd-genie
そしてGenieをインストールするときに使ったスクリプトでインストールしているファイルを消します。
sudo apt-key del 95370CBB
sudo rm /etc/apt/sources.list.d/arkane-systems_wsl-translinux.list
sudo apt update
6. dotnet-runtime-3.1をアンインストールする
Genieの依存パッケージの1つである.NETのランタイムも削除します。次のコマンドでdotnet-runtime-3.1をアンインストールします。
sudo apt purge dotnet-runtime-3.1
また、不要なdpkgも削除します。
sudo dpkg -r packages-microsoft-prod
sudo apt update
7. daemonize/dbus/policykit-1をアンインストールする
最後に、残りのGenieの依存パッケージdaemonize/dbus/policykit-1をアンインストールします。 私の環境ではdaemonizeだけインストールしたので、それを消します。
sudo apt purge daemonize
8. WSL 2を再起動する
このままではWSL 2にGenieの設定が残っているようなので、PowerShellからWSL 2を再起動します。 以下のコマンドをPowerShellに入れて、ディストリビューションの名前を確認します。
wsl -l
すると、次のように表示されると思います(Ubuntu-20.04のところは人それぞれです)。
Linux 用 Windows サブシステム ディストリビューション: Ubuntu-20.04 (既定)
このときのUbuntu-20.04
を次のコマンドの引数として使用します。こんな感じです。
wsl -t Ubuntu-20.04
これでWSL 2は停止します。再びWSL 2を開けば自動的に起動します。
最後に
これでアンインストール作業は終了です。Rootless Dockerをインストールする前の状態に戻ったと思います。
また、ここではapt-transport-httpsはアンインストールしませんでしたが、必要に応じてアンインストールしていいと思います。