トップページunix
1001コメント257KB

OpenSolaris総合スレッド その2

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/03/11(水) 20:56:01
OpenSolarisプロジェクト、カーネル、派生ディストリビューション総合スレ。
SUNからリリースされる本家「Solaris」に関しては専スレでお願いします。

前スレ:【IPS】OpenSolarisを語れ!【ZFS】
http://pc11.2ch.net/test/read.cgi/unix/1212059204/

プロジェクト公式サイト ttp://opensolaris.org/

テンプレ:>>2-3
0372名無しさん@お腹いっぱい。2009/06/04(木) 18:34:11
>>370
もー支離滅裂でわけわからんな..

> /etc/passwdのシェル欄で、/bin/zshを指定する以上、
> $0 = shの状態では起動できないしな。

リンクするって前提に決まってるだろ。どんだけ..

> かと言ってwrapperかまして $0 = shにするのはいやだろ。rootなのに。

wrapperって、なに? 「rootなのに」って、どういう意味? 何が見えてるの君には??
0373名無しさん@お腹いっぱい。2009/06/04(木) 18:35:12
>>371

zshでは、
> file

で、fileの内容を消去できない。


/bin/shや bashならできる。
0374名無しさん@お腹いっぱい。2009/06/04(木) 18:38:48
>>372

>リンクするって前提に決まってるだろ。

えっと、/bin/shは置き換えないって前提の話だから、
/bin(/usr/bin/)以外のディレクトリから shと言う名前で
symlinkしなきゃいけないんだよ。

たとえば、/usr/hoge/bin/sh -> /bin/zsh なんていうリンク張って、
/usr/hoge/bin/sh が rootのログインシェルだったら汚過ぎるだろ。

ftpとかのことも考えて、/etc/shellsにも /usr/hoge/bin/sh って書くんだぞ。
0375名無しさん@お腹いっぱい。2009/06/04(木) 18:51:42
>>373
まーーったく >371とは話つながってないけど。

> で、fileの内容を消去できない。

% uname -srm; /bin/zsh --version
Darwin 8.11.1 i386
zsh 4.2.3 (powerpc-apple-darwin8.0)

% ln -s /bin/zsh /tmp/sh; /tmp/sh
$ > 0; ls -l 0
-rw-r--r-- 1 xxxx xxxx 0 Jun 4 18:44 0

>>374
> えっと、/bin/shは置き換えないって前提の話だから、
いーや、そんな前提はない。かってに作るな。
0376名無しさん@お腹いっぱい。2009/06/04(木) 18:57:33
>>375
話がつながってないのはお前。

$0 != sh での話をしてるの。


>>362
>あ、rootのシェルが bashか。/bin/shとか /sbin/shが実体 bashちう話とは
>違うのな? それならまだ許せる。

↑これからの流れなので、/bin/sh -> zsh とはしないという前提の話。
0377名無しさん@お腹いっぱい。2009/06/04(木) 19:01:19
>>376
具体的には、何が誤動作するの? #!/bin/sh と書いてあるスクリプトを
むりやり zshで動かすのか?
想定してる状況がまったく見えないけど。
0378名無しさん@お腹いっぱい。2009/06/04(木) 19:06:15
も り あ が っ て ま い り ま し た !
0379名無しさん@お腹いっぱい。2009/06/04(木) 19:09:43
>377
読んでて俺もよくわからん。特に$0がどうこうってやつは。
そもそもシェルスクリプト組んだときの$0なんて、そのシェルスクリプトを呼び出した時のが入るわけで、
shもzshもないし、スクリプトじゃない手打ちの動作なんて、それこそ使う人の好みの話だもんな。
0380名無しさん@お腹いっぱい。2009/06/04(木) 19:19:13
話混乱しまくり。
オマエら、流れ良く読んでから書け。

rootのログインシェルを /bin/zshにすると、
> file とかが動作しなくなるということを言ってるだけの話。

ここではシェルスクリプトの#!/bin/(z)shとかは関係ないので混同するな。

