Mermaidの図形を確実にPDF出力する

VSCodeのMarkdownPDFからMermaidの図形をPDF出力できない場合の対処方法

  1. MarkdownPDFからHTMLファイルを出力
  2. 出力されたHTMLファイルをFirefoxで開く
  3. デベロッパーモードに移行 Ctrl + Shift + i
  4. スタイルエディター / スタイルシートのインポート(アイコン)
  5. CSSファイル指定 D:\_your_directry_\markdown-pdf.css
  6. ブラウザからPDF印刷

KaliLinuxのGUIをWSL2で使用

普段使いのLinuxとして、Windowsから起動できるKaliLinuxを構築していく
Windows11のWSL2で、KaliLinuxのX-Window GUIを簡単に起動できる
マルチブートや仮想化あるいはUSBメモリへのインストールなどよりも、手軽に構築できる

PowerShellでKaliLinuxのインストール

PS> wsl --set-default-version 2
PS> wsl --install -d kali-linux

PowerShellでWSLのバージョン確認

PS> wsl -l -v

PS> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         2
  kali-linux      Running         2
  Ubuntu-18.04    Stopped         1
  Debian          Stopped         1

PowerShellでWSLのバージョン変更

PS> wsl --set-version <Distro> <Version>
PS> wsl --set-version kali-linux 2

PowerShellでWSLの再起動

PS> wsl --shutdown

KaliLinux アップデートコマンド

contentcomand
バージョン確認$ sudo cat /etc/os-release
アップデート$ sudo apt update
アップグレード$ sudo apt upgrade
フルアップグレード$ sudo apt full-upgrade
最新版に強制的にフルアップグレード$ sudo apt full-upgrade -y
不要パッケージ削除$ sudo apt autoremove
不要debファイル削除$ sudo apt autoclean
再起動$ sudo reboot

KaliLinux sources.list 編集

個別アプリケーションのインストールに失敗する場合などは、リポジトリを変更してみる
$ cat /etc/apt/sources.list

deb http://http.kali.org/kali kali-rolling main non-free contrib
#deb-src http://http.kali.org/kali kali-rolling main non-free contrib
#deb https://docs.kali.org/general-use/kali-linux-sources-list-repositories
#deb http://ftp.yz.yamagata-u.ac.jp/pub/linux/kali kali-rolling main non-free contrib

今回はリポジトリの変更は必要なく、デフォルトのhttp://http.kali.org/kaliに戻して実行した

WSLネームサーバー設定

WSLを起動する度にネームサーバーがリセットされる場合の対策

WSL設定ファイルを編集

wsl.conf 又は .wslconf ファイルを編集する
ファイルが存在しない場合は作成する
generateResolvConf = false とすることで、resolv.conf が上書き作成されなくなる

$ sudo touch /etc/wsl.conf
$ sudo nano /etc/wsl.conf

# /etc/wsl.conf

[automount]
enabled = true
root = /mnt/
options = ""
mountFsTab = true

[network]
generateHosts = true
generateResolvConf = false

[interop]
enabled = true
appendWindowsPath = true

WSLネームサーバー設定

resolve.conf ファイルにネームサーバー情報を記載し、シンボリックリンクを削除して上書きを禁止する
ファイルが存在しない場合は作成する

$ sudo touch /etc/resolv.conf
$ sudo nano /etc/resolv.conf
$ sudo unlink /etc/resolv.conf
$ sudo chattr +i /etc/resolv.conf

# /etc/resolv.conf

nameserver 192.168.11.1
nameserver 8.8.8.8

Windows再起動

WSLの設定変更は、Windows再起動後に反映される

インストールしたアプリケーション

Kex (X-Window GUI)

$ sudo apt install kali-win-kex

SSHクライアント

$ sudo apt-get install openssh-server

LibreOffice

$ sudo apt-get install libreoffice

Gimp

$ sudo apt-get install gimp

KaliLinuxの日本語入力

日本語入力のインストール

Xfceデスクトップの日本語入力ツールとして、uim-mozc、ibus-mozc、fcitx-mozcをインストールし、fcitx5を使用していく
$ sudo apt update
$ sudo apt install -y task-japanese task-japanese-desktop

fcitx-mozc初期設定

Kaliアイコン / Settings / InputMethod(白アイコン)
fcitxをオンにしてKaliLinuxを再起動

キーボード設定

Kaliアイコン / Settings / Fcitx5Configuration / InputMethod
OnlyShowCurrentLanguageをオフ
Keyboad-japanese と Mozc を ← 左へ選択
Kaliを再起動

漢字キー設定

Kaliアイコン / Settings / InputMethod(青アイコン) / GlobalSettings
SpecifyDefaultIM チェックボックをオン
DefaultInputMethod を Direct
EnabledInputMethods を Mozc
EnabledIMSうぃtちんgByHotkey をオン
IMSwichingKey はEdit選択しGrab欄に “zenkaku-hankaku”, “space” を入力
EnableInputMethodToggleByHotKeys をオフ

ローマ字入力設定

Kaliアイコン / Settings / InputMethod(青アイコン) / Mozc
DefaultInputMode を Hiragana
DefaultKanaInputMethod を Romaji
Kaliを再起動

Kex起動

モードコマンド説明
Windowモード$ kex --win -s -m仮想マシンで起動したようにVNCのウィンドウの中に表示
Seamlessモードkex --sl -sWindowsとKaliを同時表示、Kaliツールバー
Enhanced Sessionモードkex --esm --ip -sWindows標準搭載のRDPで接続、高DPI、ARMデバイス

システム運用改善 見直し手法

COBIT成熟度モデル (システム運用設計)

  1. プロセス不在: 業務プロセスが全く存在しない、課題が認識されていない
  2. 個別対応: 標準的な業務プロセスはなく、属人的に個別にアプローチしている
  3. 直感的再現性: 同じタスクを似たような手順で異なる人が実施している
  4. プロセス可視化: 手順が標準化文書化され研修により共有されている
  5. 管理測定可能: マネジメントチームが監査改善し一部の業務は自動化されている
  6. 最適化: 改善活動により業務プロセスのレベルが最適化されITによる自動化が進んでいる

業務改善とは

COBIT成熟度モデルを5つの状態として管理し、プロセス不在、個別対応、直感的再現性、プロセス可視化、管理測定可能、最適化、を進めていくこと

業務可視化とは

COBIT成熟度モデルでプロセス可視化を満たし運用ルールが可視化されている状態で、運用ドキュメントが整備されている
  • 運用設計書: 運用範囲と必要な情報が記載
  • 運用体制図 : 登場人物と役割が記載
  • 運用項目一覧: やるべき作業がまとめられている
  • 運用フロー図: 関係者と情報連携方法とタイミングがわかる
  • 運用手順書: 作業のやり方がわかる
  • ユーザー手順書: サービスの利用方法がわかる
  • 申請書: ユーザーとサービスの連携がわかる
  • 台帳: 最新の情報がわかる
  • 一覧: 確認すべき情報がすぐにわかる

業務可視化の先に最適化

運用フローなどがあいまいなままルールを改訂したり、運用手順書がないまま自動化ツールを導入したり、業務が可視化されていない属人化された状態で最適化を目指すことは難しい