Bell Labs の Plan 9 をあらゆる Linux ディストリビューションに高速かつ簡単にインストールできます。

Bell Labs の Plan 9 をあらゆる Linux ディストリビューションに高速かつ簡単にインストールできます。

編集部コメント:うーん…ありがとう、トム!また一つ、くだらない趣味が増えてしまった。 — raindog308


プラン9のバニー、グレンダ

Unix がベル研究所で開発され、 Linuxや他の多くの現代のオペレーティング システムが Unix から派生していることは、ほとんどすべての人が知っています。

しかし、Plan 9 をご存知ですか?ベル研究所の Plan 9は、ベル研究所の Unix チームが Unix の後継として作成した分散オペレーティング システムです。

Plan 9はUnixほどの人気を得ることはありませんでした。しかし、 Plan 9のWikipediaページには、Plan 9のコードはUnixとは異なり、2000年にフリーでオープンソースとなり、Plan 9の第4版は2002年にリリースされたと書かれています。オープンソースライセンス、Plan 9ディストリビューションのオープンな可用性、そしてPlan 9コミュニティの親しみやすさが、私が当時Plan 9を使い始めたきっかけでした。

昨今では、多くの人にとってPlan 9カーネルを使う理由はほとんどなくなりました。しかしながら、Linuxやその他の最新OS上でPlan 9ユーザーランドを使っている人もまだいます。正確な開始時期は覚えていませんが、ある時期、Plan 9で最も活発に活動していた一人が、Plan 9ユーザーランドからBSDとLinuxに多くの要素を移植しました。この移植プロジェクトはPlan 9 from Userspace、別名plan9portと名付けられました。

Plan9port にはホームページ、 Github リポジトリ、アクティブな Google グループ開発ディスカッション リストがあります。

オリジナルの Unix および Plan 9 チームのメンバーのうち数人が Google に移籍し、Google で plan9port を使用していたと聞きました。

plan9portの多くの機能を利用したい方のために、起動設定ファイルをいくつか用意しました。私自身は、 edエディタなど、古いUnixコマンドラインユーティリティのplan9port版を使うのが好きです。Unix版とPlan9版のユーティリティのソースコードを、他の実装のものと比べるのも興味深いです。Unix版とPlan9版は驚くほどシンプルで短いことがよくあります。

さて、前置きはこれくらいにして、plan9portをインストールしましょう!インストールはシンプルで簡単です。plan9port開発者の皆様の尽力のおかげです!

インストール

インストール手順はplan9portのinstall(1)マニュアルページに記載されています。gitを使ったインストールの初期コマンドはplan9portのホームページに記載されています。

元に戻すを有効にする

/usr/local 内にインストールします。何か問題が発生した場合に元に戻せるように、/usr/local のアーカイブを作成しましょう。

root@darkstar:/usr# tar cvzf local-revert.tgz local
[ . . . ]
root@darkstar:/usr#

ソースをクローンする

次に、Github リポジトリから plan9port ソースをクローンします。

root@darkstar:/usr# cd local
root@darkstar:/usr/local# git clone https://github.com/9fans/plan9port plan9
Cloning into 'plan9'...
remote: Enumerating objects: 36924, done.
remote: Counting objects: 100% (151/151), done.
remote: Compressing objects: 100% (98/98), done.
remote: Total 36924 (delta 69), reused 103 (delta 53), pack-reused 36773
Receiving objects: 100% (36924/36924), 25.79 MiB | 19.45 MiB/s, done.
Resolving deltas: 100% (25786/25786), done.
root@darkstar:/usr/local#

新しくクローンされた plan9 ディレクトリの中身を見てみましょう。

root@darkstar:/usr/local# cd plan9/
root@darkstar:/usr/local/plan9# ls
CHANGES Makefile dict/ install.txt man/ proto/ troff/
CONTRIBUTING.md README.md dist/ lib/ ndb/ rcmain unix/
CONTRIBUTORS acid/ face/ lp/ news/ sky/
INSTALL* bin/ font/ mac/ plumb/ src/
LICENSE configure* include/ mail/ postscript/ tmac/
root@darkstar:/usr/local/plan9#

建てる

ここで、plan9port をビルドしてインストールする INSTALL スクリプトを実行します。

root@darkstar:/usr/local/plan9# ./INSTALL

[. . . ]

[. . . ]

* 掃除中…
* ハードコードされた /usr/local/plan9 パスの名前を変更します…
* Webマニュアルの作成…
* 終わり。

* これらをプロファイル環境に追加します。
PLAN9=/usr/local/plan9 エクスポート PLAN9
PATH=$PATH:$PLAN9/bin エクスポート PATH
ルート@darkstar:/usr/local/plan9#

わあ!うまくいったみたい!次は何が出てくるか見てみましょう!

root@darkstar:/usr/local/plan9# ls
CHANGES Makefile configure* include/ lp/ news/ sky/
CONTRIBUTING.md README.md dict/ install.log mac/ plumb/ src/
CONTRIBUTORS acid/ dist/ install.sum mail/ postscript/ tmac/
INSTALL* bin/ face/ install.txt man/ proto/ troff/
LICENSE config font/ lib/ ndb/ rcmain unix/
root@darkstar:/usr/local/plan9#

うーん!ソースを覗いてみましょう!

root@darkstar:/usr/local/plan9# cd src/cmd
root@darkstar:/usr/local/plan9/src/cmd# wc ed.c
1639 3665 23093 ed.c
root@darkstar:/usr/local/plan9/src/cmd#

はい!edがそこにいます! :)

テスト

しかし、それは機能するのでしょうか? :)

root@darkstar:/usr/local/plan9# cd
root@darkstar:~# PLAN9=/usr/local/plan9 export PLAN9
root@darkstar:~# PATH=$PATH:$PLAN9/bin export PATH
root@darkstar:~# ls foo
/bin/ls: cannot access 'foo': No such file or directory
root@darkstar:~# 9 ed foo
?foo
a
bar
.
wq
4
root@darkstar:~# cat foo
bar
root@darkstar:~#

やったー!うまくいきました! :)



おすすめの記事