スクリプトのお勉強

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

-スクリプトのお勉強

執筆者:

関連記事

Pipenvでライブラリ(*.whl)をキャッシュする方法

仕事でWebアプリケーションを作成した場合、ガンガンとライブラリのバージョンを上げたりはしない場合があります。 そして、長期間放置されるタイプのWebアプリケーションの場合、使用しているライブラリが、 …

Reflex(Python) をSQLite + ログイン機能付きで使ってみる

2024年現在のWebアプリ作成方法の一つとして、「PythonだけでWebアプリを完結する」作り方があります。 その一つとしてReflexというのがあります。 Reflexとは PythonのWeb …

小ネタ: Python のdataclass でNone or “”を使わないJSONデータを定義する

PythonをREST APIのクライアントとして作成する際、dataclassesを使用しようと思いました。型が見た瞬間分かるし、しっかりしているからです。 でも、そのREST API は&#822 …

Pythonからsvnしてみる

SVN: レガシーシステムの一つ。。 私の関わってるシステムでは、いまだにsvnレポジトリがあります。pythonで処理する必要性が生じましたが、そういえばどう処理していいもんか、完全に忘れました。 …

go 1.16 でviperを使って設定ファイルを読みだすプログラムを作ってみた

他にたくさんあるけど こんな感じの内容はたくさんあると思いますが、、goの初心者がなんとなくgoの手習いとして、まずは設定ファイルを読みだすことをしてみようと思いました。 go動作環境 windows …

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