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

Solaris教えてスレッド 其の23

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2006/05/09(火) 23:30:07
Sun MicrosystemsのSolarisについての質問スレッドです。
過去に同じような質問が出ていないか確かめてから書き込みましょう。

  ・使用機種/OS Ver/何をしたか は、書きましょう。
  ・質問者は問題が解決したら、どのように解決したか報告しましょう。
  ・回答者は、自分も質問者になることを忘れぬように。
  ・荒らしは、スルーで。

また、質問する前にまずはdocs.sun.comのマニュアルを読みましょう。
「System Administrator Collection - Japanese」の「Solarisのシステム管理」
各種は必読です。 http://docs.sun.com/app/docs/prod/solaris?l=ja

X86版固有の話題/インストールの質問は専用スレがあるのでそちらで。
なんとなくSolaris/x86 part8
http://pc8.2ch.net/test/read.cgi/unix/1146062872/

前スレ
http://pc8.2ch.net/test/read.cgi/unix/1139155618/
0118しろうと2006/05/27(土) 15:04:05
>>116
その hoge.com が共用サーバで自分以外のユーザがいるかもしれない
ということを考えると危険だしょ。


0119名無しさん@お腹いっぱい。2006/05/27(土) 16:55:57
現在使用しているプロバイダーではドメイン取得は出来ないという事
だったので、別のドメイン取得サービス会社でドメイン名を取得しました。
先ほどDNSを正常稼動させて、マスターとして利用したいのですが、
「domainname」コマンドを叩いてもドメイン名が表示されません。
これは、ドメイン設定が上手く行っていないということでしょうか?
また、resolv.confファイルは必要でしょうか?
因みに、Blade100でSolaris9(9/04)を使用しています。
よろしくお願いします。
0120名無しさん@お腹いっぱい。2006/05/27(土) 17:04:17
>>119
domainname は NIS/NIS+ のドメインを扱うもので DNS のドメインとは別。
DNS の設定は↓でも見て。
http://docs.sun.com/app/docs/doc/817-4911/6mkdf6jgk?a=view
0121名無しさん@お腹いっぱい。2006/05/29(月) 01:52:03
>>117
いやー、起動したdttermのシェルにDISPLAY環境変数が通ってないとか・・・
というのもあるかなと。

# dtterm内でsu [enter]でスーパーユーザになったりとか

>>118
その場合は危険デスナ
まーでもこのケースだとメンテ目的でPCからXでつなぐ程度だからよかろうかと・・・
F通から買った場合はPC-XてーのでXへ入るだけなんですぅ、とか。
0122名無しさん@お腹いっぱい。2006/05/29(月) 22:11:12
すみません。ちょっと困ってます。

大学でSolarisを使っているのですが、
使っていたUltra60がHDD障害で壊れてしまいコレを機にUltara45を新規購入しました。

前の環境で使っていた特殊なソフトがあったのですが、
CDごと誰かが破棄しまったようで、メディア、メーカの連絡先、シリアルNoすらなくなってしまいました。

Ultra60時代のフルバックアップがあったので、
そちらからソフトのディレクトリを抽出して新マシンへコピーしたところ、
どうも動きそうな感じです。
が、ライセンス不正と言われ先に進めなくなっています。

インストールするときにhostidコマンドの結果と、ソフトウェア添付のシリアルNoから、
ライセンスを発行して貰ったようなのですが肝心のシリアルNoがわかりません。

旧マシンはokプロンプトまでは上がってくるのでホストIDは確認できるため
新マシンのhostidを書き換えてしまいたいのですが可能でしょうか?

ご存知の方がいらっしゃいましたらお知恵を拝借できれば幸いです。
0123名無しさん@お腹いっぱい。2006/05/29(月) 23:27:48
hostidは書き換えられない

違うハードで交換も多分無理。

ところで、V240の増設CPUって売ってないの?
0124名無しさん@お腹いっぱい。2006/05/29(月) 23:28:47
ハードディスクを入手してUltra60のディスクを交換したほうが早そう

