68user's page 掲示板

Prev< No. 2756〜2850> Next  [最新発言に戻る] [過去ログ一覧]
No. 2756 # 68user 2002/06/14 (金) 17:20:34
>>2755 ビギナー
> 「カーネルのコンフィギュレショーションファイルを
> チェックする」と書かれているのですが、これって
> どうやるのですか?
OS によって違います。

http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/kernel-resources.html
をどうぞ。

No. 2757 # ビギナー 2002/06/14 (金) 21:05:51
>>2756 68user
ありがとうございます。

No. 2758 # きば 2002/06/15 (土) 03:30:10
ご回答ありがとうございました。
今もちょっとわからないとこがあるのですが、
もうちょっと考えてわからなかったら、
聞きにきます。

No. 2759 # きば 2002/06/15 (土) 10:43:34
再び質問です。
先ほどの質問と症状は似ているのですが、imodeのURLで(http://mobile.yahoo.co.jp/yahoo/index.html)のリクエストを出すと

HTTP1.0 302 FOUND
DATE
Location http://mobile.yahoo.co.jp/error/404.html
Conection: close

のレスポンスが返ってきて、locationの部分を入れても実際のimodeのURLがゲットできなくて困っています。どのようにC言語のHTTPクライアント(1)
のソースをいじればちゃんとしたレスポンスが得られるでしょうか?
よろしくお願い致します。

No. 2760 # 黒木 2002/06/15 (土) 12:02:31
初めまして黒木と申します。UNIX初心者です。

/usr/dict/words という辞書ファイルからEが2個以上出て、AとDとTがそれ
ぞれ1個以上出て、最初がLで始まる単語が書かれてる行を見つけるには、
どういう1行コマンドを書けばよいでしょうか?よろしくお願いします。
(但し、文字は全て大文字・小文字を区別しない)

*ファイルは何でも良いので、見つける方法が知りたいのです。

No. 2761 # 68user 2002/06/15 (土) 21:45:19
>>2759 きば
> imodeのURLで(http://mobile.yahoo.co.jp/yahoo/index.html)
> リクエストを出すと
ブラウザで http://mobile.yahoo.co.jp/yahoo/index.html
見ると、404 not found になるので、

> Location http://mobile.yahoo.co.jp/error/404.html
当然そうなると思いますよ。

どこからこの URL が出てきたのでしょうか?

>>2760 黒木
grep -i 'E.*E' /usr/dict/words | grep -i A | grep -i D | grep -i T | grep -i '^L'
でどうでしょう。

No. 2762 # きば 2002/06/15 (土) 22:10:56
すばやいレスありがとうございます。
http://mobile.yahoo.co.jp/yahoo/index.html
↑はimodeの使える携帯端末で見ることの出来るヤフーのカテゴリ検索のサイトです。
上記のURLのリクエストを送ったら携帯端末で見ることの出来るサイトをレスポンスしてくれるようにしたいのです。


imode専用のHTTPクライアントを68userさんのC言語のHTTPクライアント(1)を参考に作ろうと思っていて、とりあえず上記のURLで実験して作ろうと試みているのですが、なかなかうまくいかないので、68userさんの力をかして頂きたいと思う次第です。

No. 2763 # 68user 2002/06/15 (土) 22:24:44
>>2762 きば
i-mode 端末のみで利用可能なページということですね?

なら、
    http://www.nttdocomo.co.jp/p_s/imode/tag/s2.html
を参考にして、
    GET /yahoo/index.html HTTP/1.0
    User-Agent: DoCoMo/1.0/N209i
などなど。

No. 2764 # きば 2002/06/15 (土) 22:34:50
はい。imodeのみ利用可能なページです。
なるほど、、
urlをみてもうちょっとがんばってみます。
貴重なご意見ありがとうございます。

No. 2765 # 黒木 2002/06/16 (日) 01:28:01
>>2761 68user
有難う御座いました。これで良いですね。

No. 2766 # バクモン 2002/06/17 (月) 12:05:12
>>2753 68user
ご回答ありがとうございます。
以下のようにロジックを変更しようかと思います。

・ftpをバックグランドで動かす
・jobs -lの結果をテキストファイルに落とす
・5分sleepする(※1)
・grepとawkを使用して、テキストファイルからftpのプロセスIDを取得する
・ps -p にて取得したプロセスIDのプロセス生存を確認
・ps -p のリターンコードが0以外であればkillするif文をおこなう(※2)

こんな感じかな、と考えています。
怖い部分は※1,2です。
※1:とりあえずユーザさんには現在の環境でgetが3分を越えることは
            ないといわれているので、安全を見て5分sleepさせるようにしたが
            本当に大丈夫か?
>>ユーザさんがOKと言っているので、問題なし・・・かな。
※2:ps -p [プロセスID]でHITしなかった場合、リターンコードは必ず
            0以外となる。逆にHITした場合は、必ず0となる。
>>このハンドリングは正しいのか、ちょっと自信なし。

色々とご回答ありがとうございました。

No. 2767 # ユウ 2002/06/18 (火) 19:36:45
はじめまして。
私は、最近linuxを使い出した初心者です。
最近、仕事でpostgresqlをインストールしました。
インストールには成功したようなのですが、
$ pg_ctl startで起動をするとpostgresql(postmaster?)は起動します。
しかし
$ postmasterでは、
    DEBUG ...
    DEBUG ...
    DEBUG ...
    DEBUG ...
と出力され、その後エラーメッセージも何も出なくて、反応が無くなってしまいます。(いつも、ctrl+cで抜けています)
どうしてでしょうか?
どなたかご存知の方、ご教授ください。

No. 2768 # ユウ 2002/06/18 (火) 19:44:07
書き忘れていました。
バージョン:postgresql-7.11
環境:open blocksというlinuxマシンです。
            (redhatでも同様でした)

No. 2769 # 68user 2002/06/18 (火) 21:26:29
>>2767 ユウ
> $ postmasterでは、
引数なしで実行したのですか? データベースクラスタの場所はどうやって
指定しているのですか? 環境変数 PGDATA?

> DEBUG ...
この ... というのは省略したのですか? 本当に ... と表示されたのですか?

> その後エラーメッセージも何も出なくて、反応が無くなってしまいます。

それはフォアグラウンドで起動しているだけで、正常起動じゃないんでしょうか?

        http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/postmaster-start.html
        > サーバを起動する一番簡単な方法例は、
        >  postmaster -D /usr/local/pgsql/data
        > となり、サーバをフォアグラウンドで走らせます。
        > バックグランドでpostmasterを起動する には通常のシェルの構文を使います。

また、
    % sh -x pg_ctl start
として、pg_ctl 内で実行される postmaster の引数を確認するのも
よいでしょう。


>>2766 バクモン
> ※2:ps -p [プロセスID]でHITしなかった場合、リターンコードは必ず
> 0以外となる。逆にHITした場合は、必ず0となる。
> >>このハンドリングは正しいのか、ちょっと自信なし。
問題ないと思いますが、それでも心配なら
    % ps -p [pid] | grep スクリプト名
などなど。

No. 2770 # せと [E-mail] 2002/06/19 (水) 09:55:45
はじめまして。
ネットワークプログラミングの知識を参考にさせてもらっています。
で、ひとつ作りたいプログラムがあって質問させてください。
現在PERLを利用して、TERATERMのマクロのようにプログラムの出力結果を分析して、
次のバッチの投入のような監視?ツールを作りたいと思っています。
で、ソケットをつかってポート23にアクセスしに行くのですが、
固まってしまいます。ポート80や110にはここのサイトの見本をまねて
アクセスすることは出来るのですが・・・。
shでやるというのも考えられるのですが、suではパスワードを聞いてきますし、
別のアプリ実行しても制御が完全にアプリ側に移るんで無理ですよね?

ポート23にアクセスして結果をやり取りするにはどうしたらよいのでしょうか?
どなたかお分かりでしたらヒントをお願いします。

No. 2771 # ユウ 2002/06/19 (水) 11:26:13
>>2769 68user
お返事ありがとうございます。
質問の書き方が下手で、申し訳がありません。
PGDATA=/usr/local/pgsql/dataを設定していて
$ postmaster
は引数なしで実行しています。(pg_ctl startもそうです)
DEBUG...はDEBUGのあとの出力を省略させていただきました。
UNIXに関しても、パソコンに関しても本当に初心者で、何がどうなってるのかわからない状態なのですが、長くなりますが詳しく書かせていただきます。
$pg_ctl startを実行すると
postmaster successfully started
と出力されたあとに
DEBUG...(省略しています)と5行でて、そこでreturnキーを押下すると
[postgres@AAAServer postgres]$
と次のコマンド入力が可能になります。
しかし
$ postmasterを実行しても
postmaster successfully started
というメッセージは出ないで、
DEBUG...(省略しています)と5行でてreturnキーを押下しても
[postgres@AAAServer postgres]$
とはならず、改行されるだけです。
(以上は、openblocks,redhat両方共の環境です)

いろいろ試してみると、
redhat環境では、/usr/local/pgsql/data/postgresql.confに
silent_mode = on
tcpip_socket = on
syslog = 2
と追記して
$ postmasterを実行すると
DEBUG...(省略します)とは出力されないで、
[postgres@AAAServer postgres]$
となり、postgresqlは起動しました。
そこで、openblocksでpostgres.confを上記のように変更して
$ postmasterを実行しました。すると
FATAL 1: 'silent' is not valid option name
とエラーが帰ってきました。
$pg_ctl startで実行した結果も、
postmaster successfully started
と出力された後に、同様のエラーが帰ってきました。
(postgres.confの変更内容のsilentをコメント化したらsilentの下に追記した、tcpip_socketで同様のエラーが起きます。)

申し訳がありませんが、ご教授ください。

No. 2772 # ユウ 2002/06/19 (水) 12:04:39
お返事ありがとうございます。
質問の書き方が下手で、申し訳がありません。
PGDATA=/usr/local/pgsql/dataを設定していて
$ postmaster
は引数なしで実行しています。(pg_ctl startもそうです)
DEBUG...はDEBUGのあとの出力を省略させていただきました。
UNIXに関しても、パソコンに関しても本当に初心者で、何がどうなってるのかわからない状態なのですが、長くなりますが詳しく書かせていただきます。
$pg_ctl startを実行すると
postmaster successfully started
と出力されたあとに
DEBUG...(省略しています)と5行でて、そこでreturnキーを押下すると
[postgres@AAAServer postgres]$
と次のコマンド入力が可能になります。
しかし
$ postmasterを実行しても
postmaster successfully started
というメッセージは出ないで、
DEBUG...(省略しています)と5行でてreturnキーを押下しても
[postgres@AAAServer postgres]$
とはならず、改行されるだけです。
(以上は、openblocks,redhat両方共の環境です)

いろいろ試してみると、
redhat環境では、/usr/local/pgsql/data/postgresql.confに
silent_mode = on
tcpip_socket = on
syslog = 2
と追記して
$ postmasterを実行すると
DEBUG...(省略します)とは出力されないで、
[postgres@AAAServer postgres]$
となり、postgresqlは起動しました。
そこで、openblocksでpostgres.confを上記のように変更して
$ postmasterを実行しました。すると
FATAL 1: 'silent' is not valid option name
とエラーが帰ってきました。
$pg_ctl startで実行した結果も、
postmaster successfully started
と出力された後に、同様のエラーが帰ってきました。
(postgres.confの変更内容のsilentをコメント化したらsilentの下に追記した、tcpip_socketで同様のエラーが起きます。)

申し訳がありませんが、ご教授ください。

No. 2773 # 68user 2002/06/19 (水) 13:48:40
>>2770 せと
> で、ソケットをつかってポート23にアクセスしに行くのですが、
> 固まってしまいます。
要は telnet クライアントを作りたいと。

接続後、telnet プロトコルに従ってネゴシエーションをする
必要があります。詳細は http://www.faqs.org/rfcs/rfc318.html
perl のモジュールを使うなら Net::Telnet がよいでしょう。

ただし、telnet クライアントができても、文字の送信/文字の
受信が可能になるだけです。エラー発生の判断などはやはり
プログラム側で行わなくてはいけません。

というわけで、素直に
> プログラムの出力結果を分析して、次のバッチの投入のような監視?ツール
を行うスクリプトを作った方がよいでしょう。

> suではパスワードを聞いてきますし、
> 別のアプリ実行しても制御が完全にアプリ側に移るんで無理ですよね?
危惧しておられることがよくわからないのですが、普通はスクリプトなどを
書けば実現可能です。


>>2772 ユウ
> $ postmasterを実行しても
> postmaster successfully started
> というメッセージは出ないで、
> DEBUG...(省略しています)と5行でてreturnキーを押下しても
> [postgres@AAAServer postgres]$
> とはならず、改行されるだけです。
それはそれで正常です。キーの入力をそのアプリが奪うような状況を
「フォアグラウンドで動作している」と言います。逆に、アプリが
裏で動いているような状況を「バックグラウンドで動作している」
と言います。
    http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/postmaster-start.html
にある通り、postmaster を実行すると、単にフォアグラウンドで
動くという仕様になっているだけです。postmaster を実行した後、
別ウィンドウで psql を実行すると、ちゃんと接続できるはずです。

> $ postmasterを実行しても
> postmaster successfully started
> というメッセージは出ないで、
postmaster successfully started という文字列を表示をしているのは
pg_ctl だからです。

postmaster をバックグラウンドで動かすには、
    - postmaster & として起動する。
    - postgresql.conf を修正して silent_mode=true とする。
    - postmaster -S とする。
    - postmaster -c silent_mode=true とする。
などの方法があります (true と on は同じ)。全てマニュアル
    http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/runtime-config.html
に書いてあります。

> FATAL 1: 'silent' is not valid option name
'silent_mode' is ... ならわかりますが、`silent' is ... となるということは、
postgresql.conf に
    silent=true
などと書いていませんか?

> tcpip_socketで同様のエラーが起きます。
ということは、その上にある行がおかしい可能性もあります。

とにかく、まずは postgresql.conf への追加時に修正ミスをしていないかを
疑うべきでしょう。

あとは、OpenBlockS にインストールされている PostgreSQL のバージョンと
RedHat にインストールされている PostgreSQL のバージョンが違うとか。

No. 2774 # ユウ 2002/06/19 (水) 14:38:00
>>2773 68user
ご指摘の通りでした。
silent_mode,tcpip_socketにのエラーは直りましたが、syslogでエラーが出る状態です。なぜか解らないですけど、redhatで成功しているpostgresql.confをコピーしてきます。
ありがとうございました。

No. 2775 # レイラ 2002/06/19 (水) 14:44:12
初めて投稿します。Solarisでハードウェアの診断をする機能があると聞きました。旧SUN OSでは、ダイアグというそうですが、オンボードやHDDの状態を診断して、異常個所をリストアップしてくれるような機能があれば、教えてちょんまげ!何卒よろしくお願いします。

No. 2776 # だいすけ 2002/06/19 (水) 14:48:26
echoサーバ(C言語)でのことですが
#include <sys/uio.h>
#include <unistd.h>
#include <sys/param.h>
#include <netinet/in.h>
#include <arpa/inet.h>
これらがなくても正常にコンパイルできるのですが、必要なのでしょうか?

No. 2777 # ユウ 2002/06/19 (水) 15:10:12
ご指摘の通りでした。
silent_mode,tcpip_socketにのエラーは直りましたが、syslogでエラーが出る状態です。なぜか解らないですけど、redhatで成功しているpostgresql.confをコピーしてきます。
ありがとうございました。

No. 2778 # 紅の猫 [E-mail] 2002/06/19 (水) 21:45:01
#2776
>これらがなくても正常にコンパイルできるのですが、必要なのでしょうか?
windowsでならば必要ないと思います。

No. 2779 # has 2002/06/19 (水) 21:51:05
こんばんは。
最近はお一人で回答をしておられるようでおつかれさまです >68user
とかいいつつ私も質問しに来てるんですが…。

で早速ですがどなたか知恵をお貸しください。

現在P4マシン上でRedhat7.1.94を利用しており、100BASEカードを使って
LAN経由でインターネットにアクセスしています。
IPはDHCPサーバから割り振られているのですが、Netscapeなど、
どうやらgethostbynameを呼んでいると思われるプログラムが
名前解決できずに困っています。

ただしnslookupやhostコマンドでは正しく名前解決できる上、
Netscape等からも数字のIPを直に打てばアクセスできています。
試しに/etc/hostsに[216.239.33.101 www.google.co.jp]を記述すると、
Netscapeからもアクセスできました。

dhcpのクライアントにはdhcpcd-1.3.18を[/sbin/dhcpcd -n eth0]で
起動していて、自ホストのIPは正しく取得できているようです。
/etc/host.confには[order hosts,bind]のみを記述しており、
resolve.confにはWin2k動作時に調べておいたLAN内DNSサーバの指定
[nameserver 192.168.0.1]を記述しています。

自分なりに無い知識をいくらかでも埋めようとgoogleで探し回ったのですが
全てに目を通すほどパワーが続きませんでした。
どうぞよろしくお願いします。

No. 2780 # aozora 2002/06/20 (木) 00:23:56
はじめまして。

あまりにも簡単な質問のようで申し訳ないのですが、
「ソケット」っていうのは、「IPアドレスとポート番号を組み合わせたもの」でしょうか?
どこで読んだのか、「ポート番号とプロセスIDを組み合わせたもの」という考えが頭を離れず、
自分でもいろいろ調べたのですが、解答は見つかりませんでした。
もしかしたら見当違いな質問なのかもしれませが、
ソケットの知識をお持ちの方がおりましたら、ご教授願います。

どうぞよろしくお願い致します。

No. 2781 # 68user 2002/06/20 (木) 05:30:37
>>2779 has
ども。最近会社でもやる気ゼロなので、回答なぞしてるんですわ。

もしかして Netscape を起動した後に dhcp クライアントを起動
してません? もしそうなら順番を逆にしてみるとか。

そうでないなら、tcpdump の結果を見せてくださいな。

あと、あらゆる gethostbyname が失敗してますか?
    % perl -e "use Socket;print inet_ntoa(inet_aton('www.jp.freebsd.org'))"
もダメですか?

>>2780 aozora
> 「ソケット」っていうのは、「IPアドレスとポート番号を組み合わせたもの」
> でしょうか?
「IP アドレスとポート番号を組み合わせたもの」は相手を一意に特定するための
識別子で、たとえるなら電話番号です。
# ただし、それは IP の話。UNIX ドメインソケットでは、ファイルが識別子です。

「ソケット」は、通信路の端点で、たとえるなら電話機です。

これを同じものと考えてしまうと、例えば bind(2) が理解できなく
なります。bind(2) はたとえるなら電話機に電話線をつなぐという
感じでしょうか。

> 「ポート番号とプロセスIDを組み合わせたもの」
違います。1プロセスから複数のソケットを使うことができますから。

No. 2782 # shido 2002/06/20 (木) 11:32:14
初めて書き込みをします。
UNIXは、まだ初心者です。

お聞きしたい事を書き込みます。
現在、「share」コマンドでディレクトリを共有した後、「dfmount」コマンドで共有されたディレクトリにアクセス中のクライアント名を取り出そうとしています。
「dfmount」コマンドで情報が取れないのですが、どうしてなのでしょうか?
「share」の情報を書き込みます。
> /usr/sbin/share
- /share rw=client "File Service"
- /home rw=nini:gp7000s,root=gp7000s "File Service"
- /shared rw=osl:gp7000s,root=gp7000s "File Service"
>

No. 2783 # シド 2002/06/20 (木) 11:41:06
はじめて書き込みます。
UNIXの初心者シドです。
少し教えてほしいことが有ります。
知っていられる方は、お教え願えないでしょうか?
「share」コマンドを実行して、「dfmounts」コマンドを実行すると何も表示されません。なぜでしょうか?
「share」の情報と「dfmounts」コマンドを実行したときの表示部分を書きます。
> /usr/sbin/share
- /share rw=client "File Service"
- /home rw=nini:gp7000s,root=gp7000s "File Service"
- /shared rw=osl:gp7000s,root=gp7000s "File Service"
> /usr/sbin/dfmounts
>

No. 2784 # シゲ 2002/06/20 (木) 12:21:48
UNIX初心者(パソコンも初心者です)の私にどうか教えてください。

telnetを使って、redhat環境のマシンに接続して操作をしています。
$shutdown -r now
で再起動をしました。
すると、立ち上がるまでに10分以上(普通は3分ぐらいだと思う)かかり、立ち上がって普通は
[ユーザ名(マシン名)カレントディレクトリ]$
と出るところで、マシン名がnone(本来はmizuho)になっていました。そして、書き込み可能(-wrxwrxwrx)のファイルを操作しようとすると、読取専用とエラーメッセージが出て操作できなくなってしまいました。(全ファイルそうです)
  
いろいろやってみた結果、
$mount -o remount, rw /dev/hda5 /
で、書き込み可能にはなりましたが、再起動をすると読み込み専用に戻ってしまいます。
(boot.log,messageを見てみましたが、snmpd shutdown failedと出ています。これって関係ありますか?)
  
どなたか直し方を教えてください。
お願いします。

それと今、boot画面のメッセージをチェックしようとしているのですが、1行ずつ進める方法があるらしいです。これってどうやるのですか?

No. 2785 # うみ [E-mail] 2002/06/20 (木) 18:18:16
はじめまして。
現在どうしても解決できない問題があり、書き込みました。
どなたかご存知の方いらっしゃいましたら、レスよろしくお願いします。

WEBサーバにおいてLocationヘッダで指定したURLへリダイレクトさせて、
かつリダイレクト先へのHTTPリクエストにCookieを設定したいのですが、
設定できない状態になっています。

---------------------------------------------------------
HTTP/1.1 302 Found\n
Set-Cookie: test=a; domain=www.hogehoge.co.jp; path=/\n
Location: http://www.hogehoge.co.jp\n\n
---------------------------------------------------------

のようなレスポンスを返却するCGIを作成したのですが、上記レス
ポンスを返すサーバとリダイレクト先のサーバが異なる場合、次の
リクエストにCookieが付加されてきません。
Cookieを設定できるのは、自分と同じドメインのみなのでしょうか。

当たり前の事だったら申し訳ありません。
よろしくお願いします。

No. 2786 # 68user 2002/06/20 (木) 19:28:47
>>2785 うみ
> Set-Cookie: test=a; domain=www.hogehoge.co.jp; path=/\n
cookie で domain をセットしたことがないのでよく知りませんが、
無理なんじゃないでしょうか。これができるなら、任意のサーバの
cookie を外部からセットできることになります。

http://www2.studyinghttp.net/cookies.html を見ると、
    server-1.hogehoge.co.jp で
        Set-Cookie: test=a domain=hogehoge.co.jp
    という cookie を吐くと server-1.hogehoge.co.jp や
    server-2.hogehoge.co.jp に送り返されるようになる。
ということではないかと思います。

もし、「Location なしだとうまくいくが、Location ありだとダメ」
ということなら、上記の認識は間違っているんでしょうけど。

>>2784 シゲ
> 立ち上がるまでに10分以上(普通は3分ぐらいだと思う)かかり、
このときコンソールには何が出力されていますか? 症状からすると
何かしらのエラーが発生して、Read-only で mount され、シングル
ユーザモードで起動しているように見えますが、根本原因がコンソール
に表示されていると思います。

>>2783 シド
>>2775 レイラ
僕には全くわからない分野なので、お役に立てないようです。

No. 2787 # 68user 2002/06/20 (木) 19:32:56
>>2786 68user
>> 立ち上がるまでに10分以上(普通は3分ぐらいだと思う)かかり、
> 何かしらのエラーが発生して、Read-only で mount され、シングル
> ユーザモードで起動しているように見えますが
あ、10分待てば起動するのなら違うのかなぁ。

> snmpd shutdown failedと出ています。これって関係ありますか?
shutdown 時のエラーなので関係ないと思います (実は関係あったり
するのかもしれませんけど)。

> 1行ずつ進める方法があるらしいです。
少なくとも FreeBSD では、Scroll Lock を押せばスクロールが止まり、
カーソルキーで移動できます。Linux ではどうなのかはわかりません。

No. 2788 # aozora 2002/06/20 (木) 21:18:13
>>2781 68user
ソケットについてのご教授、ありがとうございました。
かなり間違って理解していたようですが、
お陰様でソケットの考え方について理解できるようになりました。

No. 2789 # シゲ 2002/06/20 (木) 21:21:47
>>2786 68user
お返事ありがとうございます。
早速、scroll lockで画面と止めながら(出来ました!)エラーを見てみました。
Updating /etc/fstab failed to open /proc/partitions:No such file or directory

Flushing all current rules and user defined chains:ipachains:incompatible with this kernel

Clearing all current rules and user and user defined chains:ipchains:Incompatible with this kernel

Starting system logger

Errot:MM:mm:core:failed to open semaphore file(read-only file system):OS:No such file or directory

mount:special device LABEL=/boot does not exisist

Starting crond:crond:can't open or create /var/run/crond/pid:Read-only file system

と7箇所でエラーが出てました。
これを見て私がわかったのは、
/proc/partitionsがない
/bootの何かがない
と言うことです。
見てみると、/proc,/boot両ディレクトリの中がまったく存在しませんでした。
何じゃコリャ!
UNIX初心者(パソコンも)にはまったく解りません。

どうか、ご教授ください。

No. 2790 # has 2002/06/21 (金) 02:14:05
こんばんは。
お仕事大変ですな。まあそう腐らずに頑張ってください >68user

さてガキの使いですんません。宿題やってきました。

まずdhcpcdですが、psで確認しても起動時から動いているようなので、
Netscapeの方が先ということはなさそうです。
次にperlスクリプトですが、残念ながら、
Bad arg length for Socket::inet_ntoa, length is 0, should be 4 at -e line 1.
と表示されます。要は正引きが失敗しているようです。
逆引きは引数の渡し方がわかりませんでした。
# なんせlinuxからはweb検索にも支障をきたしているもので(^^;)

最後にtcpdumpの出力です。tcpdumpを動かしてから、
% host www.jp.freebsd.org
のコマンドと、netscapeにてhttp://www.jp.freebsd.org
http://210.157.158.42/へのアクセスなどをしてみました。
# が、記録に残っているかは私にはわかりませんでした

# /usr/sbin/tcpdump
tcpdump: listening on eth0
01:47:38.943528 192.168.0.39.3044 > 143.90.129.198.http: . ack 1226176673 win 8576 (DF)
01:47:38.943528 192.168.0.40.32797 > 192.168.0.1.domain: 29608+ PTR? 198.129.90.143.in-addr.arpa. (45) (DF)
01:47:38.963528 192.168.0.39.3276 > 143.90.129.198.http: S 22004303:22004303(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)
01:47:38.983528 43.242.210.37.6699 > 192.168.0.33.1190: . 3236267430:3236268764(1334) ack 2911899325 win 17252 (DF)
01:47:38.983528 192.168.0.33.1190 > 43.242.210.37.6699: . ack 4294960438 win 17520 <nop,nop,sack sack 1 {4294961772:1334} > (DF)
01:47:38.993528 211.129.12.43.domain > 192.168.0.40.32797: 29608 1/2/2 (141)
01:47:38.993528 192.168.0.40 > 211.129.12.43: icmp: 192.168.0.40 udp port 32797 unreachable [tos 0xc0]
01:47:38.993528 211.129.14.134.domain > 192.168.0.40.32797: 29608 1/2/2 (141)
01:47:38.993528 192.168.0.40 > 211.129.14.134: icmp: 192.168.0.40 udp port 32797 unreachable [tos 0xc0]
01:47:39.003528 143.90.129.198.http > 192.168.0.39.3044: . 5897:6433(536) ack 0 win 32767
01:47:39.013528 192.168.0.39.3044 > 143.90.129.198.http: . ack 1 win 8576 (DF)
01:47:39.013528 143.90.129.198.http > 192.168.0.39.3044: . 6433:6969(536) ack 0 win 32767
01:47:39.013528 192.168.0.39.3044 > 143.90.129.198.http: . ack 1 win 8576 (DF)
01:47:39.023528 43.242.210.37.6699 > 192.168.0.33.1191: . 3298096123:3298097457(1334) ack 2981221337 win 17235 (DF)
01:47:39.023528 143.90.129.198.http > 192.168.0.39.3276: S 1909102369:1909102369(0) ack 22004304 win 536 <mss 536>
01:47:39.023528 192.168.0.39.3276 > 143.90.129.198.http: . ack 1 win 8576 (DF)
01:47:39.023528 192.168.0.39.3276 > 143.90.129.198.http: P 1:43(42) ack 1 win 8576 (DF)

No. 2791 # シド 2002/06/21 (金) 10:57:06
困っています。誰か助けてください。
UNIXのファイルシステムと他のファイルシステムの切り分けをどのコマンドを使用すればいいのかわかりません。(他のファイルシステムは、SafeFile/Globalファイルシステムです。)はじめは、fstypコマンドを使用すれば、良いと思ったんですが、UFS(UNIXファイルシステム)しか、出てきません。それにデバイス中です。と言うエラーが発生して、困っています。解決策を知っている方は、お教え願えないでしょうか?

No. 2792 # だいすけ 2002/06/21 (金) 11:45:26
echoサーバ(Perl)の5行目の
5: use Socket;
この文はどういう意味なのでしょうか?
おしえてください。

No. 2793 # だいすけ 2002/06/21 (金) 11:56:41
echoサーバのほうはプログラムに解説してくださっているので、読んでみてなんとか理解できそうなのですが、クライアントのほうを書けそうにありません。クライアントのほうもおしえていただけないでしょうか?

No. 2794 # シゲ 2002/06/21 (金) 12:07:10
>>2786 68user
お騒がせしました。出来ちゃいました。
boot画面を見ていると
can't execute rc.sysinit
となっていたので、rc.sysinitを見てみるとアクセス権が
-rw-r-xr-x
となっていました。これでは実行権がないので
-rwx-r-xr-x
とするとできました。
出来てしまえば簡単なことでした。

ありがとうございました。

No. 2795 # [E-mail] 2002/06/21 (金) 21:09:28
初めまして。大学の授業で初UNIXに相当困り果ててるものです・・・。どうか教えてください。
/usr/dict/words とうゆうファイルは単語の先頭の文字をアルファベット順に並べたものですよね??これを単語のおしまいで分類したものだすようにしたいのです。1行コマンドで・・・。ちなみに大文字と小文字は区別しないで!!!
よろしくお願いします(><)

No. 2796 # 68user 2002/06/21 (金) 23:55:31
>>2790 has
> 最後にtcpdumpの出力です。
Query 投げてないですねぇ。普通は
    23:36:51.920878 192.168.0.5.2275 > 192.168.0.1.domain: 4+ A? www.jp.FreeBSD.org. (36)
    23:36:52.003329 192.168.0.1.domain > 192.168.0.5.2275: 4 1/4/5 A updraft.jp.FreeBSD.ORG (251)
こんな感じのが流れるはずです。念のため、
    % strace dig www.jp.FreeBSD.org
で流れを追ってみてください。うちの FreeBSD では (*BSD は truss)
    % truss dig www.jp.FreeBSD.org|egrep 'socket|connect'
    socket(0x2,0x2,0x0) = 3 (0x3)
    connect(0x3,{ sa_len = 48, sa_family = 120, sa_data = } },16) = 0 (0x0)
となりますが、そちらではどういう結果になりますか?

もし socket さえ行っていないようなら、/etc/host.conf とか
/etc/resolv.conf の解析あたりでこけているような気がします。

なお、nslookup や host は /etc/hosts や /etc/host.conf を
参照せず、必ず DNS サーバに Query を投げるので、原因の
切り分けの際はご注意を。

> resolve.confにはWin2k動作時に調べておいたLAN内DNSサーバの指定
> [nameserver 192.168.0.1]を記述しています。
DHCP クライアントは /etc/resolv.conf を上書きすると思いますが、
上書き後の内容はどうなっていますか?

あとは、DHCP をやめて、手で IP アドレスなどを設定してみると何かに
気づくかも…という役に立たないアドバイスしかないです。


>>2793 だいすけ
> 5: use Socket;
> この文はどういう意味なのでしょうか?
Socket モジュールを使うという宣言です。利点は
    http://x68000.startshop.co.jp/~68user/net/perl4.html
をどうぞ。

>>2793 だいすけ
> クライアントのほうを書けそうにありません。
何がわからないのかわからないので、
    http://x68000.startshop.co.jp/~68user/net/
を読んでくださいとしか言えません。

>>2795
> これを単語のおしまいで分類したものだすようにしたいのです。
> 1行コマンドで・・・。ちなみに大文字と小文字は区別しないで!!!
じゃあヒントだけ。rev というコマンドがあるならそれを
使います。rev がない UNIX なら、わかりません (perl を
使えばできるけど、問題の趣旨とは違うような気がする)。

No. 2797 # HIDE 2002/06/22 (土) 18:05:25
あるログファイルに1行出力されるごとに、その行に特定のキーワードが
あるかどうかを判断して、あった場合はその行を別のログに出力する
といったことをUNIXコマンドでできないかと調べています。
イメージとしては、「tail -f」と「grep」の組み合わせみたいな
感じですが、二つのコマンドをパイプで結合してもダメでした。
何か良い手はないでしょうか? ご存知の方がいたら教えてください。
よろしくお願いします。

No. 2798 # 68user 2002/06/22 (土) 19:26:19
>>2797 HIDE
tail -f log | grep foo でできる環境もあります。FreeBSD と Solaris2.6/8
あたりはできるはず。

というか、できない環境をしらないのでアドバイスはできませんが、tail が
バッファリングしてるのかな?

tail 自体それほど複雑な機能ではないので、さくっと perl などで
自作するのがいいかもしれません。

No. 2799 # HIDE 2002/06/22 (土) 20:19:02
>>2798 68user
ご回答いただきまして、ありがとうございます。

>tail -f log | grep foo でできる環境もあります。FreeBSD と>Solaris2.6/8あたりはできるはず。
  こちらの環境はSolaris2.6です。
         tail -f log | grep foo
  だと意図した形で画面に表示されるのですが、
         tail -f log | grep foo >> log2
  とやるとlog2には何も出力されないんです・・・・・・
  何か環境が変なのかな?

>tail 自体それほど複雑な機能ではないので、さくっと perl などで
>自作するのがいいかもしれません。
  そうですね。実はこの処理は大容量の性能関連のログから必要な
  行を抽出/判定するための使用しようとしているのですが、Perl
  で作ったらログの行が多いからか、逆にそのツールが動いている
  時間はCPUが100%になってしまったのでUNIXコマンドでできないかと
  調べている次第です。(Perlはあまり詳しくないので私の作り方が
  マズイだけかもしれませんが)

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2800 # 68user 2002/06/22 (土) 21:36:23
>>2799 HIDE
> tail -f log | grep foo >> log2
なるほど。grep が出力をバッファリングしてるからですね。ちょっと調べて
みた限りでは、/dev/stderr にリダイレクトしてもダメだし、バッファリング
ありにするオプションはないようなので、
    % tail -f log | perl -ne '$|=1;print if m/foo/' >> log2
てな感じで。

でも、grep でなんとかなりそうな気もするなぁ…。

No. 2801 # 68user 2002/06/22 (土) 22:38:23
>>2800 68user
> /dev/stderr にリダイレクトしてもダメだし
あー、grep 自体は stdout に出力してるだけだから、シェルで
いくら stderr に振ってもどうにもならないですね。

というわけで、続きはここで。
    http://pc.2ch.net/test/read.cgi/unix/1022769156/l50
2ch で質問するのなら最初からそっちで聞けっつーの。

No. 2802 # HIDE 2002/06/22 (土) 22:47:54
>>2800 68user

% tail -f log | perl -ne '$|=1;print if m/foo/' >> log2
をやってみたら、うまくいきました!
いろいろ調べていただいたようで、ありがとうございました。m(__)m

>でも、grep でなんとかなりそうな気もするなぁ…。
微妙〜なとこでうまくいかないのが悔しいですね。(^^;)
でも、この件は急いでいたので大変助かりました。

No. 2803 # HIDE 2002/06/22 (土) 22:52:03
>>2801 68user

>2ch で質問するのなら最初からそっちで聞けっつーの。
至急性が高かったので両方に投稿しておりました。
大変失礼しました。すいません。

No. 2804 # 通りがかり 2002/06/23 (日) 09:16:15
ここまでまるごとパクリっていうのも...

http://www.apk.ne.jp/~yasya/ura/unix/index.html

No. 2805 # has 2002/06/23 (日) 12:10:54
>>2796 68user
digをstrace|egrepした内容です。

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
socket(PF_INET6, SOCK_STREAM, 0) = -1 ENOSYS (Function not implemented)
socket(PF_INET6, SOCK_STREAM, 0) = -1 ENOSYS (Function not implemented)
socket(PF_INET6, SOCK_STREAM, 0) = -1 EAFNOSUPPORT (Address family not supported by protocol)

一応ソケットを作りに行ってますが、connectはしてないみたいです。
あと設定ファイルですが、起動のたびに上書きされており、
% cat /etc/resolv.conf
nameserver 192.168.0.1
となっています。

固定IPを設定するのは気がひけるのでまだやってません(^^;)
でも毎回同じIPが割り当てられてる気もするし、MACアドレスとかで
決めてるようならいつものIPを指定してみようかな?

ついでに
>>2781のperlスクリプトをstrace|egrepしてみました。

socket(PF_UNIX, SOCK_STREAM, 0) = 3
connect(3, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or directory)
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.0.1")}}, 28) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.0.1")}}, 28) = 0
お手数かけてますがどうぞよろしく。

No. 2806 # 68user 2002/06/23 (日) 17:06:51
>>2805 has
> digをstrace|egrepした内容です。
> socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
> socket(PF_INET6, SOCK_STREAM, 0) = -1 ENOSYS (Function not implemented)
> socket(PF_INET6, SOCK_STREAM, 0) = -1 ENOSYS (Function not implemented)
> socket(PF_INET6, SOCK_STREAM, 0) = -1 EAFNOSUPPORT (Address family not supported by protocol)

> perlスクリプトをstrace|egrepしてみました。
> socket(PF_UNIX, SOCK_STREAM, 0) = 3
> connect(3, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or > directory)
> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
> connect(3, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.0.1")}}, 28) = 0
> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
> connect(3, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.0.1")}}, 28) = 0

なんか全然違いますねぇ。UDP/IP で、192.168.0.1:53 宛に connect
するはずなので、perl の場合の
    socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
    connect(3, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.0.1")}}, 28) = 0
という結果は正しいと思います。perl の実行時に tcpdump してみたら
どうなるんでしょうか。

うちではこんな感じです。
    % truss perl -e "use Socket;print inet_ntoa(inet_aton('www.jp.freebsd.org'))"
    socket(0x2,0x2,0x0) = 4 (0x4)
    connect(0x4,{ AF_INET 192.168.0.1:53 },16) = 0 (0x0)
    sendto(0x4,0xbfbfe464,0x24,0x0,0x0,0x0) = 36 (0x24)
    recvfrom(0x4,0xbfbfed64,0x400,0x0,0xbfbfe238,0xbfbfe1fc) = 251 (0xfb)
    close(4) = 0 (0x0)
    close(3) = 0 (0x0)

    % truss dig www.jp.freebsd.org
    socket(0x2,0x2,0x0) = 3 (0x3)
    connect(0x3,{ sa_len = 48, sa_family = 120, sa_data = } },16) = 0 (0x0)
    sendto(0x3,0xbfbff184,0x24,0x0,0x0,0x0) = 36 (0x24)
    select(0x4,0xbfbed694,0x0,0x0,0xbfbed60c) = 1 (0x1)
    recvfrom(0x3,0xbfbef184,0x10000,0x0,0xbfbed684,0xbfbed678) = 251 (0xfb)
    close(3) = 0 (0x0)

ただ、どうも strace から絞り込んでいく方向は遠回りかもしれません。
IPv6 を OFF にしてみるとか、DHCP を使わずにやってみる方が早道かも
しれませんね。

> でも毎回同じIPが割り当てられてる気もするし、MACアドレスとかで
> 決めてるようならいつものIPを指定してみようかな?
大抵の DHCP サーバは、どの MAC アドレスにどの IP アドレスを振った
かを数日間記憶していて (設定次第ですが)、できるだけ同じマシンには
IP アドレスを振るようにしているので、ちょろっと試す分には OKかと
思います。


>>2804 通りがかり
> ここまでまるごとパクリっていうのも...
> http://www.apk.ne.jp/~yasya/ura/unix/index.html
クレーム入れるのもダルいので、放置です。

ちなみに他にもありますよ :-)
    http://www.it.ice.uec.ac.jp/~furu/unix/kind.html
    http://noto.cc4-4.kanagawa-u.ac.jp/~jsato/helps/

コンテンツの引用や転載については
    http://x68000.startshop.co.jp/~68user/
を読んでください、ということで。

No. 2807 # 愛子 2002/06/24 (月) 11:22:04
こんにちは。愛子@UNIX1年生 です。
今回、Cシェルを作成することになり、Cシェルはじめて2週間といった
初心者です。どうぞ、宜しくお願いします。

さて、質問なのですが・・・

[ test.txt ]

apple 133 123
orange 133 123
candy 133 156
というファイルがあります。

このファイルの各行末に
変数 TEMPSTR に 格納されている文字列を連結するというCシェルを
作成しようとしています。

[ 作成したシェルスクリプト ]
#!/bin/csh

set TEMPSTR = "LIST"

sed 's/$/,123.45/' < test.txt
sed "s/^/${TEMPSTR},/" < test.txt
sed "s/$/,${TEMPSTR}/" < test.txt

[ 実行結果 ]

apple 133 123,123.45
orange 133 123,123.45
candy 133 156 ,123.45
LIST,apple 133 123
LIST,orange 133 123
LIST,candy 133 156
文法があいまいです。

となります。
行頭挿入は、出来るのに行末追加は出来ないのは何故でしょうか???
文法があいまい ということは、変数の指定がいけないと思うのですが
・・・
変数の中身は、固定でないので(各行違うデータを文末につけるので)
変数を用いなればなりません。
sed以外でも ファイルの各行の文末に文字列を連結することが
出来るコマンドがあれば、そちらの方法でも構いません。
(行数分LOOPを回してやるというLOOP処理では行数が1万行とかあるので
  NGですが)

質問の仕方が下手で申し訳ありませんが、宜しくお願い致します。
ちなみにバージョンは、UNIX(r) System V Release 4.0 です。
どなたか、ご教授いただければ大変、嬉しく思います。

No. 2808 # 愛子 2002/06/24 (月) 15:07:43
自己レスでごめんなさい。
10Hやって出来なかったので、質問したのですが、

インターネットで調べながらやっていたら、出来ました。
            sed 's/$/,'$TEMPSTR'/' < test.txt
でした。

また、1行目から2行目まで追加したい時は、
            @ RW = 2
            sed '1,'$RW's/$/'$TEMPSTR'/' < test.txt
のようです。
ご参考までに

#!/bin/csh
set TEMPSTR = "LIST"
@ RW = 2
sed 's/$/,123.45/' test.txt
sed "s/^/${TEMPSTR},/" test.txt
echo RW = $RW
echo TEMPSTR = $TEMPSTR
sed '1,2s/$/,GYOUMATSU/' test.txt
echo "-----------------------------------------------"
sed '1,'$RW's/$/'$TEMPSTR'/' test.txt
echo "-----------------------------------------------"
sed 's/$/,'$TEMPSTR'/' test.txt
どなたかが参考になるといいなぁ・・・
では、お騒がせ致しましたです。

No. 2809 # 68user 2002/06/24 (月) 19:33:01
>>2808 愛子
> sed 's/$/,'$TEMPSTR'/' < test.txt
もし "" でくくるなら、sed "s/\$/,$TEMPSTR/" ですが、
csh では "\"" とか '\'' というふうに
    - "" の中に " を入れる
    - '' の中に ' を入れる
ことはできませんので、\ でエスケープしているといつかは
破綻します。よって、

> sed 's/$/,'$TEMPSTR'/' < test.txt
のように必要なところのみ '' でくくるのはよいやり方だと
思います。

No. 2810 # りょうこ 2002/06/25 (火) 18:47:08
sendmailについての質問があります。

現在sendmailのバージョンは、8.9です。
現在使用しているドメインにもう1つドメインを追加したいのですが、

sendmail.cwファイルを作成して、そこを参照するように.defを
このようにしました。
USE_cw_FILECLASS=yes
cw_FILE_PATH='/etc/mail/sendmail.cw'

そして、sendmail.cwの中にドメイン名を記述したのですが、
これだけでは、だめなのでしょうか?

やりたい事は、1つのメールサーバーで2つのドメインのメールを受信
したいのです。

検討違いの事をやっているかもしれませんが、教えてください

No. 2811 # あおい 2002/06/26 (水) 01:22:52
はじめまして、こんにちは。
HPを開いているのですがご相談があります。
ネットに関してまだ未熟なもので
申し訳ないですがよろしくお願い致します。m(__)m

BBSを2つほどレンタルして設置しているのですが
管理人の記事管理モードなどを使うと
書き込み相手の【ホスト名】というのが表示されています。
これを使ってアクセス制限などをするようなのですが
私のBBSでは1つが【4つの数字】の表示(【IPアドレス】ですか?)で
もう1つは【〜jp】での表示です。
これら【ホスト名】とは、パソコン1つ1つで絶対に違うものになるのでしょうか?
人によっては時々その数字やアルファベットが、多少変化しているのですが・・・。
同じ物は絶対に存在しないのでしょうか?

例えば学校内の1つの部屋に沢山のパソコンを置いている場合、
どのパソコンを使ってもこの【ホスト名】は別々のものになりますか?
それとも同じになる事もあるのでしょうか?

このような質問をさせて頂いたのは実はBBSに書き込みされてる方で
『2つのHNを使い、別人を装ってるのではないか?』と
思われる人がいるからなんです。
その2人の人物はいつも同じ日、同じ時間に書き込んでいるのですが
【ホスト名】が常に同じだったので疑った所
『友人で2人とも学校から書き込んでいる』といいます。

その人物達のホスト名は他の方達が【〜ne.jp】で終わってる所
【fm〜ngn.ed.jp】となっています。これは学校や団体を指すのでしょうか?

わかりにくい文面で申し訳ないですが、
大変困ってますので、どうかよろしくお願い致します・・・。m(__)m

No. 2812 # 68user 2002/06/26 (水) 06:18:33
>>2810 りょうこ
よいと思います。あるいは MY_ALIAS で指定するとか。

>>2811 あおい
> それとも同じになる事もあるのでしょうか?
proxy サーバを経由しないと外に出られないようになっているなら、
ホスト名や IP アドレスは proxy サーバのものになります。学校や
会社などではよくある形態です。

> その人物達のホスト名は他の方達が【〜ne.jp】で終わってる所
> 【fm〜ngn.ed.jp】となっています。これは学校や団体を指すのでしょうか?
ed.jp は小・中・高等学校などです。詳しくは
    http://www.nic.ad.jp/ja/dom/basics.html
をどうぞ。ngn は「長野県」でしょうね。

No. 2813 # has 2002/06/27 (木) 02:17:48
>>2806 68user
perl実行時にstraceしながらtcpdumpしましたが、パケットは流れませんでした。
ただstraceで若干気になったところがあるんですが、

socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168\
.0.1")}}, 28) = 0
send(3, "9\307\1\0\0\1\0\0\0\0\0\0\3www\2jp\7freebsd\3org\0"..., 36, 0) = 36
gettimeofday({1025110376, 462410}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 5000) = 0

と出力されるうち、sendの戻り値36は何を示しているんでしょう?
# ちなみにプログラムはpollでタイムアウトを繰り返して終了します。
固定IPを指定してみましたが、やはり同様に名前解決できませんでした。
ipv6を切るのは、やり方がわかっていないのでまだやっていません。
Webの検索をしたときにSolarisで同じような問題にぶつかって、
それについてMLで質問している記録が掲載されていたのを見付けたので、
その人に直接メールで聞いてみようかなぁ。
# その記事には結末が載っていませんでした

No. 2814 # 68user 2002/06/27 (木) 21:50:03
>>2813 has
> sendの戻り値36は何を示しているんでしょう?
送信したバイト数ですが、この結果だけ見ればちゃんと query を
送信しているように見えます。

というわけで、strace は手詰りですね。後は netstat -s で統計
情報に何か出ていないか調べてみる、くらいしか思い付きません。

No. 2815 # moto 2002/06/28 (金) 00:42:40
こんにちは パールのコードについて教えてください。
ログの読み込みなのですが、ファイルハンドルをオープンして通常は
@log = <FH>; のような形で取り込むのですが、ログファイルの先頭の
1行だけ必要な場合、その1行だけを取得することはできるのですが、
書き換えたその1行を元の先頭に戻したいのです。
メモリ食いの @log = <FH>; は使わないで、while(<FH>){nantoka;} のような形で解決するコードは無いでしょうか。
よろしくお願いします。

No. 2816 # 68user 2002/06/28 (金) 01:02:12
>>2815 moto
use IO::Handle して、sysopen して、<FH> して、先頭に
seek で戻って print でいけるかな。

ただし、1行あたりの文字数が変わらない場合のみです。

No. 2817 # moto 2002/06/28 (金) 23:45:06
こんにちは 68user さん
掲示板のログの読み込みに関してだったのですが、やはり、上手い手は無いようなのですね。
いつも思うのですが、open 関数の >> の追加書き込みでログの先頭に書きむ選択肢もあったら、while 関数ももっと活躍できるのにと残念です。
お騒がせしました。 

No. 2818 # 68user 2002/06/28 (金) 23:50:32
>>2817 moto
> open 関数の >> の追加書き込みでログの先頭に書きむ選択肢もあったら
と言われて思い出しましたが、 +> や +>> ってのがありましたね。

ただ、繰り返しになりますが、文字や行の挿入はできませんよ。
あくまで上書きのみです。よって、あまりうれしくないかも。

No. 2819 # 飛鳥 2002/07/01 (月) 16:56:36
教えてください。
vi エディッタで rm ファイル名で ファイルを削除してしまいました。
復元する方法はありませんか???
よろしくお願いします。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2820 # 68user 2002/07/01 (月) 18:14:37
>>2819 飛鳥
一般的な UNIX のファイルシステムであれば、消したファイルは
復活できません。あきらめましょう。

No. 2821 # 飛鳥 2002/07/01 (月) 19:37:24
ありがとうございます。
素直にあきらめます。。。。。。。。。

No. 2822 # help 2002/07/01 (月) 20:23:12
javaのRuntimeクラスを使いシェルスクリプトを実行させたのですが、
シェルスクリプトに引数が渡りません。
以下の記述をしてます。
Runtime.getRuntime().exec("test.sh","param");

シェルスクリプト側で$1変数から引数の値が取得できてません。
解決方法を知ってる方は教えて頂けないでしょうか?

No. 2823 # 68user 2002/07/01 (月) 22:26:27
>>2822 help
試してませんが
    String args[]={"test.sh", "param"};
    Runtime.getRuntime().exec(args);
とか
    Runtime.getRuntime().exec(new String[]{"test.sh", "param"});
とかとか。

# 文法あってるかな・・・。

No. 2824 # help 2002/07/01 (月) 22:38:29
>>2823 68user
わざわざ返答ありがとうございます。
返答された記述も上手くいきませんでした。
シェルスクリプト内で行っている処理なんですが、
引数で渡された値からファイルを削除する処理で
以下のような記述をしてます。

#!/bin/sh

/**
      別の処理
*/
rm -rf $1

No. 2825 # 68user 2002/07/02 (火) 09:08:42
>>2824 help
> 返答された記述も上手くいきませんでした。
何がどううまくいかなかったですか? また、うまくいかないと判断した根拠は何ですか?
コマンドラインからシェルスクリプトを実行すると動くんですか?

うちの Solaris8+J2SE SDK 1.3.1 では
        String args[]={"test.sh", "param"};
        Runtime.getRuntime().exec(args);

        Runtime.getRuntime().exec(new String[]{"test.sh", "param"});
それに
        Runtime.getRuntime().exec("test.sh param");
も動きました。

そもそも
> Runtime.getRuntime().exec("test.sh","param");
はコンパイルできなかったのですが、そちらではコンパイルできているん
でしょうか?

なお、Runtime#exec の出力結果を取得したいならこちらを。
    http://www.ongs.net/daichi/java/runtimeexec/index.shtml

これをやらなくても画面に表示されないだけで、実行はされています。

No. 2826 # help 2002/07/02 (火) 10:25:45
>>2825 68user
説明不足で申し訳ありませんでした。
おかげさまでシェルスクリプト内で
以下の記述を追加して解決できました。

//削除したいファイルのパスに移動
cd /XXX/XXX
rm -rf $1

No. 2827 # Tetsu 2002/07/02 (火) 22:00:58
はじめましてTetsuといいます
早速ですが質問があります
WindowsでTCP/IPのプログラムを作っているのですがサーバーはどれにあたるのですか?
メールサーバーでしょうか?それともWWWサーバーなのか良くわかりません
自分ではチャットみたいなプログラムを作りたいと思うのですがサーバーとクライアントの関係がまだ良くつかめません
具体的に教えてもらえると助かります

No. 2828 # 68user 2002/07/02 (火) 23:12:31
>>2827 Tetsu
「はじめにプロトコルありき」と考えるのはどうでしょうね。

    HTTP というプロトコルがあります。HTTP を喋るサーバと
    HTTP を喋るクライアントが必要です。HTTP を喋るサーバは
    web サーバです。HTTP を喋るクライアントはブラウザです。
    よって、web サーバとブラウザがあれば HTTP で遊べます。


で、あなたはチャットみたいな機能が欲しいと。プロトコルは何にしますか?
    1. IRC
    2. HTTP (web 上でのチャット)
    3. 自作プロトコル

1 の場合、IRC というプロトコルは既に存在します。IRC プロトコルを喋る
サーバは既に存在します。IRC プロトコルを喋るクライアントは既に存在します。

よって、IRC サーバと IRC クライアントをインストールすれば OK です。もし
IRC サーバに不満があるなら自作することもできます。IRC クライアントに
不満があるなら自作することもできます。

2 も 1 と同じ。

3 の場合、あなたが新しいプロトコルを設計します。何から何まであなたが
勝手に決めます。しかし、そのプロトコルを喋るサーバもクライアントも
この世には存在しませんので、両方とも自作する必要があります。

…というので回答になってますか?

No. 2829 # Tetsu 2002/07/02 (火) 23:35:56
回答ありがとうございます
自分の聞きたかった質問の解答になってます
ありがとうございます
早速1か2の方法でためしてみたいと思います
3はもう少し勉強してからのほうがいいと思うので

No. 2830 # 68user 2002/07/03 (水) 02:11:27
>>2829 Tetsu
> 早速1か2の方法でためしてみたいと思います
という選択をするのはそれはそれで構わないのですが、チャットアプリを
作ることが目的ではなく、TCP/IP プログラミングの勉強が目的なのなら、
多分遠回りになります。


まずは入力された文字を参加者全員に返すサーバを作る。クライアントは
telnet コマンドで代用。

そこからどんどん機能追加して、名前を入力できるようにしたり、部屋を
作れるようにしたり、誰かが入室・退室したときは全員に通知するように
したり、ファイル送受信できるようにしたり…という方がいいかもしれません。

No. 2831 # シド 2002/07/03 (水) 11:26:28
教えてください。
あるマシンで NFS の share を行って、他のマシンからそれのディレクトリを
mountすると、他利用者に何か影響を及ぼすようなことが発生するのでしょうか?

No. 2832 # シド 2002/07/03 (水) 11:28:33
連続してすみません。
教えてください。

dfmountsコマンドを使用する場合、動作環境の条件は、どのようなものがよろしいのでしょうか?

No. 2833 # knockout [E-mail] 2002/07/03 (水) 16:01:01
始めまして。UNIX初心者です。
cシェルを主体としているUNIXにログインしているんですが、
自作のプログラミングを流すと、

: 構文エラー at line 59: `end of file' unexpected

というエラーメッセージが出るんですが、
ファイルのエンドコードがないっすって意味だと思うんですが
この対処法とかあったら教えて下さい。

因みに自分の記述は一行目から
"#! /usr/bin/sh"とかって、シェルがちゃうやん!!
みたいな指摘もあったりなかったり(爆

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2834 # 麻耶 2002/07/03 (水) 17:33:52
はじめまして。
HTTPクライアントについて教えて頂きたいのですが、C言語でHTTPクライアントを作成したく、こちらの「C言語でHTTPクライアントを作ってみよう」を参考にしております。それで、そちらにあるソースではGETの場合を例にしておりますが、これはPOSTでも可能なんでしょうか?また、その場合どのようにすればよろしいのでしょうか。
よろしくお願いします。

No. 2835 # 68user 2002/07/03 (水) 18:01:01
>>2883 シケ゛
> : 構文エラー at line 59: `end of file' unexpected
直訳すると
    予期せぬ「ファイルの終わり」
意訳すると
    次に○○が現れると予想していたのに、ファイルの終端まで
    到達してしまった

というわけで、if に対応する then や fi がないとか、case を esac で
閉じてないとか、そういったことでしょう。

# ファイルの最終行に改行コードがないという可能性も捨て切れませんが。

> ファイルのエンドコードがないっす
UNIX にはファイルの終端コードというものはありません。


>>2834 麻耶
> これはPOSTでも可能なんでしょうか?
可能です。
    http://x68000.startshop.co.jp/~68user/net/http-4.html
を読んでください。

No. 2836 # 68user 2002/07/03 (水) 18:40:59
>>2831 シド
僕は NFS に詳しくないのでよくわかりませんが、返事が付かないのは
質問が曖昧だからでしょう。

まず、OS とバージョンが不明です。

>>2783 シド
> - /home rw=nini:gp7000s,root=gp7000s "File Service"
GP7000S っていうことは Solaris か UXP/DS か HP-UX かなぁと
思いますが (Solaris しか載らないんでしたっけ?)、ちゃんと
サーバとクライアント両方について、OS とバージョンを明記
すべきです。

また、何をどう設定したのかがわかりません。share の引数は?
NFS クライアントからどうやってマウントしたのですか? NFS
クライアントからは正常にアクセスできているのですか?


> 動作環境の条件はどのようなものがいいか
どのような、って何を聞きたいのかわからないです。うまく動作しないのは
動くための条件をクリアしていないのではないか、ということですか?

> 他利用者に何か影響を及ぼすようなことが発生するのでしょうか?
「他利用者」ってどのマシンの利用者ですか? クライアント? サーバ?
要は何か問題が発生しているのですか? ただ単に心配しているだけですか?


業務で使用していて問題が発生しているなら、サポートに聞いた方が
いいと思いますよ。そっちの方が早いし、正確だし、とことんまで
調べてくれるでしょう。

あとは、人の多い
    http://pc.2ch.net/unix/
で質問してみるとか。この掲示板なんて、1日100〜200程度のアクセスしか
ありませんので。

No. 2837 # 麻耶 2002/07/03 (水) 18:43:07
回答ありがとうございます。
幾度か試してみまして、出来ませんでしたのでこちらに書き込んだのですが、よく確認しましたところ空行の入れ忘れでした。本当に申し訳ありませんでした。

No. 2838 # シド 2002/07/03 (水) 19:30:22
すみません。
書き込みの内容が、曖昧でした。私の使用しているのは、確かにSolaris です。
(クラスタサーバモデルなので2つともです。)
shareの実行は、「share -F nfs -o rw=ss10:gp7000s,root=gp7000s -d "File Service" /home」
上記の共有を実行しました。
これをもう1つ別のサーバでマウントして、dfmountsを行う。
(dfmounytsはオプションにサーバ名を入れる事が出来た)
このときdfmountsを行う動作環境として何か問題または、条件が有りますか。

No. 2839 # 遅くなりましたが・・・ [E-mail] 2002/07/04 (木) 10:02:43
回答ありがとうございました(^^)
無事プログラム流れてくれました。
結局、if文内にあったechoのダブルクォーテーション不足でした
ご迷惑かけました(^^;

No. 2840 # 紅絹 2002/07/04 (木) 14:47:49
教えていただきたいのですが、HTTPでファイル転送するものをC言語で作りたいのですが可能でしょうか?
また参考をなるものがありましたら教えて頂けないでしょうか。
よろしくお願いします。

No. 2841 # かず 2002/07/04 (木) 16:27:29
すいませんが、どなたか文字列置換に詳しい方がいらっしゃいましたら教えていただきたいんですけど、あるディレクトリ以下の全てのファイルを対象に文字列置換を行う際の書式を教えて下さい。
で、文字列中に記号や空白が含まれるので、例えば「top.test/mail.html」という文字列を「i = window.close();」という文字列に置換する際はどういったコーディングになるのか教えて頂けたらさいわいです。
sedコマンド等で色々と試したのですがどうしても上手く行きません。
どなたかわかる方いらっしゃいましたら教えて下さい。
もう3日ほど悩んでいます。。。お願いします。

No. 2842 # 名無しさん 2002/07/04 (木) 16:49:07
>>2841 かず
Perlで、
s#top\.test/mail\.html#i = window.close();#g;
とか・・・
s#\Qtop.test/mail.html\E#i = window.close();#g;

No. 2843 # シゲ 2002/07/04 (木) 20:46:21
お世話になっています。
初心者の質問で申し訳がありません。
MA-300というハードにPostgreSQLをインストールをしました。
そこで、自動起動を行いたいのですが、
/etc/rc.d/rc.local
に起動コマンドを書き込んでも起動しません。(red hatでは起動したので、コマンドは正しいかと思います。)
私の初心者ながらの推測では、起動時にrc.localは呼ばれていない気がします。(rc.localの中身は空なので、現状では呼ばれなくてもさしあたりがない。)
そこで、またまた初心者的な発想なのかもしれませが、
/etc/rc.d/rc.sysinit
に、直接コマンドを書き込んでもいいのでしょうか?

ご教授ください。
また、他にいい方法があれば、お教え願います。
よろしくお願いします。

No. 2844 # Tetsu 2002/07/04 (木) 22:48:07
>> 早速1か2の方法でためしてみたいと思います
>という選択をするのはそれはそれで構わないのですが、チャットアプリを
>作ることが目的ではなく、TCP/IP プログラミングの勉強が目的なのなら、
>多分遠回りになります。
すみません少し勘違いしてました
目的はTCP/IPプログラミングの勉強です チャット機能を持ったプログラムはTCP/IPを理解する上で作りたいと思ってるものです
で質問なのですがサーバプログラムは作成しないといけないのでしょうか?
プロバイダーのサーバにつないでMSNメッセンジャーのような感じで作りたいのですが

No. 2845 # 68user 2002/07/05 (金) 00:37:15
>>2840 紅絹
> HTTPでファイル転送するものをC言語で作りたいのですが可能でしょうか?
やろうと思えば何だって可能ですが、そもそもファイル転送って何ですか?
ファイルを GET することですか? それとも
      http://tohoho.wakusei.ne.jp/wwwxx034.htm
のようにファイルをアップロードすることですか?

>>2843 シゲ
> /etc/rc.d/rc.local に起動コマンドを書き込んでも起動しません。
Linux なら
    http://www.zdnet.co.jp/help/howto/linux/0007master/01/08.html
のように S99PostgrSQL と K99PostgreSQL を作るのが普通だと思います。

>>2844 Tetsu
> で質問なのですがサーバプログラムは作成しないといけないので
> しょうか? プロバイダーのサーバにつないでMSNメッセンジャーの
> ような感じで作りたいのですが
IRC や ICQ や MSN メッセンジャーのように、既にどこかにサーバが
立ち上がっているのなら、わざわざサーバは作らなくてもいいです。

ただし、こういうのを読んでプロトコルを理解する必要があります。
    IRC: http://www3.alpha-net.ne.jp/users/tycho/mokuji.htm
    ICQ: http://www.d.kth.se/~d95-mih/icq/
    MSN メッセンジャー:
              http://www.tlsecurity.net/Textware/Misc/draft-movva-msn-messenger-protocol-00.txt (これは古い)

作るのにとても苦労するでしょうけど、まぁこういうのが好きならば
結構楽しいと思います。

    苦労しつつも楽しんでいる人々: http://pc.2ch.net/test/read.cgi/tech/1006154451/

No. 2846 # シド 2002/07/05 (金) 10:02:14
マウント、シェア関係はほとんど解決できました。

1つ解らないことがあるので、教えてください。
sunOS Solaris7 を使用しています。
NFS サーバーで NFS サービスの実行があるのですが
dfmountsコマンドを実行したいとき、どのデーモンを起動すればいいのか?

mountの場合、mountdプロセスが起動していれば、mountコマンドが実行できました。

No. 2847 # mattu 2002/07/05 (金) 11:39:58
教えてください。
現在POSTをつかったHTTPクライアントをC言語で作成しているのですが、[HTTPクライアントを作ってみよう]のPOSTメソッドを参考に
        sprintf(send_buf, "POST %s HTTP/1.0 \r\n", path);
        write(s, send_buf, strlen(send_buf));
        sprintf(send_buf, "Content-Length:8\r\n");
        write(s, send_buf, strlen(send_buf));
        sprintf(send_buf, "Content-Type:text/plain\r\n", path);
        write(s, send_buf, strlen(send_buf));
        sprintf(send_buf, "\r\n");
        write(s, send_buf, strlen(send_buf));
        sprintf(send_buf,"NAME=aaa\r\n");
        write(s, send_buf, strlen(send_buf));
という風に作ってみたのですが、ヘッダの方は正常に送信されている
みたいですが、パラメータが正常に送信されていないようなんです。
ご指摘よろしくお願いします。

No. 2848 # かず 2002/07/05 (金) 13:07:33
教えてくれた方、ありがとうございました。
その後四苦八苦してなんとか自分で解決できました。
ありがとうございました。

No. 2849 # 紅絹 2002/07/05 (金) 16:20:07
ご回答ありがとうございます。
ファイル転送についてですが、GETとアップロードの両方おこなうものを作りたいと思っています。説明不足で申し訳ありませんでした。

No. 2850 # しっぽ 2002/07/08 (月) 11:26:17
はじめまして、いつもお世話になっております

PerlでTCPのSYNを一度だけ投げて任意の時間内にSYN ACKが返ってこなかったら
タイムアウト処理を、と言ったことをしたいのですが、以下のプログラムでは
うまく行きませんでした。TCPdumpで見てたところ、何回もSYNを投げなおした後
数分後にやっとエラーメッセージを表示してくれます。

よくよく見てみたところ、リトライの間隔がTimeOutの設定に関係なく
最初は3秒、次が6秒、12,24,48秒となっていて最後に96秒待った後
エラーメッセージを出す動きをしていました。

何かアドバイスなど有りましたらよろしくお願いいたします
なお、PerlのVersionはThis is perl, v5.6.1 built for i386-linux-thread-multi です

    $socket = new IO::Socket::INET (
        PeerAddr => "$address",
        PeerPort => "$port",
        Proto => 'tcp',
        TimeOut => 10 );

    unless ($socket) {
        print STDERR "Connection Error at $date\n";
        close($socket);
        }

Prev< No. 2756〜2850> Next  [最新発言に戻る] [過去ログ一覧]