スクリプトのお勉強

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

-スクリプトのお勉強

執筆者:

関連記事

CSSで注釈を自動ナンバリングする

お仕事で、注釈をつける事がありました。 一瞬で回答できなかったので、ブログネタとして調べてみました。 注釈、とは この意味の注釈とは 「難しい単語]※1 ※1 こういう意味です で「※1」にリンクが張 …

(小ネタ) Python3 で読み出すのが一番早いデータフォーマットは?

仕事のネタで、Python3(Django)の設定ファイルをreloadしたい、というのがあります。 つまり設定ファイルをちょこちょこ変更するが、その変更のたびにサービスをリスタートするのではなく設定 …

Dockerを使用してGo言語の開発環境を構築する

なんとなくGolangのブロジェクトに機能追加しようと思いました。 Golangの開発用に、Dockerfile等を準備する手順を書いておこうと思います。 サンプルにnfpm サンプルとして、Fork …

Vue.js 導入編

1.はじめに 近年、web関係で「クライアントサイドJavaScript」というのがトレンドになっているそうです。 「クライアントサイドJavaScript」と、従来のWebアプリケーションとの違いは …

Python Django REST Framework(REST API)の作成

1.はじめに 今回は、pythonの「Django」というWebアプリケーションフレームワークを使用し、REST APIを作成します。作成するREST APIは、これから作るであろう、Nuxt.jsか …

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