あと、sh -> zsh のリンクもしないという話なので、
そっちの話に引っ張ってる人も的外れ。
0381名無しさん@お腹いっぱい。2009/06/04(木) 19:22:36
>>379
suしてrootになって、「コマンドラインで」作業する時、
今までだと > log_file とかでログファイルなどの内容を消すことが
できてたのが、zshに変わると同じ操作ではできなくなるので
混乱を生じる、という話かと。
0382名無しさん@お腹いっぱい。2009/06/04(木) 19:27:49
>>379
シェルスクリプトから見た $0 のことじゃなくて、
シェル自体を起動した時の argv[0] の話。

zsh自身が、argv[0]が shかどうかによってモードを切替えるのを知らないのかな?
0383名無しさん@お腹いっぱい。2009/06/04(木) 19:48:47
>382
いや、zshが呼び出しをみて動作を変えているくらいは知っていますが、それで
影響を受けるのは結局、interactiveで操作している人の話なんだから、混乱するも
なにもshellを何に設定してるか知ってりゃ済む話。
$ >file
にしても、rootでそんな作業をするくらいの人なら、入力待ちになってるのは
見りゃわかるしなぁ。

なんか、見えない敵を勝手に仕立ててシャドーボクシングしてるように思えるな。
0384名無しさん@お腹いっぱい。2009/06/04(木) 19:56:38
なんか

Shellは宗教だと言うことがよく分かった
0385名無しさん@お腹いっぱい。2009/06/04(木) 20:01:10
ksh最強他は糞
0386名無しさん@お腹いっぱい。2009/06/04(木) 20:21:08
>>383
>何に設定してるか知ってりゃ済む話。

あーあ、全然話わかってないね。

「設定してる」んじゃなくて、
OpenSolarisとしての OSのデフォルトで、rootのログインシェルを
最初から zshにしていいかどうかという話をしてるんだよ。

