リククーブログ

ARTICLE PAGE

LinuxをOpenindianaに変えました

ごくかんたん

コンピューターの豊富な知識を前提とした話ですが、
Openindianaが初めてな人向けです。Linuxになれている人でないとついてゆけないことがあります。
パソコンを組み立てる本とUNIXやOpenSolarisの入門書があるといいです。
おそらくなれている人はみんなプロの管理者で
自分で分かるだろうと教えようともしない様な話です。
manページやOracleなどの説明は堅苦しく理解しにくいし、
他のOpenindianaのネタのブログはみんなわけが分からないと思います。
この記事や他のOpenindianaの記事、何度も自分で修正したが誰も修正要求や文句を出さない不思議があるので、
どんな人が使いこなしているのか興味深いです。
この記事を読んでいるような人は、雰囲気だけでOpenindianaを使うと決めていることが考えられるので(そういうのはBSDなどにはないでしょう)
用心してください。

前書き

今まで使っていたSlackwareって、使っているとちょっと暗い感じの雰囲気がするんですね。
みんなの使っているUbuntuとかは明るい雰囲気になってきているけれど
どうも、手の加えていない生のLinuxになればなるほど暗くて素っ気ない雰囲気になるのです。
マニアのLinuxってちょっとくらいかも。

そんなとき、どうしたのか自分はOpenindianaというオペレーティングシステムがあるのを発見。
解散したOpensolarisプロジェクトの後継だって。まだ開発版 もうすぐ正式版?ですね。
DVDのイメージ(890MBか、何て中途半端なんだ もう少し削ればCDにはいる)をダウンロード。
DVDに焼いてそこから起動してみます。
Linuxをインストールできた人はこれも大丈夫かな。Windowsのブートプロセスも選べるようになります。

追記:日本のミラーサイトは、

ftp://ftp.nara.wide.ad.jp/pub/openindiana


これインストールDVDイメージはダウンロードできるけれどあれ、リポジトリはない。
Openindianaのミラーリポジトリは世界中ほとんどが消滅しています。

カムバック

20140409 この度、コメント欄にかいたアクシデントが風化し、ついにopenindianaに復帰しました。
くしくもWindowsXPのサポート終了の日です。

すんげー気持ちいい雰囲気。
迷ったけれどなんと雰囲気でこれにきめた!
べつに、Openindianaは「素の』オペレーティングシステムじゃないけれど いいや。

緊急通知

普通のOpenindianaはbashのshellshock脆弱性もOpenSSLのHartbleed脆弱性も直していません。
開発版のhipsterをインストールされることをおすすめします。やりかたは簡単でhipsterのisoを焼けばいいのです。
ftp://ftp.nara.wide.ad.jp/pub/openindiana/dlc/isos/hipster/
開発版のくせに安定しています。GUI周りも古いです。BSDみたいです。
hipster-2015だけが現在活発であり、セキュリティ更新があります。しかもそれはマトモな動画再生には、ノートパソコンのしょぼいものでもnVIDIAのGPUが入っている必要があります。
OpenSXCEという亜種から持ってきた、テスト中のドライバーdrm_gem_kmsでintelのグラフィックが使える可能性はある。
hipster-2014までは初代HD Graphicsまでのintelのグラフィックが使えます。
開発は活発とはいえず どうもOracle Solarisをかわせるための餌にされている気がする…

インストール要件

メインメモリが1GB以上で 2010年までに発売されたx86、x86_64のパソコンをおすすめします。
これはXorgがNVIDIAを除き新しいグラフィック機能に対応していないためです。対応させるにはhipsterを入れる必要があるかもしれません。
hipsterのmanページ intel(7) ではG45まで対応です。しかし本当はいわゆるNehalemまでなら動きます。
でも古すぎてもいけません。無事に起動ができれば使えます。
USB3.0も使えません。
あまり新しいハードウェアはOracle SolarisやLinuxを使うことになります。

rootのパスワードが効かない

インストールしたけれどアップデートをしたい。
パスワードを入れる画面に拒否される。インストール時に設定したのに。
ルートのパスワードが分からない。端末でsu -したら

password of root is expired.
input:

とでた。
あ、ここでパスワード設定だ。
ここまでするか?基幹サーバー向けならでは。

ビープ音がうるさい

