ぶていのログでぶログ

思い出したが吉日

Linux

Network Namespaceを使ったネットワークを簡単に構築できるnetnsplanを作った

Network Namespace(netns)を使ってネットワークを構築する必要がでてきた。 しかし、色々調べているとnetnsを使ってネットワークを構築するにはシェルスクリプトを使うしかなくてだる~っとなっていた。 さすがにそれは可搬性が低いので、他のツールはないか…

WSLからWindowsへのクリップボードコピーを高速化する

私は普段VSCodeを使っていて、拡張機能としてvscode-nvimを使っていて、そしてこの拡張の設定でnvimはWSL上で実行するようにしている。 この設定にしてほとんど困ることはないのだが、唯一困るのがクリップボードが使えないことである。 理由は簡単でnvimがW…

WSL環境にperfコマンドをインストールするためのdebパッケージを作った

github.com タイトル通り。 私の使っているUbuntu23.10 on WSLでは、WSLカーネルの 5.15.123.1-microsoft-standard-WSL2 なlinux-toolsパッケージがなくperfコマンドが使えなくて不便だったので、perfコマンドだけを収録したdebパッケージを作った。 一応手…

Crystal Disk Markとdiskspd-for-linuxの比較 / USB-SSDデバイスSSD-PUT250U3-BKCを買ってみた

Amazonの初売りでBuffaloのSSD-PUT250U3-BKCが30% OFFくらいで売っていたので衝動買いしてしまった。3本も(?!) これはUSB接続のポータブルSSDになっていて、USBメモリやSDカードよりかなり高速に読み込み・書き込みができるのがウリになっている。 今作って…

Ubuntu 22.04 on WSLをUbuntu 22.10にアップグレードした

Ubuntu 22.10がリリースされた。 ubuntu.com WSL上で動いているUbuntu22.04を22.10にアップグレードした。 デフォルトではアップグレードできないようになっているので、 /etc/update-manager/release-upgrades を修正してアップグレードできるようにしてお…

Windows10/11のWSL2でDocker Engineを使う

最近、私に支給されている会社PCがデスクトップLinuxからWindows*1になったので環境を整えている。 デスクトップLinuxからWindowsになって一番困るのは環境構築である。 しかしながら、最近のWSLはかなりよくできていてデスクトップLinuxと同じような感じで…

lsblkでIOスケジューラを確認する

-o オプションに SCHEDを追加するか、もしくは -O オプションをつけることでIOスケジューラを確認できる。 # -o SCHEDの出力例 $ lsblk -o NAME,TYPE,SCHED /dev/vda NAME TYPE SCHED vda disk mq-deadline ├─vda1 part mq-deadline ├─vda14 part mq-deadlin…

grafana-rrd-serverでcollectdなどのRRDファイルをGrafanaで表示する

会社ではGitHub Enterprise(以下、GHES)を使っている。 GHESの管理コンソールにはMonitorタブがありそこで様々なメトリクスを見ることができる。 ここで見られるデータはcollectdで集計されているらしく外部にcollectdを設置することでexportすることができ…

再起動/削除/変更コマンドの頭に空白をつける

bashやzsh、fishなどではコマンドラインの先頭に空白をつけることで、そのコマンドラインだけhistoryに残さないという機能がある。 以下、fishでの実行例。 # 通常の操作だとhistoryに残る ❯ echo hello hello ❯ history -n 1 echo hello # 頭に空白を入れる…

UTCからJST/JSTからUTCの変換をワンライナーで行う

AWSからくるメンテナンスのお知らせがUTCだったり、ときどきログやグラフのタイムゾーンがUTCになっていたりする。 そんなときにJSTへシュッと変換したくなる。 dateコマンドは現在設定されているタイムゾーンで表示できるのと、-d オプションを指定すること…

Alacrittyからkittyに移行している

普段使うターミナルはAlacrittyを使っていた。 速度や機能など特に不満はなかったが、面白そうなのでkittyに移行している。 sw.kovidgoyal.net kittyとは Alacrittyと同じGPUベースのターミナルで、独自の機能としてターミナルプロトコルの拡張がされていた…

📝 snap版multipassで launch failed: Remote "" is unknown or unreachable. が出たときの対処

snap start/snap stopすれば直ると思われる。 ❯ sudo snap stop multipass Stopped. ❯ sudo snap start multipass Started. 以下、調査ログとか憶測 launch failed: Remote "" is unknown or unreachable. で検索すると真っ先に出てくるのが以下のissue。 gi…

sshuttleでDNSリクエストを転送する

VPNからsshuttleに切り替えてから、不便だなぁと思っていたのはDNSリクエストを転送できないことだった。 VPNの接続先のDNSサーバに接続して、リモート先の内部で利用しているドメインを正引きするのに使っていた。 sshuttleはSSHのポートフォワードを元にし…

Rustで始める自作シェル その1

この記事はRust Advent Calender 2021の8日目の記事です。 空白だったので遡って穴埋めしています。 このブログでも何度か話題にしているが、私はreddish-shellという自作シェルをOSSで開発している。 コマンドを実行するだけなら簡単ではあるものの、日常で…

MAAS3.1の新機能:デプロイ済みのマシンを管理下におく

この記事はLinux Advent Calendar 2021の11日目の記事です。 1つ前の記事は@EbiTTさんの【Linux】cutコマンドのオプション別パフォーマンス対決でした。 GNUコマンドはオプションが多いので迷ったり知らないことがよくありますよね。 オプションを変えたこと…