だれも自分だけのローカルなマシンでrootのシェルを個人的に変更する話は
してない。
0387名無しさん@お腹いっぱい。2009/06/04(木) 20:23:25
同じことだよ。
0388名無しさん@お腹いっぱい。2009/06/04(木) 21:27:50
日本語で機種依存文字出せるようにカスタマイズできますか?
@ABCD`_など
0389名無しさん@お腹いっぱい。2009/06/04(木) 21:29:24
ソラリスすれは、こんなんばっかだな。
0390名無しさん@お腹いっぱい。2009/06/04(木) 22:27:19
>>388
2行目、「など」の左側に何か書いてありますか?
0391名無しさん@お腹いっぱい。2009/06/04(木) 22:45:07
>>390
_
0392名無しさん@お腹いっぱい。2009/06/04(木) 23:02:41
>>391 には何か書いてありますか?
0393名無しさん@お腹いっぱい。2009/06/04(木) 23:04:44
ミリ
0394名無しさん@お腹いっぱい。2009/06/04(木) 23:20:50
>>393 には何か書いてありますか?
0395名無しさん@お腹いっぱい。2009/06/04(木) 23:22:13
きちがい

いっぱい
0396名無しさん@お腹いっぱい。2009/06/04(木) 23:28:11
>>390
HTMLソースを od -x で解析してみましたが、
何かローマ数字とかその辺の文字が数文字あると言えなくもない部分が
なくもないように思われたのですが、
皆さんはどのようにお感じになられましたでしょうか。
0397名無しさん@お腹いっぱい。2009/06/04(木) 23:35:13
>396
> 皆さんはどのようにお感じになられましたでしょうか。

「粘着野郎は気持ち悪い」と、素直に思った。

0398名無しさん@お腹いっぱい。2009/06/05(金) 00:04:32
>>396の残念っぷりに苦笑を禁じ得ないwww
0399名無しさん@お腹いっぱい。2009/06/05(金) 00:07:35
タブ補完矢印でコマンド履歴さえ出来れば、なんでも良いや。
0400名無しさん@お腹いっぱい。2009/06/05(金) 00:45:53
>>396
本当のunixユーザであればHTMLソースはod -bで解析するのが正しい。
0401名無しさん@お腹いっぱい。2009/06/05(金) 03:47:34
漏れはよくhexdumpしてみるけどな。

chsh /bin/shとかexec /bin/shすれば良い話じゃないのか。
まあマイナーなzshにする理由は理解出来ないけどな。
0402名無しさん@お腹いっぱい。2009/06/05(金) 08:43:52
>>396
笑。この板でやっても誰も元ネタ知らないよ
0403名無しさん@お腹いっぱい。2009/06/05(金) 10:18:39
>>381,386
その rootさんはさ、ログインシェルを zshに設定してるのに、> file ってやって
「うぎゃー、Bourne Shellと挙動が違うーー!!」ってアタマかかえちゃうわけ?
...そんなバカは放置以外手がないですね。そんな人がいるの????

というのが >383にもう書いてあったかw
0404名無しさん@お腹いっぱい。2009/06/05(金) 10:31:52
オレ csh→tcsh→zshなクチだけど、bashは辛気くさくて使う気がしない。
当時の tcshに比べてあきらかに zshの方が便利だけど、bashの便利さは tcsh以下。
プログラムもむしろデカいし、オリジナル Bourne Shellや kshのような上品さもない。
0405名無しさん@お腹いっぱい。2009/06/05(金) 10:40:13
>>403
おまえサポートの仕事したことないだろ。
メーカーとしてのサポート上の支障の話だ。
既存の手順マニュアル等をzshに合わせ変更しなければならなくなる。
そんな無駄なコストかけてすることじゃない。
0406名無しさん@お腹いっぱい。2009/06/05(金) 10:45:59
そんなレベルの低すぎる奴が相手なら、心配しなくても他でもちゃんと大転けするから
手間は変わりゃしないよ。別にそれはログインシェルがbournne shellでもkshでもbashでも一緒。

ログインシェルが変わったくらいで躓く奴には、どのみち今のsuper userの手順書はlinuxだろうと
solarisだろうと落とし穴だらけなんだから。
0407名無しさん@お腹いっぱい。2009/06/05(金) 10:49:09
ならログインシェルがbashになったぐらいでガタガタ言うな
0408名無しさん@お腹いっぱい。2009/06/05(金) 10:53:16
かまって老人だから気にするな
0409名無しさん@お腹いっぱい。2009/06/05(金) 10:53:29
>>407
おれはログインシェルがbashには賛成なんだが。
なぜなら bashは /bin/sh上位互換だからね。 >file の動作も一緒。

問題なのは、上位互換じゃない zshに変えること。こっちだけが問題。
bashは無問題。
0410名無しさん@お腹いっぱい。2009/06/05(金) 10:54:54
>>405
サポートはやってるぜ。
そういう前提なら、最初からそう書けよ。なんで自動的にそんな前提って
思い込むわけよ? そっちこそまともなサポートできてんのかよ?
客とまともに話ができとは到底思えん。
0411名無しさん@お腹いっぱい。2009/06/05(金) 10:57:14
>>410
>>368
>サポート的にもこれはまずいので、結局zshはダメでしょう。
0412名無しさん@お腹いっぱい。2009/06/05(金) 11:04:58
bashけなされて、必死こいて食い下がってるだけかと。あわれ Linux使いww
0413名無しさん@お腹いっぱい。2009/06/05(金) 11:08:59
一般ユーザが自分の好みでshellを選ぶのは自由だが
rootのshellだけはrootの本来の仕事である管理作業のために
過去のshellとの互換性を維持しておく必要があるから
勝手に変えたりしたら管理作業が面倒になるぞということだ
0414名無しさん@お腹いっぱい。2009/06/05(金) 11:11:01
もしもの時に必要なものだから、例えばスタティックリンクにしておくとか
そういう配慮が必要なのがrootのシェル。
0415名無しさん@お腹いっぱい。2009/06/05(金) 11:12:53
rootのログインシェルなんか、ディスク障害とかあっても確実に使える可能性がたかいところに
あるものならなんでもいいよ。/sbin/shでログインスクリプトもなしでいいじゃん。
普段の作業を便利にしたけりゃ、ログインした後にbashなりzshなりを一行打ち込むだけだもんな。

それ以外ってのなら、なんでも一緒。bashならOKでzshならダメなんて、その両者に
言うほど差があるとは思えん。まさに古典的な意味での五十歩百歩だな。
0416名無しさん@お腹いっぱい。2009/06/05(金) 11:16:16
bashも $0見てるんだが.. オメデタイつーかなんつーか。
0417名無しさん@お腹いっぱい。2009/06/05(金) 11:28:59
>>416
bashは $0 が shでもbashでも sh上位互換であることに変わりない。
($0 = shだと一部のbash拡張が使えなくなるだけで、今の議論には関係なし)

zshは、$0 が shでないと、shの上位互換にならないことが問題。
0418名無しさん@お腹いっぱい。2009/06/05(金) 11:38:43
へぇ。じゃ、なんで $0見てんの? 意味ないじゃん。 ...ほんとにオメデタイんだな..
0419名無しさん@お腹いっぱい。2009/06/05(金) 11:44:06
サポートって「explorerくれ」で終わりじゃね?
0420名無しさん@お腹いっぱい。2009/06/05(金) 11:56:35
>417
bashがリンクをスタティックにするか、ライブラリを全て/sbinの下に置くような変更をするってのなら
別にそれでもいいよ。
互換性どうのってのは、それに比べりゃ、ログインして最初にbashと打ち込む手間をどうするかって
だけで殆どどうでもいい話。
0421名無しさん@お腹いっぱい。2009/06/05(金) 12:45:46
/sbin/shがスタティックリンクで助かったことってあるか?
正直どうでもいい
/bin/tcshでもいい
0422名無しさん@お腹いっぱい。2009/06/05(金) 12:58:52
>>420
Solaris10以降、スタティックリンク自体が廃止されました。

/sbin/sh ですら、今ではダイナミックリンクです。

libc.a が存在しないので、スタティックリンクのバイナリはもはや作成できません。
0423名無しさん@お腹いっぱい。2009/06/05(金) 13:10:59
>>418
知らないなら man bashくらいしろ。

>>417 自身も「$0 = shだと一部のbash拡張が使えなくなる」って書いてるのに、
読み落して「なんで $0見てんの?」ってレスして無知晒すなよ。
0424名無しさん@お腹いっぱい。2009/06/05(金) 13:16:04
>>423
..何エキサイトしてんの? もちろん知ってて書いてるよ。
マニュアルに $0なんて書いてあるか? ソース見たんだけどな。

まじ、アホ? なんのために拡張機能無効にする必要があるんだよ?
拡張機能すなわち非互換だろうが。
0425名無しさん@お腹いっぱい。2009/06/05(金) 13:23:04
>>424
bashの場合、$0 = bash で機能拡張されたとしても、
従来使えた機能が使えなくなったり変更されたりすることはない。
($0 = bash でも、非互換ではない)

zshの場合、$0 = zsh では、機能拡張の際に、
従来使えた機能が使えなくなるような変更を伴う。ここが問題。
0426名無しさん@お腹いっぱい。2009/06/05(金) 13:24:56
>425
> zshの場合、$0 = zsh では、機能拡張の際に、
> 従来使えた機能が使えなくなるような変更を伴う。ここが問題。

問題って、具体的には?
今まで出てきたのは、せいぜいが
>a
でCtrl+Dを押さないといけない以上のものは出てきていないんだけど。
0427名無しさん@お腹いっぱい。2009/06/05(金) 13:25:11
bashありがたがって使ってる連中ってやっぱこの程度なんだな。
Unixとは畑違いから来てるんじゃないか? ノリが違いすぎ。
0428名無しさん@お腹いっぱい。2009/06/05(金) 13:25:46
>>420
あの、Solarisでは、/bin/sh -> /sbin/sh ってリンクされてるの知ってますか?
で、ldd /sbin/sh ってやると、いろんなライブラリが動的リンクされてるのが
表示されるの知ってますか?

/sbin/shが静的リンクだったのはかなり昔の話。
0429名無しさん@お腹いっぱい。2009/06/05(金) 13:26:42
>>425
はいはい、こじつけご苦労さん。サポートがんばってね。
0430名無しさん@お腹いっぱい。2009/06/05(金) 13:26:57
>>426
反例は1つ挙げれば証明として十分。
0431名無しさん@お腹いっぱい。2009/06/05(金) 13:32:54
>>426
stty で erase や kill を変更できない。とか
0432名無しさん@お腹いっぱい。2009/06/05(金) 13:34:28
Solarisの/bin/shは昔からいろいろ問題あったんで、bashにしたのは
それほど悪くは無いと思う。
今なら他の選択肢もあるのだろうが。
0433名無しさん@お腹いっぱい。2009/06/05(金) 13:35:43
>431
むしろ障害時のroot作業ではそんなものいじらない素のままの方が余計なことを
考えないで済む分ありがたい。
最近のrootは違うのかな。
0434名無しさん@お腹いっぱい。2009/06/05(金) 13:36:42
>>428
/sbin/shがスタティックリンクされてる頃は /lib/はなかっただろ?
ダイナミックリンクされるようになって /lib/ができた。
違いわかるか? 昔はダイナミックリンクすると /usr/lib/下のライブラリーが
必要になった。
/usrがマウントできなくなった時にシェル使えないと困るよね?
で、現在はどう?
0435名無しさん@お腹いっぱい。2009/06/05(金) 13:38:07
>>431 が挙げた sttyの件は、たとえ $0 = sh でも sttyが無効になっちゃうね。
こりゃ zshダメだ。
0436名無しさん@お腹いっぱい。2009/06/05(金) 13:38:15
>>432
アホぬかせ。オリジナルの Bourne Shellがルールブックだ。
問題は腐った代用品の方。
0437名無しさん@お腹いっぱい。2009/06/05(金) 13:39:33
で、SolarisにはオリジナルのBourne Shellが入っていたのか?
0438名無しさん@お腹いっぱい。2009/06/05(金) 13:53:56
>>437
めんどくせー

ttp://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sh/main.c

27 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
28 /* All Rights Reserved */

31 /*
32 * UNIX shell
33 */
0439名無しさん@お腹いっぱい。2009/06/05(金) 14:44:32
>>432
Solaris の shell のバグとか謎仕様とかには泣かされたなぁ
0440名無しさん@お腹いっぱい。2009/06/05(金) 14:47:49
>>439
kwsk
0441名無しさん@お腹いっぱい。2009/06/05(金) 14:52:42
溜めるなぁ。よっぽど面白い話が始まるんだろうなぁ、きっと。
0442名無しさん@お腹いっぱい。2009/06/05(金) 14:57:47
ただの涙目 FUDだろ。
0443名無しさん@お腹いっぱい。2009/06/05(金) 14:58:19
>>440
exit は結構致命的だった
0444名無しさん@お腹いっぱい。2009/06/05(金) 14:59:39
>>443
mottokwsk
0445名無しさん@お腹いっぱい。2009/06/05(金) 15:05:12
SVRxのシェルもthe Bourne shellそのものからは変更されているのでオリジナルの
Bourne shellとは呼べないな。
で、solarisのシェルもSVR4 shellそのものってわけでもなくそこから更に変更されているので
どのみちオリジナルとは言い難い。
0446名無しさん@お腹いっぱい。2009/06/05(金) 15:06:34
>>443
パイプにつながったwhileループの中でexitしてもシェルをexitしないという話か?
0447名無しさん@お腹いっぱい。2009/06/05(金) 15:08:54
>>443
bsh(kshも)はexit の引数の終了状態で終了するけど
これを無視しちゃうバグ(仕様?)があった
0448名無しさん@お腹いっぱい。2009/06/05(金) 15:10:47
>>447
それいつの話?

SunOSの/bin/shでもそんなバグ残ってないよ。
0449名無しさん@お腹いっぱい。2009/06/05(金) 15:23:04
>>448
2000年頃に script 書いてて頭抱えたことがある
0450名無しさん@お腹いっぱい。2009/06/05(金) 15:24:17
>>445
うわ。正気ですか。じゃあ、どれがオリジナル? Bourneが書いた後
一切手の入ってないやつね。

なんの話がしたいん? なんぼほどメデタイんじゃおのれは。
0451名無しさん@お腹いっぱい。2009/06/05(金) 15:25:18
どんどん bash使ってる人間の評価が低下していきますねwww
0452名無しさん@お腹いっぱい。2009/06/05(金) 15:26:59
>>449
問題になる具体例書いてよ。

exit 123 はちゃんと 123のコードで終了するよ。(確認済み)
0453名無しさん@お腹いっぱい。2009/06/05(金) 15:27:34
>>452
いつ確認したんだ?
0454名無しさん@お腹いっぱい。2009/06/05(金) 15:27:40
>>450
発狂しなくてもいいのにw
0455名無しさん@お腹いっぱい。2009/06/05(金) 15:30:04
>>451
キミ、話あってないよ。
今、/bin/sh の exit にはバグがある(あった)けど、
bashでは修正されてる、という話をしてるんだけど。
0456名無しさん@お腹いっぱい。2009/06/05(金) 15:30:06
オリジナルの定義を自分の都合のいいよう有耶無耶にしておきたいバカは
発狂して誤魔化すしか手がないんだろ
0457名無しさん@お腹いっぱい。2009/06/05(金) 15:31:29
>>453
今確認した。
2000年よりも確実に前のバージョンであるSunOS上で。
0458名無しさん@お腹いっぱい。2009/06/05(金) 15:33:16
>>447 は具体例を書くこと。でないと誰も信用しない。
0459名無しさん@お腹いっぱい。2009/06/05(金) 15:35:08
じゃあ結局>>443,447って何なんだ
0460名無しさん@お腹いっぱい。2009/06/05(金) 15:36:39
>>447
exitの引数が「常に」無視されるってわけじゃなく、
「特定の条件下で」exitの引数が無視されるって言いたいんだよね?
その特定の条件教えて
0461名無しさん@お腹いっぱい。2009/06/05(金) 15:38:08
ここに結構いろいろ書いてある。

Autoconf: 移植性のあるシェルプログラミング
ttp://www.bookshelf.jp/texi/autoconf-ja/autoconf-ja_10.html

exitの件は、Solaris 8の shが引数を無視する、と書いてあるね。
ただ、bashが shと互換性が高いのでそのまま代用になる、なんて書いてないね。
むしろ逆。
まともにいくつかシェル使った経験があれば当然の評価かと。
むしろ、実装はダメな方だろww
0462名無しさん@お腹いっぱい。2009/06/05(金) 15:45:09
>>449
exit 1
の代わりに、

false
exit
と書けば良い。

頭抱えるほどのことではない。

どうせ、すぐにpatchで修正された件なんだろな。
0463名無しさん@お腹いっぱい。2009/06/05(金) 15:46:47
の代わりに…とすればよい、で済むのならこのスレの話要らなくね?
0464名無しさん@お腹いっぱい。2009/06/05(金) 15:47:17
false; exitワロスwwwwwwww
0465名無しさん@お腹いっぱい。2009/06/05(金) 15:57:15
>>449 の「頭抱えた」が、「解決方法がなかった」に聞こえたから、
>>462 がそれに反応したんだろう

いずれにしても Solaris8のごく短期間のpatchレベルにおける過渡現象だろう。
0466名無しさん@お腹いっぱい。2009/06/05(金) 15:59:13
>>449
パッチ番号わかったら教えて
(当然ながら、今のSolaris8では再現しないので)
0467名無しさん@お腹いっぱい。2009/06/05(金) 16:23:20
>>438
忘れ物だ。

     22 /*
     23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
     24 * Use is subject to license terms.
     25 */

知らないようだから一つ言葉を教えてあげよう。派生物。は・せ・い・ぶ・つ。
0468名無しさん@お腹いっぱい。2009/06/05(金) 16:31:28
さすがわ宗教
0469名無しさん@お腹いっぱい。2009/06/05(金) 17:33:46
>>467
おまえ、バカだろ、正味。オリジナルはどれを指すのか、と聞いてるんだ。
もちろんこの文脈で、だ。
Unix V7の 16bitのやつだけ、っていうんなら bashも全く非互換だろうが。
bashの評判ボロボロにしたくてやってんのか? あ?
0470名無しさん@お腹いっぱい。2009/06/05(金) 17:41:41
今度の OpenSolaris 2009.06 は、インストーラがエラーを出してSC420/430/440に入らなかった。 2008.11 は大丈夫だったのになぁ、残念。
0471名無しさん@お腹いっぱい。2009/06/05(金) 17:54:57
>>470
つb115
ttp://www.opensolaris.org/os/downloads/
■ このスレッドは過去ログ倉庫に格納されています