68user's page 掲示板

Prev< No. 1684〜1782> Next  [最新発言に戻る] [過去ログ一覧]
No. 1684 # moe 2001/01/30 (火) 23:55:53
はじめましてメールについてお聞きしたことがあります。
mailxやsendmailで送信したメールでアドレスが存在しなかった場合
そのメール自身はどうなるのでしょうか?
やっぱりサーバーの送信ユーザーに返信されるのでしょうか?
よろしくお願いします。

No. 1685 # rosegarden 2001/01/31 (水) 10:10:02
68user さん、お忙しいみたいですね。
>>1684 moe
> mailxやsendmailで送信したメールでアドレスが存在しなかった場合
> そのメール自身はどうなるのでしょうか?
> やっぱりサーバーの送信ユーザーに返信されるのでしょうか?

私は MTA としては sendmail 以外には使ったことはありません。その場合に
話は限定されますが、基本的にユーザに返送されます。
ただし、リトライ設定がしてある場合には(デフォルトは 7 日)は再送を試みます。
ただし、それは、宛先ホストが DNS などにより存在が確認されている場合の話です。
もしも、DNS で引けないと即時に返送されたと思います。
一口に「アドレスが存在しなかった」といっても
(1) ドメイン部が存在しない。MX フィールドの検索の失敗
(2) ユーザが存在しない。
(3) 存在しているが、サーバが落ちていて、メールが受け取れない
などといった状況があります。

問題は、差し出したユーザが存在しない場合で、これはちょっと分かりません。
それから、そういうメールがどうなるかですが、
8 年くらい前に、内部ネットワークの変更のあったドメインにメールを出した
ことがあり、宛先ドメインのポストマスターから
「ちゃんと宛先を確認してください」というメッセージとともに
私の送ったメールが添付されていたことがあります。
ポストマスターが手動でメールを返送して来たことになります。
(私のメールの本文は、テキストエディタのファイル挿入かなんかでそ
のメールにインクルードされていた形跡があったので、そう判断したのです。)
ちなみに、うちのネットワークの場合、エラーを起こしたメールはヘッダーだけ
私に全部到着するようになっています。単純に postmaster 宛のメールを
自分に forward しているだけですが...。

>>1683 mimishiro
> 幾つかのサーバーに2つのC言語プログラムを使う権限を与えて
> 共有ファイルを変更更新させるようなプログラムの例があれば
> 教えてください。
次の情報が必要かと思います。
(1) サーバのオペレーティングシステム。最低でも NT か UNIX かは要ります。
以下は UNIX だとします。NT だと、少なくとも私は分かりません。
(2) 「共有ファイル」というのは何で実現していますか? nfs でしょうか?
(3) 「2つのC言語プログラム」というのは、簡単にどんな役割や機能を
もっているのでしょうか?
(4) 「変更更新」の意味をもうすこし詳しく。すべてのサーバに同じ
内容のファイルを共有させるように「変更更新」させるのか?
あるいは、サーバごとに違う情報を持たせるように「変更更新」して、
すべてのサーバに共有させるようにするのか?
> その時サーバーにコンパイラを 持たせなくてもプログラムを
> 動かすことはできるのですか?
コンパイル済なら、動かすことはできます。ところがサーバごとに
アーキテクチャが違う場合には、持たせる必要はなくても
アーキテクチャごとに対応するコンパイラでコンパイルしておく必要は
あります。アーキテクチャが同じでも FreeBSD/i386 と Linux/i386 では
違う実行ファイル形式になるので、それも考慮に入れる必要があります。
コンパイラがいらなくても、ダイナミックリンクライブラリを使うような
ケースだとライブラリ自体をインストールする必要があります。
> 何もかもわかりません。
ご謙遜だと思われますが、上記のようなケースが考えられるので、
まったく何もかも分からないのでは、答えを得られても手も足もでないかも
しれません。運良く、目的にあったプログラムを見つけられても
最低限 ./configure 一発で済むようなソフトのビルドをした経験が
ないと実際の運用は難しいように思われます。サーバの編成次第では
実行ファイルをコピーしてすまないかもしれないからです。

# まあ、前座の回答と言うことで、とりあえずこれで間に合わせてください。

No. 1686 # 68user 2001/01/31 (水) 23:19:28
>>1685 rosegarden
うーん、SMTP サーバの管理をしたことはありませんが、
    (1) DNS サーバにアクセスできない
    (2) DNS サーバにアクセスした結果、存在しないドメイン/ホストで
            あることがわかった (名前解決できない)
    (3) DNS サーバにアクセスした結果、存在するドメイン/ホストだが
            (名前解決できた) 、相手先/中継先の SMTP サーバに接続できない
    (4) 相手先/中継先の SMTP サーバに接続したが、ユーザが存在しない
1,3 は再送し、2,4 は即座にエラーメールが返ってくる、かなぁと
経験上思っているのですが。試したわけではありません。

# とはいえ、やっぱり sendmail だから、こんなに単純な話では
# ないだろうなと想像してたりします。

> 問題は、差し出したユーザが存在しない場合で、これは
> ちょっと分かりません。
相手先の SMTP サーバから
    From: Mail Delivery Subsystem <MAILER-DAEMON>
なメールが返ってくると思います。FreeBSD+sendmail なら
/usr/libexec/sendmail/sendmail が返しているようです。

自分が SMTP サーバに指定しているユーザ宛のメールなら、
SMTP で
    RECT TO:<unknown@bar.com>
とする時点でエラーになるので、メーラー自家製のエラー
メールもどきが返ってくるか、あるいはメーラーがエラー
メッセージを出して終わりかもしれません。

No. 1687 # Q駒田 [E-mail] 2001/02/01 (木) 15:17:01
Motifの質問なのですが,誰か分かる方がいればお願いします.
XtPopupでPopup画面を何個も画面表示している状態です,その
画面のOKボタンをクリックすると,画面が消去するする様にした
いので,XtPopdown(Widget)関数を使いたいのですが,複数画面
なので そのWidgetをゲットしてくれる関数は無いでしょうか.
知っていたら教えてください.

No. 1688 # eio [E-mail] 2001/02/02 (金) 01:49:21
UNIX(ソラリス)において、Cシェルまたはbシェルで一般ファイルのNULL文字を1バイト英数字(スペースを含む)に置き換えることができるのでしょうか?だれか知っていたらおしえてください。※1バイト英数字(スペースを含む)をNULL文字に置き換えることはできるとおもうのですが・・・

No. 1689 # ふにふに [URL] 2001/02/02 (金) 08:33:42
はじめまして。x68030にNetBSDを入れようと思っているのですが、どうも調子が悪いです、どなたか上手くいった方いましたら教えて下さい。
今、NetBSD1.4.3でチャレンジしているのですが、boot後、MMUのエラーが出てハングします。MPUはMC68030に載せ変えてるのに何故??。
NetBSD本のCDだと、インストール後、設定してるといきなりハングするんです。まいったなぁ。

http://circle.excite.co.jp/club.asp?cid=q0800068

No. 1690 # おじさん [E-mail] 2001/02/02 (金) 18:54:20
はじめまして、最近unixを始めたおじさんです。
わかる方おりましたら教えてください。
あるディレクトリーの下のファイルを定期的に削除したい
しかし、特定のディレクトリー(etc.binなど)の下はさわりたくない。又 ディレクトリー名は随時作られるために固定できない

No. 1691 # 紅の猫 [E-mail] 2001/02/02 (金) 21:10:20
はじめまして。
Windowsでネットワークプログラミングを行っていますが、bzero関数がWindowsでは無いみたいです。
代わりになるようなものが、見当たらないのですが、この関数はどういう働きをするのですか?

No. 1692 # 紅の猫 [E-mail] 2001/02/02 (金) 21:15:10
bzeroの他に、bcopyも判りません。
こちらも教えてください。

No. 1693 # 68user 2001/02/02 (金) 22:00:19
>>1687 Q駒田
> Motifの質問なのですが
うーん、すいませんがわかりませんです。

>>1688 eio
> 一般ファイルのNULL文字を1バイト英数字(スペースを含む)に置
> き換えることができるのでしょうか?
tr '\0' X でよござんすか?

>>1689 ふにふに
> x68030にNetBSDを入れようと思っているのですが
あぁ…、68user's page なのに全然 X68000 じゃないページに
ようこそ。ですが、残念ながら全くわかりません。

>>1690 おじさん
> 削除したい
    http://X68000.startshop.co.jp/~68user/unix/pickup?rm
    http://X68000.startshop.co.jp/~68user/unix/pickup?rmdir
> ディレクトリー名は随時作られるために固定できない
固定できないとはいえ、何らかの法則性があるでしょうから、
それをキーに
    rm -rf ディレクトリ名
などなど。ということを行うスクリプトを sh や csh や perl で組んで、
> 定期的に
    http://X68000.startshop.co.jp/~68user/unix/pickup?crontab
