その昔、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 |
良し悪しは別として、
どのディレクトリに居ても確実に npx hoge が通るようにしたい
そうだ、~/npm を普段のプロジェクトルートにしてしまおう!
# パッケージリストの更新
sudo apt update
# Node.jsとnpmのインストール
sudo apt install -y nodejs npm
# 利用可能なNode.jsのバージョンを確認
sudo dnf module list nodejs
# 特定のバージョン(例:24)を有効化
sudo dnf module enable nodejs:24 -y
# インストール
sudo dnf install -y nodejs
# リポジトリ追加スクリプトの実行(Node.js 22 LTSの場合)
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -
# インストール
sudo dnf install -y nodejs
# 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プラグインをインストール
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'
まずは半角/全角キーを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
コピペ用の文字列を生成
$ for i in $(seq -w 10 20); do echo " <host mac='52:54:00:ff:ff:$i' name='vm$i' ip='192.168.122.$i'/>"; done
<host mac='52:54:00:ff:ff:10' name='vm10' ip='192.168.122.10'/>
<host mac='52:54:00:ff:ff:11' name='vm11' ip='192.168.122.11'/>
<host mac='52:54:00:ff:ff:12' name='vm12' ip='192.168.122.12'/>
<host mac='52:54:00:ff:ff:13' name='vm13' ip='192.168.122.13'/>
<host mac='52:54:00:ff:ff:14' name='vm14' ip='192.168.122.14'/>
<host mac='52:54:00:ff:ff:15' name='vm15' ip='192.168.122.15'/>
<host mac='52:54:00:ff:ff:16' name='vm16' ip='192.168.122.16'/>
<host mac='52:54:00:ff:ff:17' name='vm17' ip='192.168.122.17'/>
<host mac='52:54:00:ff:ff:18' name='vm18' ip='192.168.122.18'/>
<host mac='52:54:00:ff:ff:19' name='vm19' ip='192.168.122.19'/>
<host mac='52:54:00:ff:ff:20' name='vm20' ip='192.168.122.20'/>
virsh net-edit default で、上記を <dhcp> 要素の下に追加(省略)
追加後の状態を表示するとこう
$ virsh net-dumpxml default --inactive
<network>
<name>default</name>
<uuid>b4adef5f-bcc2-484a-96fc-d66f792930a5</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:20:fe:58'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<host mac='52:54:00:ff:ff:10' name='vm10' ip='192.168.122.10'/>
<host mac='52:54:00:ff:ff:11' name='vm11' ip='192.168.122.11'/>
<host mac='52:54:00:ff:ff:12' name='vm12' ip='192.168.122.12'/>
<host mac='52:54:00:ff:ff:13' name='vm13' ip='192.168.122.13'/>
<host mac='52:54:00:ff:ff:14' name='vm14' ip='192.168.122.14'/>
<host mac='52:54:00:ff:ff:15' name='vm15' ip='192.168.122.15'/>
<host mac='52:54:00:ff:ff:16' name='vm16' ip='192.168.122.16'/>
<host mac='52:54:00:ff:ff:17' name='vm17' ip='192.168.122.17'/>
<host mac='52:54:00:ff:ff:18' name='vm18' ip='192.168.122.18'/>
<host mac='52:54:00:ff:ff:19' name='vm19' ip='192.168.122.19'/>
<host mac='52:54:00:ff:ff:20' name='vm20' ip='192.168.122.20'/>
</dhcp>
</ip>
</network>
networkを再起動(停止+起動)
既存のリース情報があれば削除しておきます
# network 停止
sudo virsh net-destroy default
# leases を削除
sudo rm -f /var/lib/libvirt/dnsmasq/default.leases
sudo rm -f /var/lib/libvirt/dnsmasq/default.status 2>/dev/null || true
sudo rm -f /var/lib/libvirt/dnsmasq/virbr0.status 2>/dev/null || true
# network 起動
sudo virsh net-start default
vm起動時にmacアドレスを指定
virt-install \
--network network=default,model=virtio,mac=52:54:00:ff:ff:10 \
(以下略)
vm起動後に確認
$ virsh domifaddr vm10 --source lease
名前 MAC アドレス プロトコル アドレス
-------------------------------------------------------------------------------
vnet13 52:54:00:ff:ff:10 ipv4 192.168.122.10/24