Plan 9とGo言語のブログ

主にPlan 9やGo言語の日々気づいたことを書きます。

macOS

dfコマンドはどこからファイルシステムの統計を取得するのか

CPUやメモリの統計は/proc以下のファイルを見れば調べられますが、ファイルシステムの容量などはどうやって取得しているんだろうと気になったでdf(1)のコードを眺めてみました。 coreutils: df.c coreutils: fusage.c macOS: df.c ライブラリの動作検証で用…

macOS 10.15 Catalinaでexecvが失敗する

macOS 10.15では、execv(2)する前に実行していたプロセスの実行ファイルが削除されていると、execv(2)がENOENTを返す場合があります。どういうことかというと、 a.outを実行 a.out実行中にa.outファイルを削除(削除できる) a.outがfork(2)して親は子プロセス…

macOSのセキュリティとプライバシー保護

plan9portのAcmeエディタを通常のmacOSアプリケーションと同じような感覚で使えるようにするため、起動処理をAppleScriptで実装したappパッケージを使っています(GitHub)。AppleScriptを使っているのは、シェルスクリプトだけではファイルのドロップが実現で…

macOSでNixpkgsのアップグレード

この記事はQiitaで公開されていました TL;DR NixpkgsのmacOSインストーラはマルチユーザインストーラなので、rootユーザにインストールされているnixパッケージのアップデートが必要。 $ sudo -i nix-env -q nix-2.0 nss-cacert-3.35 $ nix-env --version ni…

plan9portのsecstoreを秘密のメモとして使う

この記事はQiitaで公開されていました Plan 9 from User Spaceのsecstoreを使って秘密メモの扱いを便利にしました。 コマンドから秘密メモを扱いやすくなった ある程度安全に秘密メモをGit管理できるようになった 毎回パスワードを入れなくてもよくなった 動…

Mac OS XでNixパッケージマネージャを使う

この記事はQiitaで公開されていました Nixパッケージマネージャは、純関数型OSと言われているNixOSで使われているパッケージングシステムです。上書き更新を行わず、ユーザ単位でパッケージを管理できるのが良い所かなと思います。名前から、Plan 9由来のNix…

MacでQEMUを使ってCoreOS環境を構築する

この記事はQiitaで公開されていました 開発環境として、CoreOSをMac OS X+QEMUに導入したのでメモ書き。 情報 QEMU stable 2.5.0 CoreOS 835.13.0 QEMU お手軽にHomebrewでインストールします。 $ brew install qemu 時間がかかるので、待ちましょう。 CoreO…

Drawtermでキーボードを叩くとNSPortCoderな警告が出力される

この記事はTumblrで公開されていました drawtermを使ったとき、キーボードでキーを叩くと以下のような警告が出力され続ける場合があります。 Warning - conversion from 64 bit to 32 bit integral value requested within NSPortCoder, but the 64 bit valu…

Macから9Pをマウントする

この記事はTumblrで公開されていました 9fansで話題に上がってたのでメモ。 9Pをマウントするmac9pというカーネル拡張があって、これを使うと、たとえば9p://sources.cs.bell-labs.comのようなURLでマウントすることができるようになる。 試してみたけれど、…

Command Line Toolsだけをインストールする

この記事はTumblrで公開されていました Xcodeといっしょにインストールすることが多いCommand Line Toolsですが、単体でもインストール可能だということを最近知りました。 特に難しい方法ではなく、最初にgit等のコマンドを実行したとき、Xcodeを入手するか…

plan9portがHomebrewに追加されました

この記事はTumblrで公開されていました こないだ、Homebrewにplan9portが入ったみたいなので インストールしてみました。 インストール $ brew update $ brew install plan9port これで完了です。特に依存するCellarはありません。/Applicationsに9term.app…