hostidを誤魔化す方法をいくつか思いついたけど、もしも誤魔化したら
ソフトウェアのライセンス条件違反になるから、不味いんじゃない?
0125名無しさん@お腹いっぱい。2006/05/29(月) 23:30:20
SCC使ってる機種だったらよかったのにね。
0126名無しさん@お腹いっぱい。2006/05/29(月) 23:33:08
Ultra45をサーバにして ultra60をディスクレスクライアントとしてブートしたら
ultra60で問題のアプリケーションが使えてウマー かも
0127名無しさん@お腹いっぱい。2006/05/30(火) 13:12:52
>>126
あうあう(^ω^;)
0128名無しさん@お腹いっぱい。2006/05/30(火) 13:41:40
なんじゃその反応は??
127 が 122 ならただのでっち上げの不正使用願望だろうから放置しようぜ。
0129名無しさん@お腹いっぱい。2006/05/30(火) 14:22:06
Ultra60用に確保したライセンスを破棄して、新たに
Ultra45用に払い出してもらうように手続きすりゃいいんじゃない?

インストール先が1台であることが変わらないなら、基本的に
それでいけると思うんだが。
前にSolstcieBackupでライセンス証書の発行しなおしをしてもらったことがあったんで。

機種とソフトウェアによっては無理かも?

営業に相談するのが吉だと思うがどうよ。
0130名無しさん@お腹いっぱい。2006/05/30(火) 14:46:53
>>129
>>122
> CDごと誰かが破棄しまったようで、メディア、メーカの連絡先、シリアルNoすらなくなってしまいました。

インチキ以外に方法がないのでインチキのしかたを教えて下さい、と言っている。
01311272006/05/30(火) 15:42:43
>>128
俺は122じゃないが、126ので一体何が解決するんだよ?
0132名無しさん@お腹いっぱい。2006/05/30(火) 16:00:38
オレは 126 じゃないが、ライセンスは Ultra60 で取ってあって Ultra60 上で
稼働するんだから、万事解決だろうが。意味わかんねーのか?
0133名無しさん@お腹いっぱい。2006/05/30(火) 18:08:57
Solaris10を落とそうとSunのサイト行ったんだけど、
MySunにログインした状態でSolaris10 1/06 にチェックして
GetDownloadを押してもしばらくしたらLoginFaildってなっちまう。
むかーしはこうやって落としたような気がするんだけど勘違い?
どうすれば落とせますか。
0134名無しさん@お腹いっぱい。2006/05/30(火) 23:09:40
http://www.sun.com/software/solaris/get.jsp
ここでSolarisを選択して下のほうのオレンジ色のボタンを押して
次のページでログインして
その次のページの上のほうにあるアーキテクチャとメディアタイプを選択して
Acceptを押したらDL出来るはず
0135名無しさん@お腹いっぱい。2006/05/30(火) 23:13:29
>>126はクレバーな解決策だと思う
秘密のソフト名を晒せば代理店ぐらい分かると思うケド
彼氏はその気もないようだし
普通大学ならどこから買ったかは記録を漁れば出てくるよ
うまくdisklessできないならUltra60用にHDDを買うこっちゃな
0136名無しさん@お腹いっぱい。2006/05/31(水) 00:17:02
>134
実はそのページから同じようにやってるんだけどダメなんです。
MySunにアカウントもあるし普通にMySunにはログインできるのに。
何度やってもLoginFaildって出ちゃう。
クッキー消してもブラウザキャッシュ消しても同じでわけわかめ。
0137名無しさん@お腹いっぱい。2006/05/31(水) 00:25:31
んじゃー、MySunにログインしてそのまま
Sun Downloads
Solaris Operating Systems
Solaris 10 Operating System
以下同じだとどうなる?
0138名無しさん@お腹いっぱい。2006/05/31(水) 00:36:37
MySunにログインした状態からでもダメでした。

で、LoginFaildってメッセージが出る下にこんな一文があった。
(長いんで勝手に改行してます)

We have uncovered a potential problem with your account.
Your request cannot be completed without manual review and
we will email you shortly with more information.
We apologize for the inconvenience.
If you have questions before then, please feel free to contact us at cwp-exp-alert@sun.com.


アカウント情報がおかしいからちょっとまて、後でメールするからね、ってこと?
0139名無しさん@お腹いっぱい。2006/05/31(水) 06:00:32
>>138
そうみたいね
OSイメージ欲しいときにコレだと頭来ちゃうねw

むーん、しかしこんな時間に起きちまった
朝メシは外で喰うか〜
0140名無しさん@お腹いっぱい。2006/05/31(水) 06:33:14
どうせアカウント登録は無料だし、すぐほしければフリーメールでも使って新アカ取るとか。
0141名無しさん@お腹いっぱい。2006/05/31(水) 08:32:05
サンマイクロシステムって経営的にどうなの?
タダで配ってもうかるの?
それともソリューションで儲けてるの?
0142名無しさん@お腹いっぱい。2006/05/31(水) 09:02:56
>>141
そういう話題は専用スレに
「Sun Microsystems 最大の重複」
http://pc8.2ch.net/test/read.cgi/unix/1141840635/l50
0143名無しさん@お腹いっぱい。2006/05/31(水) 11:46:48
>>141
昔から OS じゃあんまり金取ってないよ。ほとんどが AT&T への上納分だったはず。
0144名無しさん@お腹いっぱい。2006/05/31(水) 13:43:14
>139
ほんとにSunからメールが来てたので、下手な英語で
どうやったら落とせるのか教えんかいって出してみた。

>140
時間はあるのでのんびり待ってみます
0145名無しさん@お腹いっぱい。2006/05/31(水) 14:29:35
別にフリーメールアドレスとらなくても、
同じメールアドレスででも別アカウント名でユーザー登録すれば
ログインできるようになるよ。
0146名無しさん@お腹いっぱい。2006/05/31(水) 21:08:30
Ultara45 って Ultara60 の下位機種だろ?
0147名無しさん@お腹いっぱい。2006/05/31(水) 21:18:04
そのネタ秋田。
0148682006/06/01(木) 20:26:12
上の方で同じような質問しましたがよく理解できないのでもう一度教えてください。

LINUXマシンからXDMCP Chooserを使って一般ユーザーでSolaris10マシンにログインします。
右クリックで「端末エミュレータ(gnome-terminal)を開く」でターミナルを起動します。
そのターミナル内で以下のコマンドを叩くと問題なく別のターミナルが起動できます。

$gnome-terminal &

でも「su -」したあとスーパーユーザーになって上記コマンドすると以下のエラーになります。
(gnome-terminal:2589):Gtk-WARNING **: cannot open display:

原因は>>121さんが答えてるものだと思うのですがいまいち理解できません。
このサイト読んで出直して来い適な回答でもいいのでアドバイスお願いします。
0149名無しさん@お腹いっぱい。2006/06/01(木) 21:08:59
プロセスの権限と、display の持ち主と、アクセス許可とを理解すれば良い。
0150名無しさん@お腹いっぱい。2006/06/01(木) 23:01:31
>>148
Xのややこしい概念はともかくとして
・DISPLAY環境変数の意味
・suコマンドを実行したときの環境変数の設定のされかた
について見識を新たにしたほうがいいと思う。

それからじゃないと
「このサイト読んで出直して来い」と誘導するのも難しい
という側面もあるのですよ・・・

# su - [enter]の前後でDISPLAY環境変数が消えたのが
# 99.99996%原因と想定されるんですけどね…
0151名無しさん@お腹いっぱい。2006/06/01(木) 23:10:13
まあ、原因は「su -」すると、rootで新規loginしたのと同様に
DISPLAYを含む環境変数が未設定状態に戻るのが原因だけど、
そもそも「su -」した状態でgnome-terminalに限らず、
dttermでもxtermでも同じだが、端末エミュレータを起動するべきではない。
面倒でも、一般ユーザで端末エミュレータを起動してから
個々にsu -すること。端末エミュレータ自体にはroot権限は必要ないのだから。
0152名無しさん@お腹いっぱい。2006/06/02(金) 00:17:11
そうかなぁ。tty がらみで su だと面倒なこともあるけど。べつに端末エミュレーターを
root でつかうこと自体が危ないことなわけじゃなし。xauth add すりゃいいじゃん。
0153682006/06/02(金) 00:28:03
>>149-151
正直まだよくわからないのですが
XDMCP経由にて一般ユーザーでログインして端末エミュレータ上でecho $DISPLAYしたら
192.168.1.9:0.0と表示されましたがsu -した後だと何も表示されませんでしたのでこれが
直接の原因でいいみたいですね?