で cron に登録しておけばよいです。簡単にやるなら、
    0 12 * * * /bin/rm -rf /target/dir/*
と書いておけば、毎日 12:00 に /target/dir/ の下にある
ファイル・ディレクトリが消されます。

>>1691 紅の猫
> bzero関数がWindowsでは無いみたいです。
bzero はゼロクリアで、bcopy はコピーです。
    http://www.freebsd.org/cgi/man.cgi?query=bzero&manpath=FreeBSD+4.2-RELEASE&format=html
bzero, bcopy は元々 BSD 系の関数です (が SystemV 系 UNIX にも
あります)。ANSI C 処理系では memset, memcpy を使います。

No. 1694 # 紅の猫 [E-mail] 2001/02/03 (土) 10:24:03
>>1693 68user
ありがとうございます。
どうにか、http-client-1が動くようになりました。

No. 1695 # けんす 2001/02/04 (日) 00:23:41
こんばんわ。先日はどうもでした。

掲示板の改ページのとこがいまいちよく分からないのですが、
とほほラウンジの

http://www.wakusei.ne.jp/twn/wwwlng.cgi?print+199901/99010207.txt

68userさんの、スマートでよさげなので参考にしたいのですが、
「次」だけでなく「前」と、「以上 31 から 58 番目の発言です。」
みたいなの付けたいのですが、まったく分からないです。。
よかったらご教授くださいませ、、。

No. 1696 # 68user 2001/02/04 (日) 01:09:16
>>1695 けんす
B-Cus 1999/01/27(水) 03:02:50 の形だと、
    発言が 40 件あるときに start=30 とすると「次の10件」が
    表示されない (41件目かどうかで判定しているから)
という問題点があるので、ちょっと構成を変えて、
    $start=1;
    $count=1;
    $next_page_exist = 0; # 次ページが存在するか
    $messages_per_page = 10; # 1ページ 10件ずつ表示
    if ( $ENV{QUREY_STRING} =~ m/start=(\d+)/ ){
        $start = $1;
    }
    open(IN,"data.txt");
    while (<IN>){
        if ( $count >= $start ){
            ($name,$content) = split(/,/,$_);
            print "名前:$name 内容:$content<br>\n";
            if ( $count == $start+$messages_per_page ){
                $next_page_exist = 1;
                last;
            }
        }
        $count++;
    }
    if ( $start != 1 ){ # 1件目から表示しているときは「前のxx件」を出さない
        printf qq(<a href="hoge.cgi?start=%d">前の$messages_per_page件</a>),
            $start-$messages_per_page ? ;
    }
    if ( $next_page_exist == 1 ){ # 次ページが存在しない場合は「次のxx件」を出さない
        printf qq(<a href="hoge.cgi?start=%d">次の$messages_per_page件</a>),
            $start+$messages_per_page;
    }
    printf "以上 %d から %d 番目の発言です。\n", $start, $count-1;
という感じになります。動かしていないのでバグがあるやも
しれません。

あと、start=7 のときに「前の10件」が hoge.cgi?start=-3 と
なりますが、これは宿題ということで。

No. 1697 # BOSS [E-mail] 2001/02/04 (日) 16:53:51
私は、ネットワーク管理をやっている者ですが・・どうしても原因の分からない問題にぶつかったので、分かる方いたら教えてください。
    とある、プロバイダーのMailサーバーを管理しているのですが、全国いろんな環境からサーバーにMailを取りにきます。OCN-エコ-128kで接続してくるお客さんだけが、POPを取りにくるときタイムアウトしてしまいます・・同一症状が5カ所で出ております。トラフィック上は何の問題もなく、症状が現れたのは、4日前サーバーセンターに異常が出て、同一センター内にサーバーを設置している別会社がネットワーク構成を変えてからです。 弊社Mail+DNSサーバー(同一マシーン)に使っているOSはFREE-BSD3.3 qpopper3.1.2を利用中・・。
    問題の出ているCliantからTracertしても異常は無く、DNSも問題なく引けてます、WWWは問題なく好調です・・。
    関係有るかは分かりませんが、OCNのその5カ所は211.***.***.***のネットワークになっています。 それ以外のネットワークのOCNでは問題は起こっておりません。 OCN側は、異常は無いと言い張っているので、原因がさっぱり分かりません・・。 
    どなたか、分かる方なにが考えられるか教えてください。

No. 1698 # 68user 2001/02/04 (日) 21:34:03
>>1697 BOSS
> CliantからTracertしても異常は無く
> DNSも問題なく引けてます、WWWは問題なく
qpopper が IP アドレスから FQDN を逆引きしようとして、
逆引きできないか、タイムアウトしている、というのは
考えられませんか? qpopper は何かログを吐いてませんか?

No. 1699 # けんす 2001/02/05 (月) 03:10:16
>>1696 68user
ばっちりでしたー。
すばらしいっす。感謝です68userさん。

http://www.kensu.com/bin/plywood.php
ごめんなさい。Perlじゃないです。
いつもここの掲示板、参考にしてますm(_ _)m

> あと、start=7 のときに「前の10件」が hoge.cgi?start=-3 と
> なりますが、これは宿題ということで。

あまり自信ないですけど、、

if ( $start != 1 ){ # 1件目から表示しているときは「前のxx件」を出さない

の部分を

if ( $start - $messages_per_page >= 1 ){

にしてみたら、いちおうできたみたいです、、
もしよかったら、正解を教えてくださいませ。

あとちょっと気づいたことなんですが、
「次へ」で見てみると、前のページの一番最後にあった発言が
また最上部へでてくるのですが、これは仕様ですか??
ちゃんと次のページへきたという安心感があってべつに問題ないのですが、
いちおうきいてみました。

ではー

No. 1700 # 68user 2001/02/06 (火) 00:48:42
>>1699 けんす
ああそうか…、ログの先頭が新しい書き込みで、最後が古い
書き込みなのね。僕は、この方式に start=xx 式の管理を
組み合わせるのはまずい仕様だと思います。

例えば、現在
    http://www.kensu.com/bin/plywood.php?start=30
とすると、No.64〜34 が表示されます。

しかし、今後書き込みがあると、同じ URL でも No.65〜35、
No.66〜36 とだんだんずれていきます。これでは特定の話題を
指して URL を示すことができません。

一方、
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=601-700
のように、古い順から数えて 601〜700 であれば、今後
いくら発言があろうと発言内容は変わりません。

# この点を仕様として考えておられるのでしたら失礼。

> if ( $start - $messages_per_page >= 1 ){
> にしてみたら、いちおうできたみたいです
これだと
    http://www.kensu.com/bin/plywood.php?start=10
のときに、「前」リンクが表示されません。まぁ、これを
バグと取るか仕様と取るかは人によるかもしれません。

> 前のページの一番最後にあった発言がまた最上部へ
> でてくるのですが、これは仕様ですか??
いえ、バグです (笑)

あと、ソースを公開されておられるのは大変素晴らしいですね。
僕は php を使ったことはありませんが、概要くらいは知ることが
できました。

# そして、php であっても、一つのスクリプトにまとめようとすると
# 結局 perl 的な書き方になってしまうのだなぁと思いました。

No. 1701 # TK [E-mail] 2001/02/07 (水) 20:41:41
質問です。CGIプログラムから別のCGIプログラムは実行できますか?
リンクチェッカーをCGIで作ったのですが、ブラウザ上から実行できる
ようにしようと思ってボタンを作ったのですが、全くだめでした。
誰か知っている人がいたらおしえてください。お願いします。

No. 1702 # 68user 2001/02/08 (木) 01:04:31
>>1701 TK
> 質問です。CGIプログラムから別のCGIプログラムは実行できますか?
情報が何も書いてないので、できます、としか言いようがないです。

No. 1703 # rosegarden 2001/02/08 (木) 05:12:49
以前に 4-stable は不安定と言いましたが、
最近は安定していますね。少なくともうちでは安定しています。
新しいデバイスドライバ試す程度なら、大丈夫でしょう。
ただし、2/1 から 2/4 までの間のソースは ipfw にバグが
あるのでその期間のソースからはビルドしない方が良いです。

No. 1704 # 68user 2001/02/08 (木) 10:20:18
>>1703 rosegarden
> 以前に 4-stable は不安定と言いましたが、最近は安定していますね。
もう SNAPSHOT ってなくなったんでしたっけ。freebsd-stable も
流し読みなので (読まずに捨てているとも言う)、最近は恐くて cvsup
できません。

No. 1705 # Sakiik [E-mail] 2001/02/08 (木) 13:29:28
はじめまして。
Sakiikaと申します。
長文失礼します。

このたび、UNIX_Cを触ることになってHPを参考に
させていただいているのですが、ライブラリルーチンの
opendirを使ったプログラムを書いたのですが、
while ((dir = readdir(dp)) != NULL ){
でコンパイラエラーが出てしまい、うまく動作しませんでした。
原因を調査したところ、
struct direct *dir;

struct dirent *dir;
に変更したら動作するようになりました。
これは、UNIX環境によって、
struct directとstruct direntの2つが定義されているのでしょうか。

初歩的な質問ですが宜しくお願いします。

No. 1706 # rosegarden 2001/02/08 (木) 15:29:03
>>1704 68user
>もう SNAPSHOT ってなくなったんでしたっけ。
いや、まだあります。ただここ数日ビルドに失敗していますね。
したのは jpSNAP からのログです。
>===> etc/sendmail
>rm -f freebsd.cf
>(cd /usr/src/etc/sendmail && \
> m4 -D_CF_DIR_=/usr/src/etc/sendmail/../../contrib/sendmail/cf/ \
> /usr/src/etc/sendmail/../../contrib/sendmail/cf/m4/cf.m4 \
> freebsd.mc ) > freebsd.cf
>chmod 444 freebsd.cf
>+ touch /.buildworld_done
>+ tar cyf /4.2-STABLE-20010205-JPSNAP.tar.bz2 -C /usr/obj .
>tar: can't exec bzip2 : No such file or directory
>release releng4 ends at 2001/02/05 04:32:32
これ見ると、make buildworld は成功しているようです。ただ、
/usr/obj のパック(これは通常 make world する際には関係ありません。
jpSNAP サービス独自の処理でしょう)に失敗しているだけです。
これはメールしておきました。
>freebsd-stable も流し読みなので
最近はとくに留意する点はありません。昨年暮れと同様の方法で
make world 出来ると思います。一方 -current はちょっと、devfs がデフォルトで
採用されるようになったので、devfs 関係の記事を追ってないと
辛いかも知れません。ま、辛いとは言っても、ないデバイスは rc.devfs の
中でシンボリックリンク張れば良いだけですが。

No. 1707 # 雪ん子 [E-mail] 2001/02/08 (木) 16:27:38
雪ん子と申します。
初めて質問させていただきます。

CGI初心者ですが、参考書とWEBを参考にデーターベース(検索)なるのを
作成しています。
データはCSV形式で作成しており、ある条件に合致したものを表示する
ようにしています。
表示されたものにはリンクを貼りそれぞれのページを表示するように
しました。
しかし、情報が更新になる度に、リンク先のページのhtmlとデータの
CSVファイルの両方を更新しないといけないという二重でまになって
しまいます。
そこで、直接データベースからデータを引っ張り出して、リンク先の
ページを作成することは可能でしょうか。

因みに、こちらにテスト環境があります。
http://www.oitamirai.co.jp/cgi/search.html

No. 1708 # はじめ [E-mail] 2001/02/09 (金) 09:25:49
プロセス間で共有できるメモリの使い方を教えてください。
(システムコールshmget、shmat、shmdt以外で。)

No. 1709 # 68user 2001/02/10 (土) 01:02:31
>>1705 Sakiik
direct は dirent の typo です。こういうときは、man readdir
しましょう。正しい引数の数、型、戻り値、必要な include file
などの情報が書いてあります。

>>1706 rosegarden
ああ、なるほど。http://www.jp.freebsd.org/snapshots/ ですね。
僕の言った snapshot は、
    「stable の中で、比較的安定していた時点のものにタグを打ったもの」
という意味だったのですが、昔はそういうのがありません
でしたか? (記憶違いかな…)

>>1707 雪ん子
> 表示されたものにはリンクを貼りそれぞれのページを
> 表示するようにしました。
テスト環境ではリンク先に飛ぶことはできないのですね。リンク先の
HTML がどれだけの情報を含んでいるのか判断できないので、どういう
ふうにするのが最適なのかはわかりません。

とりあえず検索時に必要なデータと、リンク先にあるデータを全て
1つの CSV に突っ込んで、検索も表示も両方とも CGI でやってみては
どうですか。

# というような回答でよいのかな?

>>1708 はじめ
> プロセス間で共有できるメモリの使い方を教えてください。
> (システムコールshmget、shmat、shmdt以外で。)
shmget、shmat、shmdt 以外に共有メモリと呼ばれるものは
存在しないと思うんですが、もしかしてあったりするんでしょうか。

No. 1710 # rosegarden 2001/02/10 (土) 04:40:21
>>1709 68user
> 僕の言った snapshot は、
> 「stable の中で、比較的安定していた時点のものにタグを打ったもの」
> という意味だったのですが、
ああ、そういう意味でしたか。失礼しました。
そうなるとちょっと分かりませんです。すみません。

No. 1711 # gixs 2001/02/10 (土) 22:39:37
>>1708 はじめ

mmap(2)は共有メモリと呼べるかもしれません(現象的には共有ファイルになりますが)。
共有するには実ファイルが必要なことと、排他制御があるわけではないので、ひとつだけが書き込み、残りプロセスは読み込み専用、という場面でしか使えないかもしれませんが。

> direct は dirent の typo です。

Unixの生き字引みたいに、ここで名前は挙げられませんが、struct directがあるUnixはあったんじゃないですか?

No. 1712 # rosegarden 2001/02/10 (土) 23:43:37
>>1711 gixs
>Unixの生き字引みたいに、ここで名前は挙げられませんが、
> struct directがあるUnixはあったんじゃないですか?
言われて見れば、そんな感じしますね。
ちなみに FreeBSD の sys/dir.h みたらこんなのありました。

/*
  * Backwards compatibility.
  */
#define direct dirent
#define DIRSIZ(dp) _GENERIC_DIRSIZ(dp)

No. 1713 # nori 2001/02/12 (月) 14:03:06
FreeBSD3.2を使用していますが,ノートのPCカードのSCSIでCD−ROMを認識させたいです.カードはIODATAのPCSC−Fを使用しています.

No. 1714 # rosegarden 2001/02/12 (月) 15:54:25
>>1713 nori
> FreeBSD3.2を使用していますが,
FreeBSD 3.2-RELEASE は以前に使っていたのですが、その IODATA
のカードって新しいのでしょうか?
新しいとしたら、絶望的です。
3.2-RELEASE で PC card 類を使うには、PAO patch あてないと
無理だと思いました。もっとも、カードの抜き差しをあきらめることにして
起動時の userconfig や visualconfig 使えば、とりあえず
認識させることは出来ます。irq とか io アドレス類を指定すれば
無理矢理に使うことは場合によっては出来ます。
ただし、CD-ROM ドライブ使うごとに shutdown/boot の繰り返しになりますが。
それに、3.2-RELEASE 用の patch が今でも手に入るかどうか謎です。

都合もあるでしょうが、システム自体アップグレードするのが一番です。
3.2-RELEASE だと、fix されていないセキュリティホールも多いし、
(リリースされた後に発見された security hole のことです。)
3.2-RELEASE がでた当時の PAO patch じゃ USB デバイスの対応も
そんなに進んでいません。
(それとも RELEASE independent にパッチを当てられるのかな?)

もっとも、pccard のデータベースを自分で編集して使えるように
することは出来るでしょうし、以前にそれで乗り切った経験もあります。
しかし、トータルで見ていまさら、3.2-RELEASE なんて使うこと自体
お勧めできません。だいたい、ports なんかもほとんど使える状態じゃないし、
ports tree を更新したとしても、upgrade kit をインストールしないと
使えません。

よほどのマニアか腕前のある人でない限り 3.2-RELEASE はお勧めできません。

# でた当時は、何もかも、画期的で、安定していて、素晴らしかったんですが、
# 時間の推移というのは恐ろしいものです。

No. 1715 # 68user 2001/02/13 (火) 01:13:30
>>1711 gixs
> struct directがあるUnixはあったんじゃないですか?
それは知りませんでした。確かに 386BSD 0.0 では direct ですが、
    http://www.freebsd.org/cgi/man.cgi?query=opendir&manpath=386BSD+0.0&format=html
4.4BSD Lite2 では dirent になってますね。
    http://www.freebsd.org/cgi/man.cgi?query=opendir&manpath=4.4BSD+Lite2&format=html

参考: BSD の系譜
    http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree?rev=1.38

No. 1716 # Sakiika [E-mail] 2001/02/13 (火) 09:42:46
>Readdir
ありがとうございました。

私の使用しているものでは、
struct dirent *readdir_r(DIR *dirp, struct dirent *entry);
でした。

日本語のヘルプとして参考にしたものも同じく、direntでした。
調べ方が足りなかったようです。
ありがとうございました。

参考にしたページ。
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/readdir.2.html

No. 1717 # 雪ん子 2001/02/13 (火) 10:26:36
>>1709 68user
早速の回答、ありがとうございました。

>テスト環境ではリンク先に飛ぶことはできないのですね。
私のミスでした。リンクを貼るためのソースが欠落していました。
http://www.oitamirai.co.jp/cgi/search.html

>とりあえず検索時に必要なデータと、リンク先にあるデータを全て
>1つの CSV に突っ込んで、検索も表示も両方とも CGIで
検索結果後のリンク先の表示体系は基本的に全て同じとし、店舗名や
住所の所のみを変更するようにしたいと考えています。
そこで、検索結果に表示されるものからのリンク先へのリンクの
させ方と言うか表示をさせる時のCGI(引数?)がよく分かりません。
データベースから検索結果を表示させるまでは何とか自力で出来ま
したがその後の処理がうまく出来ません。
お力添えをよろしくお願いします。

