CPUが貧弱でGentooの日々のメンテがしんどいので、試しにCcacheを使いはじめた。
実利的な面は、それなりに長期間運用してみないとわからない。
Portage
Gentoo WikiのCcacheのページにかなり網羅的な情報が載っていて、ここを参考にすればPortageの設定までカバーできてしまう。
ただしUsing ccache globally is not recommended
らしいので、そこは各自の判断で。
genkernel
Gentoo Wikiのgenkernelのページにさらっと書いてある程度で、情報が少ない。
最終的に /etc/genkernel.conf の設定は、要点だけ抜粋すると以下のようにした。
CCACHE_DIR="/path/to/ccache/cache"; export CCACHE_DIR
KERNEL_CC="/usr/lib/ccache/bin/gcc"
UTILS_CC="/usr/lib/ccache/bin/gcc"
UTILS_CXX="/usr/lib/ccache/bin/g++"
当初は KERNEL_CC="ccache -d /path/to/ccache/cache gcc" といった設定を試してみたものの、Ccacheが Invalid option というエラーを吐いた。
おそらくビルドプロセスのどこかでコマンドライン文字列の扱いに難があるせいだが、深くは追っていない。
とにかく、キャッシュディレクトリのパスを環境変数で渡すしかないので無理矢理exportしている(Bashスクリプトなのでexportできてしまう)。
さらに、これだけではinitramfsのコンパイルの段階で ACCESS VIOLATION という見慣れないエラーが発生する。
これはinitramfsのコンパイルがSandbox環境で行なわれ、許可されていないディレクトリへの書き込みがブロックされるためで、以下のいずれかの設定を入れる必要がある。
- そもそもSandboxを使わないようにする
/etc/genkernel.conf で SANDBOX="no" を設定
- Sandbox内でもキャッシュディレクトリへの書き込みを許可する
/etc/sandbox.conf に SANDBOX_WRITE="/path/to/ccache/cache" を追加
個人的には後者のほうが筋は良いと思う。
ただ、ドキュメントを読む限り /etc/sandbox.d/ に設定ファイルを作成しても効きそうなものだが、/etc/sandbox.conf に追記しないと想定した挙動にならなかった。
これも裏は取っていない。
genkernel.conf の中で CCACHE_DIR をexportする、というのがとても気持ち悪いので考え直した。
その結果、/etc/ccache.conf に cache_dir を設定するとグローバルで効くので、genkernel.conf から CCACHE_DIR を排除することができた。
ただし make.conf については CCACHE_DIR のデフォルト値が /var/tmp/ccache で固定されているので、他のディレクトリを使う際は設定が依然として必須。
なかなかうまいこと収まらない。
/etc/sandbox.d/ に設定ファイルを作成しても効きそう
Sandboxは実行時に環境変数を設定することでアクセスルールを追加することができる。
ただしソースコードの setup_access_var() を見るとわかるのだけど、その場合は sandbox.d/ の設定を読まなくなる仕様らしい。
一方で sandbox.conf は常に読まれる。
genkernelは環境変数でアクセスルールを調整するので、結局は前述のとおり sandbox.conf に書くほかない。
ここ、88171.netのDNSをHidden Primary化した。
と、したり顔で言ってはみたものの、Hidden Primaryという名前で呼ばれていることは後から知った。
Hidden Primaryとは、ドメインのNSレコードに含まれず意図的に存在を隠されたプライマリサーバを指す。
リゾルバからの名前解決要求は必然的にセカンダリサーバでのみ受け付けることになる。
ゾーン情報の管理の観点では、プライマリ・セカンダリの関係は一般的な構成と変わらない。
前出の記事ではそれぞれHidden Primaryのメリットについて触れられているけれども、
決して普遍的なものではないし、必ずしもこのドメインに当てはまるものでもない。
なぜ、このドメインのプライマリを隠したのかといえば、以前に書いた記事に関係する。
独自ドメインにDNSサーバを置いている場合も、
上位サーバのグルーレコードにIPアドレスが残ったままになるので同様のリスクがあるし、
ゾーンのコントロールを奪われ得るのでより悪いとも言える。
遺されたシステム - 88171.net
つまり、(ここの場合)たかだか1年間の有期契約で借りているプライマリサーバのIPアドレスを上位サーバに登録することは、
将来なんらかの理由で管理が立ち行かなくなった場合にセキュリティリスクとなるので、それを避けたかった。
リスクとはいっても現実となる可能性は無視できるくらい低いものの、
このドメインの場合は特に大きなデメリットが見当たらないこともあって、念のためやっておくことにした。
隠したとはいうものの、SOA.MNAME には変わらずプライマリのホスト名を載せているし、
プライマリにクエリが飛んでくれば誰にでも普通に返事をする。
存在を公言しなくなった、という表現の方が実情に近い。
いっそのこと、さくらにプライマリを任せてしまえば面倒がないのでは?という説はある。
実際に数年前まではそうしていたのだけど、ゾーンをファイルで管理できるのはやっぱり楽なので、なかなか戻りづらい。
ちなみに、さくらのネームサーバのような共用DNSサーバを使うこと自体がリスクを孕んでいるので、そこは追って検討する。
一つ言えるのは、一個人の立場では選択肢はとても限られている。
昨年に引き続き。
年の途中から契約したもの・やめたものもチラホラあるけれど、細かいことは気にしない。
海外系のサービスがいくつか値上げされているのに気づいて、経済情勢をうっすら肌で感じている。
新規
1Blockerプレミアム
¥550 / 年
これまで書き忘れていたので便宜的に新規とするけれど、新規ではない。
リリース当初の買い切りだったころから使っていて、いつしかサブスクに移行した後もお布施のつもりで払っている。
こういった広告ブロッカーを使うことには賛否があるし、自分なりに思うところもあるけれど、今回は踏み込まない。
いつか改めて書くかもしれない(たぶん書かない)。
継続
IIJmio(固定+モバイル)
¥5,750 / 月 + 通話料
従前のモバイル(音声)2回線に加え、2021年に固定回線もIIJmioにまとめた。
モバイル回線が半額くらいになった。
MNOまわりの値下げ劇は冷ややかに傍観していたものの、一応間接的にメリットは享受した形になっている。
感謝すべきなのかはわからない。
有効活用しているとは言いがたいモバイル1回線を、そろそろクローズしても良いかもしれない。
けれどそうするモチベーションも高くないのが困るところ。
ムームードメイン
¥1,628 / 年
見返したらgTLDが微妙に値上げされていた。まあ必要経費なので仕方ない。
それとは別の諸事情で、今年別のレジストラへの移管を検討する予定。
さくらのVPS
¥9,680 / 年
このv5インスタンスに引っ越しを終えたことで、2011年3月から使ってきたv1インスタンスを遂に解約した。
1月末でdestroyされる見込み。長い間お世話になりました。
iCloud+(200GBストレージ)
¥400 / 月
相変わらず、主に写真用ストレージとして。
せっかくなのでiCloudプライベートリレーは使っている。
PlayStation Plus
¥5,000くらい / 年
最近フリープレイタイトルがパッとしなくて寂しい。
Netflix
¥1,490 / 月
相変わらず、我が家のエンターテインメントインフラ。
オリジナルコンテンツの当たり外れが激しく、気になる作品が出てきても、
見るべきかどうかいつも迷ってしまう。
DAZN
¥1,925 / 月
完全にF1観戦用。
クオリティには満足している。
Kimiが引退してしまい、セットで応援していた(失礼)Antonioもシートを失ってしまったので、なんだか喪失感がある。
秋頃からか、レース前後に外部のCMが入るようになった。
財政面が苦しいのであれば一定の理解は示したいけれど、
スポーツ専門有料メディアとしての品位を保てないくらいならいっそ値上げしてほしい。
レース直後の余韻タイムに突然某消費者金融のCMが流れた時はマジこいつら頭おk
[お察し下さい]。
Inoreader Pro
$4.99 / 月
もう年払いにしても良いかもしれないと思って価格表を見たら微妙に値上げされていて、一旦忘れることにした。
廃止
@T COMヒカリ
IPv6の利用条件が折り合わず解約に至った。
Pocket
少しの間使っていたのだけど、いくつか不満を覚えてやめてしまった。