当初の目的/usr/sadm/admin/bin/dhcpmgrを起動させるには、XDMCP接続の際rootで
ログインすれば起動できることがわかりましたが>>151さんのレスみるとセキュリティ上よくないみ
たいなので根本的な解決にはなってないですね。。
su -した後に export DISPLAY=192.168.1.9:0.0すれば起動できるかと思いましたが、起動
できませんでした。
今混乱してるので少し頭整理してから試行錯誤してみます。

ありがとうございました。
0154名無しさん@お腹いっぱい。2006/06/02(金) 00:55:51
お前がどこかの宅配屋だとする。
DISPLAY を指定する=マンションを指定する。
入口に鍵がかかってると配達できない。
鍵を開ける=xhost +する。
0155名無しさん@お腹いっぱい。2006/06/02(金) 01:02:02
だから、xauth add だろ普通。xhost + じゃ鍵じゃなくて全開だ。
0156名無しさん@お腹いっぱい。2006/06/02(金) 05:59:02
>>153
あなたの書いていることから類推するにこの模様。
----
[DAY 1]
「/usr/sadm/admin/bin/dhcpmgrのウィンドウを表示したいけど
 DISPLAY環境変数が設定されてないから X わかんなぁい (>_<)」

⇒export DISPLAY=192.168.1.9:0.0を設定することによって X わかった。
 が、次なる悲劇が>>153を襲う

「You, 192.168.1.9 なんてトコは危なくてウィンドウ表示データ送らないYo !」

⇒xhost コマンド or xauth コマンドで
 「192.168.1.9 は危なくないホスト」と X に教えてあげないと
 送れませんヨ――ッ
----
[DAY 2]
rootユーザでXloginすると動いた

⇒XDMCPでのログイン認証がOKだったら
 それらが不要になるように
 XDMがターミナルのログイン環境つくっちゃうので
 /usr/sadm/admin/bin/dhcpmgr を実行するとアッサリ動いちゃう
----
とりあえずこんなところを見てみるのを推奨。
ttp://www.stackasterisk.jp/tech/engineer/xwindow01_01.jsp
ttp://www.linux.or.jp/JF/JFdocs/XDM-Xterm/index.html
※SolarisなのでXDMというよりはdtloginですな
0157名無しさん@お腹いっぱい。2006/06/02(金) 11:40:32
>>156
> 「You, 192.168.1.9 なんてトコは危なくてウィンドウ表示データ送らないYo !」

逆だろ。192.168.1.9 の X サーバーが X アプリに対して
「危ないから表示してあげない」と言ってる。

なんか、アドバイスしてる方に X のリクツわかってないやつ多いような.. 気のせい?

