WordファイルをMarkdownへ変換

はじめに

WordファイルをMarkdownへ変換するために、pandocというツールを使用した。その実行方法について記載する。

環境

  • Windows11(ホストOS)
  • WSL2
  • Ubuntu 22.04.3 LTS(WSL2上)

環境構築

pandocをUbuntuにインストールする。

$ apt install -y pandoc

実行

実行コマンド

$ pandoc -s 入力.docx --wrap=none --extract-media=media -t gfm -o 出力.md

以下は、Markdownへ変換する際のオプションの説明です。

  • --wrap=none

出力時のwrap(枠を超えないように複数行に折り返し指定する処理)の設定をします noneを指定することで、1行を72文字で折り返す処理を無効化します デフォルトだと勝手にwrapされる。

  • --extract-media=DIR

出力先のフォルダを引数で指定する。 docxに埋め込まれたpngなどが抽出されて、指定した DIR フォルダ内に格納される

  • -t gfm

出力形式として、gfm (GitHub-Flavored Markdown) はGitHub形式のMarkdownでを指定する デフォルトだとPandoc形式のMarkdownになる。

実行例

実際に次のtest.docxというファイルに対して実行した場合を記載する。

$ ls
test.docx

#変換
$ pandoc -s test.docx --wrap=none --extract-media=media -t gfm -o test.md

#確認
$ ls -la
drwxrwxrwx 1 ubuntu ubuntu    512 Apr 20 09:16  media
-rwxrwxrwx 1 ubuntu ubuntu 392082 Apr 20 09:14  test.docx
-rwxrwxrwx 1 ubuntu ubuntu     70 Apr 20 09:16  test.md

#markdownの中身を確認
$ cat test.md
# Aaaa

## Iiiii

テスト文章です

![](media/media/image1.jpeg)

#画像の確認
$ ls media/media/
image1.jpeg

参考

pandoc.org

tex2e.github.io

Kubernetes上のpodにTimezoneの設定

はじめに

KubernetesのpodのTimezoneがバラバラ(UTC, JTC)に設定されていたため、統一するための方法を調査したので記載する。

環境

envフィールドを用いたTimezoneの設定

stackoverflow.com

上記を参考に、Deploymetではenvフィールドを使ってTimezoneの設定できる。

例として、Asia/Tokyo のTimezoneをyamlに設定して確認する。

$ cat > deployment-tz.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80
        env:
        - name: TZ
          value: Asia/Tokyo
EOF
$ kubectl apply  -f deployment-tz.yaml 

$ kubectl exec -it deployment.apps/nginx-deployment -- date
Mon Apr 15 11:46:22 JST 2024

Timezoneが設定されていることを確認した。

補足:k8tzの使用

github.com

こちらのhelm chartでtimezoneを設定できるみたいだが、helm chartをインストール後、podがデプロイできないバグ?があった。そのため利用は断念した。

補足

github.com

k8tzを使えば、一括の設定もできるようである。

useraddとadduserの違いと使用例

はじめに

useraddとadduserの違いに毎回、困っているので備忘録も込めて記載する。

useraddとadduserの違い

useraddだとコマンドで完結、adduserだと対話モードでユーザを作成できる。

useraddの実行

useraddで、ユーザ作成し、かつkubernetesクラスタにアクセスすることができるコマンド例を記載する。

ユーザ追加、PW設定する。

# ***はユーザ名を指定
$ USERNAME=***
$ sudo useradd $USERNAME --shell /bin/bash --create-home

$ sudo passwd $USERNAME

kubectlを実行するための設定をコピーする。

$ sudo mkdir -p /home/$USERNAME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf /home/$USERNAME/.kube/config
$ sudo chown $USERNAME:$USERNAME /home/$USERNAME/.kube/config

SSH鍵の追加する。

#フォルダ、authorized_keysを作成
$ sudo mkdir /home/$USERNAME/.ssh
$ sudo cp ./.ssh/authorized_keys /home/$USERNAME/.ssh

# 公開鍵追加
$ sudo vim /home/$USERNAME/.ssh/authorized_keys

#所有者変更
$ sudo chown -R $USERNAME:$USERNAME  /home/$USERNAME/.ssh

SwaggerをVS Codeで使う

はじめに

SwaggerをVS Codeで使ってみたので備忘録を込めて記載する。

構築

次のVS Codeプラグインをインストールする

marketplace.visualstudio.com

marketplace.visualstudio.com

使ってみる。

VS Codeで使ってみる。

editor.swagger.io

上記からファイルを引用して、test.yamlというファイルで保存する。

次に、ファイルを[右クリック] - [Preview Swagger]を押下する。

Previewを確認することができた。

参考

qiita.com

簡単に確認するなら、次のWebエディターで十分だと思う。

editor.swagger.io

踏み台の先にあるサーバへブラウザでアクセス

はじめに

puttyFirefoxを使って、踏み台の先にあるサーバへブラウザでアクセスする手順を記載する。

手順

puttyの設定

踏み台サーバのIPアドレスをHost Nameに指定する。

puttyの [Connection] - [SSH] - [Auth] - [Tunnels]を開く。 [Source port] に適当な番号(例では10022)、Dynamicを指定して[Add]を押下する。

そしてSSHを行い、コネクションを確立する。

firefoxの設定、アクセス

[設定] の[ネットワーク設定] - [接続設定]を押下する。 以下の設定を行う。

最後に、FirefoxからIPアドレスを指定してアクセスする。

企業対抗駅伝2024東京大会への参加

企業対抗駅伝2024東京大会に参加してきました。会社のメンバと企業対抗駅伝に参加してきました。結果は駅伝・男性の部7位と大健闘でした!!

■結果 ▽総合 富士通川崎ランニングクラブ:1:40:00、駅伝・男性の部7位 ▽個人 井上 玲於 0:19:28

■総括 今回はファンレースであり、楽しむことはできたと思う。特に最近は走っていなかった1区にチャレンジさせてもらい、短い距離を競って走ることの楽しさと、うまく人と協力して走ることのできなさを実感できたと思う。 ここ数年は少しずつ記録が下降気味で、不甲斐なさを感じる。距離に応じた練習ができていないことやそもそも練習できていないことなど要因はある。 今日、一緒に走った柿沼さんはウルトラマンに挑戦していて、平日10km朝、休日20kmを歯磨きのように行っているという話を聞いて、やる前から頭を使いすぎな気もする。とりあえずやる、そんなシンプルかつ行動力が大事で自分に足りていないように感じた。朝は確実に時間を作れるので、この時間を活用しながらとにかくやる、まずはやることで行動力を上げていければなと思う。

virsh installが失敗した際のVMの残存するゴミの削除方法

はじめに

virsh installが失敗した際のVMの残存するゴミの削除方法を記載する。

コマンド

VMNAME=vmname
virsh destroy $VMNAME
sudo virsh autostart --disable $VMNAME
sudo virsh undefine $VNNAME
rm -rf /home/ubuntu/cloud-init/$VMNAME
sudo virsh vol-delete --pool cloud-init cidata-$VMNAME.iso
sudo virsh vol-delete --pool cloud-init $VMNAME

参考

qiita.com