No. 1718 # 68user 2001/02/13 (火) 14:43:04
>>1717 雪ん子
おすすめは、search.cgi が
    《検索結果》
    3 件検索しました
    <a href="pickup.cgi?shopid=1>●1号店</a><br>
    <a href="pickup.cgi?shopid=3>●3号店</a><br>
    <a href="pickup.cgi?shopid=11>●11号店</a><br>
というような出力をして、pickup.cgi 側は QUERY_STRING を
解析し、shopid を取得する。それに従って CSV から該当する
行を抽出し、それを出力する、というものです。

No. 1719 # hiroshi 2001/02/13 (火) 23:34:22
始めまして
ちょっと質問して良いでしょうか?
perlでtime()等が有りますが、これだとコンマ何秒の数値が取得できないですよね?
相対的な速度を計算したいんですが何かいいモジュールが有りましたら教えてください
検索エンジン等色々探して見たんですが見つかりませんでした

No. 1720 # 68user 2001/02/13 (火) 23:39:44
>>1719 hiroshi
試してませんが Time::HiRes というのがそれっぽいです。
    http://www.cpan.org/modules/by-module/Time/
    http://www.engelschall.com/ar/perldoc/pages/module/Time::HiRes.html (*1)

> 検索エンジン等色々探して見たんですが見つかりませんでした
http://www.google.com/ で「perl time usec」で調べると
一番目に *1 のサイトが引っかかりました。

No. 1721 # hiroshi 2001/02/14 (水) 00:13:32
あ、即レスすみません
ちょっとキーが思い当たらなかったですね
perl time 時間関数
なんてやってたんですけど
さっそく組み込んで見ます
それでは今後ともよろしくお願いします

No. 1722 # hiroshi 2001/02/14 (水) 00:22:28
($seconds, $microseconds) = gettimeofday;

この部分がそうみたいですね
今ちょっと試してます

No. 1723 # のり 2001/02/15 (木) 03:53:16
私は細かい字が見えないのでUNIXを使うときに困っています.
ウィンドウズは簡単にフォントの大きさを変えられますがUNIXでフォントの大きさを変える方法がわかりません.xterm,ktermにフォントのオプションがあるようですが,どのフォントが適しているかわかりません.
単に大きくなればよいです.全体的に大きくなる簡単な方法はないでしょうか?
NETSCAPE(3.x)は設定するところがありますが,私の場合アルファベットが小さくてなぜか真っ黒になっていて見えませんどうしてでしょうか?

No. 1724 # のり 2001/02/15 (木) 04:51:43
あと,Xウィンドウをインストールして立ち上げても~/に.XdefaultsなどのXの設定ファイルがありません.どこにあるのでしょうか?
NETSCAPEのアルファベットが小さいのは解消されました.しかし,リンク部分などが真っ黒に塗られているのは解消できません.

No. 1725 # のり 2001/02/15 (木) 07:38:06
xterm,ktermのフォントの大きさを変えることができました.
またわからないことがでてきたのですが,cshからtcshにログイン時に変えたいのですがなんかコマンドがあった気がします.忘れてしまいました.

No. 1726 # 雪ん子 2001/02/15 (木) 11:00:44
>>1718 68user
68userが言われるようにしたところ、受け側のCGIの QUERY_STRING で
渡った項目を取得することが出来ました。
あとは、受け取った項目をもとに検索表示する機能を作成したいと思います。
ありがとうございました。

No. 1727 # 68user 2001/02/17 (土) 15:48:00
>>1725 のり
> xterm,ktermのフォントの大きさを変えることができました.
自己解決したとしても、掲示板に書き込んだ以上は
何をどうしたらうまくいったかを簡単に書きましょう。

> cshからtcshにログイン時に変えたいのですがなんかコマンドが
> あった気がします.忘れてしまいました.
passwd -e や chsh など。OS によって違います。

No. 1728 # gixs 2001/02/19 (月) 21:06:43
>> xterm,ktermのフォントの大きさを変えることができました.
> 自己解決したとしても、掲示板に書き込んだ以上は
> 何をどうしたらうまくいったかを簡単に書きましょう。

のり氏ではないですが。
単にコントロールキー+右クリックに気づいただけでしょう。
# 論点が掲示版での礼儀作法なら、部外者なのでノーコメント。

No. 1729 # kuro [E-mail] 2001/02/22 (木) 08:12:29
始めまして。

earthlinkのFTPツールで問題が発生したため、やむなくホームページ用データのアップロードをDOSプロンプトで行うことにしましたが、mput の確認を
はずす方法がわからなくて困っていました。
Yahoo!で検索したところこちらのマニュアルを見る事ができたので
大変助かりました。どうもありがとうございました。

クロ

No. 1730 # purine 2001/02/24 (土) 07:20:28
はじめまして。
ソケット通信についての質問ですが、
クライアントとサーバの間の回線が何らかの障害によって切れた
場合、それを知る方法を教えてください。
会社ではポート情報を取得すればいいと言われたのですが

よろしくお願いします

No. 1731 # CZ 2001/02/25 (日) 23:54:56
68userさん,他の皆さん,こんばんは。

さて,ローカルでメーリングリストの過去ログを閲覧するための便利なツールはないでしょうか。

今はメーラ(Becky)に取り込むことを考えていて,展開・取込スクリプトも完成したのですが,まだ本番の作業に移っていません。

この方式での閲覧には難点が幾つかあって,
(1) 1,000メール程度ごとに分割しなければ表示が遅くなるので,スレッドがつながらないことがままある。
(2) Plain Textで保管されるのでディスク容量が圧迫される。
(3) メモリが少ないことも影響してか,はたまたWindows上でのtar操作だからか,ログアーカイブの展開・取込に異常に時間がかかる。(これが本番の作業に至っていない理由。)

理想を言えば,あらかじめインデックスを作成しておき,閲覧分だけ逐次展開するツールがあれば便利なのですが,あるのでしょうか。Windows使いなので,Windows(含DOSプロンプト)か,cygwinか,perl・ruby等で動作することが条件です。ローカルhttpサーバを立てることも可能です。

情報調査力の足りない私にどんなことでもご教示いただけるなら幸いです。

No. 1732 # すな 2001/02/26 (月) 16:41:26
お世話になります。
uptimeをcronで動かしてマシン負荷を記録するスクリプトを作りました。
ところが生成されたログの起動時刻が同じ時間になってしまうという
状態がみつかりました。

ログ生成スクリプトの該当部分(bashスクリプト)
export LOAD=`uptime`
〜処理〜
echo $LOAD >> $LOG ← ログファイル

生成されたログの一部
12:59am up 11:36, 1 user, load average: 0.00, 0.00, 0.00
1:00am up 11:37, 1 user, load average: 0.00, 0.00, 0.00
1:00am up 11:38, 1 user, load average: 0.00, 0.00, 0.00
1:02am up 11:39, 1 user, load average: 0.00, 0.00, 0.00

これは1秒未満の実行タイミングの誤差から来ているのでしょうか?
もしそれが原因ならば、起動時に数秒waitを掛けてからuptimeを実行
することでこの現象を回避できるでしょうか?

cronは毎分実行にしていますが、毎回起こるのではなく1日の内1〜2
度程度、多分負荷の掛かっている時刻の0分に記録されているようです。
ぜひご意見をお聞かせください。

No. 1733 # 68user 2001/02/26 (月) 22:11:34
>>1731 CZ
> さて,ローカルでメーリングリストの過去ログを
> 閲覧するための便利なツールはないでしょうか。
有名どころでは mhonarc がありますね。こんなの。
    http://his.luky.org/ML/linux-users.5/msg05835.html
ただ、個人的にはあのインタフェースは大嫌いなので、mhonarc を
使うのなら自作します。前準備としては
    - 各メールの Subject、From、Date、Message-Id、In-Reply-To を拾い、DB 化
    - Date 順 (あるいは X-Sequence 順) に
              In-Reply-To がないメールはツリーの起点メール
              In-Reply-To があるメールは他のメールの子
        として、ツリー構造を作成 (1ツリー=1ファイルにする。遅いかな?)
    - Date 順 (あるいは X-Sequence 順) で、月ごと (100通単位) のツリーの起点
        一覧をリストアップ
とし、閲覧時に CGI で
    - 指定された月 (指定された 100通) のツリーの起点一覧を表示しつつ、
        対応するツリー表示
てなところでしょうか。
# って、自分で作る方法を聞いておられるのではないような気もしますが。

出来合いのものを使うなら Java House のが好きですが、
    http://java-house.etl.go.jp/ml/archive/j-h-b/037476.html
これって配布されてるものなんでしょうか。

> tar操作だからか,ログアーカイブの展開・取込に異常に時間がかかる。
tar は、先頭のインデックスを見て、目的のファイルが何バイト目から
始まるかを知ることができません (違ったっけ) ので、ランダムアクセス
には向きません。圧縮しないなら、100通単位でディレクトリを掘って
1メール=1ファイルにしておく方が案外速かったりするかもしれません。

