スクリプトのお勉強

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

-スクリプトのお勉強

執筆者:

関連記事

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

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

(小ネタ) python3 date_range + step付き

ちょっと前に同じような感じのネタを。。 したような気がするのだが、まぉおいておこう。。 素のPython3で、日付にてfor文を回す方法 日付で分割して処理をしたいと思うときがあります。例えば、202 …

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

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

PythonでAESを使用して暗号/復号する

1.つづき Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムの続きです。 今回はAESで暗号化/復号を行い、通信しながらRSA暗号/復号,AES暗号/復号を組み合わせたいと思い …

Mojolicious XML-RPC Pluginの開発(2)

はじめに 「Mojolicious XML-RPC Pluginの開発」のその2です。 本内容では、前回の内容を踏まえ、XML-RPC実装を、Mojoliciousのプラグイン機能を使用して実装しよう …

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