水底

ScalaとかC#とかk8sとか

linux

WSL2のshellがどうにも重かったのが解決できた話

何が重かったか tmux+zshな環境を利用しているのですが、zshでコマンドなしでEnterを連続で押したときやtmux環境を保存・復元するtmux-resurrectが激重でした。特に後者は保存・復元にそれぞれ1分程度かかっていました (同程度のマシンで普通のlinuxであれば…

GNU系とBSD系のコマンドで特によくハマるやつ

「あなたのシェルスクリプト、ポータビリティありますか?」 まぁ個人的によーーーくハマる、というかほぼほぼBSD環境やらかしがちなやつのまとめです。バージョンによっては別の挙動をすることも多いので注意。

GPU Passthroughの最前線

TL;DR 今のところ、デスクトップ向けGPUであれば多くの環境で動くが、モバイル向けGPUの場合はゲストOSがWindowsだと比較的新しいGPUが利用できない。 そもそもGPU passthroughとは GPU搭載のマシンで、VMから直接オーバーヘッド無しでGPUを利用できるように…

ansibleで環境変数の利用

認証情報を 雑に 渡したかった (※環境依存であまりよくないので, 良い子はansible vaultやファイル分割で扱いましょう). ローカル (Controller host) の環境変数 "{{ lookup('env', 'XXX') }}" リモート (Remote host) の環境変数 "{{ ansible_env.XXX }}" …

最短でQEMUを使っていろんなアーキテクチャの環境を手に入れる

Hivemall/xgboostのテストで使おうとしたけど結局使わなくなったので供養. QEMU全然分からんのでもっと良い方法やオプションがあったら教えてほしいです. 特定のアーキテクチャをちょっと試したいときにOSのインストールとかを考えたりするのは面倒なので, …

複数のコマンドの出力をまとめてリダイレクトする2つの方法

1. (), {} の利用 (), {} で囲んでまとめてリダイレクト先を指定する. 丸括弧の場合はサブシェルで, 波括弧の場合はカレントシェルで実行される. 例 { command1 command2 } >> log 2>&1 2. exec の利用 exec は現行プロセスを別コマンドのプロセスに置換する…

sh・bash・zsh等, shellの違いでハマりやすい部分とか

前提として sh の実体は環境によって POSIX互換bash (bash --posix) であったり, dash であったり, busybox であったりと様々である (ls -l `which sh` とすれば実体がわかる). 唯一の制約は POSIX互換であること だ (※どこぞの今はなきお行儀が悪いOSを除け…

Alpine Linuxでユーザやグループを追加・修正・削除する

Alpine Linux 3.5+ をお使いの方 おめでとうございます!今すぐ apk add shadow しましょう. 他のディストロ同様の useradd・usermod・vipw といった 様々なコマンド がお試しいただけます. Alpine Linux ~3.4 をお使いの方 残念ながらbusyboxによる adduser…