sshuttleをsystemdで管理する

sshを使ってVPNっぽいことをするsshuttleというアプリケーションがある。 便利なので業務でも使っているのだけど、毎回ヒストリーから実行するのがめんどくさいのでsystemdで管理することにした。 事前準備 sshuttleは一般ユーザで実行した場合、内部でsudo…

業務で使っているPCをLinuxデスクトップにしてから3年半が経った

この記事はGMOペパボエンジニア Advent Calendar 2021の5日目とLinux Advent Calendar 2021の10日目*1の記事です。 昨日ははらちゃんのブログをもっといい感じにするでした。 差分転送することでアップロードを高速化するのは目から鱗でしたね。 データのア…

(Linuxデスクトップ) CapsLock <-> Ctrlの入れ替えをudevで行うようにした

GMOペパボアドベントカレンダー2021。今日から始まりました! …が、これはその記事ではないです。doewくんの記事楽しみですね。 さて、本題。 今まで、CapsLock <-> Ctrlの入れ替えをgnomeの機能の行っていた。 具体的には以下のコマンドを実行する、もしく…

シグナルマスクのビット列をシグナル名に変換する

psコマンドの -o sigmask や、/proc/$pid/statusのSig〜は16進数の文字列で表示されていて、該当するbit数のシグナルにフラグが立っているというような見方になっている。 例えば、ps -o sigmaskで1の位が3ならHUP(1)とINT(2)がマスクされていることになる。…

Ubuntu 16.04でtftpdがunknown option -?を出力するときの対処

tftpdを削除してtftpd-hpaを入れ直す $ sudo apt install -y tftpd-hpa # tftpdも一緒に削除される 経緯 cobblerサーバをメンテしていたらtftpdが起動していないことに気がついた。 tftpdはxinetd(!)経由で起動されているので jounalctl -fu xinetd したとこ…

Linuxデスクトップでデフォルトブラウザを確認/変更する

rustup doc --std したときにうまくFirefoxが起動せず別のアプリが起動してしてしまった。 こういう場合以下のコマンドを打つと、Firefoxに変更できる。 ❯ xdg-mime query default text/html ferdi.desktop text/htmlを開くのにferdiが選択されている Firef…

作業PCをsystemd-resolvedとdnsmasqの多段構成にした

私の使っている作業用Linuxデスクトップで、DNSリゾルバはdnsqmasqに変えたという記事を書いた。 tech.buty4649.net この変更はうまく行ってこの状態で運用していたのだが、PCの更新によりクリーンインストールした結果、元の状態(systemd-resolvedを使って…

(Linux) ブート時の暗号ドライブの解除キー入力を1回にする

私の今の環境は、rootパーティションとswapパーティションの2つを暗号化している。 そうすると、起動時に解除キーの入力を2回若干煩わしい。 いい感じに回避する方法がないか検索したら、以下のサイトがヒットした。 unix.stackexchange.com keyscript=decry…

reddish-shell v0.4.0とLinuxシスプロの学び

先月からほそぼそと作っているシェルのv0.4.0をリリースした。 github.com 追加した機能としては リダイレクト機能 コマンド制御演算子 && / || / ;' /&` パイプ機能 cmd1 | cmd2 ビルトインコマンド builtin / cd / echo / puts %記法 %Q / %q bintestの追…

Linuxでもビデオチャットでバーチャル背景みたいなことがしたいのでゼーレになってみた

昨今のWFHの流れで弊社でもビデオチャットをしているわけですが、Linuxデスクトップ環境だとバーチャル背景が使えないんですよねぇ。。 WindowsやmacOSなら、Zoomの標準機能でできたりSnap Cameraなどのアプリを使えば実現できます。 これらの機能はLinuxデ…

tmuxで選択部分をクリップボードに追加していく

普段tmuxを使っていて、例えば以下のようなときに部分だけをコピーして貼り付けたいとする。 $ command1 foo bar foo bar $ commmand2 commmand2: command not found $ command2 hoge huga 愚直に全部コピーしてエディタにペーストして不要部分を削…

🍣

.buty4649.net ドメインに絵文字を使えるか試してみたら使えたという話。 きっかけはSlackがリッチテキストエディタになったことで、punycode誤爆*1が減ってわーいとなっているときにふと、「絵文字もpunycodeにできるのか?」と思いつたのでやってみた。 最…

NetworkManagerのDispatcherで出勤記録を自動化する

仕事を開始するときに出勤記録をつける必要がある。 便利なことにCLIがあるので*1これを叩けば出勤記録をつけることができる。 $ syukkin しかしながら、これを忘れることがあるので自動化したい!というのが目的。 NetworkManager Dispatcher 結論からいう…

dockerコンテナの中でホストのssh-agentを使う

ちょっとした小技。 docker run -v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK -e SSH_AUTH_SOCK=$SSH_AUTH_SOCK 〜〜〜 こんな感じでssh-agentとの通信で使うsocketをマウントして、環境変数を設定すると使える。 ただ、これはLinuxホストでしか使えないかもしれない…。…

tmuxでマルチプレフィックスのキーバインドを定義する

最近、久しぶりにtmux.confを見直しを行っていたら新機能を色々増えている!*1 ということで、色々眺めている中で特に気になったのはレイアウト機能でした。 例えばペインを分割したりしているとペイン感の高さがまちまちになって作業がしづらい…みたいなこ…