>>1732 すな
> uptimeをcronで動かしてマシン負荷を記録するスクリプトを作りました。
> ところが生成されたログの起動時刻が同じ時間になってしまうという
> 状態がみつかりました。
とりあえず date で秒単位まで記録して、何秒に実行されているか
調べてみてはどうですか。cron は、0秒きっかりに実行してくれる
保証がなく、結構ばらつきがあるのかもしれません。

で、もし重くて遅れがでてしまうなら、それはそれで仕方がない
のかもしれません。

>>1730 purine
> クライアントとサーバの間の回線が何らかの障害によって切れた
> 場合、それを知る方法を教えてください。
物理的な切断については
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1299-1302
てのがありますけど、一般的には
    http://www.kt.rim.or.jp/~ksk/sock-faq/unix-socket-faq-ja-2.html#ss2.8
ですね。

No. 1734 # すな 2001/02/27 (火) 01:32:04
> とりあえず date で秒単位まで記録して
確かにそのとおりですね。

で、早速そのようにして観察した所1時間もしないうちに、やはり前
後1秒程度の誤差が確認されました。

+1秒の時はいいのですが、-1秒の時は「xx:59:59」などとなってしま
いますので、負荷が高い時を考えて5秒程度 sleep をかます事で対
処してみます。

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

cronは結構誤差があるものなのですね。
今後cronを使うときの参考になりました。

関係ない話題ですが 午前0時と正午の表記は 00:00pm という表
記が正しいと思っていましたが、uptimeの出力では、12:00am と
12:00pm と表示されるのですね。

No. 1735 # CZ 2001/02/27 (火) 01:43:14
>>1733 68userさん
お返事ありがとうございます。

> 出来合いのものを使うなら Java House のが好きですが、
> http://java-house.etl.go.jp/ml/archive/j-h-b/037476.html
> これって配布されてるものなんでしょうか。

私もなかなか閲覧しやすいと思います。「Underconstruction」なのが残念ですが。

> tar は、先頭のインデックスを見て、目的のファイルが何バイト目から
> 始まるかを知ることができません (違ったっけ) ので、ランダムアクセス
> には向きません。圧縮しないなら、100通単位でディレクトリを掘って
> 1メール=1ファイルにしておく方が案外速かったりするかもしれません。

そうですか。SEGA BBS 過去ログ<http://x68000.startshop.co.jp/~68user/index-segabbs.html>が「データは圧縮して保管しており、リクエストがあるたびに CGI で随時展開して」いることを覚えていたので,圧縮して随時展開という手法に期待をおいていたりしました。

今は他のことにかかりきりなので,できあいのものを探していたのですが,設計の考え方は参考になりました。そのうち時間があればログをメーラに取り込んで,そのうちさらに時間があれば自作も検討します。メーラのプラグインとして作成する手もありますが,いずれにせよ今は無理です。

ところで,今さっき「tar」で全文検索したときに発見したのですが,結果画面でNo.531だけが正常に表示されませんでした。ご報告まで。

No. 1736 # SASA [E-mail] 2001/02/27 (火) 15:27:52
テープにbackupしたデータを、復元させたいのですが
コマンドの打ち方がわかりません。
教えて下さい。
UNIX若葉マークです。

No. 1737 # purine 2001/02/27 (火) 16:12:57
68userさんお返事ありがとうございます。参考になりました。

No. 1738 # purine 2001/02/27 (火) 16:52:22
ソケット通信でマルチクライアントサーバを作っているのですが
お手本にできるソースってどこかにありませんか?
プログラミング初心者ですが、要求がかなり厳しいので困ってます。

No. 1739 # 68user 2001/02/27 (火) 18:13:02
>>1735 CZ
> 「Underconstruction」なのが残念ですが。
ってどこに書いてありました?

> 結果画面でNo.531だけが正常に表示されませんでした。
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=531
のことでしたら、あれで正しい表示です。CZ さんが見られたときは
変な表示になってましたか?

>>1736 SASA
> テープにbackupしたデータを、復元させたいのですが
> コマンドの打ち方がわかりません。
バックアップしたときにどういうコマンドを使ったのですか?
mt? tar? dd?

>>1738 purine
> ソケット通信でマルチクライアントサーバを作っているのですが
> お手本にできるソースってどこかにありませんか?
まずは
    http://X68000.startshop.co.jp/~68user/net/
を見て、どこが足りないのか書きましょう。
# …についてもっと詳しく書いてあるソースがほしい、perl
# じゃなくて C 言語のソースがほしい、などなど。でも
# OS のソース以外のお手本は知らないなぁ。

>>1734 すな
> で、早速そのようにして観察した所1時間もしないうちに、
> やはり前後1秒程度の誤差が確認されました。
ほうほう、cron が1秒早く起動されましたか。結構いいかげん
なんですかね。お使いの OS は何でしょうか?

No. 1740 # purine 2001/02/27 (火) 18:55:24
お世話になっておりますpurineです。
C言語で書かれたソケット通信によるマルチクライアントサーバの
お手本のソースを見たいのでご存知でしたら教えていただけませんか

お手本だけじゃなくC言語のソケット通信に使う関数について書かれたページなどもありましたらよろしくお願いします

No. 1741 # 通りすがりです。 2001/02/27 (火) 19:06:34
purineさん>
職場の同僚がマルチクライアントサーバを作る時に調べていてみつけた便利そうなサイトへのリンク集だそうです。

http://www.geocities.co.jp/SiliconValley-Oakland/6682/link/LinksForWork_Edu01.html

この同僚は検索サイトで探し出したそうですから
あなたももっと探してみてはいかがでしょう。

No. 1742 # 通りすがりです。 2001/02/27 (火) 19:37:13
追加です。
こちらのサイトへのリンクもあるそうです。

http://www.geocities.co.jp/SiliconValley-Oakland/6682/link_work.html

No. 1743 # なお [E-mail] 2001/02/27 (火) 23:19:38
こんばんわ、初めまして。
以前から、UNIXのページなど凄く参考にさせてもらってます。ども。。

いきなり、質問なのですが。
あやまって/usr/share/locale/ja_JP.EUCを削除してしまいました。
これを元にもどしたいのですが、どんな方法があるでしょうか。
すみませんが、よろしくお願いします。
FreeBSD 4.2-RELEASEです。

No. 1744 # 68user 2001/02/28 (水) 00:10:14
>>1743 なお
FreeBSD 4.2-BETA では
    % ls -ld /usr/share/locale/ja_JP.EUC
    drwxr-xr-x 2 root wheel 512 Jan 8 14:18 /usr/share/locale/ja_JP.EUC/
    % ls -l /usr/share/locale/ja_JP.EUC
    lrwxr-xr-x 1 root wheel 25 Jan 8 14:18 LC_COLLATE@ -> ../la_LN.ASCII/LC_COLLATE
    -rw-r--r-- 1 root wheel 5391 Jan 15 22:09 LC_CTYPE
    -rw-r--r-- 1 root wheel 304 Jan 8 14:18 LC_TIME
です。まぁおそらく 4.2-RELEASE と内容は同じでしょう。

というわけで、src を展開しているなら、
    # mkdir /usr/share/locale/ja_JP.EUC
    # ln -s ../la_LN.ASCII/LC_COLLATE /usr/share/locale/ja_JP.EUC/LC_COLLATE
    # mklocale /usr/src/share/mklocale/ja_JP.EUC.src > /usr/share/locale/ja_JP.EUC/LC_CTYPE
    # grep -v '^#' /usr/src/share/timedef/ja_JP.EUC.src > /usr/share/locale/ja_JP.EUC/LC_TIME
です。src がなければ
    http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/share/
から拾ってきてください。

うちでは
    # cd /usr/src/share/mklocale
    # make
すると、/obj/usr/src/share/mklocale/ja_JP.EUC.out が出力されますが、
この方法で locale/ja_JP.EUC だけインストールするのはどうやれば
いいんだろう?

もちろん CD-ROM があれば、mount して、
    # cd /
    # cat /cdrom/bin/bin.?? | tar zxvfp - usr/share/locale/ja_JP.EUC/\*
でも OK です。

cvsweb を見ていて気がついたのですが、current では、LC_MONETARY、
LC_NUMERIC を設定する
    http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/share/monetdef/
    http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/share/numericdef/
てなのができたようですね。

