筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2014-07-01 SourceForgeはオワコン?
■ TigerVNC がプロジェクトを SourceForge から GitHub に移行
TigerVNC がプロジェクトを SourceForge から GitHub に移行しました。5月下旬から tigervnc-devel メーリングリストで話し合いが行われていましたが2014年7月1日、完全に移行が終了したようです。
メーリングリストも同様に SourceForge から Google Groups へ移行しました。
tigervnc-devel メーリングリストでの議論によると移行の理由としては、
- SourceForge がクソ ( pretty shit ) だから
- ソースコードの管理に git を使ったほうがより良いワークフローが実現できる
- GitHub はバグ修正やなどをプルリクエストとして処理でき、貢献するのがとても簡単
- SourceForge は広告が邪魔
- SourceForge はしょっちゅう耐えられないほど遅くなる
- GitHub に移行すれば SourceForge の悪い点を回避できるだけでなく、多くのことを改善できる
といったことが挙げられています。
新しい TigerVNC のプロジェクトの URL はこちらです。
メーリングリストはこっち。
- https://groups.google.com/forum/#!forum/tigervnc-users
- https://groups.google.com/forum/#!forum/tigervnc-devel
SourceForge のメーリングリストはよく遅延していて12時間以上の遅延もざらにあったので、今回の移行は歓迎です。GitHub に移行したことでプルリクエストでのバグ修正の協力などもしやすくなりました。
TigerVNC のプロジェクトページもあわせてリニューアルされています。
2021-07-01
■ FreeBSDでMACアドレスごとにネットワークインターフェイス名を固定する
背景
FreeBSDでUSB接続のネットワークインターフェイスを使用すると接続した順に ue0, ue1, ue2…というようなインターフェイス名が割り当てられますが、インターフェイスの挿抜や再起動によってインターフェイス名が変わってしまい不便なことがあります。
実現方法
devdを使用します。詳しくは説明しませんが、大雑把にいうと「デバイスが接続されたり切断されたときになんかするやつ」です。
devdでue0やue1というデバイスが接続されたのを検出して、MACアドレスに対応するインターフェイス名に変更することで決まったインターフェイス名を割り当てるというからくりです。
まず、MACアドレスとインターフェイス名のマッピングを書いたファイルを /etc/netifmap に作成します。ファイル名とパスは任意で構いません。MACアドレスとインターフェイス名を空白文字区切りで書いておきます。
インターフェイス名は foo[0-9]+ というフォーマットである必要はありません。aliceやbobでもOKですが、元のインターフェイス名と同じue[0-9]+と重複するものは避けておきます。例えばue0をue1に変更し、ue1をue0に変更するというようなスワップはうまくいきません。
ここでは、eth[0-9]+にしてみました。
00:11:22:33:44:55 eth0
00:11:22:33:44:66 eth1
次に、/etc/rename-netif.sh というスクリプトを作成します。スクリプトは末尾にGistで貼っておきます。
第一引数にインターフェイス名を与えると、マッピングファイルを参照しマッチしたインターフェイス名に変更するというスクリプトです。
最後に、このスクリプトがインターフェイス接続時に実行されるようにdevdの設定ファイルを書いておきます。 /etc/devd/netif.confという名前で作成しますが、これも任意の名前で構いません。ue[0-9]+という名前にマッチするネットワークインターフェイスが接続されたら、actionに指定したスクリプトが実行されます。
書き終わったら、service devd restartでdevdを再起動しておきます。再起動したら、USBネットワークインターフェイスを順番を変えて挿抜してみると固定のインターフェイス名が割り当てられていることが確認できます。OSごと再起動しても同じMACアドレスに対して同じインターフェイス名が割り当てられます。