xhost や xauth が守るのは X サーバー側(ディスプレイ付いてる方ね)のシステムよ?
0158名無しさん@お腹いっぱい。2006/06/02(金) 23:04:10
初めまして、アカウントの移行について聞きたいです。
SunOS 5.8の既存アカウントをSunOS 5.10に移したいですが、/etc/passwdと/etc/shadowのそのまま新しいマシンにコピーすればいいですか?
0159名無しさん@お腹いっぱい。2006/06/02(金) 23:14:33
>>158
俺だったら、一旦pwunconvしてから、システムアカウント以外の
自分の組織内で登録したアカウントだけを抜き出して、
それを新しいOSの/etc/passwdにマージして、
最後にpwconvする。あと、passwdだけじゃなく/etc/groupも移行が必要。
0160名無しさん@お腹いっぱい。2006/06/02(金) 23:20:27
>>159
ご回答ありがとう
コピーのままだめなのだ
もっと簡単な方法ないのか?
0161名無しさん@お腹いっぱい。2006/06/02(金) 23:37:44
159 は十分簡単だと思うが。GUI とかか?
0162名無しさん@お腹いっぱい。2006/06/02(金) 23:38:59
すまん
初心システム管理ですので、
pwunconvってなに?
0163名無しさん@お腹いっぱい。2006/06/03(土) 01:56:18
WikipediaのUNIXの項(http://ja.wikipedia.org/wiki/UNIX)

> Sun Microsystems, Inc. のOS。SPARC用で無償で提供されているのは最新版の
> Soralis 10 のみであり、それ以前のものは有料である。x86用は以前から無償
> 版も存在した。

って事実誤認じゃね?
Solaris9最終版(9/05)は ttp://www.sun.com/software/solaris/9/
Solaris8最終版(2/04 for SPARC, 2/02 for x86)は ttp://www.sun.com/software/solaris/8/
からそれぞれ無償でダウンロードできる。(それ以前のものはそもそも入手自体できない)

「最新版のSolaris10、またその前のリリースであるSolaris9およびSolaris8についても
SPARC版/x86版ともに無償でダウンロードできる
(x86版Solaris9は以前は有償で配布されていたこともある)。
ただし、搭載プロセッサ数や用途による利用制限がある。」
あたりに訂正すればいい?
0164名無しさん@お腹いっぱい。2006/06/03(土) 08:27:44
scriptコマンドの出力をWindowsに持ってきたときに、
きれいに表示させる方法ってないですか?
多分sttyあたりが関係しているとは思うんだけど。
0165名無しさん@お腹いっぱい。2006/06/03(土) 22:19:06
http://lists.blastwave.org/pipermail/users/2005-June/003557.html

これと同じ症状になったのですが、結局回避方法ってないのですか?
0166名無しさん@お腹いっぱい。2006/06/03(土) 22:57:27
OSは何? Solaris10ではまったく問題なく実行できる。
パッケージ管理コマンドのパッチがあたってないんじゃない?
0167名無しさん@お腹いっぱい。2006/06/03(土) 23:04:21
>>164
WindowsをアンインストールしてSolarisをインストールし、
そこでtypescriptファイルを見る。


つ env TERM=dumb script
0168名無しさん@お腹いっぱい。2006/06/03(土) 23:15:42
>>162
少なくともSolaris10ではシャドウパスワードが強制されているため、
pwunconvコマンドは存在しない。
0169名無しさん@お腹いっぱい。2006/06/03(土) 23:18:05
>>163
うわ、ホントだ!
URL紹介dクス!


訂正についてはそんな感じでいいと思うよ。
ついでに、紹介してくれたURLを関連リンクとして2つとも貼っちゃっていいかも。
0170名無しさん@お腹いっぱい。2006/06/03(土) 23:32:14
>>168
NIS使う時はshadowが使えないから、NISが今でも使われてる以上、
shadow強制ということはないだろう。pwunconvコマンドが無いだけで。
0171名無しさん@お腹いっぱい。2006/06/04(日) 00:16:53
>>170
????????????
0172名無しさん@お腹いっぱい。2006/06/04(日) 02:05:57
>>170
4.1.xか?
0173名無しさん@お腹いっぱい。2006/06/04(日) 12:09:00
ずいぶん前だけどSunからTシャツプレゼントのメールが来たので
それに応募したけどいっこうに届かない人いる?
0174名無しさん@お腹いっぱい。2006/06/04(日) 12:09:41
それより、ypcatで読めてしまうshadowに意味があるのか?と。
NISサーバーでrootになれなくても、LAN内のクライアントのrootは
誰でもなれて当然だから、root特権ポートなんて意味ないし。
0175名無しさん@お腹いっぱい。2006/06/04(日) 12:49:00
>>174
それを、20年位前に言うと役に立ったかもしれんな。
0176名無しさん@お腹いっぱい。2006/06/04(日) 13:00:06
そんな昔だと、NISそのものがなかったかもしれないのかw

>>170
pwconvの話してるんだから、nsswitch.confで言うところのfilesリポジトリの話なんだよ。
それともNISのデータベースにpwconvするとでも?
0177名無しさん@お腹いっぱい。2006/06/04(日) 13:24:22
NISのMakefile見ると、わざわざshadowをpasswdに再マージしなおして
データベース作ってるな。設計ポリシーの辻褄が合ってない。
0178名無しさん@お腹いっぱい。2006/06/04(日) 13:47:37
ypcatってダサイ名前だよね。
好きじゃないな僕は…
0179名無しさん@お腹いっぱい。2006/06/04(日) 18:54:53
では>>178さんにハイセンスな名前を提案していただきましょう!


と脊髄反射させたいんだろ?
別にどうでもいいよ、もうNISなんて使ってないし。
0180名無しさん@お腹いっぱい。2006/06/04(日) 23:28:26
NIS, ypcat... 大昔の後方互換性取るためのもんにそんなに文句つけたって
笑われるだけだぞ。
NIS は 20 年前にはもうあると思うよ。1980 年代中盤のはず。
0181名無しさん@お腹いっぱい。2006/06/04(日) 23:43:56
そういえばNeXTにも実装されていましたねえ。
何のためにあるのか、不思議でした。

Sunはやっぱり偉大ですかね?
0182名無しさん@お腹いっぱい。2006/06/04(日) 23:53:37
Network is The Computer は偉大です。
マーケティングはどうだかわかんねーけどな。。。
0183名無しさん@お腹いっぱい。2006/06/05(月) 00:12:56
>>181
NetInfo って、Sun で NIS やった連中が作ったんだよ。Sun では NIS+ だったけど。
これさえもう 15 年くらい昔の話。
0184名無しさん@お腹いっぱい。2006/06/05(月) 00:23:17
Solarisの最大I/Oサイズってどうやって調べるん?
0185名無しさん@お腹いっぱい。2006/06/05(月) 00:46:39
>>183
おぉ、そうだったんですか・・・。
懐かしい。よく使いました。

NIDUMP(8) UNIX Programmer's Manual NIDUMP(8)

NAME
nidump - extract text or UNIX-format data from NetInfo

SYNOPSIS
nidump [ -t ] { -r directory | format } domain

DESCRIPTION
nidump reads the specified NetInfo domain and dumps a por-
tion of its contents to standard output. When a UNIX
administration file format is specified, nidump provides
output using the syntax of the corresponding UNIX flat file.
The allowed values for format are aliases, bootparams,
bootptab, exports, fstab, group, hosts, networks, passwd,
printcap, protocols, rpc, and services.

If the -r option is used, the first argument is interpreted
as a NetInfo directory path, and its contents are dumped in
a generic NetInfo format.

<中略>

Printed 4/29/2000 December 22, 1992 2
0186名無しさん@お腹いっぱい。2006/06/05(月) 10:44:21
現役だよ〜ん。

% uname -srm
Darwin 7.9.0 Power Macintosh

% man nidump

NIDUMP(8) NIDUMP(8)

NAME
nidump - extract text or flat-file-format data from NetInfo

:

Apple Computer, Inc. December 22, 1992 NIDUMP(8)
0187名無しさん@お腹いっぱい。2006/06/05(月) 10:51:43
>>168
pwunconv って、比較的簡単なテキスト操作だけなんじゃないの? 簡単に
持ってこれるのでは? つーか、スクリプトじゃないのか?
perl か awk で簡単に書けそうだけど。
0188名無しさん@お腹いっぱい。2006/06/05(月) 22:02:25
こんなの。あとは awk で要るとこだけつなげばいい。
#! /bin/ksh
f1=/etc/passwd
f2=/etc/shadow

cat $f1 | while read l; do
u=${l%%:*}
l=${l}:`egrep ^$u $f2`
echo $l
done
0189名無しさん@お腹いっぱい。2006/06/05(月) 22:05:35
あ、^$u は ^"$u": の方がいいね。
0190名無しさん@お腹いっぱい。2006/06/05(月) 22:55:15
>>188
お約束のツッコミでcatが無駄だし、このスクリプトだけで処理が終ってない。
あと、クォートに細かいアラがあるし、ちゃん書けば ksh文法に依存しなくても
shの範囲でも書ける。ということでツッコミポイントが多いが、
スクリプトスレじゃないので、どうでもいいや。
0191名無しさん@お腹いっぱい。2006/06/05(月) 23:31:41
ああ、全部趣味の問題だと思うけど。リダイレクト使わずに cat 書くのは
書き換える時に先頭いじれば済むかどうかというメンテナンス上の理由だけどね。
f1 に複数のファイルをつっこむという改造も。
「プロセスを湯水のように使えるといいと思ったわけです」よ、ケンはねw。
それから、${name%%pattern} は本家 Bourne Shell じゃ書けないと思ったから
ksh にしたんだけど。どう書くのかな?
クォートについては、それこそ状況(と趣味)によっていろいろ変えるもんだと思うけど。
スクリプトスレは見てないので知らないけど、>>190 みたいな教条主義が
大手を振ってるんなら存在意義に疑問ありだねw #アオリすぎかw?
0192名無しさん@お腹いっぱい。2006/06/05(月) 23:35:48
ああ、もうひとつ。「このスクリプトだけで処理が終わってない」なんてのは、
>>188 を書いた意図を汲めてない、ってこと以外に意味はないね。
なんで「処理が終わってる」必要なんかあるわけ? 相手がバカでそのまま実行することを
想定すべきとでも?
# まあ、そのまま実行される状況も想定してるけど。だから stdout へ出してる。
0193名無しさん@お腹いっぱい。2006/06/06(火) 08:04:54
そんなことはどうでもいい。
>>188を実行中に誰かがpasswdコマンドを実行しても安全かどうかを教えてくれ。
0194名無しさん@お腹いっぱい。2006/06/06(火) 08:45:17
>>188
l=${l}:`egrep ^$u $f2`

↑の行で、passwdの行の右側にshadowの該当行をくっつけてるけど、
こんなことして何になるの?
とりあえずくっつけといてからawkで再度:毎にフィールドを切り出すの?
だったら2度手間じゃん。

あと、${l%%:*}については、これを使わずにreadで読む段階で
IFS=: にすれば、もっと簡単に/bin/shの範囲だけで処理できる。
0195名無しさん@お腹いっぱい。2006/06/06(火) 09:46:06
はい、じゃ >>194 も実例上げてタタキ合いしてください。
0196名無しさん@お腹いっぱい。2006/06/06(火) 10:25:33
>>188 は cat 使う方が美しいのでOK
小文字のエルは見にくいので好きくないが
0197名無しさん@お腹いっぱい。2006/06/06(火) 10:41:07
どうせ使い捨てスクリプトなんだし
別にきたなくてもええやん
0198名無しさん@お腹いっぱい。2006/06/06(火) 11:08:06
>>194
仕様と実装の両方に同時にケチつけたって落ち着く先はないぞ。
while IFS=: read u l
にすれば u=${l%%:*} は不要になるな、確かに。
2 度手間というのはどういう意味だ? 何に対して 2 度手間?
0199名無しさん@お腹いっぱい。2006/06/06(火) 11:14:48
>>193
システムへの影響という点でも、プログラムの入力という意味でこのスクリプトの
挙動という点でも、安全。これ実行後に passwd(1) で変更した内容が
出力に反映されないのは、当然ねw。
0200名無しさん@お腹いっぱい。2006/06/06(火) 11:49:13
>>198
2度手間というのは、
このスクリプトの出力の、passwdのフィールドが全くpasswdとは無関係な
中間ファイル状態でしかない。
結局それをawk等で再加工しなければならない。
そんなことしなくても、シェルスクリプトだけでpasswdの形式で出力できる。
中途半端に処理して、結局さらにawk使えというのは2度手間。
0201名無しさん@お腹いっぱい。2006/06/06(火) 11:51:37
だから実例書けよ。お前は人類の教師か?
0202名無しさん@お腹いっぱい。2006/06/06(火) 18:50:58
世にも美しい >>188 の代案は一体いつになったら投稿されるんだろう。
0203名無しさん@お腹いっぱい。2006/06/06(火) 22:14:56
ケチはつけるが対案は示さない。どっかの野党みたいだな。
0204名無しさん@お腹いっぱい。2006/06/06(火) 22:35:11
smナンタラってコマンドが俺を虐めるんだ!
ひぃぃぃぃぃぃぃっ、あっーいいぃぃぃぃぃぃぃいぃいいいい!
0205名無しさん@お腹いっぱい。2006/06/07(水) 00:00:30
sm ぱちっ!
0206名無しさん@お腹いっぱい。2006/06/07(水) 00:12:51
>>199
> これ実行後に passwd(1) で変更した内容が
> 出力に反映されないのは、当然ねw。

じゃあ何のためにその手製pwunconvを使う必要があるの?
pwunconv > /etc/passwd、あるいは代わりに中間ファイル経由してもいいんだけど、
最終的に新しい/etc/passwdを生成するのが目的じゃなかったの?
0207名無しさん@お腹いっぱい。2006/06/07(水) 00:20:16
何言ってんの?? ユーザーが利用してる状態で移行作業やるの? そんなもん論外よ。
ほかのマシンへ持ってく、って話じゃなかったのか?? >>158
0208名無しさん@お腹いっぱい。2006/06/07(水) 11:27:57
>>200
おいおい、ほんとにケチつけただけかよ。最初から awk 使ってシンプルになったやつ
見せてくれるんじゃないのかよ?
0209名無しさん@お腹いっぱい。2006/06/07(水) 12:01:03
>>208
awk使わずにシェルスクリプトだけで、じゃないのか?
IFS=: readすればフィールド別に変数に入れられるから、
あとは並べ直してechoすればいいだけだと思うけど。
0210名無しさん@お腹いっぱい。2006/06/07(水) 13:49:24
え? 2 つ目のファイルのもキーで grep した後に read で変数に入れて、ってこと?
それのどこが 2 度手間の解消なんだ? しかも、そんな例が >>158 からの文脈上で
なんか意味をなすとでも?
0211名無しさん@お腹いっぱい。2006/06/07(水) 13:52:08
まあ、なんでもいいや。ともかく実例出してくれよ。出せない理由でもあるのか?
鋭意作成中?
0212名無しさん@お腹いっぱい。2006/06/07(水) 14:56:45
こんなのかな。

#! /bin/sh
f1=/etc/passwd
f2=/etc/shadow

cat $f1 | while IFS=: read u pw rem; do
egrep ^"$u": $f2 | (IFS=: read u pw rem; /usr/ucb/echo -n "$u":"$pw":)
echo "$rem"
done

オレは >>158 へは >>188 を awk へパイプでいいと思うけど。
0213名無しさん@お腹いっぱい。2006/06/07(水) 15:04:00
こうの方がいいかなw
cat $f1 | while IFS=: read u pw rem; do
upw=`egrep ^"$u": $f2 | IFS=: read u pw rem; echo "$u":"$pw"`
echo "$upw":"$rem"
done
0214名無しさん@お腹いっぱい。2006/06/07(水) 15:08:59
あ、やっぱ 2 つめの read の後の echo は () でくくんないとダメだ。失礼。
upw=`egrep ^"$u": $f2 | (IFS=: read u pw rem; echo "$u":"$pw")`
0215バックアップ2006/06/07(水) 16:52:21
すんません、質問あります。
Solaris9でテープドライブにバックアップ取ろうとしてます。
1.UFSスナップショット使って、まず、フルバックアップ取ってみました。
#fssnap -F ufs -o bs=/var/backup_tmp/full.back /opt
#ufsdump 0cuf /dev/rmt/0 /dev/fssnap/0
2./optの中身に適当なファイルを追加して、増分バックアップ取りました。
(/etc/dumpdatesファイルの中身見て、下の最後の引数に指定)
 #ufsdump 1ufN /dev/rmt/0 /dev/rfssnap/0 `fssnap -F ufs -o raw,bs=/var/backup_tmp /dev/rfssnap`

3.リストアしてみました。
 #cd /opt
#ufsrestore xvf /dev/rmt/0
Volume聞かれたので1を入れました(0とか2とか入力しても何もならなかった)
4.リストア終了したので、/optの中身を見ると、追加したファイルがありません。
 どうやら、増分バックアップの分がリストアされていないようです。

増分バックアップって、どうすればリストア出来ますか?

0216名無しさん@お腹いっぱい。2006/06/07(水) 18:27:54
>>215
なんかよくわかんないけど、2. の fssnap で /opt 指定してないから当然なのでは?
それと、フルダンプと差分ダンプには別のテープ使ってるよね?
0217バックアップ2006/06/07(水) 22:51:02
テープは一本しかないので・・・。
fssnap使わないでバックアップしたら、restoreでも成功したのでイケると
思ってました。(もしかしたら、無理?)

2で/optを指定してみましたが、やっぱり無理でした。
(/etc/dumpdates内に/optが追加されてました。)

なんか、増分バックアップはテープに入ってるような気もするのですが、
#mt -f /dev/rmt/0n fsf 1
#ufsrestore ta /dev/rmt/0
としても中身が見れないのは、やはり何かしら失敗してるということなのでしょうか?
う〜む・・・。
■ このスレッドは過去ログ倉庫に格納されています