2014-09-01から1ヶ月間の記事一覧

systemdでtmp file/directoryの作成

systemdにはsystemd-tmpfilesという機能が合ってテンポラリなファイルやディレクトリをsystemdを使って作ることができます。systemdを使うので使い道としてはシステムの起動時に作るというのが基本的なユースケースだと思います。 マニュアルはsystemd-tmpfi…

systemdで確実にネットワークの起動後にサービスを起動させたい場合のメモ

systemdでネットワークが完全に立ち上がってからサービスを動かしたい場合のめもです。ありますよね、こういうケース。 で、Unitセクションにこんな感じで書くんですがこれだと上手く動かない場合があったりして困るわけです。 After=network.target そんな…

linux namespace: mnt_nsが最初に作られる流れ

mnt_nsはinit_nsproxyにあるデータの中で唯一コンパイル時に値が入っていないので、どのようデータが設定されていくのかを見てみる。mnt_nsの作成はcreate_mnt_ns()で実施していて、以前のエントリー「φ(・・*)ゞ ウーン mount namespaceめも - φ(・・*)ゞ ウーン …

3.17-rc4:Kconfigのnat周りの項目に変更があったようなのでメモ

つい最新のものを使ってしまう人以外には多分関係ないだろうメモ書き。ディストリビューションのカーネルならこの辺のチェックはちゃんとしているだろうし。 Linux 3.17-rc4でnat周りの設定が変わってipv4のnatとかmasquradeを使うにはCONFIG_IP_NF_NATをyか…

OpenBSDのexplicit_bzero(3)の仕組み

OpenBSDのlibcにはexplicit_bzero(3)という関数があって、変数を使い終わった後にmemset(3)で0クリアできるようにする関数。 これはコンパイラがmemset()後にその変数が使われないならmemset()自体いらないだろうという最適化によってmemset()自体が消される…

user namespaceめも

user namespace以外のnamespaceはcreate_new_namespaces()で作るけどuser namespaceだけは別ルートになっているのでその辺のめも。 見ているのはLinux 3.16。 user namespaceの場合copy_creds()の処理中に以下のような形で呼ばれる。 339 if (clone_flags & …