スクリプトのお勉強

VMware player(workstation) から WSL2に乗り換える

投稿日:

いままで、VMware player(今のVMWare Workstation Player)上で、作って確認していたけど、いちいち起動するのがだるいです。

ついでにやたらとリソースを使用するので、この期にWSL2 に乗り換えてしまおうと思いました。

WSL2 + CentOS8Stream に移行

OSはなんでもいいので、仕事であまり使用しない組み合わせにしようと思いました。

なので、まぁ仕事で使用しない、CentOS8Streamにしようと思いました。AlmaLinuxとかでもいいんですが、、まだ実用じゃないかなと思いました。

目標 Dockerまで

データ移行したら、まずはDockerを起動するところまでやってみようと思います。

WSL2

色々設定したのですが、参考のところを見ればほぼ一発で設定できるので、そこは割愛し、自分的なカスタマイズをするところから記述しようと思います。

データ移行

っても今までのところから取ってくるだけです。

VMware Player(-> WinSCP) Windows -> CentOS8Stream

VMware PlayerからWindowsはWinSCPでコピーし、WindowsからはCentOS8Streamは
/mnt/d/usersあたりからコピーしました。

Windows Terminal

バージョン: 1.8.1521.0を入れてみました。このバージョンは、フォントとかもGUIから設定できます。  

設定

上記の通り、各プロファイルに指定すればフォント設定は可能です。

各ユーザとrootによる起動

ユーザ名で起動する方法と、rootで起動するプロファイルを作成しました。
ユーザ名で起動する場合、ホームディレクトリを/home/taninoに指定しました。なんとなく、rootでいるのは気持ち悪いので。。

でも直接rootであるのも必要です。以下のように作成しました。

白源

白源 (HackGen) フォントを導入してみました。

以下のように、デフォルトを白源にしています。

"profiles":
{
    "defaults":
    {
        // Put settings here that you want to apply to all profiles.
        "fontFace": "HackGen",
        "fontSize": 14
    },

確かにきれいです。

systemd

systemdを擬似的にでも使えるようにするため、以下を設定しました。

$ sudo dnf install python3
$ curl -O https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl3.py
$ sudo mv /usr/bin/systemctl /usr/bin/systemctl.old
$ sudo cp -a systemctl3.py /usr/bin/systemctl
$ sudo chmod +x /usr/bin/systemctl

Podman

Dockerを使用しようと思いましたが、RHELでサポートされてないので、同様ツールのPodmanを使うことにしました。
あまり変わらなそうなので。

Podmanでエラー

Podmanを起動すると、以下のようなエラーが出ました。

$ podman info
cannot setup namespace using newuidmap: exit status 1

なぜか、以下のようにすると、動作しました。

$ sudo dnf reinstall shadow-utils
...
Reinstalled:
  shadow-utils-2:4.6-4.fc29.x86_64

イマイチ意味が分かってません。

あとは以下のようにdocker互換用コマンドをインストールすれば、コマンドとしてはdockerを使用できます。

$ sudo dnf install podman-docker

おわりに

これから、この環境でいろいろ動かしてみようと思います。

参考

https://blog.yamk.net/posts/20201228-wsl2-centosstream8/
https://www.tsone.co.jp/tech-blog/archives/1100

-スクリプトのお勉強

執筆者:

関連記事

Nuxt.jsのFormで入力/確認/完了フォームを作成してみた(その2)

前回の記事の続きです。以下について書いていきます。この記事で終わりのはず? バリデーション機能(主にIPアドレスのバリデーション追加)画面 バリデーション機能 バリデーション機能は、vee-valid …

Pythonのmock.patchを使ってみる

単体テストによく使われるMockライブラリ Pythonで単体テストを行う際、実際のライブラリを使用してしまうと、実際の環境を用意しなければいけません。 例えば、データベースのテストをする際に、データ …

Python3 – VCR.py でネットワーク系テストを簡単に作成する

1. 始めに python3で実装すると、モックテストをしたくなります。モックを使って、比較的簡単にテストできるからです。 問題はネットワーク系テスト モックテストで問題になるのは、外部に依存するテス …

暗号モードによる処理時間の違いを測定してみた

はじめに 前回、AESで暗号化する実装をしてみた際、知らない暗号モードが増えたなと思いました。 なので、どの暗号モードを使用すべきかの、判定材料の一つとして、代表的な暗号モードの処理速度を簡単に計って …

PythonでPKCS#12を使用して暗号/復号する

1. はじめに 仕事でVPN関係のシステム開発をすることになりました。まずは暗号機能の基本を思い出すため、Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムを作ってみようと思いま …

google オプトアウト Click here to opt-out.