No. 1745 # なお [E-mail] 2001/02/28 (水) 00:20:12
過去ログみたら、マルチポストについての指摘が(^^;

すみません、マルチポストです。
www.linux.co.jp

FreeBSDで質問出来るような場所が見つからず
linux板に書き込んでしまいましたが、
68userさんのサイトを思い出し、投稿させて頂きました。
linux.co.jpのほうはレスしてもうらうと悪いので
解決したと書いておきましたが、実はまだです。(^^;
反省と謝罪までに、、、、でわでわ、すみません。
下記のほうよろしくお願いします。

No. 1746 # なお [E-mail] 2001/02/28 (水) 00:43:24
>1744 68userさん
ありがとうございます。
srcからうまくいきました。

locale一つでも、色々方法があるみたいですね、、
まだ知識が追いついてないですが、書いてくださった他の方法も試してみます。
でわ、解答ありがとうございました。

No. 1747 # rosegarden 2001/02/28 (水) 01:30:10
>>1744 68user
> うちでは
> # cd /usr/src/share/mklocale
> # make
> すると、/obj/usr/src/share/mklocale/ja_JP.EUC.out が出力されますが、
> この方法で locale/ja_JP.EUC だけインストールするのはどうやれば
> いいんだろう?
-current の make world の際のログがありましたけど、
単純にコピーでいいようですね。
> ===> share/mklocale
> install -c -m 644 -o root -g wheel el_GR.ISO_8859-7.out /usr/share/locale/el_GR.ISO_8859-7/LC_CTYPE
> install -c -m 644 -o root -g wheel ja_JP.EUC.out /usr/share/locale/ja_JP.EUC/LC_CTYPE
> install -c -m 644 -o root -g wheel ja_JP.SJIS.out /usr/share/locale/ja_JP.SJIS/LC_CTYPE
[snip]

/usr/obj の下のファイルが使えるなら、多少の無駄があるけど、
make installworld するのも手です。

> cvsweb を見ていて気がついたのですが、current では、LC_MONETARY、
> LC_NUMERIC を設定する
> http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/share/monetdef/
> http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/share/numericdef/
> てなのができたようですね。

これが結構間があいて commit されていたので、make world が
途中でこけるのが二三日続いたことがありました。それで覚えてます。

No. 1748 # CZ 2001/02/28 (水) 01:51:33
>>1739 68userさん

> > 「Underconstruction」なのが残念ですが。
> ってどこに書いてありました?

スレッド一覧の最下部の「Mail converted by HyperThreads v0.9.1」のリンク先です。作者のウェブサイト<http://www.etl.go.jp/~takagi/>からも参照できます。

> > 結果画面でNo.531だけが正常に表示されませんでした。
> http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=531
> のことでしたら、あれで正しい表示です。CZ さんが見られたときは
> 変な表示になってましたか?

Namazuの検索結果画面での表示のことです。「オペランド」等で検索してみるとお分かりになるはずです。

さて,いろいろと探していたら,<http://blade.nagaokaut.ac.jp/>で使われているbladeシステムがかなり気に入りました。bladeクローンの<http://www.rr.iij4u.or.jp/~hideto-i/rb/yaiba/>が開発されています。rubyは分かるのでいいのですが,これをWindowsで動かそうとしたらかなり労力が要りそうで,ちょっと躊躇しています。
# そのうちに常時接続になることだし,そろそろ家庭内サーバを立てるか。
## でも騒音と夏の空調とセキュリティの確保が大変そう。
### ひょっとして常時接続になればローカルで閲覧する意味もなくなるか?

独り言を書き連ねてしまいました。

ではでは,これからもよろしくお願いします。

No. 1749 # なお [E-mail] 2001/02/28 (水) 02:31:58
>>1725のりさん
解決したようですが、ちょっとXのリソースについて
私も今勉強中なのですが、、editresコマンドなどあるみたいです。

http://www.linux.or.jp/JF/JFdocs/XWindow-User-HOWTO-8.html
http://www.ainet.or.jp/~inoue/athena/index.html

No. 1750 # 68user 2001/02/28 (水) 04:04:28
>>1748 CZ
> 「Mail converted by HyperThreads v0.9.1」のリンク先です。
なるほど、あれは高木さんの自作でしたか。公開してほしいなぁ。

> bladeクローンの<http://www.rr.iij4u.or.jp/~hideto-i/rb/yaiba/>が開発されています。
あ、これまた嫌いなインタフェース (^^;

# これは、単に慣れてないだけという可能性もありますので、
# 本当の評価は保留中です。

> 「オペランド」等で検索してみるとお分かりになるはずです。
うーん、わからんです。どの辺でしょう。
    http://X68000.startshop.co.jp/~68user/tmp/wwwboard-531.gif
ちなみにメールアドレスが先頭に出るのは、僕の namazu 用
フィルタの書き方が悪いせいです。

あと、この BBS で <http://blade.nagaokaut.ac.jp/> という書き方をすると
          &lt;http://blade.nagaokaut.ac.jp/&gt;
    → <A HREF="&lt;http://blade.nagaokaut.ac.jp/&gt;">
と置換されていましたが、さきほど直しました。こういうバグを
見つけるたびに、自分の想像力のなさを思いしらされますね。

>>1745 なお
> www.linux.co.jp
質問者が知らないのは仕方がないし、間違った回答をしてしまうのも
仕方がないですが、その間違った答えにツッコミ入れる回答者がいない
コミュニティというのは悲惨ですね。
    http://www.linux.co.jp/bbs/bbs1/bbs.cgi?num=2721&ope=sel
    http://www.linux.co.jp/bbs/bbs3/bbs.cgi?num=855&ope=sel

No. 1751 # 68user 2001/02/28 (水) 06:56:57
おっと書き忘れ。

>>1747 rosegarden
> -current の make world の際のログがありましたけど、
> 単純にコピーでいいようですね。
なるほど。手動でやる場合は、
    ftp://current.jp.FreeBSD.org/pub/FreeBSD/snapshots/i386/log/
を見ればよかったわけですね。

No. 1752 # CZ 2001/02/28 (水) 11:29:33
>>1750 68userさん

> > bladeクローンの<http://www.rr.iij4u.or.jp/~hideto-i/rb/yaiba/>が開発されています。
> あ、これまた嫌いなインタフェース (^^;

そうですか? スレッド表示など特に秀逸だと思ったのですが。
<http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/22494?22494-23482>

> うーん、わからんです。どの辺でしょう。

| ……wwwboard.cgi?log=531">名前を「やまい」元(山井・孝雄)に変えましたー/a></strong> (スコア: 1)

Internet Explorerやw3m等から見るとソースがこんな具合になっています。で,見かけ上Aエレメントが閉じられていないために問題が起きるわけです。Lynxもそうですが,HTML解釈上は正しくDDエレメントの手前でアンカーを切っています。

原因は半角の「。」のようです。当方ではNetscape Navigator(4.7/2.0)だけが文字化けせずにAエレメントが閉じられていました。十分に検証せずに一方的に報告してしまったことをお詫びします。最初からNetscape Navigatorで確かめておけば原因もすぐに判明したと思います。

> あと、この BBS で <http://blade.nagaokaut.ac.jp/> という書き方をすると
> &lt;http://blade.nagaokaut.ac.jp/&gt;
> → <A HREF="&lt;http://blade.nagaokaut.ac.jp/&gt;">
> と置換されていましたが、さきほど直しました。こういうバグを
> 見つけるたびに、自分の想像力のなさを思いしらされますね。

私の自作BBSでも同じ問題が発生していることを以前から認識していました。68userさんの掲示板ソースも参考にした覚えがあるので,ひょっとするとURL置換処理をコピーしていたのかも知れません。そのうち暇があれば直しておきます。

# 睡眠は大事です。かくいう私も最近……。

No. 1753 # 金床 [E-mail] 2001/02/28 (水) 14:36:42
お邪魔致します。このサイトの情報はPerlでのネットワークプログラム作成時に
大変参考にさせて頂いております。以前も一度この掲示板にてお世話になりました。

本日はFTPとHTTPの比較について質問がありやって来ました。

昨日書店で立ち読みした、発売したばかりの
ASCII NETWORK MAGAZINE4月号
http://biz.ascii24.com/biz/n-mag/article/2001/02/23/623348-000.html
に、比較的初心者向けのFTPプロトコルの解説記事があったのですが、その冒頭に

「FTPはHTTPよりわずかに速いため、現在もよく利用される」

という(言い回しが違うかもしれません)記述がありました。これは本当でしょうか?

CやPerlでsocket関数を使いTCPのアプリケーション層のプログラムを作っている
と、プロトコルがFTPであるのかHTTPであるのか(もしくはSMTPやPOP3なのか)は
データを受信(または送信)するアプリケーションが判断することで、ネットワーク上
では区別されないように思えました。

ポート番号で区別できるという考えもありますが、もちろんWell-Knownポート以
外を使ったHTTPやFTPでの通信も可能ですよね。

IPパケットレベルでHTTPとFTPのパケットが区別され、FTPの方がわずかに速く通
信が可能という事はあるのでしょうか?いきなりで申し訳ありませんが、お答え頂ければ
幸いです。

No. 1754 # 68user 2001/02/28 (水) 15:37:35
>>1752 CZ
> そうですか? スレッド表示など特に秀逸だと思ったのですが。
あ、アイコンがわかりにくいので拒否反応を示しただけですから、
聞き流してくださいまし。

> Internet Explorerやw3m等から見るとソースがこんな具合に
> なっています。
IE5.5 で確認しました。原因究明はウチに帰って元データを
見てからにします。

>>1753 金床
> FTPはHTTPよりわずかに速いため
FTP はコントロールコネクションとデータコネクションがありますが、
HTTP はコネクションは1本しか張らないので、FTP の方がわずかに
速い *かも* しれません。でも、誤差の範囲内だと思います。

なので、(この部分を見る限りでは) 不適切な解説だと僕は思います。

> IPパケットレベルでHTTPとFTPのパケットが区別され、FTPの方が
> わずかに速く通信が可能という事はあるのでしょうか?
アプリケーションゲートウェイ (delegate とか) で帯域制限でも
しない限り ありえないです。金床さんが書かれている考え方は
正しいです。

No. 1755 # 金床 [E-mail] 2001/02/28 (水) 16:04:36
お答え頂きありがとうございます。

>FTP はコントロールコネクションとデータコネクションがありますが、
>HTTP はコネクションは1本しか張らないので、FTP の方がわずかに
>速い *かも* しれません。でも、誤差の範囲内だと思います。

これは、FTPのデータコネクションでは目的のデータ(ファイルやファイルリストなど)しかネットワーク上を
転送されないのに対し、HTTPでは最初にHTTPリクエストがネットワーク上を通るので、その分という事でしょうか。

それとも、データコネクションでのデータ受信(送信)中も、コントロールコネクションが何らかの役割を果たして
いるという意味でしょうか。つまり、転送されるデータが巨大になればなるほどFTPとHTTPで差がでてくるような
現象が存在するのでしょうか?

最初に書くべきでしたが、私がここで対象にしている「FTPとHTTPの転送速度の差」は、
数Kb〜数百Kb程度の小さなファイルでのやりとりではなく、巨大なデータ(少なくとも10Mb程度)
で現れる(かもしれない)差の事です。

>アプリケーションゲートウェイ (delegate とか) で帯域制限でも
>しない限り ありえないです。
なるほど、やはりそうですよね。少し安心しました。

No. 1756 # すな 2001/02/28 (水) 16:11:15
# おぉすごい書き込み…うちとは大違い(笑)

68user>お使いの OS は何でしょうか?
はい、初心者入門用?(笑)VineLinux1.1CRです。
ちなみに5秒sleepした結果以下のようなログが生成されています。
2001-02-28 00:59:06 12:59am up 13:13, 1 user, load average: 0.00, 0.00, 0.00
2001-02-28 01:00:02 1:00am up 13:14, 1 user, load average: 0.00, 0.00, 0.00
2001-02-28 01:01:03 1:01am up 13:15, 1 user, load average: 0.00, 0.00, 0.00
2001-02-28 01:02:06 1:02am up 13:16, 1 user, load average: 0.00, 0.00, 0.00
〜略〜
2001-02-28 03:57:05 3:57am up 16:11, 1 user, load average: 0.00, 0.00, 0.00
2001-02-28 03:58:06 3:58am up 16:12, 1 user, load average: 0.00, 0.00, 0.00
2001-02-28 03:59:06 3:59am up 16:13, 1 user, load average: 0.00, 0.00, 0.00
2001-02-28 04:00:05 4:00am up 16:14, 1 user, load average: 0.00, 0.00, 0.00
2001-02-28 04:01:06 4:01am up 16:15, 1 user, load average: 0.00, 0.00, 0.00
2001-02-28 04:02:06 4:02am up 16:16, 1 user, load average: 0.08, 0.02, 0.01
2001-02-28 04:03:06 4:03am up 16:17, 1 user, load average: 0.72, 0.21, 0.07
2001-02-28 04:04:07 4:04am up 16:18, 1 user, load average: 1.08, 0.40, 0.14
2001-02-28 04:05:07 4:05am up 16:19, 1 user, load average: 1.21, 0.56, 0.21
2001-02-28 04:06:05 4:06am up 16:20, 1 user, load average: 0.60, 0.50, 0.21
2001-02-28 04:07:05 4:07am up 16:21, 1 user, load average: 0.22, 0.41, 0.19
2001-02-28 04:08:06 4:08am up 16:22, 1 user, load average: 0.08, 0.33, 0.18
このマシンは試験用のマシンで、ペンティアム166です。
ちなみに、マシンフル稼働状態だとloadの数値は最大いくつ位になるのでしょう?


金床>FTPはHTTPよりわずかに速いため、
これ、自分も以前も気になっていましたが、回線トラフィックの方が
影響が大きそうなのと、特に支障がなさそう(知らなくても)なので、
ほったらかしの疑問にしていました(^^;
httpと違ってftpはデーターコネクションとコントロールコネクションが
独立している為に僅かに早いのかな?なんて勝手に想像しています。
# 無駄な反応してすいません。

No. 1757 # すな 2001/02/28 (水) 16:12:18
あら?いろいろと書いているうちに、前後してしまった…(^^;

No. 1758 # すな 2001/02/28 (水) 16:23:50
金床>
私も詳細は判りません(手抜き)ですが、調べるなら参考まで。
日本語RFC(FTP)
http://hp.vector.co.jp/authors/VA002682/rfc959j.htm

No. 1759 # 68user 2001/02/28 (水) 16:24:40
>>1755 金床
ああ、逆でした。

FTP はコネクションを 2本張るので、3way handshake が2回行われ、
その分 HTTP の方がわずかに速い *かも* しれません。

あと、FTP だと USER/PASS/TYPE/PORT などのコマンドを発行した
後はレスポンスを待たなければいけませんが、HTTP だと最初に
リクエストを送って、あとは受け取るだけなので、そういう点でも
HTTP の方が速い *かも* しれません。

それらの差が *仮に* あったとして、なおかつ数十 KB 程度の
小さいデータの転送時には *仮に* 体感できたとしても、
> 巨大なデータ(少なくとも10Mb程度)で現れる(かも
> しれない)差の事です。
データの転送自体の仕組みは全く変わらないため、転送データの
サイズが大きくなればなるほど、差は目立たなくなるでしょう。

No. 1760 # 金床 [E-mail] 2001/02/28 (水) 16:55:18
>データの転送自体の仕組みは全く変わらないため、転送データの
>サイズが大きくなればなるほど、差は目立たなくなるでしょう。
納得行く答えを頂きました。ありがとうございます。

>すなさん
RFC情報、どうもありがとうございます。

No. 1761 # 68user 2001/02/28 (水) 16:55:20
>>1756 すな
> 2001-02-28 01:00:02
5秒 sleep したのですから、00:59:57 あたりに cron から
起動されているわけですか。手元の FreeBSD 4.1-RELEASE と
Solaris2.6 で負荷をかけて試してみましたが、1秒程度遅く
なることはあっても、早く起動されることは一度もありません
でした。

となると、Vine の cron が腐ってるということになりませんかね。

> マシンフル稼働状態だとloadの数値は最大いくつ位になるのでしょう?
とりあえず
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1119
を読んでください。理論的には、load average はどこまででも
増やすことができます。

No. 1762 # すな 2001/02/28 (水) 17:40:32
68user>となると、Vine の cron が腐ってるということになりませんかね。
なるほど、と言う事はcronの実装も結構ディストリビューションで違うのですね。
というか、さすがSolarisと言うべきなのか…
# マシンの内臓タイマーの精度とかも関係有るのかな?
# このマシンはかなり時間が狂うので…(1日数秒はあたりまえ)

>http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1119
なるほど、これも大変勉強になりました。
最初は単純にシステム負荷を100で割った(理由不明)数値なのかと思っていました。

Windows等のシステム負荷表示とはまったく違って、100%以上の負荷まで表示
している訳ですね。(待ちプロセスを負荷と言うかは別として)
説明も大変判りやすかったです。

No. 1763 # CZ 2001/02/28 (水) 22:59:34
>>1750 68userさん

> あと、この BBS で <http://blade.nagaokaut.ac.jp/> という書き方をすると
> &lt;http://blade.nagaokaut.ac.jp/&gt;
> → <A HREF="&lt;http://blade.nagaokaut.ac.jp/&gt;">
> と置換されていましたが、さきほど直しました。

自作BBSを見ると正規表現部分*だけ*はほぼ同じでした。やはりここの掲示板のソースを引き写していたようです。(perlではなくrubyですが。)で,直していて気が付いたことですが,

s!<A HREF="(.*?)&gt;">(.*?)&lt;</A>!<A HREF="$1">$2</A>&lt;!g;

も加えておいた方がよいのでは。

No. 1764 # CZ 2001/02/28 (水) 23:02:34
<<1763
ん? 訂正。

s!<A HREF="(.*?)&gt;">(.*?)&gt;</A>!<A HREF="$1">&gt;$2</A>&gt;!g;
s!<A HREF="(.*?)&lt;">(.*?)&lt;</A>!<A HREF="$1">&lt;$2</A>&lt;!g;

こうですね。

No. 1765 # CZ 2001/02/28 (水) 23:05:27
<<1764

ん?? 何やってるんだろう。

s!<A HREF="(.*?)&gt;">(.*?)&gt;</A>!<A HREF="$1">$2</A>&gt;!g;
s!<A HREF="(.*?)&lt;">(.*?)&lt;</A>!<A HREF="$1">$2</A>&lt;!g;

これでいいんですね。
<<1762 はタイプミス
<<1763 は勘違いでした。

板汚しですみません。

No. 1766 # mm 2001/02/28 (水) 23:29:52
あっ、ウチも同じバグがある(^^;
でも、書き戻しですね…、ちょっとテストさせてくださいm(_o_)m
<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>

No. 1767 # 68user 2001/03/01 (木) 01:02:25
おー、これってきっちりやると結構面倒かも。で、30分あれこれ
やった結果…これでどだ!
    $_='hoge<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>fuga';
    
    s/&/&amp;/g;
    s/\"/&quot;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    $http_pattern = '((http|https)://[a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+)';
    $out = '';
    while (1){
            if ( ! s!(.*?)($http_pattern)!! ){
                    $out .= $_;
                    last;
            }
            $out .= $1;
            $buf = $2;
            $buf =~ s/((&lt;|&gt;|&quot;).*)//;
            $rest = $1;
            $buf =~ s!$http_pattern!<A HREF="$1">$1</A>!;
            $out .= $buf;
            $_ = $rest . $_;
    }
    
    print "$out\n";
無限ループが恐いので (^^;、まだ wwwboard.cgi には組み込んでません。

No. 1768 # mm 2001/03/01 (木) 02:34:18
無茶苦茶効率悪そうだし、未定義変数使用の警告が出るけど…(^^;

    $_='hoge<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>fuga';
    $http_pattern = '(http|https)(://)(([a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+?)(&gt;|&lt;|&quot;)|([a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+))';
    s/&/&amp;/g;
    s/\"/&quot;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    s!$http_pattern!<A HREF="$1$2$4$6">$1$2$4$6</A>$5!g;

No. 1769 # CZ 2001/03/01 (木) 07:43:42
>>1767 68userさん
おはようございます。

> おー、これってきっちりやると結構面倒かも。

こんなに奥が深いものとは想像もつきませんでした。以前これに着手しかけて断念した覚えはあったのですが,なぜ断念したかは覚えていません。

> 無限ループが恐いので (^^;、まだ wwwboard.cgi には組み込んでません。

早速ruby文に変換して実働掲示板に使っています。無限ループになっても利用者が二人しかいないサーバだし,HTTPならすぐ切れそうだということで,心配はしていません。

そんなわけで,いつもありがとうございます。これからもお世話になります。

No. 1770 # 68user 2001/03/01 (木) 12:11:10
こんなのも。
    $_='hoge<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>fuga';
    $http_pattern = '((http|https)://[a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+)';
    s/&/&amp;/g;
    s/\"/&quot;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    @items = split(/(&lt;|&gt;|&quot;)/, $_);
    foreach (@items){
            s|$http_pattern|<A HREF="$1">$1</A>|g;
    }
    $_ = join('', @items);
    print "$_\n";
アルゴリズム・正規表現が複雑にならないという点で、これが
一番よさげかなぁ。でも動作チェックと速度計測をしなくては。

もっとよいのを思いついた方は教えてください。

No. 1771 # 68user 2001/03/01 (木) 23:48:26
>>1770 68user
commit しました。とか言ってみたり。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/wwwboard.cgi

No. 1772 # mm 2001/03/02 (金) 00:14:33
>>1770 68userさん
いいですねぇ。
これ頂きます。perl4でも動くし(^^;

No. 1773 # purine 2001/03/02 (金) 11:42:08
質問したいことがあります。それはあるプログラムでPIDを変数として
持っているときに、その変数のPIDのプロセスを殺す方法があれば教えて欲しいのですが。
よろしくお願いします

No. 1774 # 68user 2001/03/02 (金) 12:35:01
>>1773 purine
必ず OS 名や使用している言語を書いてください。

kill コマンドか、システムコール kill を使います。
    http://X68000.startshop.co.jp/~68user/unix/pickup?keyword=kill&target=command&partial=on

No. 1775 # 68user 2001/03/03 (土) 20:09:31
japu さん (http://www.japu.org/) より、source.cgi に関して
CGI Security Advisoriy をいただきました。

これは他サイトに HTTP でアクセスし、GET した結果を表示
するもので、
    「CGI の小部屋」http://X68000.startshop.co.jp/~68user/Cgi-room/
からは <!-- --> でコメントアウトしてあったものです
(なぜコメントアウトしたかは忘れた)。

# また、昔利用していた http proxy 経由でアクセスするため、
# X68000.startshop.co.jp からは正しく動作しませんでした。

しかし、トップページからはスクリプトのソースを見ることができ、
source.cgi 自体も実行可能なままになっていました。これに対して
    http://X68000.startshop.co.jp/~68user/Cgi-room/source.cgi?url=http://www.yahoo.co.jp';ls%20*'
といったアタックが可能でした。これは
    open(IN,"$httptalker -get '$url'|");
の部分で
    open(IN,"$httptalker -get 'http://www.yahoo.co.jp';ls *''|");
と解釈されます。open の引数に ; ? * | などを渡すと、perl は
/bin/sh を起動し、/bin/sh がコマンドを実行しますので、任意の
コマンドが実行可能です。

で、SA を受けて
    open(IN, "-|") or exec($httptalker, '-get', $url);
と修正しました。この場合は perl が直接 fopen(3) を呼ぶため、' ; * など
が特別扱いされることなく、$httptalker の引数にそのまま渡ります。

source.cgi の更新履歴:
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/Cgi-room/source.cgi


セキュリティホールを指摘して下さった japu さんに感謝いたします。

んで、
    「CGI の小部屋」http://X68000.startshop.co.jp/~68user/Cgi-room/
ですが、もうメンテする気力がないし、技術的な興味もないし (nslookup とか
whois コマンド呼ぶだけのスクリプト見てもおもしろくないでしょ)、例えば
ドメイン名検索とかならもっと便利なサイトがあるので、この掲示板で誰からも
反応がなければ近日中に消すつもりです。

No. 1776 # 68user 2001/03/03 (土) 20:48:21
>>1775 68user
>  open(IN, "-|") or exec($httptalker, '-get', $url);
> と修正しました。この場合は perl が直接 fopen(3) を呼ぶため
訂正。perl が直接 pipe(2)、fork(2)、exec(2) するため、でした。

No. 1777 # Netboy [E-mail] 2001/03/03 (土) 21:02:28
CGIの小部屋は消さないで欲しいです.
メンテ終了ページは倉庫ディレクトリなどに
移設するのみにしていただけると嬉しいです.

簡単な内容のものでも,知らない人に説明するとき
サンプル的に便利に利用させていただいております.

No. 1778 # 68user 2001/03/03 (土) 21:36:08
>>1777 Netboy
> CGIの小部屋は消さないで欲しいです.
了解いたしました。と決まれば、見られても恥ずかしくない
程度に brush up せねば。

No. 1779 # ふくし [E-mail] 2001/03/04 (日) 01:16:31
いつも質問ばかりですいませんのふくしです。
Perl で use strict 'vars'; とすると、変数を使うときは
パッケージを明示するか、my 宣言しないと怒られますが、
$a、$b という変数は怒られないで、%main:: シンボルテーブルに
追加されますね。$aa だとダメ。$c もダメ。なぜでしょう?
恐れ入りますがご存知の方はご教示ください。

No. 1780 # 68user 2001/03/04 (日) 01:24:36
>>1779 ふくし
想像でモノを言いますが、sort でセットされるのが $a と
$b だから特別扱いされているんじゃないでしょうか。
# Ex. sort { $a cmp $b }

No. 1781 # ふくし 2001/03/04 (日) 02:22:08
ああ〜そかそかそかそか。使いますねえ sort で $a と $b。
すっきりしました。いつもありがとうございます!(^^)

No. 1782 # Tel 2001/03/05 (月) 16:05:53
はじめまして。Telと申します。
以前、こちらで共有メモリについて少し触れられていたようなので、質問をしてみようと思いました。

現在、共有メモリ上にフラグの役割をもつ変数を用意し、複数のプロセス間でそのフラグを参照し、フラグの状態によって処理の分岐をするというプログラムを書いています。
そこでわからない点が出てきました。

共有メモリに変数を用意する方法の記述についてはサンプル等を見て作成することができると考えています。
しかし、それを参照する各プロセス側での記述方法について、サンプルが少なくよくわからないのです。
たとえば
int flag;
char data[datalength];
という2つの変数が共有メモリにある場合、flagの内容によってdataに書き込む内容を分けるという処理は具体的には、どう記述すれば良いのでしょうか。

プログラムAは
flag==1 ならば"good morning."
flag==2 ならば"good afternoon."
flag==3 ならば"good evening."
をdataに書き込む。
プログラムBは
flag==1 ならば"beakfast."
flag==2 ならば"lunch."
flag==3 ならば"dinner."
をdataに書き込む。
上記のような場合、AとBそれぞれではどう宣言してからflagやdataを使うのでしょうか。

勉強不足からくる質問だと思いますがUNIXの知識がない為なのか、書籍の選びかたが悪い為なのか、難しくて具体的な記述方法がわからないためにこちらにきてみました。
どうかご指導願います。よろしくおねがいします。

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