何か些細な操作で反応して ぶぶって音が鳴るのウザい。
音量調節ツール>オプションタブ>キーボードのビープ音
でスピーカーの記号クリックでミュート。
この現象はいろいろなパソコンで発生します。機種依存ではないようです。
この解決法でも、ログイン画面でのぶぶっは治りません。
で、この現象を恒常的に直すには、なんとボリュームコントロールのデータが妙な形式で入っているので
.xprofileに

audioctl load-controls $HOME/.audioctl/*

これを書き足します。
たぶんOpenindianaが今まで広まったことがないのはデフォルトのこの設定のせいです!
ぜひ、英語のできる人は このことをバグトラッカーに送ってください!
ヘッドホンをつけたのにスピーカーからも音がでる場合は一旦ヘッドホンをとってください。

無線LAN

あ、ちゃんと無線LANがつながります。コマンドじゃないので簡単だこれ。
ところが、たまにつながらない変なかんじです。
300Mbpsは使えません。54Mbpsが限界です。
nwamといういわゆる簡単設定ツールがよく具合が悪くなるので、無効にされ、dladmなどで手動で設定されるのですが、うちはnwamでなんとか頑張ってみます。

一番最初が感じんです。GUIの無線LAN選択画面で、お気に入りのネットワークにするのチェックをはずして、
毎回同じのを選ぶようにしないと、なかなかつながらないことになります。
エンタープライズ向けのOpenindianaなのでこのバグはわざと残してある可能性がある。

もしお気に入りのネットワークにしてしまったら再起動するとつながらない。その時は一旦設定を削除してください。

面倒であれば、不完全な対策ですが、
まずはwificonfigを削除してください。
それから、nwamはNISとLDAPの機能をつかおうとするらしく、
# svcadm enable nis/client
# svcadm enable ldap/client
ついでに
# svcadm enable pools
これで治りますか?

何かコマンドが違う

Linuxと違うのが、純正コマンドです。
LinuxのコマンドはそうGNUのバージョンですが、
これらはsolaris系では頭に"g"がつきます。GNU grepはggrepです。
純正のコマンドは、GNUのものより機能が制限されます。というかGNUのがすごすぎる、ともいえます。
実はgを付けなくてもGNUのコマンドが使えたりすることがあるのですが、
install、grep、ls、chmodなどは、純正のものも入っています。top,netstat,ipstatなども表示が違います。
こういうものは、/usr/binに入っています。
あとシェルスクリプトを呼ぶとkshで実行されるパターンがあります。
さらにいうと、GNUのプログラムは/usr/gnuに入っていたりするし、/usr以下がなんか大量にディレクトリがあってその下にそれぞれbin/やlib/やshare/があるというとっ散らかった構成です。
hipsterでは/usr/gnu/binのものが優先してよばれるようになっているかもしれません。
設定ファイルは直接書かず、*admや*cfgといったコマンドから設定します。なので設定ファイルがバイナリになっていることも、自動プログラムが読み書きするものもあります。

起動、終了

パソコンその物に入れると、次の次に起動した時からかなり速く起動できます。
シャットダウンが極めて速い。Linuxがupstartやsystemdを導入する前から結構俊敏でした。
svcadmというのがinitになっているからです。
サーバー用途では極めて大容量のストレージでsyncが遅く、終了時にスマートであることは重要と思われます。
再起動は自動でするのに、シャットダウンする時はsync終わるとフリーズしますね。いやこれはそういう仕様かも。
学校いっていたとき情報科の張り紙に「シャットダウンする時に電源ボタンを押さない人ばかりなので自動でシャットダウンするようにしました。」とかかいてた。(あ、自分は電子科です。)
どうもそのコンピュータがSolarisらしい。
しかし何故か、たまに自動で電源が切れるときもある。
さらにHPのパソコンではいつも自動できれる。

hotplugが使えない

それからなんとホットプラグのサービスが有効になっていないという信じられない事象があります。
有効になっていないと、USBが使えるか保証はありません。
# svcadm enable hotplug
これでなおる。

警告:USBメモリーがトロい

WindowsやLinuxでもちろん快適に使えるUSBのSSD、USB2.0でも30~60MB/秒でるのですが、
Openindianaでは書き込みが1.9M...だと...?
はい。しかもサーバー用途でUSB高速アクセスはセキュリティレベルを下げる余計なものらしく、
修正される気配がありません。
これだったらHi-SpeedやUltra SpeedのCD-RW、DVD-RWの方がいいと思うのですが?
Openindianaはネットワークで使ってこそ。

USBで動かす

USBメモリに入れるときは、
Live USBにすると、速く起動します。
Windows 7からはLive USBは作れません。Windows Vista,XPで動くOpensolaris live creatorや、
Linuxとかから1G.headerとイメージファイルをddで突っ込みます。
この状態で、日本語入力を使うには、端末で

$ iiimx -iiimd

ですが、文を打ってるときにカーソルを移動するとバグります。
しかも、USBメモリなのに何かファイルを作っても再起動すると消えるのが残念です。

USBメモリーに「インストール」すると、読み書きできますが結構起動とかアップデートとか遅いです。
しかもパソコンのメモリーの量+1.5GBをスワップに当ててしまっていて、16GBのメモリーの空きが4.7GBです。
さらにいうとインストールした時のポートに挿さないと起動しません!

アップデートできない

それから、アップデートのソフト実行してもこれはLiveCDだといわれてできない。
これは最初の難関だ。調べるとOpenindianaはカーネルとそのまわりのファイルをバックアップできるらしい。
Boot Environment = BE か。
2chのログを見ると、rootでこうするとネットから更新されたパッケージが入って新しいBEになる。

pkg image-update --be-name openIndiana110407 --require-new-be



最近分かったのですが、
rootで

pkg image-update -v

これだけでいい、しかも-vは詳細表示のオプション。

これで自動処理できるようです。
さらに言うと、最新の151a8のDVDからインストールしたら、この問題は出ませんでした。

Webの設定

Firefoxは現在ESR版が入っています。もし最新版を使いたいのなら
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/
から最新版のディレクトリ>contribでORACLEの作ったパッケージの圧縮ファイルに出会います。
北京のチームがビルドしたらしい、ということに注意。
これで最新版が

pkgadd -d <package file>

で、/opt/sfwに入ってさらにリンクを$PATHのどれかにはってうまくいきます。

なんとSolaris用のFlash Playerが用意されている!
しかしサポートが切れて脆弱性が放っておかれているのでなるべく動画サイトのオプションでHTML5を使うようにしましょう。
ただし例のごとくwebm、vp8とogv(ogg vorbis)、オープンソースで特許料がいらないものしか使えないので、H.264が使えればいいのですが?

日本語入力が使えない

パッケージマネージャでibus,ibus-anthyを入れて、システム>IBusの設定でIBusのサービスを起動するとうまくいきます。
いつもibusのサービスを使うにはSystem>設定>自動起動するアプリ から有効にします。
そうでなければ

$ iiimx -iiimd

をつかいます。結構バグっていやな奴です。
日本語の環境はインストールDVDからではすべては揃いません。パッケージマネージャーから追加します。
GNOMEが英語表示ですが、インストールDVDを151a5あたりのバージョンから入れれば日本語になるかも。
GNOMEの国際化パッケージは廃止になったものがあります。

リポジトリはこれだけのプログラムしかないの?

じつは4つあります。一つが標準で入っているメインのリポジトリ、
http://pkg.openindiana.org/sfe/
これは、エクストラリポジトリで、solaris系の本業の基幹サーバーでなく
デスクトップで楽しむためのプログラムがいっぱいあります。ここにはopenjdk-8もgcc-4.6もあります。
http://pkg.openindiana.org/sfe-encumbered/
これは、ffmpegなどの特許を侵害しているかもしれないコーデックプログラムが入っているものです。
さらにhipsterというものがあり、
http://pkg.openindiana.org/hipster-2015/
メインのリポジトリと入れ替えて使います。unstableですが常に最新です。今活発なのはここだけです。

OpenSolarisから受け継いだIPSという仕組みのリポジトリです。Iは大文字です。
これらのリポジトリは日本から遠いところにあるようで、アクセスが遅いです。おそらく昼アクセスするといいでしょう。
また、どうやらSFEには本家があるらしく、pkgbuildコマンドで本家のspecファイルの指示にしたがってソースをダウンロード、
パッケージをビルド、インストールまでできるらしいです。

ライブラリパス

{これはLinux、UNIXで自分でソースコードをコンパイルした経験が必要な記事です。}
自分で作ったプログラムを/usr/local以下に入れますが、
/usr/local/libのライブラリをどうやって呼び出せるようにするの?
これは、crle コマンド を使います。すると/var/ldにバイナリファイルができて登録されます。
Solarisのライブラリパス(LD_LIBRARY_PATH)|渋谷生活
ここに書いてあるようにLD_LIBRARY_PATHも効きます。
LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64もあるそうです。
crleに最初に -64 オプションを渡すと64ビットのライブラリの呼び出し方が指定されます。
よく見るとライブラリのディレクトリのなかにamd64ディレクトリがあってその中に64ビットライブラリがあります。
コメント欄にあるようにcrleコマンドはパスの指定が空文字列であると、どうしようもないことが起きます。

gccに違和感あり

{これはLinux、UNIXで自分でソースコードをコンパイルした経験が必要な記事です。}
なんと、gccがインストールできるOpenindianaもリンカーだけソラリスのリンカーじゃないの?
gccは標準でsolarisのリンカーを呼ぶ設定になっています。GNUのリンカーは異常が出ます。
solarisのリンカーはよくむちゃくちゃ長いエラーメッセージを吐いて終了しますが これを解決するには、
./configureに--with-picをつけるなどgccの出力を再配置可能バイナリにする必要があります。
gccがどこに入っているかも、色々あって、新しめのgcc-4.6を選ぶと/usr/gcc/4.6/binに入り、/usr/gnu/binにリンクが張られます。
configureがGNUじゃないポンコツでこのことを知らなかったら? ややこしいビルドエラーを引き起こしたりするのです。
さらに言うと、solarisのmakeがあるので、gmake でGNUのmakeが呼ばれます。多分GNUばかりの今こっちじゃないとエラーが出るパターンが多いでしょう。
さらに言うと、ビルドスクリプトで呼ばれるコマンドもGNUのと違ったりするので修正が必要かも。
さらに言うと、GUIまわりは64bit環境でも全部32bitかもしれません。で、コンパイラも-m64をつけないと64bitでコンパイルしません。
さらにいうと、installは純正が入っていて、ginstallがGNUのものかもしれません。
ヒント:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/gnu/lib/pkgconfig:/usr/share/pkgconfig/:/usr/g++/lib/pkgconfig:/usr/lib/pkgconfig

anthyをパワーアップ

これについてはOpenindianaを冒険するのやり方がスマートです。

NTFS読める?

SFEリポジトリでntfs-3gが提供されるようになりました。
しかし、どうやらUSBメモリをさして直ぐにマウントの確認が出るようなことにはなりません。
fusefsのドライバーを入れておけば、
ntfs-3gのファンサイト?から、新しいバージョン2014.2.15を手に入れることが出来ます。
リポジトリが出来てないのでpkgaddで入れるようです。

FATのドライバに違和感あり

MOドライブとディスクを持っています。
MOは50年持つというので半年一回MOにバックアップしますが
書いたディスクがWindowsで読めない!
調べるとFATを扱うpcfsドライバが512バイトのセクタサイズだけ対応です。
540MBのMOは扱えました。
USBメモリもUSBハードディスクも普通に使えますがセクタサイズが違うFATに注意して。
あと、いわゆる8.3のファイル名は小文字が大文字になっちゃうよ!

exFATをつかう

SDカードなどでexFATファイルシステムが使われていることがあります。
訂正:SFEリポジトリのfuse-exfatは なんと 使えませんでした。すみません。
fuse-exfatはソースコードから入れます。
なんと、main.cの

const char* default_options = "ro_fallback,allow_other,blkdev,big_writes,defer_permissions";


の、blkdev,をとると動くというのです!
fuse: mount failed: Invalid argument
理屈はこうです。Solarisのfuseモジュールはセクタサイズを指定していない場合512バイトと決めつけます。
ところがWindowsの方ではストレージ容量に応じて2kにも4kにもするので、こけてしまうのです。
だからblkdevをとると、セクタサイズを自由にできるのです。
SFEのgcc-4.6を使った場合、buildはこのようなコマンドです。

CC=/usr/gcc/4.6/bin/gcc CCFLAGS='-I/usr/include -I/usr/gnu/include/fuse -O2 -g -std=c99 -mtune=native' scons


このようにインストール時から色々とっ散らかっているのがOpenindianaなので、度々パスを手動で設定する必要があるかもしれません。
/usr/lib/fs/exfat/mountをできたバイナリにリンクすると、mount -F exfatがつかえます。

OOoを突っ込む

Openofficeを入れます。
LibreofficeがSolaris用のバイナリがないですねえ。
パッケージで入れると、遠いサーバーから来るのでダウンロードが遅そうです。
Openoffice公式サイトからダウンロードして解凍してルート権限でsetupを実行すると
JAVAのAWT(ウィンドウ関係)でエラーが出ます。たぶんルートのシェルからGUIのソフトを起動するのと同じ
Xサーバーにつながらない失敗なので gksu ./setupでうまくいきます。

起動音

Openindianaは起動音がないと思っているでしょう。
あります。
音量の調節ツールには普通にスピーカーとマイクの音量スライダーの他に
『サウンドのテーマ』タブがありますね。「なし」になっているのをdefaultにするとできます。

VIMデフォルトが未設定


vimの反応がLinuxと違い、挿入モードで矢印キー、エンターを押すとviそっくりに変なことになりますね。
本当に何も設定されていない。
いうまでもなく.vimrcを晒しているサイトからコピーです。

パッケージ化は当分諦める

自分でコンパイルしたもののパッケージが欲しくても、
あれれ結構複雑な手順がいりますね。

まだ書ききれないことがある!

このブログのカテゴリ9番はOpenindiana専用です。読んで見てください。
雰囲気だけでインストールした人がどうやって普通につかうか?その答えがあるかも。

オーディオ

Openindianaはヘッドホンとスピーカーの切り替えがうまく行かなかったりするけれど
なぜかオーディオの音が高音質になります。オンボードとかのドライバしかないけれど
そのポテンシャルを十分に発揮させます。
しかし、gst-plugins-goodを入れないと完全に機能しなかったりします。
なにかデバイスを認識した拍子で/dev/dspがアクセス拒否されます。そういうときは再ログインしてください。

結局こいつは何者だったのか?

音も画像も高品質で出るし、雰囲気がいいです。コアは非常に素直なOSでしょう。
しかし 使っている人のブログ見ても読む人が相当システムを分かるのが前提のブログです。
これman pcfsを読んでみると
例示としてfinancial.dataとかWorkReport-January.dataとかいうファイル名が出てくる
これエンタープライズ向けだ。社会を支える基幹サーバー向けだったSolarisの子孫なのです。そう簡単には使えません。
このブログのアクセスを解析するとSunOS(Solaris系のユーザーエージェント)から見ている人はこのページあたりしか見ない。
さらにディレクトリが色々とっ散らかっていて、Linuxの方がシンプルに管理ができる。
firefoxもjavaもthunderbirdも古いバージョンだし
Openindianaでネット巡るの自分だけだ。
ううんやはりまだまだコンピューターに精通した人のOSですね。雰囲気はいいのですが。
いろいろといいところとわるいところが有ります。いいところは、すなおで、エンタープライズに使えるということ。
難しいのは、Linuxの方が管理がシンプルだということ、融通がLinuxよりさらに効かないかもということ。

英語の分かるコンピューターマニアはこういうUNIXの
管理者向けの妙な機能をいっぱい使って遊んじゃうらしい。
Opensolarisのドキュメントが整備されているのですぐに扱えるらしいです。
Solaris ZoneをつかうとOpenindianaのなかにOpenindianaを複数用意できます。仮想化の一種です。これはよく単にzoneと書かれるので注意してください。
管理権限の分担やCPU使用率の分担もセキュリティやリソース管理が細かく設定出来ます。
OpenindianaなどSolaris系で使うZFSファイルシステムはもっとも進化したファイルシステムの一つで、
巨大スケールまで対応できる上におもしろい機能がいっぱいあるらしい。
ファイルのバックアップも一瞬でとれるスナップショットでゴミ箱いらず?
重複した中身のファイルの統合やコピーONライトでデータが消えにくい、
使用中にチェックディスクできる・・・
むしろZFSで遊ぶためのOpenindianaになっているといううわさが有力!
スポンサーサイト

1 Comments

LPCTSTR  

事故発生

管理者です。
この記事に書いてある crle コマンドによる設定を間違え
LD_LIBRARY_PATHがおじゃんに!
さらにセキュリティライブラリの読み込み設定も消えて
sudo、suが効かない!
で、インストールDVDからzfsをmountして修正しようとしたら
zfs createしてしまいHDDまっさら。
しばらくLinuxに切り替えます。すみません。

2012/09/25 (Tue) 20:42 | EDIT | REPLY |   

Leave a comment

テンプレートに関するご質問・不具合のご報告の際はご自身のブログアドレス記載必須です
ご質問の前に必ずお読みください ↓
FC2テンプレート ご利用時のお願い