Linux
まず、あらかじめ入りたいコンテナのIDか名前を取得しておき、以下の様な手順で入れる。 pid=$(docker inspect <コンテナのIDか名前> --format '{{.State.Pid}}') sudo mkdir -p /var/run/netns sudo mount --bind /proc/${pid}/ns/net /var/run/netns/<名前…
ip netnsコマンドを使うと、/var/run/netnsディレクトリにファイルを足してネットワーク名前空間を足してくれたり、 /proc/[pid]/ns以下に、そのプロセスの名前空間に対応するファイルを見せてくれるのは知っていたけれど、そのあたりの扱いをうろ覚えなので…
vagrant-libvirtを使うと、vagrantでlibvirtをproviderとして使うことことができ、自分でvirshコマンド等をいちいち叩かなくてすごい便利なのですが、 表題の通り、ネストして使おうとするとネットワークアドレスが衝突して2段目のvagrant upに失敗します。 …
UNIX ドメインソケットを使っているプロセスの番号とファイルディスクリプタの番号を知りたくなったので、やり方をメモ。 以下のようにlsofコマンドを使う。 $ sudo lsof -U +E +c 15 | grep containerd systemd 1 root 48u unix 0xffff8b1691980400 0t0 106…
overlay でマウントするときの下位ディレクトリの順番をよく忘れるのでメモ $ mkdir lower1 lower2 upper work merged $ echo 'lower1' >> lower1/file $ echo 'lower2' >> lower2/file $ sudo mount -t overlay \ -o lowerdir=$PWD/lower1:$PWD/lower2,uppe…
最近流行りのeBPFを研究でつかっている?のですが、せっかくなので使い方のメモを公開しておこうと思います。 OSのセットアップ タイトルにもあるようにUbuntu18.04を使います。 bpfは最近流行っていることもあり、新しいバージョンのカーネルでないと使えな…
UTokyo WiFiの公式ページの記載だけでは、Ubuntuからうまく接続できなかったので、 またOSをふっ飛ばして再インストールするであろう将来の自分に向けて接続方法のメモ GUI編 設定例 以下のように設定すれば接続できるはず。 設定項目 設定値 Wi-Fi security…
linuxにシステムコールを追加しようと思ったりすると、 arch/x86/entry/syscalls/syscall_64.tbl にsys*と書くと思っていたのですが、最近は__x64_sys*という表記に変わっていることに気づきました。 例えばLinux v4.15ではシステムコールテーブルは以下の様…
結論 セキュアブート環境下*1では、カーネルモジュールに署名をつけましょう 経緯 卒論の関係でカーネルモジュールを書いていて、「さて実機で動かすぞ!」という段階でコケました。 自分が悪いコードを書いたせいかと思い、よく転がっていそうな単純なモジ…
結論 ld --verboseではなく、gcc -Wl,--verboseを使いましょう。 環境 $ gcc --version gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO…