その昔、KemaNet(Google 検索)というソフトウェアを作っていた人の、自分用メモのサイトです。

<< 2026.2 >>
[Stories]
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28

2026/2/17 (火)

mr/rockyでvlan

参考:mr/ubuntuでvlan

構成

(VLAN100 untag) eno1 ─ br0 ─ vnet0/vnet1 (VM)       <- 作成済み
(VLAN1 tagged)  eno1.1 ─ br1 ─ (LXD/docker の veth) <- これから作る

一般的には vlan1 が untag なことが多いのでちょっと混乱しますけど、意図的です、すみません

nmcliで永続化

RockyLinux9.7で確認
ブリッジ作ってVMやコンテナを刺すつもり

# 1) 既存の設定があれば削除
#    br1-port-vlan1は以降出てきませんが、気にしないで下さい
nmcli connection delete br1 vlan1 br1-port-vlan1 br1-slave-vlan1 2>/dev/null || true

# 2) ブリッジ br1 の作成 (Static IP)
# 作成と同時に設定を流し込むことで、DHCPの割り込みを防ぎます
nmcli connection add type bridge con-name br1 ifname br1 \
  ipv4.method manual \
  ipv4.addresses 192.168.10.158/24 \
  ipv4.gateway 192.168.10.1 \
  ipv4.dns 192.168.10.1 \
  ipv4.never-default no \
  ipv6.method ignore

# 3) vlan1 (eno1.1) を「br1のスレーブ」として作成
# ここで master br1 を指定し、ipv4.method disabled にすることで L2 透過に専念させます
nmcli connection add type vlan con-name br1-slave-vlan1 ifname eno1.1 \
  dev eno1 id 1 master br1 \
  ipv4.method disabled \
  ipv6.method ignore

# 4) br0 側のデフォルトルート優先度を下げる(必要に応じて)
# br0が既に存在することを前提としています
nmcli connection modify br0 ipv4.never-default yes

# 5) 設定の反映
nmcli connection up br1-slave-vlan1
nmcli connection up br1

ip コマンドで一時的に作成

# 1) VLAN1 サブインターフェース作成
ip link add link eno1 name eno1.1 type vlan id 1
ip link set eno1.1 up

# 2) br1 作成
ip link add br1 type bridge
ip link set br1 up

# 3) eno1.1 を br1 に接続
ip link set eno1.1 master br1

# 4) IP を br1 に付与
ip addr add 192.168.10.158/24 dev br1

# 5) default route を VLAN1 側へ
ip route replace default via 192.168.10.1 dev br1

2026/2/5 (木)

mr/npm

プロジェクトルートを1つ決めてしまう

良し悪しは別として、
どのディレクトリに居ても確実に npx hoge が通るようにしたい

そうだ、~/npm を普段のプロジェクトルートにしてしまおう!

ubuntu で npm

# パッケージリストの更新
sudo apt update

# Node.jsとnpmのインストール
sudo apt install -y nodejs npm

RHEL 系で npm

# 利用可能なNode.jsのバージョンを確認
sudo dnf module list nodejs

# 特定のバージョン(例:24)を有効化
sudo dnf module enable nodejs:24 -y

# インストール
sudo dnf install -y nodejs

RHEL 系で最新版LTSが欲しい場合(NodeSourceリポジトリを使用する)

# リポジトリ追加スクリプトの実行(Node.js 22 LTSの場合)
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -

# インストール
sudo dnf install -y nodejs

npm 入れたあと

# package.json がなければ作成(警告を避けるため)
[ -f ~/npm/package.json ] || (mkdir -vp ~/npm || true; cd ~/npm && npm init -y)

こうしておくと、どのディレクトリに居ても

npm --prefix ~/npm install prettier
npx --prefix ~/npm prettier ...

のように ~/ を基準にモジュールを呼び出すことができる
なのでaliasやシェル関数を定義しておくと楽

npm(){ command npm --prefix ~/npm "$@"; }
npx(){ command npx --prefix ~/npm "$@"; }

prettier で php プラグインも入れる

# prettierのPHPプラグインをインストール
npm --prefix ~/npm install prettier @prettier/plugin-php

# 参考:prettierの設定ファイルを作成
tee ~/.prettierrc.yaml <<EOF
plugins:
  - "@prettier/plugin-php"
# バージョン指定が必要な場合はアンコメント
#phpVersion: "8.1"
singleQuote: true
trailingCommaPHP: true
EOF

# カレントディレクトリ以下の php ファイルを整形&上書き
npx --prefix ~/npm prettier --write '**/*.php'

2026/1/27 (火)

mr/Linuxで半角全角キーを別のキーにする

全角/半角キーを押したらウィンドウを閉じるようにしたい

一旦F14にして、F14を押したらCtrl-wを発動する

まずは半角/全角キーをF14にする
低レイヤーで仕込みたいので、udevの力を借りる

$ tee /etc/udev/hwdb.d/90-jp-zenkaku-f14.hwdb <<'...'
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
 KEYBOARD_KEY_29=f14
...

次に xbindkeys と xdotool の力を借りて、
xwindow上で F14 を押したら Ctrl-w を発動する

$ tee ~/.xbindkeysrc <<'...'
# F14 -> ^w
# auto repeat を考慮して release+ を付与
"xdotool key ctrl+w"
  release+F14
...

OS再起動で反映

$ sudo reboot

トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-03-27 (木) 11:40:20