スクリプトのお勉強

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

-スクリプトのお勉強

執筆者:

関連記事

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

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

unconstant – perlライブラリ

ちょっとだけperlの機能修正をしたので、そのときに使用したライブラリについて書こうと思います。 perlのunconstant です。 use constantの解除 use constantとは固 …

ワンライナーから使いそうなのを抜粋

ワンライナー多すぎ、、 https://linuxcommandlibrary.com/basic/oneliners は膨大なワンライナーがあっていいのですが、多すぎて、何が使えるかぱっと見分かりま …

Webフレームワーク「Django 3.2」を使ってみる

LTSリリースなので、現状でアップデートしてないDjangoプロジェクトをDjango 3.2にしていこうかと思いました。例として、自分のDjango 2.0のプロジェクトをDjango 3.2にしま …

fastapi + SQLAlchemy で CRUDアプリケーションを作ってみる

概要 勉強用に、PythonでPostgresqlを制御しようと思います。の続きです。 前回でPostgreSQLと、データベース/テーブルまでは用意したので、今回はAPIを作成しようと思います。 実 …