|
gzipをインストールしたのですが gzipコマンドで.gz拡張子ファイルを解凍しようとしたら 'gzip:コマンドは見つかりません'と突っぱねられてしまいます。 とりあえず本当にgzipがインストールされているか確認したのですが しっかり入っています。 なにか、コマンドの登録などが必要なのでしょうか。 初歩的な質問で申し訳ありませんがよろしくお願いします。 |
|
以下の問題解決しました。 ついでにお聞きしたい事があるのですが、sendmailの バージョンを strings /usr/ucblib/sendmail | more で開いて確認しようとしたのですが、どれがバージョンの数値か 解りません。もし知っていらしたら教えていただけないでしょうか。 |
|
はじめましてnyaと申します。よろしくお願いします。 質問があります。 ファイルのなかにコマンドをいれておいて 実行出来るようにパーミッションを変更したら ファイルの中のコマンドを実行してくれますよね。 そこで、「cd」をおこなったら、ファイルが終了 したときにファイルを実行したディレクトリに もどってます。これを、実行しおわったらその移動先の ディレクトリにする方法はないでしょうか? 説明がよく分からない質問だとは思いますが よろしくお願いします。 |
|
> 以下の問題解決しました。 簡単にでいいから、どういう風に解決したか書くといいと思います。 > sendmailのバージョンを sendmailのバージョンって調べにくいんですよね。 SMTPサーバとしてsendmailを動かしているなら、telnetを使えば % telnet ホスト名 smtp 220 ホスト名 ESMTP Sendmail 8.8.8/8.8.8; Fri, 9 Jul 1999 16:06:17 +0900 (JST) などと表示されるはずです。 > ファイルのなかにコマンドをいれておいて 要は、スクリプトの中でchdir(cd)したとき、そのスクリプトが 終了した後に、カレントディレクトリが戻らないようにしたい、 ということですか? だとしたら無理です。シェルがスクリプトを実行すると新しい プロセスが生成されますが、カレントディレクトリはプロセスごとの 固有の情報ですので、スクリプト(子プロセス)の中でカレント ディレクトリを変更しても、シェル(親プロセス)には影響を 与えません。 解決方法はない…と思います。多分。 |
|
68userさん、ありがとうございます。 質問の意味はその通りです。 無理なんですか・・・。わかりました。 これからもよろしくお願いします。 |
|
68userさん、ありがとうございます。 質問の意味はその通りです。 無理なんですか・・・。わかりました。 これからもよろしくお願いします。 |
|
2重投稿してしまいました。 どうもすみません。気にしないでください。 |
|
>> 以下の問題解決しました。 >簡単にでいいから、どういう風に解決したか書くといいと思います そうですね。 まあ簡単なことで、gzipをインストールしたディレクトリのパス(/usr/local/bin/gzip ….gz)を付け加えないで、そのまま(gzip … .gz)打ち込んでいたために解凍できなかったようです。 そんなこんなで今sendmail.cfをCFツールを用いて編集しています。 そこでもまたいろいろな問題があがってきています。 そのことについてはまた後日質問させていただきます。 初歩的な質問ばかりでうんざりだと思いますが、そこをあえてよろしく お願いします。こっちも知ってることがあったら(薄い知識しかありま せんが)極力答えていきたいと思います。 お互いがんばりましょう!! |
|
こんにちは。 sendmail.cfファイルをCFツールを使って作成しようとして いるのですが、'****.def'を編集した後'make ****.cf'で .cfファイルが生成されるはずですが'`****.cf' is up to date.' というメッセージが出るだけでモノが生成されません。 なにかMakefile内での編集が必要なのでしょうか? perlのディレクトリ設定はしてあります。 なお現在使っているCFツールは'CF-3.7Wpl2.tw.gz'を解凍したもの です。 よろしくお願い致します。 |
|
はじめまして、GLINDAと申します。いつも参考にさせて いただいております。 HP-UX10.20をVUE環境にて使っているのですが、 ログイン時にいちどだけ走らせたいスクリプトを作り、 .loginに入れてみたのですが動いてくれません。 (.vueprofileのVUESOURCEPROFILEはtrueにしてあります) 初期プログラムは/bin/cshで、.cshrcでパスを通していますので そのあとであればスクリプト実行の記述は.loginの中でなくとも かまいません。 いろいろ調べたのですがわからなくて、とても困っています。 なにか解決方法があったら、どうか教えていただけないでしょうか。 よろしくお願いします。 |
|
> '`****.cf' is up to date.' 一般的に - tar zxvf CF-3.7Wpl2.tar.gz で展開して - cd CF-3.7Wpl2 で移動して - make cleantools、make tools して - make samples して - 好きなファイルを cp Standards/sendmail-*.def sendmail.def でコピーして (CF-3.7Wpl2の直下にコピーすること) - sendmail.defを適当に編集して - make sendmail.cfを実行すると sendmail.cfが作成される - sendmail.defを編集しないまま makeすると、sendmail.cfが sendmail.defより新しいのでup to dateとなる というところだと思いますが、ここらへんをちゃんとやってるなら ちょっとわかりません。 > GLINDAさん HPもVUEも知りませんが(VUEってナニ?)、~/.login に setenv HOGE fuga などと書いて、本当にその部分が実行されているか調べてみてはどうですか? % printenv HOGE fuga となるなら、スクリプトの記述ミス、と。 |
|
68userさん、返答ありがとうございました。 もう一つ質問させて下さい。 とりあえず'****.def'を編集して、makeをかけたのですが、以下のよ うなメッセージが出てしまいます。 MASTERDIR=./Master TOOLDIR=./Tools \ ./Tools/Configure sendmail.def > sendmail.cf.tmp UX:sh (sh):エラー:./Tools/Configure:実行できません. *** Error code 1 (bu21) make: fatal error. sendmail.cf.tmpというのはできています。 Configure内を編集しなければならないのでしょうか? マニュアルにはtoolディレクトリ内のsendmail.cf作成用ツールを自分 のPCの環境に合わせてくれとかかれていますが、それと関係があるのでしょうか? よろしくお願いします。 |
|
> 68userさん、返答ありがとうございました。 解決しましたか? 回答が役に立ったら「〜の部分が抜けていた」とか 「〜をしていたがこれが余計だった」などと書いてください。 原因が別のことだったら、その原因を書いてください。 こっちもこういうやりとりを通じて知識を得たいので、 聞きっぱなしは ご勘弁を。 > makeをかけたのですが、以下のようなメッセージが出てしまいます。 どこでこけてるのかわかりませんが、Configure は shスクリプトなので、 % env MASTERDIR=./Master TOOLDIR=./Tools ./Tools/Configure sendmail.def % env MASTERDIR=./Master TOOLDIR=./Tools sh -x ./Tools/Configure sendmail.def などとしながら原因を切り分けてみては。 |
|
> 68userさんへ 投稿したときの状況としては解凍・展開してできた(68userさんが示していた手順で)STANDARDディレクトリ内の適応する***.defファイルをCF-3.7Wpl2 ディレクトリにsendmail.defとしてコピーしviで編集しCF-3.7Wpl2 ディレクトリ内でsendmail.cfをmakeしたところで下のようなメッセージが出ていました.それに加えてMAKEFILE内のPERLの存在するディレクトリを編集したのですが、make toolsを実行した時点でNOT FOUND PERL と言うメッセージが出るのも気になります。 投稿したあと自分のほうで調べてみたのですが、setenvで現在の環境を確認してみたのですが、シェルの部分がSHELL=/sbin/cshとなっていました。Configure内をみてみると、どうやらshの方を使おうとしているようなのでcshではなくshを使うように環境を変えなければならないのではとは思っていましたが設定を変えてみても(完全に変わっているか疑問)、Configure内の頭の部分、PATHなどを変えてみましたがうまくいかず、結局バージョンの古いCFがOSの付属についてきたCDROMに入っていたのでそれでもう一度チャレンジしている途中です。こっちの方はmake tools実行時のPERLの参照もうまくいき、Configure内もCF-3.7Wpl2のものとPATHなどが異なっているのでこっちで一回試してみようと思います. それでだめなようであれば、68userさんの今回示してくれた手順で試してみたいと思います。 |
|
> 68userさんへ 68userさんのいう通りに環境を変えようとしましたが、 肝心のConfigureの部分だけ許可を与えられていないと拒否されてしまいます。(以下のメッセージ) UX:env:エラー:許可を与えられていまん.: ./Tools/Configure 許可ははずす事が可能なのでしょうか? なお、CFツールはshとPerlは必須のようです。 よろしくお願いします。 |
|
68userさん、レスありがとうございました。 setenv文を入れて実行したところ、.loginが 起動していないということがわかりました。 >HPもVUEも知りませんが(VUEってナニ?)、 VUEというのは、HP-UX上で動くグラフィカル・インターフェースで Visual User Environment の略称です。AIX等では同等の機能を CDEと呼んでいます。 DOSに対するウィンドウズシステムのように、コマンドをアイコン/ボタン 化して使う環境のことです。説明不足ですみませんm(__)m .loginが動かないのは、どうやらこのVUE環境の設定がよくない ようなのです。前回の質問で「VUESOURCEPROFILE="true"にしてある」 と書いたのですが、この設定が有効であれば.loginを起動するはず なのにされていない…設定ファイルの書式に間違いがないか、 調査中です。 |
|
> AIX等では同等の機能をCDEと呼んでいます。 なるほど。なんとなくわかりました。 最初の一回だけ実行すればいいのなら、~/.cshrc に if ( $?FIRST_FLG ) then command setenv FIRST_FLG endif などと書くという手もあります。$prompt や $shlvl(これはtcshだけかな?) を使ってもいいでしょう。 > UX:env:エラー:許可を与えられていまん.: ./Tools/Configure chmod +w ./Tools/Configure してもダメですか? |
|
>68user さん .cfファイルできました。(まだ.defの方の設定が適当なので.cf内は空っぽですがとりあえず現れました・・・) Tools/Configureファイルが実行形式になっていなかったので >chmod +x Configure と入力して、なおかつsetenvコマンドでSHELLの設定をshのあるパスに変更してmake *****.cfしたら.cfファイルができました。 これからちゃんとした設定をしよう思います。 またこの件で解らない所がありましたらお邪魔します。 ありがとうございました。 |
|
こんにちは。 *****.defファイルの設定をしているのですが、 各設定のコメントというのは設定の必要内もの についてもはずさなければいけないのでしょうか? |
|
マニュアル読んでます? README.jpn には 多くのホストで共通な最小限度の設定については doc/INTRO.jpn を、 詳細な設定の説明については doc/MANUAL.jpn を参照してください。 と書いてありますが、doc/INTRO.jpn、doc/MANUAL.jpn を読みましたか? |
|
ありました. 何とか設定できそうです. .cfファイルもちゃんと現れました。 後は現在使っているサーバーと全く 同じ設定にしなければなりません. がんばります.ありがとうございました. |
|
こんにちは。 viでファイルの中身を編集しているのですが、 '@'を入力しようとすると入力が解除されてしまいます。 どうすれば文字として認識してくれるのでしょうか? よろしくお願い致します。 |
|
xwindowの画面全体を画像保存する方法を教えてください。 それにしても、そんなこと、可能なのでしょうか? |
|
>くにろぅさん レスありがとうございました。 画像保存とありますが具体的にどう行ったことを やるんでしょうか。(面倒なら結構です.) もうひとつUNIXサーバーがあるのですが、 そっちのほうは'@'は問題なく入力できます. 今、sendmail.cfの編集をしているのですが、 どうしても'@'を入力できないと先には進まないのです・・・ よろしくお願いします. それから、どなたか使えるsendmailについてのページ、書物などを ご存知でしたら教えてください. |
|
> '@'を入力しようとすると入力が解除されてしまいます。 うちの環境では@も普通に使えましたが…。「入力が解除」ってどういう意味ですか? viは2つのモードを切替えて使うものだということはご存知ですか? > xwindowの画面全体を画像保存する方法を教えてください。 http://X68000.startshop.co.jp/~68user/unix/pickup?xwd http://X68000.startshop.co.jp/~68user/unix/pickup?import などを使います。 % xwd -root > image.wd % convret image.wd image.gif |
|
> そっちのほうは'@'は問題なく入力できます. ああ、基本的な使い方は大丈夫なんですね。ならばちょっと僕にはわかりません。 where viして、いろんなviを試してはどうでしょうか。 # あるいはemacs/muleを使う、と :-) |
|
'@'の入力できました '\'→'@'といれるとできました。 UX/4800のみに起こる現象らしいです。 >68userさん 返答ありがとうございました >「入力が解除」ってどういう意味ですか? @を入力すると入力できなくなり、ESCキーで抜けた状態に なってしまうという事です。 |
|
> レスありがとうございました。 > 画像保存とありますが具体的にどう行ったことを > やるんでしょうか。(面倒なら結構です.) はい。.gif fileなり、なんなりにして画像保存したいとおもっているのですが・・・。 無理なんでしょうか。もし成功したらなんか、homepageの壁紙にでも・・・とか。 |
|
> 無理なんでしょうか。 回答してるじゃん…。 % xwd -root > image.wd % convret image.wd image.gif 試してみましたか? convertがなければxvでも可。ただし色が壊れるかも。 |
|
こんにちは 質問があるのですが、SOCKS5というものをご存知でしょうか? socks5-v1.0r9.tar.gzというものを解凍して、新たにできた ディレクトリの中に入り、その中で >./configure を実行 その後 >make all と実行すると ld: fatal error: Symbol referencing errors. No output written to socks5 *** Error code 1 (bu21) make: fatal error. *** Error code 1 (bu21) make: fatal error. というメッセージてその後 >make install としても同じエラーが出て/etc/socks5.confが作成されません。 新たにできたディレクトリ以下のMakeflieを見てみたのですが premixがMakeflieで指定されているディレクトリに存在しないの も気になります。 もしこの件についてご存知でしたらよろしくお願いします。 |
|
みなさんはじめまして。 仕事中にちょくちょくみさせてもらっていますが、 なかなか活発(?)な掲示板ですね。 それで、質問ですがsolaris2.5.1でリモートホストに 接続されたCD-ROMドライブをローカル側で使うときは 「share」「mount」コマンドを使いますが、 HP-UXではどんなコマンドを使うのか、知っている方が いらっしゃいましたら教えていただきたいのですが。 ローカル接続すればいいといわれてしまうと それまでですが...(^^;) |
|
> なかなか活発(?)な掲示板ですね。 書き込みはあっても、解決に結び付くことがあまりないのが痛いですが(^^; # なので、ほんとにお困りの場合は fj などで聞いてくださいね。 > リモートホストに接続されたCD-ROMドライブをローカル側で使うときは > 「share」「mount」コマンドを使いますが、 すいません。全くわかりません。SolarisってamdとかNFSとかじゃなくて、 リモートからCD-ROMをマウント/アンマウント/参照したりするんですか? > ld: fatal error: Symbol referencing errors. No output written to socks これだけの情報では リンクの段階でこけてます。configureの時点でおかしいか、 ライブラリがおかしいか、適切なライブラリを見てないか、 変なコンパイラ/リンカを使っている、などが原因が考えられる。 としか言えません。でも、ldってこれくらいのエラーしか 表示しないんだっけ…。 > premix prefix? 「Makefileのprefixで指定されているディレクトリが存在しない」と 言いたいんでしょうか。 |
|
>prefix? 「Makefileのprefixで指定されているディレクトリが存在>しない」と >言いたいんでしょうか。 そのとおりです.prefixってファイルが存在するのでしょうか? |
|
「prefix=接頭辞」。そのプログラムをインストールするトップディレクトリ。 例えば prefix=/usr/local なら、バイナリは/usr/local/bin に、ライブラリは /usr/local/lib に、マニュアルは /usr/local/man にインストールされる ということです。prefix が何なのかわからなければ、Makefile をエディタで 開いて prefixで検索しましょう。そしたらなんとなく意味がわかると思います。 |
|
はじめまして。こんにちは。 こちらのサイトに来るのは今日が初めてですが、内容が充実していて 大変参考になるサイトですね。 今後も利用させて頂こうと思います。 さて、さっそくですが、質問をさせてください。 X Window System に関する質問ですが、現在、X11R5からX11R6への バージョンアップを考えています。 バージョンアップに際して、仕様の変更箇所( 特にXlib のライブラリ 関数について )を調べているのですが、詳細が記述されている書籍や ホームページなどがなかなか見つかりません。 変更個所などの具体的な記載はありませんでしたが、X11R5 から X11R6 へのバージョンアップでは、Xlibについては特に仕様変更は無いように 感じました。 具体的にどのような点が変更されているのか、ご存知でしたら 教えてください。 |
|
> 詳細が記述されている書籍やホームページなどがなかなか見つかりません。 Xの規格を決めてる OpenGroup の、Xについての部分 http://www.opengroup.org/tech/desktop/x-window-system/gettingx.htm X11R6のリリースノート http://www.opengroup.org/tech/desktop/x-window-system/r6.1doc/relnotes/relnotes.htm リリースノートの「What Is New in Release 6」 http://www.opengroup.org/tech/desktop/x-window-system/R6doc/relnotes/chap4.html あたりでしょうか。Xlibに関してどういう関数が追加されたとかも 書いてあります。これ以上の細かいことは ftp://ftp.u-tokyo.ac.jp/pub/X11R6/ (最新版はR6.4です) などから落としてきて、実際のソース/manを見るしかないと思います。 # ちなみにXIEとは何ですかとか聞かれても、僕はわからんです。 > Xlibについては特に仕様変更は無いように感じました。 もちろんR5とR6では上位互換性はありますので、R5で作ったバイナリも ほぼ100%動くでしょう。 あと、R6について説明してある日本語の書籍は出ていないと思います。 |
|
> 68userさん 早々のご回答、ありがとうございます。 欲しかった情報そのままのページでしたので、大変助かりました。 英語が苦手なので、翻訳ソフトなどを使ってがんばってみます。 ありがとうございました。 |
|
音々です。 Xに関して、R5, R6は上位互換であることが確認でき、Xlib, Xt, Xaw での 作成部分は移行後そのまま利用できそうです。 ただ、ウインドマネージャ( OSF/Motifを使用しています。 ) に依存する部分、 ( Xm の Widgetセットを利用している部分) に関して確認ができていません。 Motif は、R1.0 から R1.2 へのバージョンアップを考えていますが、 こちらも資料が乏しく、詳細が不明です。 関連するホームページなどございました、是非、教えてください。 |
|
いや〜、Motifは知らんです。ただ、WidgetセットごときでR6の 機能を使っているか、と言えばちょっと疑問ですね。大丈夫じゃ ないでしょうか(無責任)。とりあえずR6(/usr/X11R6/に)を インストールして、様子を見てみるのはどうでしょう。 ところでXサーバはどこのを使ってるんですか? あと、Motifが必要なウィンドウマネージャって何でしょう? |
|
失礼しました。説明が解り難くかったですね。 今回は、Motif の R1.0 から R1.2 へのバージョンアップ (X との依存ではなく単に Motif に関する内容) について、 何か資料があれば教えて頂きたいと思いました。 > R6(/usr/X11R6/に)をインストールして、様子を見てみるのはどうでしょう。 そうですね、現在のところ、実際に動作させてから詳細を確認しようと、 考えていますが、事前に調べられるところまで調べておこうと思いまして。。。 >ところでXサーバはどこのを使ってるんですか? 現在問題があって手元にはありませんが、SunOS です。 >あと、Motifが必要なウィンドウマネージャって何でしょう? ウィンドウマネージャに、Motif(mwm)を使用しているという意味です。 |
|
うーん、MotifとはHPが作ってOSFにゲタをあずけたもの、という くらいしかしらないのですが、 http://www.opengroup.org/tech/desktop/ordering/#motif http://www.opengroup.org/tech/desktop/motif/xjournal.htm あたりでしょうか? でも 2.0 とか言ってますので、大外れかも しれません。 > ウィンドウマネージャに、Motif(mwm)を使用しているという意味です。 あ、そっか。mwmってMotif使ってるんですね。 |
|
>> なかなか活発(?)な掲示板ですね。 >書き込みはあっても、解決に結び付くことがあまりないのが痛いですが(^^; ># なので、ほんとにお困りの場合は fj などで聞いてくださいね。 >> リモートホストに接続されたCD-ROMドライブをローカル側で使うときは >> 「share」「mount」コマンドを使いますが、 >すいません。全くわかりません。SolarisってamdとかNFSとかじゃなくて、 >リモートからCD-ROMをマウント/アンマウント/参照したりするんですか? 68userさん、レスどうもです。 ユ○シスとこちらと、どちらが回答が早いかな?というぐらいの 気持ちだったもので、とても困っているわけではありません。 でも、ユニ○スは1ヶ月たっても回答をくれない(;;) |
|
>http://www.opengroup.org/tech/desktop/ordering/#motif >http://www.opengroup.org/tech/desktop/motif/xjournal.htm >あたりでしょうか? でも 2.0 とか言ってますので、大外れかもしれません。 そうですね。2.0やCDEに関する情報は多いのですが、 やはり旧バージョンの情報は少ないようですね。 今回、X11R5 と X11R6 が上位互換であることが確認でき、 Xm の Widgetセットを利用している個所はそれほど多くないので、 移行は比較的スムーズに行えそうです。 後は、実際に動作させて確認してみます。 いろいろとありがとうございました。 |
|
こんにちは。またまた質問です.お願いします。 コマンドライン上でrcpを行うとうまくいくのに、 ファイルの中に書いて行うと「文法があいまいです」 といわれて実行出来ません。 「文法があいまいです」とはいったい何が間違っている のでしょうか?よく意味がわからないです。 rcp フルパスのファイル名 サーバ名:転送先のディレクトリ であっていると思うのですが。 それとも、$argvなどで指定しているのがわるいのでしょうか? 前までは、上手くいってたのですが・・・。 わかりにくいとは思いますがよろしくお願いします。 |
|
> それとも、$argvなどで指定しているのがわるいのでしょうか? くさいですね。csh では % echo $user:/dir などはエラーになります。シェル変数の後の : は修飾子(?)だから。 正解は ${user}:/dir。 これ以上は、何を使ってスクリプトを書いているのか(sh? csh?)、 実際はどういうふうに記述しているのか、$argvの中の値は何か、 などを書いていただかないと何とも言えません。 そうそう、この前のシェルのカレントディレクトリですが、 一つ方法がありました。evalを使う方法です。 % cat mycd #!/bin/sh echo 'cd /' % pwd /usr/home/user % eval `mycd` % pwd / % cd /usr/home/user % alias mycd \`\\mycd\` % mycd % pwd / ただしスクリプト中では、cd 以外の出力をしてはいけません (STDERRになら出力できます)。 |
|
> ただしスクリプト中では、cd 以外の出力をしてはいけません 間違い。echo文 自体を出力すればできますね。 #!/bin/sh echo 'echo hoge;' echo 'cd /' |
|
システムコールについて調べているのですが、 OS毎に、システムコールに違いがあります。 SystemV Release4.0(SVR4.0) の 全システムコールの種類を 知りたいのですが、どこかに情報はありませんでしょうか? |
|
こんにちは 今、qpopper2.53というPOP3でメールを受信できるようにする モジュールをインストールしているのですが、 解凍して、./configureをかけた際、 loading cache ./config.cache checking whether make sets ${MAKE}... yes checking for gcc... gcc checking whether the C compiler (gcc ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. というメッセージがでてMakefilesなどのファイルが生成されません。 Cコンパイラがconfigureのプログラムを実行可能にしてくれないらし いのです。 LIBSの設定は"-lsocket -ldl -lnsl"と設定してあります。 ccというのが/usr/abiccs/necbin 内にあったので、 そのパスを指定したのですが、いざ中身をviでみてみたら #!/sbin/sh #ident "@(#) cc.m4,v 1994/01/26 06:37:31 1.3" /usr/abiccs/bin/cc -Kssizeof -Yi,/usr/abiccs/necinclude -YP,/usr/abiccs/neclib:/ usr/abiccs/lib:/usr/lib "$@" -lnec という感じになっていました。 どうもこのようなモジュールやツールなどを解凍、インストールする時 ドキュメント通りにはいきません。 UX/4800特有の設定などをしなければならないのでしょうか。 それから、CC コンパイラはどこかで手に入れられるものなのでしょうか? よろしくお願いします。 |
|
> SystemV Release4.0(SVR4.0) の 全システムコールの種類を > 知りたいのですが、どこかに情報はありませんでしょうか? すいません、知らないです。SVR4と言ってもいろいろありますから、 全部調べるとなると大変でしょうね。 > ccというのが/usr/abiccs/necbin 内にあったので、 あぁ、ずっと HP-UX かと思ってたら、NECのUXだったのね。 > そのパスを指定したのですが、いざ中身をviでみてみたら スクリプトでもバイナリでも、要は動けばいいんです。 で、動いたんですか? ちなみに /usr/abiccs/necbin/cc は ANSI C準拠コンパイラだと思います。 > それから、CC コンパイラはどこかで手に入れられるものなのでしょうか? そのシステムにgccは入ってませんか? ないようなら ftp://ftp.eos.hokudai.ac.jp/pub/gnu/gcc/ から お好きなバージョンをどうぞ。2.8.1あたりが安定してるんでしたっけ? ユニ男さんへ。僕が UX 知ってるなら教えてあげられるけど、 残念ながら使ったことがないし、これまでいくつか回答しましたが どうも的外れな答えしか書いてないような気がします。近くにUNIXを 知ってる方がいたら その人に質問するか、あるいは fj.unix などで 質問する方がいいと思います。 |
|
いつもお世話になってます。 >あぁ、ずっと HP-UX かと思ってたら、NECのUXだったのね。 UX/4800なんです。周りにあまり聞ける人がいなくて・・・ >スクリプトでもバイナリでも、要は動けばいいんです。 >で、動いたんですか? ちなみに /usr/abiccs/necbin/cc は >ANSI C準拠コンパイラだと思います。 動きませんでした。 >そのシステムにgccは入ってませんか? ないようなら > ftp://ftp.eos.hokudai.ac.jp/pub/gnu/gcc/ >から お好きなバージョンをどうぞ。2.8.1あたりが安定してるんでし >たっけ? GCC入っています。PATH指定しても下のメッセージが出てしまいます. 稼動していないみたいなんです。 >どうも的外れな答えしか書いてないような気がします。近くにUNIXを >知ってる方がいたら その人に質問するか、あるいは fj.unix などで >質問する方がいいと思います。 そんなことありません。とても参考になります。こちらこそあやふやな質問ばかりで迷惑をかけているのではないか常日頃思っています。 >近くにUNIXを知ってる方がいたら その人に質問するか、あるいは >fj.unix などで質問する方がいいと思います。 fj.unix ですね。探していってみたいと思います. ちなみにSOCKS5の件ですが、 setenv LIBS "-lsoket -ldl -lnsl" として./configure→makeで解決しました。 |
|
>すいません、知らないです。SVR4と言ってもいろいろありますから、 >全部調べるとなると大変でしょうね。 米国Sun社のサイトにありました。ご参考まで。 http://www.sun.com/smcc/solaris-migration/docs/transition-guide_2.5/apx_b.html |
|
CGIのファイルをサーバにおいて パーミッションを変更しようとすると、 下のように出て変更できません。 502 SITE command not implemented. どなたか助言をお願いします。 |
|
はじめまして、かんじゃと申します。 こちらのホームページで 「UNIXネットワークベストプログラミング入門」技術評論社 が紹介されています。 じつは小生もこの本のプログラムを 実行してみたのですが seg fault のメッセージが表示され てうまく実行できません。 >文字列リテラルを書き換えており、 FreeBSDで >実行するとコアダンプしてしまった(どちらもC >言語中級者なら 自分で問題箇所を修正できるレベル)。 というコメントが書かれておりましたが、具体的にはどういった ことが問題なのでしょう? よろしければご教示、お願いします。 |
|
はじめまして、かんじゃと申します。 こちらのホームページで 「UNIXネットワークベストプログラミング入門」技術評論社 が紹介されています。 じつは小生もこの本のプログラムを 実行してみたのですが seg fault のメッセージが表示され てうまく実行できません。 >文字列リテラルを書き換えており、 FreeBSDで >実行するとコアダンプしてしまった(どちらもC >言語中級者なら 自分で問題箇所を修正できるレベル)。 というコメントが書かれておりましたが、具体的にはどういった ことが問題なのでしょう? よろしければご教示、お願いします。 |
|
メールアドレスの記入ミスで同じ内容のものを2度書き込んで しまいました。 申し訳ありません。 |
|
> 502 SITE command not implemented. FTPでのパーミッションの変更は、SITEコマンドを使用するんですが、 相手側のFTPサーバにはSITEコマンドが実装されていないので、 できない、ってことです。telnetでログインしてchmodするか、 管理者に頼んでまともなFTPサーバに置き換えてもらうしかないです。 > seg fault のメッセージが表示されてうまく実行できません。 現在、手元には その本もUNIX環境もないので、確かなことは 言えませんが、どこかで char *buf="abc" などと初期化して いる部分があると思います。で、それを buf[0]='X' などと 変更していますが、そこで落ちるはずです。"abc" は文字列 リテラルなので変更することはできないから(変更できる 環境もありますが)。なので、char buf[]="abc" などと書き 換えれば動いたと思います。 *buf="abc" と buf[]="abc" の違いについては、ネット上に 落ちてる「C言語FAQ」に詳しく書いてあります。 |
|
>> seg fault のメッセージが表示されてうまく実行できません。 > 現在、手元には その本もUNIX環境もないので、確かなことは > 言えませんが、どこかで char *buf="abc" などと初期化して > いる部分があると思います。・・・以下省略 さっそくのご教示ありがとうございます。 以上参考にさせていただき、さらに修行していきます。 |
|
文字列リテラルは、昔のCでは、結構普通に書き換えたりしてたみたいです。 unixの古いccのライブラリでも、この書き換えをやっているという話を聞いたことがあります。 (聞いたのは、一時ファイルの名前を作るライブラリ関数だったような…) ANSI C以前は、自動変数の場合には、配列の初期化ができなかったために、 便宜的に利用してたのかもしれません。それとも、スタックに文字列を確保しても、 これを関数の呼び出し元に返すことはできないので、mallocを使う代わりに 静的領域を利用してたのかな…にしても毎回同じ領域が使用されるので、 static にすれば済むことって気も…? いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、 ANSI C以降は、文字列リテラルの変更は未定義とされたようです。 |
|
> いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、 に加えて、複数プロセスでデータセグメントを共有させるため、 例えば ls を並行して2個実行した場合、スタックとヒープは 2個用意されるが、データセグメントは1個しか用意されない、 と思ってるんですが、全然違うかも。 # アセンブラやってないんで、ここらへん いまいち感覚的に理解できない。 |
|
>に加えて、複数プロセスでデータセグメントを共有させるため、 DOSが長いもので、マルチプロセスのメモリ管理はよく分からないです(苦笑)。 >例えば ls を並行して2個実行した場合、スタックとヒープは >2個用意されるが、データセグメントは1個しか用意されない、 とすると、文字列リテラルだけでなく、静的な変数まで共有される 訳ですよね。 素人考えでは、ホントにそれで良いの?と思っちゃいます… 例えば、コマンドラインオプションで設定されるフラグが グローバル変数だったりすると(あり得ますよね)、前後のlsの オプション指定が異なる場合に、先のlsのフラグまで影響を 受けちゃうおそれがないのかなぁ…? |
|
すいません、よく考えずに適当なことを言ってしまいました(^^; では、2個のlsで共有される領域は何だろう? |
|
>では、2個のlsで共有される領域は何だろう? うーん、unixのメモリ管理はよく知りませんです(苦笑) |
|
ここすごいですねっ!内容がすごく充実しててびっくりしました。<BR> 分からないことがあったら来てみようと思います。<BR> ところで質問です。<BR> ○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか?<BR> gzip -d とか uncompress も試してみたけど、やっぱりだめでした。<BR> UNIXでは解凍できないんですか? |
|
> ここすごいですねっ!内容がすごく充実しててびっくりしました。 ども。ついさっき更新しましたのでよろしく。 http://X68000.startshop.co.jp/~68user/unix/history.html > ○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか? unzip、zipなどのコマンドがあります。unzip -l hoge.zip で一覧表示。 unzip -e hoge.zipで展開です。 |
|
私もここのファン(?)ですが掲示板の投稿は初めてです。早速ですが、UNIXのコマンドについて教えて下さい。 su - username この時のハイフンはどんな意味を持つのでしょうか? |
|
FreeBSD の su ならば - は -l と同じです。 マニュアル: http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=su&dir=jpman-3.2.0%2Fman ソース: http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/su/su.c?rev=1.29.2.2 多分他のUNIXでも同じだとは思うけど、確信はありません。 |
|
ありがとうございます。 ご教示の通り、 - と -l は同じでした。 |
|
WindowsでFTPサーバのソフトを作成したいのですが、 よくわかりません。UNIXの場合は拝見させて頂いたのですが winの場合はちょっと違うみたいでして・・・。 宜しければレスお願い致します。 |
|
すいません、Windows環境は持ってない&使ってないので わかりませんです。 # FTPクライアントではなくて、「FTPサーバのソフト」なんですか? # いわゆる ftpd を作成されるのですか? |
|
>FTPクライアントではなくて、「FTPサーバのソフト」なんですか? >いわゆる ftpd を作成されるのですか? はい、ftpdです。1ヶ月ほど前より悩んでおります。 RFC日本語版やら、winsock本を読んでいるのですが、 どうしてもFTPportが開いてくれないのです。 >すいません、Windows環境は持ってない&使ってないので >わかりませんです。 いえいえ。私もわからなかったので、ご存知かと思いまして 質問しました。有難う御座いました。また悩み続けます(^^;)。 |
|
echoサーバのような単純なサーバではうまくいってるんでしょうか? まずはそういう簡単なサーバを作りながら winsock を理解しては どうでしょう。 # winsockを知らない人間が言う言葉ではないな(^^; ## 既にやっておられたらすいません。 |
|
>## 既にやっておられたらすいません。 全くやってなかったですが、今、ソースは見つけました。 http://www.macnica.co.jp/soft/prog/win_echo.txt こういうので良いのでしょうか? >まずはそういう簡単なサーバを作りながら winsock を理解しては >どうでしょう。 了解しました。echoサーバっていうのは、サーバーにあるMSGを 送るとそのMSGを送り返してくる機能を持ったものみたいですね。 調べてみました。ちょっとソースを理解してみます。 有難う御座いました。 |
|
> こういうので良いのでしょうか? そういうのです。 それで Winsock 上での socket・bind・listen・accept を覚えてから、 ftpd を作る、と。最初からコネクション2本な ftpd にチャレンジする よりは簡単だと思います。 |
|
有難う御座いました。 頑張ってみます。 |
|
UNIXでフロッピーディスク(FD)に書き込んでWindows98で読み込む事が出来るのですか。 またその逆はできるのですか。できるとしたらどのようなファイルが出来るのですか。 教えて下さい。 |
|
# Who are you? UNIXで書いてWinで読む、Winで書いてUNIXで読む、両方できます。 UNIX/Win の両方から読める形式は、FAT ファイルシステムというものですが、 Windows で普通にフロッピーをフォーマットすれば FAT になります。 UNIX でフロッピーを見る場合は mount という作業が必要になります。 FreeBSD の場合はこちら。 http://www.jp.FreeBSD.ORG/QandA/HTML/350.html 他の UNIX 系 OS でも似たようなもんだと思います。UNIX からの 読み込み・書き込みは、ふつーに cp・mv・エディタなどで /mnt 以下のファイルを操作すればいいでしょう。 あるいは UNIX からフロッピーにアクセスする際には、mtools を使う という手もあります(たしか mount は必要なかったような)。 |
|
始めまして 始めてここにきました。 ア!? だから始めましてなんですね^^;; 偶然検索していて見つけました。 今日はとってもお勉強になりました。 また、ちょくちょく来ますです♪ 頑張ってくださいね。 敬具。 |
|
はじめまして、塩蔵です。 すごく充実した内容ですね。 UNIX初心者の僕としましては、びっくりです。 突然ですが、質問あります。 EUCコードで、全角Aは、16進でa3c1となるんですが、 あるファイルに全角Aを書いて、 odコマンドで、”od −x ファイル名”を実行すると、 c1a3と表示されてしまいます。 なぜ、EUCコードで、全角Aは、16進でa3c1であるのに、 c1a3と表示されるのでしょうか? それとも、odコマンドの使い方が間違ってるのでしょうか? お願い致します。 |
|
> c1a3と表示されてしまいます。 http://www.cs.gunma-u.ac.jp/~j5306050/net/c-http-1.html に少し書いてありますが、バイトオーダーの違いです。 試してみると、Pentium のようなリトルエンディアンマシンでは c1a3、 Sparcのようなビッグエンディアンマシンでは a3c1 になりました。 しかし、バイトオーダーを意識させるダンプコマンドってのは アリなのかなぁ…? |
|
システムリプレイス時のトラブルで、24日朝〜25日23時の間の メールが全部消えてしまいました(25日21時にPOPを覗くと数十通 あったけど、その分が全部消えてしまった)。 「alloc:/ file system full」な方と、出版社の方、 申し訳ありませんが、もう一回メール下さい。 多分私信はその2通だけだったと思うけど、他にメール出してた方が、 いらっしゃいましたら、すみませんが再送して下さい。 |
|
日付を間違えてた。 システムリプレイス時のトラブルで、24日朝〜24日23時の間の メールが全部消えてしまいました(24日21時にPOPを覗くと数十通 あったけど、その分が全部消えてしまった)。 です。 |
|
こんにちわ。 自分のページにカウンターを置きたいのですが、 fluteでCGIは使えますか?掲示板は可能なんですが 他から取ってきたカウンタはエラーが出て良く分からないんです。 ここにあったカウンターもいただきましたが、どう変更して、どのようなファイルをどう置いたらいいのかよくわかりません。助けてください。 |
|
> fluteでCGIは使えますか? 使えます。勝手に覗かせてもらいましたが wwwcount.cgi の内容が変です。 コマンドライン上から % perl -c wwwcount.cgi とすると、 Unmatched right bracket at wwwcount.cgi line 75, at end of line syntax error at wwwcount.cgi line 75, near "}}" wwwcount.cgi had compilation errors. となります。改行コードの問題でしょうか? 最初からもう一度転送しなおして下さい。少なくとも % perl -c wwwcount.cgi でエラーが出る状況では、CGI経由でも絶対に動きません。 > ここにあったカウンターもいただきましたが うちのは設置手順がめんどくさいので、お勧めしません :-) |
|
できました。自宅のパソコンでダウンロードしたものを 学校に転送してやると、やはり改行コードがおかしくなってるようでした。 結局、学校の端末からもう1度作り直しました。 さすがプロ!ありがとうございました(笑) |
|
こんにちは。 新しいサーバーを構築して、そのサーバーに現サーバーの /etc/passwd と /etc/shadowファイルを移行したいので すが、試しに1つだけ /etc/passwd をそのまま移して( group,ホームディレクトリ、シェルのパスは変えました。) 、/etc/shadowはそのまま現サーバーの/etc/shadowを移し ました。 そのあと、 > pwconv > creatiadb として、メールを送受信してみたのですが、ログインは認識 しているようなのですが、パスは認識してくれないようです。 何か、他にやる事が有るのでしょうか? よろしくお願いします。 |
|
Linux ですか? 僕は FreeBSD 以外知らないのですが、 > パスは認識してくれないようです これは、「ログインシェルが認識されない」という意味ですか? あるいは「パスワードが認識されない」という意味ですか? 前者なら、一般的な UNIX では、ログインシェルとして使う シェルは、事前に /etc/shells にフルパスで書いておく必要が ありますが、それはいじりましたか? 後者ならわかりません。もちろん現サーバのパスワードを 入力したんですよね? あとLinux って、デフォルトではシャドウ パスワードを使わないそうですが、新サーバのそこらへんの設定は しました? |
|
ちょっと前の話。アドレス空間は低位から順に テキストセグメント text ... マシン語コード データセグメント data ... static な初期化済変数 bss ... static な未初期化変数 heap ... malloc() で確保される領域 スタックセグメント stack ... auto変数 というふうに使われるので、UNIX で共有されるのはテキストセグメントだけ。 …かな? たぶん。 # うう、gas の吐くアセンブリがわからん。ebp,eax レジスタってナニ? |
|
こんちは。自分の名前をGOO検索したら、なんか BBSが有ったので、やってきました。 ネットを止めてカフェでたまにやってるいまでも 自分の偽物が居て結構楽しいです。 今度インターネットを始める時は CGIが使えるプロバイダを選ぼうと思うので その時は、管理のキビしーBBSの作り方を 教えてください。では、失礼します。 |
|
学校のUNIXで"http://www.freemail.ne.jp/" のようなfreemailを使うことができるのですか |
|
> こんちは。自分の名前をGOO検索したら、なんか > BBSが有ったので、やってきました。 お久しゅう。2年振りくらいかね。元気でやっておられるようで なにより。こっちもそれなりに生きてます :-) > 学校のUNIXで"http://www.freemail.ne.jp/ > のようなfreemailを使うことができるのですか 名前(ハンドル)さえ名乗れない人に教えるほど、僕は心が広くないので。 出直してらっしゃい。 # 名前書かない人って、こちらが回答しても返事を返してこないから嫌い。 |
|
初めましてAyaと申します。 検索で偶然見つけたのですが、内容の充実ぶりに驚きました。 突然なのですが質問させていただきます。 sedmailで添付ファイルを送るにはどうしたらよいのでしょうか? 私は何も知らないと言っても過言でないくらいUNIX初心者なので、 的外れなことを言っていたらすいません。 |
|
> sedmailで添付ファイルを送るにはどうしたらよいのでしょうか? 自分で MIME ヘッダを付ければいいです。まず http://www.mew.org/Newsletters/3.html をよく読んで、multipart mail の構造を理解すると。で、sample.txt に From: my@mail.address To: foo@bar.com Subject: This is test mail. Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part--" Content-Transfer-Encoding: 7bit ----Next_Part-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit ほげ ----Next_Part-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit ふが ----Next_Part---- などと書くと。そしたら % nkf -j < sample.txt | sendmail foo@bar.com で送信です (nkf で文字コードをiso-2022-jpに変換してるわけ)。 勝手に MIME ヘッダを付けてくれるソフトもあるんじゃないかと 思うんですが、残念ながら僕は知りません。 |
|
始めまして二太郎と申します。 大学で急にメールサーバーの管理をさせられてしまいました。 sedmailを使ってメールの送受信のテストをしたところ、「$ mail」 としてメールを読むとメールの本文が半角だけの場合はヘッターと 本文ともに読めるのですが、本文に全角の文字を使うと「*** Mess age content is not printable:delete, write or save it is to a file ***」とでてメールの本文が読めません。しかし「$ mail | more」としてメールを読むと全角の文字が含まれるメールでも読む ことが出来ます。「$ mail」としても全角の含まれるメールを読め るようにしたいのですが、初心者の私にはどの辺から手を付けてい いのか分かりません。何かアドバイスをいただけたらと思い、書き 込みをさせていただきました。よろしくお願いします。 ちなみに今日1日調べて私なりに考えたのは「sendmail.cf」の「KA NJI_CONVERSION」の所かと思っています。どうでしょうか? |
|
> *** Message content is not printable:delete, write or save it is to a file *** このメッセージを出してるのは mail コマンドであって、sendmail ではないです。 % env LANG=ja mail % env LANG=ja_JP.JIS mail などとするとダメですか? あるいは日本語対応の mail コマンドが用意されて ないですか? ガッコの Solaris では /bin/mail、/usr/bin/mail は LANG をいじっても 「*** Message content is…」となってしまいましたが、/usr/ucb/mail では LANG をいじらなくてもできました。 # はて、Solaris の /bin/mail・/usr/bin/mail では日本語メールは # 読めないのかなぁ…? > $ mail | more としてメールを読むと全角の文字が含まれるメールでも読む > ことが出来ます。 デフォルトでは文字が不正かどうか調べるけど(結果的に日本語が含まれていると 「表示できない」と判断されることもある)、パイプで他のコマンドに渡すときは そのまま渡すというコマンドは結構あります。例えば ls なんかもそうですね。 日本語を含むファイル名を作って ls で見ると、日本語部分は ??? などと表示 されますが、ls | cat とすると、ls はファイル名を変換せずに cat に渡します。 |
|
ありがとうございました。 添付ファイルを送ることに成功しました。感激♪ また、質問することもあると思いますが、 そのときは、またお願いします。 |
|
レス本当にありがとうございました。 さっそくLANGをいじってみましたが、私の大学も solarisなのでダメ でした。しかしメールソフト(Windous95用)を使えば、きちんと読 めるので、今のところメールの利用者からは問題がでていないので 困っているのは私だけのようです。(笑) 急がなくてもいいようなので、もう少しいろいろと試してみたいと 思います。 UNIXの勉強が全然足りないのでこのページを参考に頑張っていきま すので今後またお世話のなるかもしれませんがよろしくお願いしま す。 |
|
思い出した。SystemV 系 UNIX には mailx コマンドというのが あって、これなら日本語が通ります。 |
|
「mailx コマンド」を今、家からtelnetでログインして試したと ころ、日本語が通りました!! これでぐっすり眠れそうです。 本当にありがとうございました。 |
|
再び、質問させていただきます。 テキストデータを添付することはできたのですが、 バイナリデータの場合どうもうまくいきません。 符号化して書きこまなければならないのでしょうか。 もしそうなら、どうやって符号化するのでしょうか。 それとも、他に方法があるのでしょうか。 どうか御教授お願いいたします。 |
|
> バイナリデータの場合どうもうまくいきません。 次にこの質問がくるんじゃないかと予想はしてました :-) バイナリは http://www.mew.org/Newsletters/3.html の 「安全な符号方式の定義」のように、 Content-Type: image/gif; name="hoge.gif" Content-Transfer-Encoding: base64 LS0tIGRyYWZ0LW5ndHJhbnMtdHJhbnNsYXRvci5vcmlnCVN1biBOb3YgMTUgMTY6MzI6NDYg MTk5OAorKysgaWQtdHJhbnMJU3VuIE5vdiAxNSAxNToxNDo1NCAxOTk4CkBAIC0xLDggKzEs MTIgQEAKICNyZXYgMDAuMDIKIEludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICAg と、適切な MIME TYPE を付けた上で、BASE64 でエンコードする必要があります (name="hoge.gif" は必要なら付けてください)。なので、プログラム書いて 自動化しないと苦しいでしょう(まぁ手動でやってるわけじゃないんですよね?)。 perl がわかるなら http://www.cc.rim.or.jp/~ikuta/mime_pls/ を使って、 open(GIF,"hoge.gif"); $buf = join("",<GIF>); require 'mimew.pl'; $data = &mimeencode($data); などとするのが簡単ですかね。最後の &mimeencode は $data = &bodyencode($data); $data .= &benflush; だったかもしれない。試してみて下さい。 |
|
あ、やっぱり mimeencode じゃうまくいかないや。 mimeencode は =文字コード?エンコード方式?BASE64化されたデータ= という MIME 形式に変換します。一方、bodyencode は BASE64化します。 今回は MIME 形式(正確な用語じゃないかもしれない)じゃなく、 BASE64 のデータが欲しいので、bodyencode を使って下さい。 mimeencode はメールヘッダなどのエンコードに使えますね。 |
|
ようやくできました。 やっぱり、エンコードしなくてはいけなかったのですね。 ありがとうございました。 |
|
ウインドウズが一番だぜかかって来い |
|
tcshの補間機能の説明について補足です。 Ctrl-dは補間そのものではなく補間候補をリストし、 実際の補間にはTabを使うようです。 |
|
おぉ、歌って踊れるハッカーを目指していらっしゃる にゃんさんの居られる研究室の方(長い)ですね。 UNIX/FreeBSD のえらい人が身近にいるなんて、うらやましい。 # にゃんさんは僕のことを知らないです。念のため。 > 実際の補間にはTabを使うようです。 TABのことをすっかり忘れていました。今度更新するときに直して おきます。ありがとうございました。 |
|
はじめまして。 他のユーザーがファイルを使用していることを確認するfuserコマンドがうまく使えません。fuser -u filenameと指定するだけではだめなのでしょうか?またこのコマンドはvi等で使用しているだけでは作動しないのでしょうか? |
|
はじめまして。 他のユーザーがファイルを使用していることを確認するfuserコマンドがうまく使えません。fuser -u filenameと指定するだけではだめなのでしょうか?またこのコマンドはvi等で使用しているだけでは作動しないのでしょうか? |
|
ふーん、SystemV には fuser ってコマンドがあるのね。 で、fstat は BSD only なのか。 > vi等で使用しているだけでは作動しないのでしょうか? vi は emacs はオープンしてバッファに読み込んだらクローズして しまうので無理だと思います。tail -f filename などオープンしっぱなしの プロセスなら表示できます。 |
|
どーも。はじめまして。 セガBBS過去ログすごいですね。 こういうことってできるんですね。 そこで、便乗要望、、。 比較的新しい99年7月辺りの過去ログ とかって、みることできますかね、、? どうか、宜しくお願いします。 |
|
一部のBBSだけですが、お肉さんのとこで取ってるはずです。 http://www.lunartecs.ne.jp/~segabito/fushigi.html |
|
どもども^^; DCやサターンの人もいるかもしれないので、 ↓こちらを紹介したほうがいいかもしれません http://gamelay.usami.com/~segabito/ 19日から12月15日まで研修で南浦和の寮生活なので、 その間はシステムの改良・変更はあまりできなくなります。 ここ数日は原因不明の不調でログが飛びまくっていますが、 果たしてどうなることやら・・・ 帰ってきたらLinuxも勉強するぞー |
|
プロバイダーを見つけました。 よく雑誌で見るプロバイダーなので イマイチ信頼度がひくいんですけど CGIが使える見たいなので、決めちゃおうかなぁ っておもってます。 http://www.interq.or.jp/misc/man/ftp/usercgi.html これってCGIが使えるってことでスヨね? では、又来ます。:-O |
|
interq って zeus っていう WWWサーバなんだよね。できれば apache っていうのがお勧めなんだけど。あと、そこに書いて あるように、#exec cmd/#exec cgi は使えません。 いろいろ設定をいじったり、深く使いたいなら他のところを 探した方がいいんじゃないかね。まぁ、どこがいいかってのは わからないんだけど。 でも簡単な CGI を設置できればいいということなら、 interq でも OK だと思います。 |
|
はじめまして。 私はUNIX初心者なのですが勉強してサーバー構築手順書、C/S設計手順書を作りたいと思っています。分かりやすい本などをどなたか教えていただけませんか? 熱意はあります。宜しくお願いします。 |
|
サーバを構築したいということなら、「FreeBSDでサーバ構築」 「Linuxでサーバ構築」とかいう本が結構出てます。それを手に 入れるのが近道じゃないでしょうか。ただし僕はそういうのを 買ったことはないので、どれがお勧めかはわかりません。 本屋で手に取って内容を吟味して下さい。 まぁ、apache/bind/sendmail/pppd あたりの設定方法が さらっと書いてあるだけなので、もっと深く知りたければ O'Reilly の本を買うことになるでしょう。 |
|
68USERさん、アドバイスありがとうございます。 早速検討してみます。 |
|
ご無沙汰してます。 apache の .htaccess のネットマスクについて教えて頂けないでしょうか? ネットマスクがマスクする部分(ビットが0の部分、または、より右側のビット) に対応するIPアドレスのビットは、0にするのか1にするのかということ なのです。 例えば、133.205.78.73〜133.205.78.79 のホストのアクセスを禁止する場合、 (なお、2進と10進は以下の通りです。 01001 001b = 73d 01001 111b = 79d 11111 000b = 248d ) <Limit GET POST> order allow,deny allow from all deny from host </Limit> の host の指定方法なんですが、 133.205.78.72/255.255.255.248 又は 133.205.78.72/29 とすべきなのか、それとも 133.205.78.79/255.255.255.248 又は 133.205.78.79/29 なのでしょうか? http://japache.infoscience.co.jp/japanese_1_3/manual/mod/mod_access.html には、 > (すなわち 10.1.0.0/16 は 10.1.0.0/255.255.0.0と同じです) とあるんで、この例では、マスクされるビットが全部0になってますよね (10.1.0.0の最後の2バイト)。 でも、バイト単位でない場合には、マスクされるビットを全部1にしてる 例もみたものですから↓ http://www.med.teikyo-u.ac.jp/~morikawa/howto/access.html の >allow from 202.253.111.0/255.255.252.0 あるいは 202.253.111.0/22 では、111d = 01101111b ですからマスクされるビットは1になってます。 それとも、バイト単位の指定の場合だけ0にしてもいいのかな? |
|
多分「どちらでもよい」だと思います。 133.205.78.72/29 は、 10000101 11001101 01001110 01001000 のうち、最初の29ビットにマッチするもの を表すので、10000101 11001101 01001110 01001??? にマッチし、 結局 133.205.78.72〜133.205.78.79 にマッチする。 一方 133.205.78.79/29 は、 10000101 11001101 01001110 01001111 のうち、最初の29ビットにマッチするもの を表すので、10000101 11001101 01001110 01001??? にマッチし、 結局 133.205.78.72〜133.205.78.79 にマッチする。 ではないでしょうか。ネットマスクの意味からいって、 ネットマスク*外*のビットには、とくに意味はないと思います。 ただ、意味なくビットを立てるのはわかりにくいので、 僕なら 133.205.78.72/29 を選びます。 あと、わかっておられるとは思いますが、133.205.78.72/29 だと 133.205.78.72 自身も含まれますので、 > 133.205.78.73〜133.205.78.79 のホストのアクセスを禁止 にはなりません。 # 133.205.78.72/29 というドメインがあって、133.205.78.72 が # ゲートウェイアドレスなら構いませんが。 |
|
> # 133.205.78.72/29 というドメインがあって、133.205.78.72 が > # ゲートウェイアドレスなら構いませんが。 あれ、ホスト部が All zero な IP アドレスってゲートウェイじゃないかも。 133.1.0.0 とか 133.2.0.0 などのIPアドレスって、何て呼ぶんでしたっけ…。 |
|
おお、すばやいご回答、ありがとうございます。 >ネットマスク*外*のビットには、とくに意味はないと思います。 なるほど、分かりました。 >僕なら 133.205.78.72/29 を選びます。 この選び方の違いに過ぎなかったのですね。 >133.205.78.72 自身も含まれますので、 あっ、すいませんm(_ _)m 133.205.78と指定した場合は、133.205.78.1〜133.205.78.255だと いう記述をどこかで読んでたので、ここでも間違ってマスクされた ビットが全部0となる場合を除外してしまいました。 >133.1.0.0 とか 133.2.0.0 などのIPアドレスって、何て呼ぶんでしたっけ…。 話に付いて行けない…(苦笑) IPアドレスもちゃんと勉強しないといけないなぁ… |
|
すいません。 ↓の名前を入れ忘れましたm(_ _)m |
|
先の質問に関連して、今回初めて .htaccess について調べたのですが、 どうもよく理解できないことがあるので、教えてください。 order は、allow と deny の評価順序を指定するというような説明があるんですが、 これはどういう意味なのでしょうか? 最初、評価順序がどう影響するのか分からなかったのですが、 「UNIX &インターネットセキュリティ」(O'REILLY)の deny,allow は、denyとallowの両方に含まれるhostは許可する allow,deny は、denyとallowの両方に含まれるhostは禁止する という趣旨の記述を読んで、ようやく使い方については分かったのです。 でも、このような作用をなぜ評価順序で説明するのかが理解できないのです。 また、例えば order allow,deny allow from hostA deny from hostB という設定があった場合、どちらにも含まれないhostC からのアクセスは どうなるのでしょうか? allow と deny の双方を指定するってことは、どちらか一方が必ず from all になるとは限らないですよね(もし、そうなら省略可能にすると思うので)。 |
|
ん…X68000.startshop.co.jp の時計がずれてる。 > 「UNIX &インターネットセキュリティ」(O'REILLY)の > deny,allow は、denyとallowの両方に含まれるhostは許可する > allow,deny は、denyとallowの両方に含まれるhostは禁止する > という趣旨の記述 ん〜、これもどうも…何か違うような。確かに order は まぎらわしいですねぇ。 例えば order deny,allow は 1. 最初は全て許可 2. deny で指定されていたら拒否 3. allow で指定されていたら許可 という手順で評価しますが、大事なのは 「deny にマッチしても、その後 allow にマッチした場合は、閲覧を許可する」 ということだと思います。 例えば 阪大からは弾くけど、阪大の工学部(適当)からのみ許可する場合 order deny,allow deny from 133.1 allow from 133.1.2 阪大は許可するけど、阪大の工学部だけは弾く場合 order allow,deny deny from 133.1.2 allow from 133.1 てな感じでどうでしょう。より一般化すると、 「許可したホスト以外は拒否」なら order deny,allow deny from all allow from 許可するホスト 「拒否したホスト以外は許可」なら order allow,deny allow from all deny from 拒否するホスト でしょうか。上の2つの order を逆にすると、どのホストからも 見られなくなります。 素人考えでは、 deny from 133.1.2 allow from 133.1 と書けば、上から順に評価する、ってな風にすればわかりやすいのに、 わざわざ order なんか指定できるようにしたからわかりにくくなった、 と思ってます。もしかしたら、もっと難しい理由があって order が 用意されてるのかもしれませんが。 > どちらにも含まれない hostC からのアクセスはどうなるのでしょうか? 許可されると思います。order mutual-failure なら拒否されます。 # order mutual-failure # …allow に指定され、deny に指定されていないホストのみ許可。それ以外は拒否。 |
|
なので、 阪大は許可するけど、阪大の工学部だけは拒否し、なおかつ 群馬大は弾くけど、群馬大工学部だけは許可する という設定は無理じゃないかと思ってます。仮にできるとしても、 2つに分ける必要がありますよね。変なの。 |
|
さっそく、ありがとうございます。 >ん〜、これもどうも…何か違うような。 あっ、関係ないかも知れないけど、正確に引用しときますね(苦笑) >order ord >許可文と拒否文をチェックする順番を指定する。 >"deny,allow"を指定すると、最初に拒否エントリをチェックする。 >拒否リストと許可リストの両方に含まれるサーバーは許可する。 >"allow,deny"を指定すると、最初に許可エントリをチェックする。 >両方に含まれるサーバーは拒否する。 >"mutual-failure"を指定すると、許可リスト中のホストに許可を与え、 >拒否リスト中のホストを拒否し、それら以外については拒否する。 68userさんの説明とapacheのマニュアルを見ると、 すくなくとも、"mutual-failure"の説明は、 両方に含まれる部分について正確さを欠いてますね。 以下について応答する前に、ちょっと確認なんですけど、 >上の2つの order を逆にすると、どのホストからも >見られなくなります。 これは、下に関しては、「どのホストからも見えてしまう。」 の間違いということはないのでしょうか? |
|
> これは、下に関しては、「どのホストからも見えてしまう。」 > の間違いということはないのでしょうか? あ、間違いです。 「許可したホスト以外は拒否」なら order deny,allow を order allow,deny にすると、「全部拒否」になってしまい、 「拒否したホスト以外は許可」なら order allow,deny を order deny,allow にすると、「全部許可」になってしまう、ですね。 > "mutual-failure"の説明は、 > 両方に含まれる部分について正確さを欠いてますね。 ん〜、不正確とは言えないかもしれないけど、不親切ではありますね。 mutual-failure でも allow,deny の順に評価され、allow にマッチしたとしても その次に deny について評価され、そこでマッチしたら拒否、ってことです。 そういうことを http://japache.infoscience.co.jp/japanese_1_3/manual/mod/mod_access.html#order allowとdeny状態が評価されるどんな場合でも、"short-circuiting"は存在しません。 は言ってるんでしょうけど、もともと order っていう仕組みがわかりにくいのに、 ヘボい訳のせいで さらにわけのわからんことに。 |
|
>あ、間違いです。 よかった。 これが違ったら、また最初から理解し直しになるところでした(苦笑) >ヘボい訳のせいで さらにわけのわからんことに。 あっ、確認したのは、 >Only those hosts which appear on the allow list and >do not appear on the deny list are granted access. の方だったので、これなら問題ないですよね。 先の回答に戻ります。 >> どちらにも含まれない hostC からのアクセスはどうなるのでしょうか? >許可されると思います。 なるほど、やはりデフォルトは許可なんですね。 > 「deny にマッチしても、その後 allow にマッチした場合は、閲覧を許可する」 評価が後の方が優先するような感じはあったのですが、どうもよく分からなかったのです。 >阪大からは弾くけど、阪大の工学部(適当)からのみ許可する場合 allow か deny どちらかが常に from all なら、もっと別の指定の仕方があるだろうし、 なんとなく、こういう使い方を考えてるのかな…、と思ったもので、 その前にどちらにも現れない hostC の取り扱いをお伺いしました。 > 阪大は許可するけど、阪大の工学部だけは拒否し、なおかつ > 群馬大は弾くけど、群馬大工学部だけは許可する >という設定は無理じゃないかと思ってます。 なるほど、そうですね。 ここまでは、考えてなかった(苦笑) 68user さんの回答を読んでいて、ふと思ったのですが、 実際には、allow list と deny list があるのではなく、 例えば allow list だけがあって(抽象的な意味で)、 この list は最初は全ホストが詰まってる。 そして、allow 指令は、ここに指定されたホストを追加し、 deny 指令は、指定されたホストをここから削除する。 また、order による評価順序は、この追加、削除の動作順序で、 最後に list に残ったホストのみを許可する。 なお、mutual-failure の場合は、list を最初に空にし、 allow 指令を先に評価する。 (逆に、最初は空の deny list だけがあるとしても同じ) というように考えるってのは、どうでしょうか? Apache 1.3 から、deny,allow には(初期状態はOKです)とか、 allow,deny には (初期状態はFORBIDDENです) って注釈が ついたから、ちょっと的ハズレかな…? |
|
> というように考えるってのは、どうでしょうか? good です。…と思ったら、 > Apache 1.3 から、deny,allow には(初期状態はOKです)とか、 > allow,deny には (初期状態はFORBIDDENです) って注釈が > ついたから、 う、知らなかった。ということは、 > order allow,deny > allow from hostA > deny from hostB > という設定があった場合、どちらにも含まれないhostC からのアクセスは > どうなるのでしょうか? 少なくとも apache 1.3 では `不可' ですね。実験してみたところ、 拒否されました。 ということは、order allow,deny って order mutual-failure と 同じ意味になってしまうんじゃないのかなぁ…。order allow,deny の 初期状態を FORBIDDEN にして、なにかうれしいことがあるんだろうか。 |
|
はじめまして。いきなりですが質問があります。 aliasesファイルを>newaliasesで更新しようとした際、 以下のようなメッセージが出て、aliasesが機能しません。 root@xxx>newaliases WARNING: writable directory /var WARNING: writable directory /var/spool WARNING: writable directory /usr/ucblib WARNING: writable directory /usr/ucblib dbm map "Alias0": unsafe map file /usr/ucblib/aliases WARNING: cannot open alias database /usr/ucblib/aliases Cannot create database for alias file /usr/ucblib/aliases: No such device ディレクトリのアクセス権などをいじってみたのですが、うまくいき ませんでした。 もし、解る方がいらっしゃいましたらよろしくお願い致します。 |
|
goo で 「newaliases warning writable dbm」で検索しました。 http://www.swlab.csce.kyushu-u.ac.jp/~kazunori/install/sendmail.phtml http://www.sigma.tosho-u.ac.jp:8082/inet/newsos.6.1/sendmail-8.9.3/README ですかね。 ところでさ、OS の種類とバージョン、sendmail のバージョンくらい 書きましょうよ。UNIX って言ってもいろいろあるんだから、uname -mrs とか uname -mrsp の結果を書くのは、基本中の基本だと思います。 |
|
なんだか、また分からなくなってしまった(苦笑) アクセスしてきた host に対して、 deny,allow の場合は、初期状態を OK にして、 allow,deny なら、初期状態を FORBIDDEN にする。 allow 文にこの host が含まれると状態を OK に書き換えて、 deny 文にこの host が含まれると状態を FORBIDDEN に書き換える。 これらの評価が終わった後の host の状態がアクセス可否を決める。 ということなら、それでもいいんだけど、 これでは確かに mutual-failure の存在意義がないですね…??? access.conf での allow from all とかの設定は、 .htaccess でのアクセス制限がない場合にしか意味はないんですよね? |
|
> ということなら、それでもいいんだけど、 ということだと思います。いまいち納得できませんが、このサーバで order allow,deny deny from hoge.ac.jp (架空のドメイン) とすると (=allowを書かない) 全部弾かれましたので。 > access.conf での allow from all とかの設定は、 > .htaccess でのアクセス制限がない場合にしか意味はないんですよね? access.conf で AllowOverride Limit(or All) としているなら access.conf で allow/deny 設定をしていても .htaccess で設定を上書き可能 access.conf で AllowOverride None(or Limit以外) としているなら .htaccess で設定を上書き不可。access.conf での allow/deny 設定が有効。 ですかね。 |
|
>ということだと思います。いまいち納得できませんが、 なるほど、(納得できないという点で)とりあえず、そう理解しておきます。 >access.conf で AllowOverride Limit(or All) としているなら あっ、そうですね。それが前提ですね。 まだちょっとの部分もありますが(苦笑) とにかく、どうもありがとうございましたm(_ _)m |
|
sendmail8.8.6以降、aliasesファイル等がシンボリックリンクだと、newaliasesでエラーになる為、リンクを張り直しました。 以下の手順でうまくいきました。 cd /usr/ucblib rm aliases aliases.dir aliases.pag cd /var/ucblib mv aliases aliases.dir aliases.pag /usr/ucblib ln -s /usr/ucblib/aliases /var/ucblib/aliases ln -s /usr/ucblib/aliases.dir /var/ucblib/aliases.dir ln -s /usr/ucblib/aliases.pag /var/ucblib/aliases.pag >ところでさ、OS の種類とバージョン、sendmail のバージョンくら>い書きましょうよ。UNIX って言ってもいろいろあるんだから、 >uname -mrsとか uname -mrsp の結果を書くのは、基本中の基本だ>と思います。 本当に一番大事な事を書くのを忘れていました。ごめんなさい。 どうもご迷惑おかけしました・・・。 |
|
パソコンをたちあげると、dfs.vxdがありませんとかでてそこで 止ってしまいます。何かキーボードを押すと次の画面(いつもの デスクトップの画面)になります。それ以降は、問題ありません。 dfs.vxdとはいったい何者なのでしょうか? もし知っている方がいましたら、教えてください。 |
|
一般に "pwd" と "echo $cwd" は同じとされますが、環境に よっては違う結果を生じることがあります。 これは説明しにくいので、例をあげてみます。 カレントディレクトリが /home/username で、ここに bin という 名前のディレクトリ /work/bin へのシンボリックリンク (bin@ -> /work/bin) があったとします。ここで cd bin として ディレクトリを移動すると、echo $cwd とした場合は /home/username/bin と表示されるのですが、pwd とすると /work/bin と表示されます。 |
|
テスト投稿です 無視して下さい |
|
初めて投稿します。 ちょっと質問があるのですが Prelを使いSendmailでメールを送るCGIを作っています。 そこで 、BCCまたはCCで複数のメール先を指定して送る場合 メールアドレスの繋ぎ部分は、半角スペースで区切り渡すのでしょうか? 此へんのプロセスが判らなく困っております よろしければ教えて頂けないでしょうか? |
|
> 一般に "pwd" と "echo $cwd" は同じとされますが、環境に > よっては違う結果を生じることがあります。 なるほど、確かにそうですね。勉強になります。 しかし、pwd の説明で「echo $cwdと同じ」というのもひどいなぁ…。 > メールアドレスの繋ぎ部分は、半角スペースで区切り渡すのでしょうか カンマ(,)です。 Cc: foo@bar.com,hoge@fuga.com,abc@def.ac.jp とすればいいんですが、行が長くなりすぎるなら、 Cc: foo@bar.com, (半角空白)hoge@fuga.com, (半角空白)abc@def.ac.jp と、folding します。詳しくは ftp://ftp.iij.ad.jp/pub/RFC/rfc822.txt の 「3.1.1. LONG HEADER FIELDS」あたりをどうぞ。 |
|
早速の REありがとうございます 勉強になりました。 早速試してみます |
|
初めて掲示板を利用させていただきます。 POP3サーバーのメールをWWWブラウザインタフェースで読み出すCGIを作っています。「POP3クライアントを作ってみよう(1)(2)(3)」を利用させていただき、あらかたの処理ができるようになりました。 感謝いたします。 早速の質問ですが、Subject及び添付ファイルのファイル名に日本語が使われているとき、nkfでの変換を照会されていますが、ntfの組み込みの方法についてアドバイスいただければ幸せです。 Linuxではnkf17をうまくインストールできた(まだ試験はしていない)のですが、WindowsNTへのインストール方法がわかりません。 WindowsNTでもLinuxと同じようにできるのでしょうか。 Makefileのshar:以降の書き換えでいけるのでしょうか。それともSystemコールでnkf32.exeを使うのでしょうか。 初心者に毛の生えたレベルでやっています。方法またはその方法がかかれたURLがありましたら教えてください。 |
|
nkfについての質問(追伸) こちらのシステムの説明が抜けていました。 WindowsNT4 IIS3 perl5.005_03(ActivePerl Build 513)+DBI+DBD-ODBC です。 |
|
> WindowsNTでもLinuxと同じようにできるのでしょうか。 Cコンパイラはお持ちですか? あるならソース持ってきてコンパイルすればいいでしょうけど、 コンパイラがないならバイナリインストールすればいいです。 ただ、nkf -m でやるなら テンポラリファイル経由でデータを受け渡したり、 IPC::Open2 などを使わなきゃいけないので面倒です。毎回プロセスを起動しなければ いけないので重くなりますし。 なので、http://www.cc.rim.or.jp/~ikuta/mime_pls/ を持ってきて require 'mimer.pl'; $data = &mimedecode($data,'EUC'); とした方がいいと思います。 http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1999-09-16 に書いた MIME エンコードの逆ですね。 |
|
突然現れて質問ばかりで申し訳ありません 今一つ教えてください データーを分割して自動で読み取る為には? たとえば1000のデータが入った@DATAがあるとします このデーターを100ずつ順に読み取るには read,seekを使って読み取る事は、可能だと思いますが 順に100ずつ1000のデータを読み取るにはどのような方法があるでしょうか よろしくお願いいたします |
|
> たとえば1000のデータが入った@DATAがあるとします 配列 @DATA に既にデータが入っているのですか? なら splice を 使えばいいでしょう。「100ずつ順に」*何をしたいのか* が わからないので、これ以上はなんとも言えません。 read/seek は、配列 @DATA が空で、ファイルから @DATA に 読み込むときに使うものです。でもまぁ perl なら、わざわざ read/seek のような低レベルな関数を使う必要はないでしょう。 |
|
ありがとうございます 実は、前の質問と関連がありまして データーに入ったメールアドレスをBCCで送信する際に 一度に多くのデーターを打ち込むとサーバに負担が掛かると思い たとえば100ずつ読み込んで送信をしたいというわけなんです 一般的に一度にどれくらいのBCCだったら遅れるんでしょうか? サーバのレスポンスも関係があると思いますが・・。 |
|
@DATA に1000個入っていて、100ずつ送信したいなら while (@DATA){ @addrs = splice(@DATA,0,100); $CC = join(",\n ",@addrs); メール送信 } でいいです。 でもまぁ、1000 送るならそれなりに時間がかかりますが、負荷がうんぬんと いうよりは、SMTPサーバが DNS(MX)引いて 相手先に connect して SMTP しゃべって 本文を送る のに時間がかかる、という感じでしょうか。ほとんどは相手を待ってるだけです。 別に1000個 Bcc が書いてあっても、並行して1000のコネクションを 張るわけではないので(SMTPサーバの仕様にもよりますが)、マシンの 負荷はそんなに気にしなくてもいいでしょう。 それでも1000は多いと思うなら、100ごとに分割すればいいんじゃ ないんでしょうか。ただしテストは入念にやって下さい。 |
|
68userさん 重ね重ねありがとうございます 十分検討&テストしてやってみます 本当にありがとうございます |
|
本日付けで復帰しました でも、CGIの使えないallesでした。(w テレホの都合上。一年はアレスです。 webpageを一応作るので、リンクさせて下さいね。 友達のwebspaceを借りる予定なのでcgiは諦らめてません!! あと、質問なんですけど、systemfileのddlem.dll ってファイルが起動するたびに、「壊れています」と言う表示が出ます 不都合はないんですけど、これって大事なファイルですか? スキャンかけてもエラーが出ないんですけど。 |
|
はじめまして。みのると申します。ご教授願えれば幸いです。 環境) WindowsNT4 SunOS 4 上記環境で、NTのログファイルから一定時間内(00:00:00〜05:59:59)の行だけを 抽出したいのですが、条件にあう(この場合カラムがまちまちなので、大体の カラム位置でヒットする)行を抽出する方法はありますでしょうか。 【split -l だと行数がわかっていないとだめなのでこの場合は当てはまらないですよね】 scriptを組もうと思ったのですが、ヒントになるサンプルをみつけることができず、 諦めてしまいました(^^;)。 とりあえず、条件にあう行だけをhead(偶然、ファイルの頭からだったので)で 取り出して急場をしのぎました。ただ、今回はviで開いたのですが、大きいサイズの場合 この方法では無理が生じてくると思うのです。 何か他にいい手だてはないものでしょうか。。。 |
|
むぅ、なぜか繁盛している…。 > webpageを一応作るので、リンクさせて下さいね。 どうぞ〜。 > と、質問なんですけど、systemfileのddlem.dll ってファイルが 僕は UNIX 環境しか持ってないんですよ。あと一般論として、質問するときは 自分の環境 (OS名+バージョンなど) は必ず書いてください。Windows なら http://www.so-net.ne.jp/ClubHouse/room/pc_scramble_win/pc_scramble_win.html で質問すればいいんでないでしょうか。 > 一定時間内(00:00:00〜05:59:59)の行だけを抽出したい % grep '0[0-5]:[0-5][0-9]:[0-5][0-9]' logfile ではダメですか? |
|
どうもすみません。初心者みたいなことをしてしまいまして。以後気をつけます |
|
ありがとうございます。 どうしてgrepの正規表現に気づかなかったのだろうと恥ずかしい限りです。 明日、検討してみます。 |
|
>> WindowsNTでもLinuxと同じようにできるのでしょうか。 早速のアドバイス、ありがとうございます。早速試してみます。 Cもありますので、再コンパイルの方法も試してみます。 今後ともよろしくお願いいたします。 |
|
はじめまして。みつると申します。ご教授願えれば幸いです。 環境) Windows98 今、JSWDKを用いてJSPやServletを試しているのですが、 HTTPプロトコルを通じてどのようなデータが送受信さ れているかわかりません。プロキシーサーバーをを自作して リクエストを出力すればいいような気がしますが、既にこの ような用途に使用できるソフトが存在すると思います。 どなたかご存知ないでしょうか? よろしくお願いします。 |
|
HTTP Proxy 自体はそんなに難しくないので、いろいろあるんでしょうが、 残念ながら僕は具体的なソフトウェア名を知りません。 # proxy って言うとすぐアングラ系になっちゃうのが嫌なので、 # 探したことがない。 mm さんがご存知かもしれないので、質問されてみてはいかがでしょうか。 http://www2s.biglobe.ne.jp/~cru/library/zddbbs/cgi-bin/wwwboard.cgi |
|
ありがとうございます。 mmさんに質問してみます。 |
|
68user さん、ありがとうございました。 % grep '0[0-5]:[0-5][0-9]:[0-5][0-9]' logfile で無事該当ログを抽出することができました。 ところで、SunOS5.6にverupしたのですが、 "vipw"が利かなくなりました。shadowはviで編集及びbackupも とれているのですが、"vipw"とすると"etc/passwd is busy"となり 編集不可能なのです。今は"vi"で編集しています。 crontabが上手く働いてないのでしょうか? |
|
Solaris の vipw の動作は知りませんが、一般論として `busy' と言われたなら ・前に実行した vipw のプロセスが残っていないか、ps -ef | grep vipw で確認 ・fuser /etc/passwd で、/etc/passwd をオープンしっ放しのプロセスを調べる ・/tmp や /var/tmp などにロックファイル (というよりテンポラリファイルかな) が 残っていないか調べる ( BSD なら /etc/ptmp* とか /etc/pw* など) ・truss vipw で、どこでどのファイルを読んだ後エラーになっているか調べる てなところでしょうか。 > crontabが上手く働いてないのでしょうか? 僕は Solaris マシンでroot 権限を持ってないのでわかりませんが、 Solaris の vipw って cron が関わってくるんでしたっけ? |
|
68user さん、ありがとうございます。 ちょっと他の仕事が立込んでいますが、確認してみます。 |
|
お聞きしたいんですが、いくつかドライブがあるんですが、今、それぞれ、OSはwinddow95,window98, Linuxにしたいですが、できますでしょうか。マシンはFujitsuのDos/Vです。ご存じなら、教えていただけませんか。 よろしくお願いいたします。 |
|
お聞きしたいんですが、いくつかドライブがあるんですが、今、それぞれ、OSはwinddow95,window98, Linuxにしたいですが、できますでしょうか。マシンはFujitsuのDos/Vです。ご存じなら、教えていただけませんか。 よろしくお願いいたします。 |
|
> 今、それぞれ、OSはwinddow95,window98, Linuxにしたいですが、 今 winddow95,window98, Linux が入ってるんですか? これから winddow95,window98, Linux を入れたいんですか? > できますでしょうか。 多分できると思いますが、Windows も Linux も使ってないので 確かなことは言えません。 http://www.so-net.ne.jp/ClubHouse/room/pc_scramble/pc_scramble.html で教えてもらえるでしょう。 |
|
68userさん どうもありがとうございました。いま、OSはwindows95だけです。 これから、window98とLinuxを入れたいです。 教えていただいたURLも見てみます。 |
|
2000年1月1日にセットしたいのですが? |
|
"vipw"とすると"etc/passwd file is busy"の件 /etc にテンポラリファイルが残っていました。"temp"で探していましたが、"tmp"でした。 ありがとうございました。 現在、Turbolinux4.2 インストールで奮闘しておりました。なんとか動くようになったものの、 時間表示が白くなり見えない状態です。なかなかサーバ構築までの道のりは遠いようです。。。 |
|
名前を「やまい」元(山井 孝雄)に変えました。 またまたHELP依頼です。ご存じの方がおられましたら教えてください。 PERLにDBIとDBD(ODBC)を組み込もうとしています。 PERL5.003のときはうまくいっていたのですが 今回5.00503ではうまくいきません。 PERL(APi522e.exe)をインストールした後、 DBI(DBI-1.13.tar.gz)を展開しインストールまではうまくいきました。 DBD(DBD-ODBC-0.22.tar.gz)を展開した後、 perl makefile.pl は正常に実行できたのですが、 nmake で以下のエラーがでてストップしてしまいます。 cl.exe -c -IC:/Perl/site/lib/auto/DBI -Od -MD -DNDEBUG -GX -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_CAPI -Od -MD -DNDEBUG -GX -DVERSION=\"0.22\" -DXS_VERSION=\"0.22\" -IC:\Perl\lib\CORE dbdimp.c dbdimp.c C:/Perl/site/lib/auto/DBI\DBIXS.h(403) : warning C4005: 'DBIS' : マクロが再定義されました。 dbdimp.c(31) : error C2106: '=' : 左のオペランドが、左辺値になっていません。 NMAKE : fatal error U1077: 'cl.exe' : リターン コード '0x2' Stop. なお、使用環境は Windows 4.0 Server ServisePack3 Visual C++ Version 5.0 です。 チェックポイント等がありましたら教えてください。 |
|
始めまして。 質問があります。 C言語(CGI)でファイルロック関数を作ろうと思うのですが どうやらディレクトリがある,ないで判定すれば プロセスが割り込んでくる確率も少ないらしいので mkdir,rmdir,sleep関数を使って作ろうと思います。 でとりあえず各関数使ってみたら 「ヘッダファイルがてーぎされてへんよー!注意しなはれ〜」 みたいなエラーが出てまいりました。 私はWindows環境しかないので FTPアップロード->コンパイルという手段で作成してます。 Windows環境なら"direct.h"をインクルード すれば良いのですがどうやら違う(ヘッダファイルがない)みたいです。 サーバーの/usr/includeディレクトリとか覗けるので色々探してみましたが お手上げ状態です。。。 そこでmkdir,rmdir,sleep関数のヘッダファイルの位置を 教えてほしいのですが… # インクルードしなくても動くことは動くんですが。。。気に入らないです。 サーバーが何たらUNIXか何たらLinuxかがわかりません。 BSD系UNIX(???)(Linux???)たぶん何たらLinuxだと思うのですが。。 gccのバージョンは(gcc -vした結果) >Reading specs from /usr/lib/gcc-lib/i386-pc-linux->gnulibc1/egcs-2.91.66/specs >gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release) なんか情報が少なすぎますけど 「自分の環境ではこうですよ。」 でもかまいません。 よろしくお願いします。 |
|
サーバ上に、Windowsで圧縮したlzhファイルをおいて、サーバで解凍したいのですが、 xxx% lha x filename(圧縮ファイル名) と、コマンドを入力しても実行されません。 lhaのツールがインストールされているか調べる方法等がわかりません。教えていただけますでしょうか? |
|
はじめまして。 c言語関数で調べていることがあります。 子プロセスを生成するspawn関数というものがあります。 この関数が、POSIX準拠の関数か否かをご存知の方 いらっしゃいますか? よろしくお願いいたします。 |
|
はじめまして。 c言語関数で調べていることがあります。 子プロセスを生成するspawn関数というものがあります。 この関数が、POSIX準拠の関数か否かをご存知の方 いらっしゃいますか? よろしくお願いいたします。 |
|
はじめまして。 c言語関数で調べていることがあります。 子プロセスを生成するspawn関数というものがあります。 この関数が、POSIX準拠の関数か否かをご存知の方 いらっしゃいますか? よろしくお願いいたします。 |
|
> 2000年1月1日にセットしたいのですが? BIOS で時間をセットすればいいでしょう。 > PERLにDBIとDBD(ODBC)を組み込もうとしています。 う〜ん、全然わからんです。Windows環境持ってない上に、こういう エラーって、大抵の場合 #ifdef WIN32 の書き忘れが原因だったりするんで、perl/Windows/DBI/DBD に精通していない 僕にはさっぱりわかりません。 > サーバーが何たらUNIXか何たらLinuxかがわかりません。 `i386-pc-linux' とあるので Linux なんでしょうけど、 OS名は uname -a でわかります。 # ディストリビューション名ってどうやって調べるんだろう? > 「ヘッダファイルがてーぎされてへんよー!注意しなはれ〜」みたいなエラー というのはあり得ないです。インクルードしなくても動くということは 「mkdir/rmdir/sleep という関数の宣言がされていない」という warning (implicit declaration of function `mkdir') ですかね。エラーや warning は 訳さずそのまま書いて下さい。 で、インクルードファイルがわからないときは、man で確認して下さい。 % man 2 mkdir % man 2 rmdir % man 3 sleep とすると、 NAME mkdir - make a directory file SYNOPSIS #include <sys/stat.h> int mkdir(const char *path, mode_t mode) という情報が得られます。 > xxx% lha x filename(圧縮ファイル名) > と、コマンドを入力しても実行されません。 「実行されない」とは何ですか? 「Command not found」になるんですか? % locate lha で、ファイル名に `lha' を含むファイル一覧が表示されますが、 それでも見付からないなら本当にインストールされていないんでしょう。 管理者に頼むか、自分でインストールすることになります。 > 子プロセスを生成するspawn関数というものがあります。 > この関数が、POSIX準拠の関数か否かをご存知の方 うーん、わからんです。FreeBSD/Solaris ともに spawn という関数は ないので、POSIX 準拠ではないと思うんですが…確信はありません。 |
|
初めまして。 ネットワークプログラミングの基礎知識 大変興味深く読ませていただきました。これからもがんばって下さい。 陰ながら応援しています。 |
|
どもども。間違いなどありましたら、ぜひご指摘お願いします。 |
|
はじめまして。 「ネットワークプログラミング」読ませて頂きました。 説明、サンプルプログラム共に大変分かりやすく、 すぐに自分なりに応用することができ、大変為になりました。^^ ただ、一つだけ分からなかったことがあります。 HTTPクライアントでPOSTメソッドに対応しようとしたのですが、 $message = "name=test&mail=test&url=test&message=test\r\n"; $len = length($message); print SOCKET "POST /cgi-bin/mybbs.cgi HTTP/1.1\r\n"; print SOCKET "REFERER: (略)/cgi-bin/mybbs.cgi\r\n"; print SOCKET "Content-length: $len\r\n"; print SOCKET "\r\n"; print SOCKET $message; とした所、実際にはPOSTされていないようなのです。 これは自分の掲示板(本のサンプルの真似ですが)に対してのPOSTですが、 REFERERチェックの入らない友人の掲示板でテストしてみてもPOSTされないようです。 ので、恐らくこちらのスクリプト側に誤りがあると思われるのですが…。 また、\r\nを\rや\nに変えても駄目でした。 どこが間違っているのでしょうか…?ご教授頂ければ幸いです。 ちなみにSunOS 5.6,Perl 5.004_04です。 |
|
# GET ができるのに POST だけができないのなら、外してますが… HTTP/1.1 では、Host ヘッダが必須になります。 POST /cgi-bin/mybbs.cgi HTTP/1.1\r\n Host: 相手先のサーバ名\r\n Content-length: $len\r\n \r\n $message でどうですか? これが原因なら、HTTP/1.0 にすればうまくいくはずです。 また、サーバのレスポンスは「400 Bad Request」となっているはずです。 それでもダメなら、 #!/usr/local/bin/perl $|=1; sysread(STDIN, $input,$ENV{CONTENT_LENGTH}); print "Content-type: text/plain\n\n"; print "$input\n"; という、データを受けて表示するだけの CGI を相手に、いろいろ 試してみて下さい。 |
|
いつも拝見しております。みのるです。(環境:SunOS5.6) いきなりで大変心苦しいのですが、"passwd"が実行不可となってしまいました。 急に -r-sr-sr-x 3 root 96392 Feb 24 1999 nispasswd* -r-sr-sr-x 3 root 96392 Feb 24 1999 passwd* -r-sr-sr-x 3 root 96392 Feb 24 1999 yppasswd* となりroot権限で"passwd"コマンドが利かなくなってしまい、 chmod 555 passwd でアクセス権を変更したのですが、 「passwd(SYSTEM): ○○○○ does not exist アクセス権が与えられていません。」とエラーになってしまいます。 シンボリックリンクにすればよいのでしょうか??? |
|
> -r-sr-sr-x 3 root 96392 Feb 24 1999 passwd* これで正しいです。suid/sgid が立ってないと root 以外のユーザが パスワード変更できなくなります。とりあえず % chmod 6555 /usr/bin/passwd で元に戻して下さい。それでも動かないなら、そのときの症状を書いて下さい。 |
|
見逃してた… spawn系の関数は、MS-DOSに特有のものです。 |
|
下記コマンドでも同じエラーになりました。 昨日、リンクを外してしまったのですが、、、それが原因でしょうか。。。 昨日の時点では、同じノードでした。 # chmod 6555 /bin/passwd # ls -ali | grep passwd 313716 -r-xr-xr-x 1 root 96392 Nov 16 11:57 nispasswd* 313666 -r-sr-sr-x 1 root 96392 Feb 24 1999 passwd* 313717 -r-xr-xr-x 1 root 96392 Nov 16 11:57 yppasswd* |
|
mmさん、ありがとうございます。 UNIX系では、無いのですかねぇ〜。 残念です。 |
|
> 昨日、リンクを外してしまったのですが、、、それが原因でしょうか。。。 多分これが原因じゃないとは思うんですが、元に戻すには # rm nispasswd yppasswd; ln passwd nispasswd; ln passwd yppasswd です。で、どういうエラーなのかいまいち掴めないんですが、 > 「passwd(SYSTEM): ○○○○ does not exist アクセス権が与えられていません。」 ○○○○ には何が入るんですか? ユーザ名? もし NIS 使ってたり、shadow 化してるなら、原因を突き止めづらいですね。 まわりのサーバと /etc のパーミッションを見比べてみてはどうでしょう。 # こーゆーときは truss が便利なんだけど、suid プログラムには # truss 使えないのね…。 > spawn系の関数は、MS-DOSに特有のものです。 なるほど。ラクダ本の TCP サーバの例で sub spawn というのが あるんで、C の新しい関数で似たものがあるのかと思ってました。 |
|
始めまして。 「ネットワークプログラミングの基礎知識」 非常に面白かったです。 これからもがんばってください。>68userさん さっそく質問なんですが。 うちにあるLinux(Vine 1.1)のApache1.3.3は CGIが「自分 グループ 他人」の「他人」の権限で 動くんです。 ところがCGIが他人の権限で動くのはまずいらしい ので自分権限で動くようにしたいのですがどうのように 設定ファイルを書きかえれば良いのでしょうか。。 調べてみた所,User命令 (http://japache.infoscience.co.jp/japanese_1_3/manual/mod/core.html#user) とかでやるんでしょうか? |
|
> これからもがんばってください。 どもども。ありがとうございます。 > CGIが「自分 グループ 他人」の「他人」の権限で動くんです。 正確には、nobody 権限で動く、でしょうね。 > ところがCGIが他人の権限で動くのはまずいらしいので これは管理者の方針によります。web しか置いていないサーバでは 各ユーザ権限で動かす方が安全でしょうけど、学校のようにメールや いろんなデータが置いてあるサーバで各ユーザ権限で動かすのは 危険 (CGIに穴があるとメールなども全て見られてしまう)、 という考え方もあります。 > 調べてみた所,User命令 それは、例えば apache を nobody 権限でなく www (というユーザ) の権限で動かしたい場合に使います。 例えば locate のデータなども、nobody 権限で作成されるので、 本来 apache は nobody 権限でなく www などの専用アカウントを 作って、その権限で動かした方が安全です。 で、結論としては http://japache.infoscience.co.jp/japanese_1_3/manual/suexec.html を使います。これを使うと CGI/SSI ともに各ユーザ権限で動きます。 長々と語っておいてアレですが、僕は suExec を設定したことはないです。 上のリンクにはコンパイルがどうこうって書いてありますが、必要なのかなぁ。 ソース持ってきて % ./configure --enable-suexec とするのではダメなんでしょうか。いろいろ試してみて下さい。 これとは別に、cgiwrap というのを使う方法もあります。 ftp://ftp.win.or.jp/pub/network/www/cgiwrap これだと CGI だけ各ユーザ権限で動きます。コンパイルして /usr/local/apache/cgi-bin/cgiwrap にインストールして、 http://localhost/cgi-bin/cgiwrap/~username/cginame.cgi とすると、/~username/cginame.cgi が username の権限で動きます。 httpd.conf に AliasMatch "^/([^/]+)/cgi-bin/(.*)$" "/cgi-bin/cgiwrap/$1/$2" などと書いておくと、/~username/cgi-bin/hoge.cgi にアクセスしただけで 各ユーザ権限で動かすこともできますね。 ん〜長くなってしまった。 |
|
>なるほど。ラクダ本の TCP サーバの例で sub spawn というのが spawn ってどういう意味なんだろうと以前から疑問だったので調べたら、 魚などの産卵という意味なのですね。 MS-DOSの spawn は、exec(3)を真似たものだと思います。 MS-DOSの主なコンパイラで使えるようです。 exec系のライブラリもありますが、例えばBorland C++の場合 int spawnve(int mode, char *path, char *argv[], char *envp[]); で、mode に P_WAIT を指定すると、親プロセスはそのままにして、 空きメモリで子プロセスを実行し、終了後に親プロセスに制御を戻します。 mode を P_OVERLAY にすると、execve() と同じになります。 |
|
いつもありがとうございます。みのるです。 > 「passwd(SYSTEM): ユーザアカウント does not exist アクセス権が与えられていません。」の件。 リンク等、元に戻す前に、"passwd"コマンド復活しました。現在、以下の状態です。 313666 -r-sr-sr-x 3 root 96392 Feb 24 1999 nispasswd* 313666 -r-sr-sr-x 3 root 96392 Feb 24 1999 passwd* 313666 -r-sr-sr-x 3 root 96392 Feb 24 1999 yppasswd* ただ、原因はまだ解りません。trussが使えたので、見てみてはいるのですが、不明です。 ここで質問なのですが、"root"以外のユーザでも、コマンド書換(もしくはアクセス権付与)は 可能でしょうか?私どものサーバセキュリティ上に問題があるような気がしてなりません。 |
|
> trussが使えたので なるほど。root なら使えるんですね。 > "root"以外のユーザでも、コマンド書換(もしくは > アクセス権付与)は可能でしょうか? root 以外の一般ユーザが /usr/bin/passwd を書き換えたり、 パーミッションを変更させることができるか、ということですか? もちろん普通は不可能ですが、セキュリティホールがある場合は その限りではありません。 「passwd が効かなくなった=クラック」というわけでも ないので、しばらく様子を見てはどうでしょう。 |
|
>68user 1999/11/17(水) 18:50 >> CGIが「自分 グループ 他人」の「他人」の権限で動くんです。 >正確には、nobody 権限で動く、でしょうね。 nobody権限というんですか。。 知らなかった(^^; >> ところがCGIが他人の権限で動くのはまずいらしいので >これは管理者の方針によります。 むむー なるほど。 ケースバイケースとかいうやつですか。 >で、結論としては > http://japache.infoscience.co.jp/japanese_1_3/manual/suexec.html >を使います。これを使うと CGI/SSI ともに各ユーザ権限で動きます。 > >長々と語っておいてアレですが、僕は suExec を設定したことはないです。 >上のリンクにはコンパイルがどうこうって書いてありますが、必要なのかなぁ。 >ソース持ってきて > % ./configure --enable-suexec >とするのではダメなんでしょうか。いろいろ試してみて下さい。 suEXEC。これですか Apacheのバージョンアップとともに試してみます。 上手くいったら報告に参りたいと思います。 >これとは別に、cgiwrap というのを使う方法もあります。 > ftp://ftp.win.or.jp/pub/network/www/cgiwrap > >これだと CGI だけ各ユーザ権限で動きます。コンパイルして >/usr/local/apache/cgi-bin/cgiwrap にインストールして、 > http://localhost/cgi-bin/cgiwrap/~username/cginame.cgi >とすると、/~username/cginame.cgi が username の権限で動きます。 >httpd.conf に > AliasMatch "^/([^/]+)/cgi-bin/(.*)$" "/cgi-bin/cgiwrap/$1/$2" >などと書いておくと、/~username/cgi-bin/hoge.cgi にアクセスしただけで >各ユーザ権限で動かすこともできますね。 suEXECのインストールに失敗したらこちらも試してみます。 |
|
> http://japache.infoscience.co.jp/japanese_1_3/manual/suexec.html やっぱりこれって古いのね。英語版の方を見て下さい。 http://japache.infoscience.co.jp/apache/docs/suexec.html うちでも apache1.3.9 を入れてみましたが、configure,make,make install で 簡単にインストールでき (configureのオプションを付けたり、httpd.conf の 手直しはしましたが)、suExec もうまく動きました。 > nobody権限というんですか。。 わかっておられるかもしれませんが念のため書いておきますと、他人の権限で 動くことを「nobody 権限」と呼ぶのではないです。実際に nobody という アカウントは実在しており (see /etc/passwd)、その権限で httpd は動いている、 ということです。 なんで nobody で動くかというと、httpd.conf に User nobody と書いてあるからです。 |
|
ちょっと時間が取れなくて 返事遅れました。(_ _) apache1.3.9は普通に? configure,make,make install でインストールできました。 suEXECも無事インストールできました。 CGIなどが各ユーザー権限で動いてました。 ありがとうございます。 >わかっておられるかもしれませんが念のため書いておきますと、他人の権限で >動くことを「nobody 権限」と呼ぶのではないです。実際に nobody という >アカウントは実在しており (see /etc/passwd)、その権限で httpd は動いている、 >ということです。 えぇ。その辺は大丈夫です。 |
|
ジェダイナイト、9面のシークレットエリア誰か教えて下さい。 |
|
ネットワークプログラミングの基礎知識、凄いです。素晴らしいです。 私のような無知にでもできてしまってちょっと怖いです。 (ほとんど切り貼り状態なんですが・・) FTPの項についてなんですが 「# FTPサーバに、子プロセスが待っているIPアドレスとポートの情報を渡す」 というのがありますよね。ftptras.plで初めて子プロセスは出てくるのでは。 それ以前の例示には「子プロセス」というコメントは必要無いのでは。 (ちょっとここで悩んでしまったので・・・。) |
|
> それ以前の例示には「子プロセス」というコメントは必要無いのでは。 どもども。ミスですね。直しておきます。 最初は fork しないと ftp クライアントは作れないと思ってました。 結局それは誤解だったので書き直したのですが、コメントの修正を 忘れてたようです。 # ftptrans で fork してるのも怪しい。ほんとに1プロセスで # できないのかなぁ? |
|
う〜〜ん。 ローカルのホスト名を得るにはどうすれば良いですか? 開いたSOCKETから手に入れる以外に適当な方法て無いですかしらん。 シェルコマンドは使わずにperlの関数だけで。 RFCの日本語訳ってほんと便利ですよね。感謝しながら読んでます。 PASVの返事て227だけみたいですね。あとは全部エラーみたい。 それと(x,x,x,x,x,x)の「括弧」が付かない場合もあるようですね。 正規表現もむつかしいけど頑張ってるとこおろです。 |
|
> ローカルのホスト名を得るにはどうすれば良いですか? 試してませんが、とりあえず http://www.kt.rim.or.jp/~ksk/sock-faq/unix-socket-faq-ja-2.html#ss2.24 http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlfaq9.html#How_do_I_find_out_my_hostname_do ここらあたりでうまくいかないですか? > あとは全部エラーみたい。 > それと(x,x,x,x,x,x)の「括弧」が付かない場合もあるようですね。 なるほど。ところで、こーゆーのがネットワークプログラムのヤな ところですよね。相手があってのものだから「これで正しいかどうか」 「完璧かどうか」がわからないという。 あと、真面目に作って配布でもするつもりなら http://hp.vector.co.jp/authors/VA002682/rfc1123j.htm も読んで下さい (もう読んでるかもしれませんが)。 # あと、data-connection の peer-port が 20(ftp-data) かどうかの # チェックもね。 |
|
68USERさんの中で最も得意なプログラミング言語はなんですか? |
|
elisp です。 …ウソです。perl か C ですけど、人に誇れるほどの レベルじゃないです。精進せねば。 |
|
色々ありがとうございました。 > 227だけみたい たしかに一番上の桁だけ見ろってRFCに書いてありました。 perlて俺のような無知な初心者にも優しい言語ですね! 構文規則が緩いっていうんですか、括弧とか適当でいいし。 とりあえず構文と関数のリファレンスさえあればなんとなく 出来てしまう。ありがたいことです。 まあ…そのおかげかperl使いな人も俺のような駄目パーラから 超スゴイ人まで腐るほど沢山居るらしくてperlなんか今更 「多少」使えても何の自慢にもならないみたいなんですが…。 でもでもこれからもperlで遊ぶぜえ〜。 じゃあさよならあ〜。 |
|
以前にPOSTに関して質問した者です。遅いレスですが…(^^; どうやら、ソケットに送るPOST〜$messageは、 個別に送った場合、途中の\r\nにHTTPDが反応してしまうようです。 なので、$sendとか、適当な変数に全部繋げて代入し、 print SOCKET $send; としなければならないようです。 HTTP/1.0を指定し、更にこの方法でやってみた所、POSTが成功しました。 ちなみに、HTTPバージョンを省略した場合は HTTP/1.1とみなされるみたいです。(全部そうとは限らない…かな?) |
|
> HTTPバージョンを省略した場合は HTTP/1.1とみなされるみたいです。 省略すると HTTP/0.9 になります。0.9 では GET 以外使えませんし、 ヘッダも送れません。例えば GET /~foo/index.html を送った時点で、サーバからレスポンスが返ってきます。なので、 > 途中の\r\nにHTTPDが反応してしまうようです。 これはそういうことじゃないでしょうか? なお、HTTP 0.9 で POST /~foo/index.html などとしようとすると、405 Method Not Allowed になるはずです。 |
|
というわけで、 > $sendとか、適当な変数に全部繋げて代入し、 > print SOCKET $send; としなければならない ということはあり得ないと思いますが、一応試してみたいので よろしければその掲示板の URL を教えて下さい。 |
|
おはようございます。 ネットワークプログラミングの基礎知識の C言語でHTTPクライアントを作ってみよう(2) ではperlと違いヘッダ部分が表示されてますよね? あれを本体部だけ表示するようにするにはどうしたらいいんでしょう? 色々やってみましたがどうも上手くいかなくて… 「UNIXの場合」はfgets関数をソケット読み出しにも使えますけど 某Windowsは勝手が違うんです。。 # どーみてもUNIXの方がやりやすい どんな感じかというのがhttp://www.nakka.com/inet/httpc.htmlの 赤系の色で 「/* サーバからデータを受信する処理 */」 とか書かれてる辺りです。 なんとなく見るとやりにくいのがわかるかと^^;; どうすればいいでしょうか? 思いついたのでいいですからレスください。 どうもアイデアが・・・・ |
|
while (1){ char buf[BUF_LEN]; int read_size; static int body_flg = 0; char *p; read_size = read(s,buf,BUF_LEN); if ( read_size > 0 ){ if ( body_flg ){ p = buf; } else if ( p = strstr(buf,"\r\n\r\n") ){ /* 空行はあるか? */ p+=4; /* \r\n\r\n の分先に進める */ read_size -= p-buf; /* サイズ調整 */ body_flg = 1; } if ( body_flg ){ write(1,p,read_size); } } else { break; } } こんな感じでどうでしょうか? |
|
あ、全然ダメじゃん。 > } else if ( p = strstr(buf,"\r\n\r\n") ){ buf は \0 で terminate されてないし、そもそも \r\n\r\n が1回で読める保証はなくて、ちょうど 境界にまたがってるかもしれない。 ま、そこらへんはよしなに。 |
|
pingコマンドでは、ホスト名を指定することによって、 そのホスト名(またはIPアドレス)との接続確認が できます。 これと同様に、そのホスト名(またはIPアドレス)の 特定のポート番号に対して、接続確認を行いたいの ですが、なにか良い方法ないでしょうか? |
|
実際に connect するのはダメなんですか? それ以外の方法はないと思います。多分。 |
|
本サイトはたまにではありますが参考にさせていただいております。 私も何か投稿させていただきたいと考えておりましたが、プログラミングサークル“ミレニアム”を立ち上げましたのでご紹介をさせていただきたいと思います。掲示板の案件と直接関係ないと思われますが容赦願います。 ミレニアムはサークルという体質を生かして医療・福祉・教育の分野で高機能・低価格ビジネスアプリケーション構築を目的としたプログラミングサークルであります。 現在、メンバーは15名程度でホームページを建設中であり、現在CGI等の組める方、VB、VC++、Delphi、Java、HTML、DTP(デザイン)の得意な方を募集致しております。メンバーは現職のプログラマー、DTP構築者、家庭の主婦などいろいろな方で構成されております。 ミレニアムに参加する条件としては本人に常識と責任感と好奇心が必要でありその他は問われません。 興味がございましたらメールにてお返事お願いいたします。 失礼いたしました。解からないことがありましたら私も投稿させていただくかもしれませんのでよろしくお願いいたします |
|
はじめまして、いつもHP見さしていただいてます 感謝 winsockを(c言語で)使ってチャットのプログラムを書いてみようと思ったんですけれど、マルチスレッドタイプのサーバーでクライアントにsend()する時(多分IPマルチキャストっ奴を使うと思うんですけど)のやり方について何か情報お持ちでないでしょうか? 接続されたクライアント全てに同報送信できるようにしたいんですけれど、よろしくお願いします。 後、勝手にHPにリンク張ってしまったんですけどよろしかったでしょうか? まずいようだったら連絡下さい |
|
マルチキャストするなら、TCP じゃなくて UDP になると思いますが、 そこらへんの基礎知識はありますか? あと、IPv4 ではマルチキャストは optional なんですが、大抵の OS には実装されてるのかしら? で、僕も興味はありますが、そこらへんはまだ自分のものにしていないので、 説明できないです。 http://X68000.startshop.co.jp/~68user/net/link-book.html の 「UNIX ネットワークプログラミング第2版 Vol.1」 にとっても詳しく書いてありますので、よかったら買ってみて下さい。 # 今説明しようとすると、この本の丸写しになってしまいますので。 > \r\n\r\n が1回で読める保証はなくて、 ここらへんのことについても、この本に詳しく書かれています。 要は1バイトずつ読めばいいんですが、毎回 read しては遅くなるので 先にバッファに読み込んだり、read しているときにシグナルが飛んできた 場合の EINTR などなど。 8000円出すだけで、5万円分くらいの知識が得られます。おすすめ。 > 勝手にHPにリンク張ってしまったんですけどよろしかったでしょうか? どうぞ〜。 |
|
>> $sendとか、適当な変数に全部繋げて代入し、 >> print SOCKET $send; としなければならない >ということはあり得ない 確かにそうでした…$sendに全部代入するのと HTTPバージョンを色々変えるのを同時に試してて混乱してたみたいです(汗) というわけで、やっぱり繋げる必要はありませんでした。ハイ。 また、HTTPバージョン省略も0.9扱いになっているようでした。 でも省略すると0.9にされるというのはちょっと驚き。 これはサーバ側でそう設定している為ですよね…?という事は… 今時0.9なんて使わないし…1.0や1.1をデフォルト設定にしているサーバもあるんでしょうか? |
|
HTTP のバージョン省略時は 0.9 であると RFC で決まっています。 http://X68000.startshop.co.jp/~68user/net/rfc.html というより、「省略したもののみを 0.9 とみなす」と言った方が正しいかな。 GET /index.html HTTP/0.9 というリクエストはできないようなので。 |
|
返事ありがとうございます。 マルチキャストについてですが winsock1,1ではoption扱いで正式サポートではなく 2,0ではサポートされてるようなんですが、いい情報がまだ得られていません。 もうちょっと調べて、うまくいったら報告します。 (今windowsでやってるんで68userさんはあまり興味ないかもしれませんが) |
|
はじめまして。 「ネットワークプログラミングの基礎知識」読ませていただきました。 HTTPの初心者のため、大変勉強になりました。 この度proxyサーバを使って、URLを取ってくるシステムを開発しているのですが、うまく動作しません。 GETのレスポンスで、ヘッダでは「200 OK」が返ってきているのに、ヘッダしか取出せません。どんな原因が考えられるでしょうか。 環境は以下の通りです。 proxyサーバ:NetscapeProxyServer 取出すURLのあるサーバ:Apache 1.3.9 |
|
> ヘッダしか取出せません。 - どういうリクエストを送ったのか - 環境 (Windows など) - 何を実行したのか (telnet でやったとか perl で書いたとか) - どの URL を試しても同じ結果になるのか - 実際のコードは (perl と C 以外わかりませんけど) などがわからないと何とも言えませんが、とりあえず telnet で proxy サーバに繋げて、 GET http://www.yahoo.co.jp/ HTTP/1.0 Host: www.yahoo.co.jp (空行) を試してみて下さい。 > (今windowsでやってるんで68userさんはあまり興味ないかもしれませんが) 最近はネットワークプログラミング自体に飽きてしまい、 3D にはまってたりします(^^; ちょいと紹介しときますが、参考にしたのはこのサイトです。 とてもわかりやすく書かれているので、興味のある方はぜひ。 http://www.cim.pe.u-tokyo.ac.jp/~mitani/Java/java3d/index.html # 長年の夢であったポリゴンをぐりぐり回すのが実現できてうれしい。 # 今はテクスチャ貼ったりシェーディングかける方法を模索中…。 ## ここらへんを解説してるサイトないかしら? |
|
返事ありがとうございます。 > - どういうリクエストを送ったのか > - 環境 (Windows など) > - 何を実行したのか (telnet でやったとか perl で書いたとか) > - どの URL を試しても同じ結果になるのか > - 実際のコードは (perl と C 以外わかりませんけど) 環境:UNIX 言語:C言語でproxyサーバにはsocket通信でリクエストを送っています。 具体的には以下の内容をsendで送っています。 GET http://www.yahoo.co.jp/ HTTP/1.1 Host:www.yahoo.co.jp (空行) ※proxyサーバが社内のマシンしかアクセスできない設定になっているので、 実際にはwww.yahoo.co.jpの部分は社内のhost名を指定しています。 >> ヘッダしか取出せません。 この後、もうちょっと調べてみると、 一度目のrecvでレスポンスヘッダが送られてきて、 二度目のrecvでエンティティボディが取出されることがわかりました。 NetscapeProxyServerの仕様なのでしょうか。 あと、レスポンスヘッダ文字列の大文字小文字ですが、 本などでは"-"の後の文字は大文字なのですが、 上記の環境で行うと小文字になります。 (例)「Last-Modified」→「Last-modified」など。。。 これもNetscape Proxy Serverの仕様なのでしょうか。 御存知のことがあれば教えてください。 |
|
> 一度目のrecvでレスポンスヘッダが送られてきて、 > 二度目のrecvでエンティティボディが取出されることがわかりました。 十分な量のバッファを用意して、十分なサイズを指定したからといって、 一度の recv で全てのデータを取り出せるという保証はありません。 これは read でも同じです。 http://X68000.startshop.co.jp/~68user/net/c-open.html の最後には > もし指定したファイルの長さが 600 バイトなら、 > 1回目のループ: read_size == 256 > 2回目のループ: read_size == 256 > 3回目のループ: read_size == 88 > 4回目のループ: read_size == 0 と書きましたが、これは相手がファイルシステムだからであって、 ソケット経由だと、 char buf[1000]; read(socket,buf,sizeof(buf)); としても、 1回目のread: read_size == 10 2回目のread: read_size == 20 3回目のread: read_size == 1 4回目のread: read_size == 0 などとなる可能性があります (この例ではデータ量は31バイト)。 要は IP パケットが細切れに送られてきたとき、read(recv) すると 要求されたサイズのデータが届くまで待つのではなく、そのときまでに 受け取っているデータを返すわけです。例えば echo サーバで、 $|=1; print(SOCKET,"a"); sleep(5); print(SOCKET,"b"); sleep(5); print(SOCKET,"c"); sleep(5); とすると、細切れなデータが送られるわけです。 > (例)「Last-Modified」→「Last-modified」など。。。 Netscape Proxy Server がわざわざ変換しているのか、 WWW サーバがそういうヘッダを返すのかはわかりませんが、 規格上は大文字小文字は区別されません (RFC のどこかに書いてあるはず)。 Last-Modified/Last-modefied/LaSt-MODIfied は同じように 扱わないといけません。 ちょっと用事があり、今日の夜から数日間 返答できませんのでよろしく。 |
|
> 一度の recv で全てのデータを取り出せるという保証はありません。 あ、これは read_size = recv(s,buf,sizeof(buf),0); のことです。 read_size = recv(s,buf,sizeof(buf),MSG_WAITALL); なら、全データを待ちますので、recv は1回だけ実行すれば OK です。 ただし MSG_WAITALL を指定しても、シグナル受信・コネクション切断時は、 全データを待たずに recv から戻ります。 |
|
ども、初めまして。とほほWWW−ラウンジから来ました。 「ネットワークプログラミングの基礎知識」が大変ためになります。 同様な事は書籍(ラクダ青本)にも書かれていますが、こちらがずっと解かりやすいです。 コンテンツ制作御苦労様です & 有り難う御座います。 ------------------------------ すっごく勉強になる解説のため、繰り返し読む事になるのですが、ベージ配色が、テキストが黒系統なく白系統であるため目が少々付かれます、またバックカラーとテキストの明暗が近寄っているのでこれも目に付かれる要因のような気がします。まっここいらは個人的嗜好の部分だと思います。 そういう事で、バックカラーとテキストカラーの指定を外部スタイルシートで指定させようと思い、その為には取りあえずコンテンツの階層を含めてローカルにダウンし、その後ローカル内で階層を跨いだHTMLファイルの修正をPerlで行う事にしました。 そういう事で、今、再帰的ディレクトリエントリサーチスクリプトを制作中です。。。。。 #いつも本題の前に、「あれやる、これやる」と時間がかかる私でした(笑) #ところで、68userさんは、とほほラウンジでの「B-cus」さんと同一な方でしょうか?、、、まっいらぬ詮索の範疇なのですが(^^; |
|
cksumコマンドについて知りたいのですが、 ��cksumコマンドはファイルに対してどういったチェックを行うで しょうか? �■淡生譴�らcksumコマンドを実行かけた時に、正常に終了したか、 もしくは、異常終了したかの判断は行えるのでしょうか? もし、行えるのであれば、詳細なエラー情報はどういったものが あるのでしょうか。 |
|
> ベージ配色が、テキストが黒系統なく白系統であるため目が少々付かれます であれば perl -pi.bak -e 's/BGCOLOR="#575757" TEXT="#FFFFFF"/BGCOLOR=white TEXT=black/' *.html などがお手軽です。 > まっここいらは個人的嗜好の部分だと思います。 前に「背景が黒/文字が白で読みやすい」と言われたこともあります。 人によって好みが違うので難しいですね。 > �´� 丸付き数字は機種依存文字なので、使ってはいけません。 > cksumコマンドはファイルに対してどういったチェックを行うでしょうか? http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/cksum/ を読んで下さい。なぜそういうコードになっているかを知ろうとすると ほとんど数学になってしまいますので、僕には説明できません。 > C言語からcksumコマンドを実行かけた時に、正常に終了したか、 > もしくは、異常終了したかの判断は行えるのでしょうか? system(3) の戻り値でわかります。0 なら正常、異常終了なら 戻り値を 8bit 右シフトしたものが終了ステータス (cksum が return したり exit した値)。 |
|
> cksum 日本語マニュアルを最初に紹介すべきでした。 http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=cksum&dir=jpman-3.3.0%2Fman |
|
>> �´� > 丸付き数字は機種依存文字なので、使ってはいけません。 そうそう、これ、研究室のFreeBSD環境では見えませんでした。 |
|
うーん、ちょっとめんどくさいけど、掲示板をいじって 機種依存文字をはじくようにしようかな…。 |
|
テストがてら、書き込み。wwwboard.cgi をちょこっと書き換えました。 ��Windows 機種依存文字を表示時に変換するようにしました。 本来、書き込み時に変換するのがベストですが、正しく変換できてるか どうか自信がないので、しばらくこれで様子を見ます。 ��二度書き防止機能を追加。最新10発言の MD5 を保存し、 重複していたら書き込みできないようにしました。 …と、あえて機種依存文字を使ってみたり。 今後、この掲示板では Windows 機種依存文字の使用を推奨します(^^; スクリプトはこちら。http://X68000.startshop.co.jp/~68user/cgi-bin/view-script.cgi/wwwboard.cgi |
|
はじめまして、とほほさんのところからお伺いさせて 頂きました。はじめまして。 早速ですが、自動変換された、 �� の 「(機種依存文字なので自動変換しました)」 の部分、長くて本文が読みづらいので、たとえば変換した 部分を今の赤色のまま、このページの下の方とかその他の ページとかにリンクを張って、そこに (機種依存文字なので自動変換しました) とか書いていただければ、あっさりして見やすと思うの ですが、いかがでしょうか? ご検討頂ければ幸いです。 |
|
確かにおっしゃるとおり読みにくいので、こんなふうにしてみました。 いかがでしょうか。 |
|
# はじめましてが、引用符みたいになってしまって、むっちゃ恥ずかしい・・・ 早速直して頂いて、ありがとうございます。かなり見やすくなったと思います。 しかも、変換した場合だけ注釈が出る、というところが、かっこいいですね。 関係無いですが、目立たせたいがために、わざとWindows 機種依存文字を使う ことも出来そうですね。 あと、「HTTPクライアントを作ってみよう」の 「さらなる改善点・バーチャルホストに対応」について、質問があります。 http://www.host2.com/index.html に対して、 GET /index.html HTTP/1.0 host: www.host2.com:80 とリクエストする例がありますが、RFC2616の2045行近辺を当てはめると、 この例ではポート番号はいらないように思われますが、いかがでしょうか? HTTP/1.0では必要なのかな、と思ってRFC1945を読んでみたんですが、どう しても探し当れられなかったので、単なる私の勘違いかもしれませんが・・・ 宜しくお願いします。 |
|
ご意見ありがとうございます。ftp://ftp.iij.ad.jp/pub/RFC/rfc2616.txt には、 3.2.2 http URL If the port is empty or not given, port 80 is assumed. とあるので、「80 なら省略すべし」と決まっているわけではないです。なので :80 は付けても付けなくても構いません。 ただ、確かに「80の場合は省略してもよい」というのは書いておいた 方がよいと思うので、直しておきます。 # が、これは Host: に限ったことではなく、URL 一般の話なので、 # どこで解説したらいいのか悩むところだなぁ…。 |
|
御回答、ありがとうございます。 なるほど、無い場合は80が仮定されるんですね。 http://www.host2.com/ の、 www.host2.com と全く同じ文字を、 host: の後に書く必要があるんかな、と 思ったのですが、常に付けていても問題ないのですね。わかりました。 また分からないことがあったら、質問させて頂きますので、その時は宜しく お願い致します。 |
|
こんにちわ!このHPで最近勉強させてもらってます! ところで、FTPクライアントをC言語で書く予定は無いのでしょうか? 一応見よう見まねでこのHPのパールで書かれたソースから Cで書いてみたのですが、見事失敗! (具体的にいうと、getsocknameの使い方がmanでしらべても よくわからなかったのです(泣)できれば教えてください!) ですから、説明無しでもソースだけアップしてもらえたらな〜、 なんて自分勝手なことを思ってしまってます。(ごめんなさい) あるいは、CでかかれたFTPクライアントをアップしている HPがありましたら、ご紹介いただけると幸いです! |
|
こんにちわ、はじめましてあっちーといいます。 最近自分のパソコンにLinuxを入れました。 でもコマンドの使い方とか全然わかりません。 なんとxWindowを立ち上げてサウンドの設定までできましたが CD-ROMが外付けなためCDROMびアクセスできません。 CDプレイヤーを立ち上げるとerorrと出てきます。 mountの設定なのでしょうか? パソコンはSony VAIOでPCG505Sです。 CD-ROMはPCGA-CD5です。 いきなり掲示板に書いた内容がこんなですが もしよろしければどなたか教えてください。 これからLInuxとUnixの勉強を始めていきます。 よろしくお願いします。 |
|
Kaiさんゑ。 単にFTPが使いたい、てだけならば CPANに行けばPerl用のFTPモジュールが置いてあるなりョ。 |
|
> 具体的にいうと、getsocknameの使い方がmanでしらべても > よくわからなかったのです(泣) 僕も知りませんでしたが、昨日から調べていてやっとできました。 struct sockaddr_in local_socket; int len; long local_ip; len = sizeof(local_socket); if ( getsockname(socket,(struct sockaddr *)&local_socket,&len) < 0 ){ printf("getsockname failed.\n"); } local_ip = ntohl(local_socket.sin_addr.s_addr); printf("PORT %d,%d,%d,%d,%d,%d\n", (local_ip >> 24) & 0xff, (local_ip >> 16) & 0xff, (local_ip >> 8) & 0xff, (local_ip ) & 0xff, (ntohs(local_socket.sin_port) >> 8) & 0xff, (ntohs(local_socket.sin_port) ) & 0xff); # わかってから man を読むと、何が書いてあるか理解できるんだけどなぁ。 > あるいは、CでかかれたFTPクライアント FreeBSD あたりなら ftpコマンド http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/ftp/ fetchコマンド http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/fetch/ ftpライブラリ(fetchがリンクしている) http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libftpio/ などなど。FreeBSD 以外の環境でコンパイルしようとすると 苦労するでしょうから、ソースを読むだけにしておくのがいいでしょう。 今回参考にしたのは (結果的には丸写しになってしまったけど) http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libftpio/ftpio.c?rev=1.33 です。 > CDプレイヤーを立ち上げるとerorrと出てきます。 > mountの設定なのでしょうか? mount は必要ないです。音楽CDを聞くには、 「CD-ROMドライブに何曲目を鳴らせ」 という指令を送るだけで、後は CD-ROM ドライブが勝手にやってくれます。 で、お使いのプレイヤーの -device とか -d とかのオプションで、 CD-ROM ドライブのデバイスを指定できませんか? # FreeBSD なら xcdplayer -device /dev/wcd0c とか # xcdplayer -device /dev/cd0c ですけど、Linux は知りません。 |
|
サンプルも作ってみました。anonymous ftp で、 ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/README.TXT を取得します。 http://X68000.startshop.co.jp/~68user/tmp/ftp-client.c レスポンスコードは見ていないし、バッファオーバーランはするし、 RFCに準拠していないし、ファイルがなかったらデッドロックするしで、 バグだらけですが、改造してみて下さい。 |
|
おお!どうもありがとうございます!>68user様&むちなちゅぼ〜様 早速これを参考に頑張ってみたいと思います!!! ほんとうにありがとうございます!!! |
|
あんまり意味のない話題なのですが、、、、 Linuxのペンギン と FreeBSDのマスコット? (http://www.freebsd.org/gifs/freebsd_1.gif の右側のキャラクター) どっちが好きですか? 僕はFreeBSDの方なんですが。 FreeBSDといいつつLinux使ってるんですけどねぇ〜<僕 RPMのデータベース(?)が壊れて強制再インストールという事故にあった事があるので 今度OS乗り換える時は、68userさんおすすめのFreeBSDにしようかと。 |
|
> FreeBSDのマスコット? でーもん君 (daemon) です。手に持ってるのが fork で (fork(2) とかけている)、しっぽが (C言語の) ポインタだったかな。 > どっちが好きですか? うーん、描く人によりますねぇ。http://www.jp.NetBSD.org/ の でーもん君は憎たらしいし、Kondara Linux のペンギンは挑発的で かわいくないし (ペンギンにも名前あるんでしたっけ?)。 > おすすめのFreeBSDにしようかと。 誤解のないように言っておきますが、Linux を使ったことは ありません。なので、Linux と比べて FreeBSD がよい、という わけではないです。 ただ、あんなにディストリビューションが乱立した状況は 混乱の元であると思ってますので (30個くらいありますよね)、 あまり人には勧めたくないです。そういう意味で、まわりの人には 「Linux は使ったことはないけど、一本化されている FreeBSD の 方がいいんじゃないの?」 と言ってます。 あと、NetBSD やら OpenBSD なんかを使ってみるのもいいかも しれませんね。そこらへんを問題なくインストールできるなら、 少なくとも中級者でしょうから。 例えば NetBSD-1.4.1 (最新リリース) では、ユーザを登録する コマンドが標準で入ってないので、/etc/mastep.passwd を いじって pwd_mkdb することになります。 # もちろん登録コマンドをインストールする手もあります。 |
|
FreeBSD上で、Treeコマンドを使いたいのだけけれど、 どうしたらよいのだろう。 もし、よろしかったら教えて頂けないでしょうか? m(_ _)m |
|
tree ってどんなコマンドですか? # もしかして DOS の tree? |
|
> > FreeBSDのマスコット? > でーもん君 (daemon) です。手に持ってるのが fork で > (fork(2) とかけている)、しっぽが (C言語の) ポインタだったかな。 意味があるのかぁ〜 ナルホドー > > どっちが好きですか? > うーん、描く人によりますねぇ。http://www.jp.NetBSD.org/ の > でーもん君は憎たらしいし、Kondara Linux のペンギンは挑発的で > かわいくないし (ペンギンにも名前あるんでしたっけ?)。 確かに。(^_^) > NetBSDのでーもん やはり、僕はFreeBSDのでーもんがいいなぁ。 ペンギンの名前は知らないです。 > > おすすめのFreeBSDにしようかと。 > 誤解のないように言っておきますが、 (中略) > Linux と比べて FreeBSD がよい、という > わけではないです。 それはわかってます。 はっきりいって、OS換えるといってもぜんぜん決めてないのです。 始めはSolarisなんかにしようかと思ってたんですがこれは有料だそうで、、、、 その時、UNIXの部屋の > FreeBSD に乗り換えてみませんか? ;-) を見てFreeBSDにしようかと(^_^;;) あと、FreeBSDのでーもん君も気に入ったでポイントプラス。 |
|
はじめまして。UNIXに関して(その他もですが)ほとんど知識の無い私はかなり参考にさせていただいています。ありがとうございます。 いきなりで申し訳ないのですが、CGIの環境変数HTTP_REFERER についてお聞きしたい事が有ります。 HTTP_REFERER を使って、前ページ判断をさせているのですが、値の入り方が不安定で、思うように処理を行わせる事が出来ません。 68userさんのページでHTTP_REFERER はブックマークやURLの手打ちでは値が入らないと書いてあり、なるほどと納得したのですが、同じようにブックマークから飛んできても、値が入っている時と入っていない時が有るようなのです。それって、サーバの設定に問題があるのでしょうか。 つたない文章で、言っている事が良くわからないかもしれませんが、何かアドバイスをいただきたいと思います。お願いします。 |
|
> 始めはSolarisなんかにしようかと思ってたんですが > これは有料だそうで、、、、 Free Solaris などもありますが、まぁ入手経費はかかりますね。 >> FreeBSD に乗り換えてみませんか? ;-) > を見てFreeBSDにしようかと(^_^;;) なるほど。ということでしたら、ぜひ使ってみて下さい。 > HTTP_REFERER この値はあまり信用できません。ユーザがある程度自由にいじれる、 ということもありますが、IE ではブックマークや URL 直打ちで 飛んできた場合も、前に読んでいたURL (全然関係ない URL) が REFERER に入っていることがあります。 # 最新版では直ってるかなぁ? ではなくて、同じブラウザで、同じページを読んでいて、同じページに ブックマークで飛んでも、値が入っているときがあったり、入っていない ときがあったり、なんでしょうか。もしそうなら ちょっとわからないので、 http://www.wakusei.ne.jp/twn/wwwlng.cgi などで質問してみて下さい。 |
|
アドバイスありがとうございます。 教えていただいたURLに行って、色々読んでみました。 結局、HTTP_REFERER ってあんまり信用しちゃいけないんですね。 その値を使って、ページを振り分けるなんてことはあんまりしない方が良さそうですね。 そういう処理しようと思っていたんですけど、やめておきます(笑) アドバイス、本当にありがとうございました。 |
|
はじめまして 最近Perlでのネットワークプログラミングの勉強はじめたばかり初心者です。 PORT コマンドで送るPORT 番号がわからずにYahooで検索しまして こちらのサイトを発見しました。なんとアッサリ解決。ありがとうございました。 もうひとつわからない点がありまして,よろしければご指導ください。 FTPのユーザー認証で,USERコマンドを username@SERVER のような形で 送信しなければならないFTPサーバーがありまして,これがどうもうまくいきません。 ためしに, $username ='username@ftp.server.com'; print SERVER "USER $username\n"; といった形で送ってみたのですがどうしても530 User unknownと言われてしまいます。 どうしたら良いのでしょうか? 関係ないですが,私のPC98にはデーモン君シールがぺたぺたと12枚も貼ってあります(笑) 今は,Solaris7をAT互換機にいれてるのですが,FreeBSDに比べてなんか動作が重いです。 こっちは,P3-500なんですが。 |
|
> FTPのユーザー認証で,USERコマンドを username@SERVER のような形で > 送信しなければならないFTPサーバーがありまして, 本当に「USER コマンド」ですか? USER anonymous (あるいは ftp) PASS username@SERVER ではないですか? (つまり anonymous FTP) > 今は,Solaris7をAT互換機にいれてるのですが,FreeBSDに比べてなんか > 動作が重いです。 重いってのもありますけど、gzip とか tar とか gmake とか gcc とか tcsh とかをインストールするのがめんどくさいので、あんまり好かんです。 # CDE も嫌。 僕は (gcc以外は) ソースからコンパイルしてますけど、 みなさんはバイナリインストールしてるんでしょうかね。 |
|
うぉ,レスめちゃ早です。 >本当に「USER コマンド」ですか? USERコマンドみたいです。どうやらWindowsNT Serverにログインするときに username@SERVERの形になってるみたいです。 ちなみにマイクロソフトのFTPサーバーにアノニログインしたときのログです。 長くて恐縮ですが。 LOCAL -> Socket Connected waiting for Login sequence. REMOTE -> - You can connect to a SERVER by `user' command: REMOTE -> - ftp> user username@SERVER REMOTE -> - or by `cd' command (after logged in as an anonymous user): REMOTE -> - ftp> cd //SERVER REMOTE -> - Cache is enabled by default and can be disabled by `cd .' (toggle) REMOTE -> - This (proxy) service is maintained by 'goiken@sic.shibaura-it.ac.jp' REMOTE -> -extended FTP [MODE XDC] REMOTE -> COMMAND -> USER anonymous@ftp.microsoft.com REMOTE -> -- USER for anonymous@ftp.microsoft.com. REMOTE -> - ftp Microsoft FTP Service (Version 4.0). REMOTE -> - Anonymous access allowed, send identity (e-mail name) as password. REMOTE -> -- @ @ REMOTE -> ( - )/ -- connected to `ftp.microsoft.com' COMMAND -> PASS ********** REMOTE -> -This is FTP.MICROSOFT.COM. Please see the REMOTE -> -dirmap.txt for more information. REMOTE -> Anonymous user logged in. COMMAND -> SYST REMOTE -> Windows_NT version 4.0 私の場合,Soralis2.6の時はGCC以外ほとんど自分でコンパイルしました。 今は,サーバーが5台もあってOSを入れ替える度にいちいちコンパイルするのが面倒なので 全てバイナリをインストールしてます。 日本サンユーザーグループが 毎年バイナリ&ソースのコレクションをリリースしてるんでこれを購入してます。 たしか5千円くらいで買えるんです。フリーソフトを集めただけにしては高い気がしますけど(苦笑) |
|
> うぉ,レスめちゃ早です。 やらなきゃいけないことがたくさんあるのに、 こーゆーことばかりしてるので、全然仕事が進みません(^^; > REMOTE -> - This (proxy) service is maintained by 'goiken@sic.shibaura-it.ac.jp' > REMOTE -> -extended FTP [MODE XDC] これって ftp proxy だからではありませんか? ftp.microsoft.com には USER=anonymous PASS=user@server でログインできました。 でも、それなら $username ='username@ftp.server.com' で うまくいくはずですが、想像するに接続するホストとポートが 間違ってはいませんか? ftp proxy がうちのまわりにないので試せないのですが、 もし public な ftp proxy サーバをご存知でしたら教えて下さい。 > たしか5千円くらいで買えるんです。 そうなんですか。それは知りませんでした。 > フリーソフトを集めただけにしては高い気がしますけど(苦笑) 確かに :-)。ftp で配布すればいいのにね〜。 ところで BSD MAGAZINE 創刊号はダメダメだったけど、 第2号はなかなか濃くていい感じです。でーもん君シールは かわいくないですけど(笑) |
|
なんどもすいません。 >これって ftp proxy だからではありませんか? proxy経由で繋いでいる下のログは,他のFTPクライアントのものでした。 しかし,マイクロソフトのFTPサーバーには,こちらで配布されているftptransを 使っても問題なくログインできました。 実はftptranを使ってログインできなかったのは,全く別の所だったのですが そこを例として出すわけにはいかなかったので確認せずに,Microsoft.comを 例として出してしまいました。NTだから同じかなと思ったんですが・・・ それで,NTサーバーでログインできない所を探してきました。 よろしければこれで確認していただければと思います。 hostname:ftp.theglobe.com Username:Otamesi1 Password:Otamesi ここには,フリーソフトのFTP Explorerというクライアントで ログインできましたが,こちらで配布されているスクリプトで 試したところUSERコマンドの所で,エラーとなってしまいます。 >でーもん君シールはかわいくないですけど(笑) うっ,でーもん君はお嫌いですの? 私は,2年くらい前に秋葉原のぷらっとホームって所で,でーもん君のワッペン?を買っちゃいました。 他に牛さんとかペンギンさんのがあった気がしますが,でーもん君が一番売れてるって店員が言ってました。 あの頃は毎日,環境をいぢってた気がします。FreeBSDを使って何かするというより FreeBSDで遊んでました。今使ってるWindowsマシンなんて壁紙すらないんですがねぇ(^^) |
|
> hostname:ftp.theglobe.com > Username:Otamesi1 > Password:Otamesi FTP Explorer をインストールして試してみましたが、 530 USER unknown でした。FreeBSD と Solaris の ftp でも同じです。 この Username と Password は確かに合ってますか? 誰かログインできました?>読んでる方 (ってどれくらいいるのかな) # Username: Otamesi なら password 入力までいくんですが。 > うっ,でーもん君はお嫌いですの? http://www.freebsdmall.com/ を見るに、上のでーもん君は嫌いですが、 背景のはアリだと思います。 自己分析するに、妙に立体感のあるアメコミチックな絵が嫌なのかな? |
|
はじめまして。perl初心者です。 こちらのperlのページ、とてもわかりやすいですね。 全部保存して勉強しています。 簡単な改造しかできませんが、 おかげさまで、やりやすくなりました。 どうもありがとうございました。 リンクさせていただいてもよろしいでしょうか? |
|
> リンクさせていただいてもよろしいでしょうか? どうぞ〜。扱いが簡単でメンテしやすいリンク方法を考えている最中なので、 逆リンクは張れませんが (3ヵ月近く悩んでます)。 |
|
>530 USER unknown でした。 う〜,すみません。 微妙にUsernameとPasswordを間違ってしまいました。 ヘボン式でした。『h』が抜けています。 正しくは↓こちらです。 hostname:ftp.theglobe.com Username:Otameshi1 Password:Otameshi |
|
「UNIX の部屋」を更新しました。 http://X68000.startshop.co.jp/~68user/unix/ この掲示板やメールで頂いたご意見 (.xsession/complete など) は 全て反映させたつもりですが、もしまだ書き変わっていないものが ありましたら ご指摘下さい m(_ _)m > ヘボン式でした。『h』が抜けています。 おお、ほんまや。FreeBSD の ftp ではログインできるけど、 ftptrans や telnet ftp.theglobe.com ftp ではうまくいかない。 なんでだろう。調べておきます。 |
|
はじめまして。メールは何度か送ったけれど、掲示板にカキコする のはこれが初めてです。 「UNIXの部屋」を見させていただきました。説明が詳しく、非常に 勉強になります。ありがとうございます。completeコマンドに 関してはこれからじっくりと見ていこうかなと思ってます。 あと、~/.xsessionについて。パーミッション変更に関しては % chmod +wx ~/.xsession ではなくて、 % chmod u+wx ~/.xsession とした方がいいのでは?「+wx」だとすべての人に編集を許可すること になり、危険だと思います。(ある日ログインしたらいきなりデスクトッ プが変わっていた!なんてことに...) |
|
> ftp.theglobe.com 改行コードが LF だったからでした。CRLF (\r\n) にしたらうまくいきます。 よく見れば RFC にも CRLF にするように書いてありますね(^^; 直しておきます。 > telnet ftp.theglobe.com ftp ではうまくいかない。 今手元に現物がないので確かめてませんが、うまくいかなかったのは telnetx だったからだと思います。素の telnet だと CRLF を送るようですね。 > % chmod u+wx ~/.xsession どもども>skeleton M. さん +wx という形式だと umask の値で修飾され、その結果が実際の パーミッションになります。なので、umask 0 にでもなって いない限り 777 にはなりません。 u+wx と書かなかった理由ですが、基本的に umask の値を尊重した方が よいのではないかいう考えからです。学校などでは、大抵 user=a990001, group=a99 で umask 22 でしょうけど、user=68user,group=68user という 1ユーザ=1グループのサイトでは umask 2 です (ソフトを共同開発するとき などはこっちの方が便利)。 なので、 - umask を正しく設定する - chmod は相対方式で。 - パーミッションを公に公開したい場合は明示的に a+rwx,777 などとする という考えから +wx としたのですが、いかがなもんでしょう。 # 「とはいえ、明示的に u+wx とか 755 と指定する癖を付けた方がよい」という # 考えもあるんでしょうね。どっちがいいのかな。 |
|
どうも、ご無沙汰しております>お師匠様 いやぁ、仕事が忙しくてなんともなりませんです、はい。 で、いつもいつも困ったときに助けていただいて恐縮なんですが、 FROMから、 $len=$ENV{'CONTENT_LENGTH'}; read(STDIN, $st, $len); と、STDINでとってきたデータに日本語が含まれていた場合 %なんちゃらで置き換えられてしまいますよね。 これを元の日本語に戻したいんですけど、なにかいい方法が ありませんでしょうか? 毎回毎回FORMに対応した変数をCGI(Perl)内で 定義するのではなく汎用のCGIを作りたいんです。 cgi-lib.plを使ってkeys関数でハッシュから取り出すと、 送られてきたデータの順番がぐちゃぐちゃになるのを なんとかできればそれでもいいんですけどね(笑) |
|
すんません、下の質問解決してしまいました。 もう一度駱駝本と鼠本を見直してたら、のってました。 そのものではないですけど・・・。 近況報告 ここ数ヶ月SETI@homeで自宅のPCが24時間動きっぱなし(笑) |
|
> ここ数ヶ月SETI@homeで自宅のPCが24時間動きっぱなし(笑) RC5-64 と同じく seti も Mac (というかG4?) 陣営が 優勢なんでしょうか? うちのまわりの24時間稼働の マシンは 486DX2+Memory 8MB+NetBSD1.4.1 しかないので、 参加はとても厳しいです(^^; |
|
>改行コードが LF だったからでした。 なるほど,そういうことだったのですね。 全てをCRLFに修正したらうまくいくようになりました。 ありがとうございます。 で,こんなもんを作ってました。 あまり役にたたない物ですけどね(^^; http://disk.hypermart.net/fxp.cgi http://disk.hypermart.net/fxp.txt #ソース |
|
改行コードの話が出たので、ついでに書いてしまいます。 実は最近、掲示板を自作してみたのですが、改行をBRタグに 置換する部分があって、そこではCR+LF,LF,CRの3通りに 対応するようにしたのですが、CRはMacだから致し方ないとして、 LFは研究室のFreeBSDで試験できるから、ということで、 やってみたのですが、何とFreeBSDのNN4.7もCR+LFで フォームデータを送ってきたのでした。Lynxもそうだったし、 これじゃテストできないやん(^^; |
|
> http://disk.hypermart.net/fxp.txt #ソース ん〜、もっと OOP 的なサンプルプログラムを書くべきだったか…。 > 何とFreeBSDのNN4.7もCR+LFで NN/NC は UNIX 版でも CR+LF ですね。 > Lynxもそうだったし、 Lynx は LF じゃないですか? FreeBSD-2.2.7 の package から入れた Lynx-2.8rel.2、Solaris2.6 でコンパイルした Lynx-2.8rel.2 は 共に LF でした。 |
|
この掲示板の過去ログを検索できるようにしたかったのでしてみました。 でこれがそれを圧縮したやつ。 http://www.geocities.co.jp/SiliconValley-Bay/2916/68bbs.tar.gz 物好きな方はどうぞ。 前のFreeBSDの話>68userさん 今度本屋へ行った時に、FreeBSD付の入門書買ってインストールしてみます。 FTPからダウンロードはとても(^_^; 明日から5日間スキーへ行ってきます〜 やや自慢;-) |
|
> この掲示板の過去ログを検索できるようにしたかったのでしてみました。 また物好きなことを :-) そのうち namazu で検索できるようにしておきます。 > 今度本屋へ行った時に、FreeBSD付の入門書買ってインストールしてみます。 書籍選びには http://www.jp.FreeBSD.org/CD-list/ も参考にしてみて下さい。 > 明日から5日間スキーへ行ってきます〜 骨を折らないように祈ってます ;-P |
|
>> Lynxもそうだったし、 > Lynx は LF じゃないですか? いや、確かに%0d%0aとなっていたから、CR+LFだと 思うんですけどね。もう一度確かめてみるとします。 |
|
lynx-2.8 のソースを流し読んだ限りでは、 <form method=post action=foo.cgi enctype="multipart/form-data"> などと enctype を設定しない限り LF になるような 気がするんですが、ただの気のせいかもしれません (^^; GridText.c の /* This is a continuation of a previous textarea * add %0a (\n) and the escaped string. */ あたり。 # と言いながら、テストするのに multipart/form-data なんて # 書かないだろうから、lynx のバージョンが違うというオチでは # ないかと予想しているんですが、どうでしょう。 |
|
>いや、確かに%0d%0aとなっていたから、CR+LFだと >思うんですけどね。もう一度確かめてみるとします。 間違いなくCR+LFでした。 ひょっとして、Tera Term(WindowsのTelnetみたいなもの) から起動した所為でしょうか?ktermからならLFになるのかも・・・ なお、Lynxのバージョンは >Lynx Version 2.8.2rel.1 (01 Jun 1999) >Built on freebsd3.2 Jul 6 1999 13:31:33 でした。 |
|
改行コードなんですが,家のSolarisから送信したら LinxはLFみたいですねぇ。 Linxのバージョンによって違うのかな? でもLinxから掲示板に投稿する人なんてあんまりいないような気が・・・・ >Yuukiさん 物好きなんで過去ログ頂きました。 もの好きというよりただの暇人かも(^^; なにか面白いネタを探してたりします。 |
|
学校のSolarisはLFでした。 |
|
まずは皆様、あけましておめでとうございます。 改行コードの話ですが、初心者向けのCGIの本には MacはCR、WINDOWSはCR+LF、UNIX(系)はLFとしているものが多いようですが 違うんでしょうか? むぅぅ、奥が深い・・・。 >SETIの話題 G4というより、PPCが強いです。 G4の速さの原因である、VelocityEnginにクライアントが対応していないため 現在はG3とG4での速度差はほとんどありませんです。 |
|
明けましておめでとうございます。 まだまだ素人の域から脱しられない者ですが、宜しくお願いします。 socketについても、全く知らなかったのですが、 「ネットワークプログラミングの基礎知識」では、とても良く分かりました。有り難うございます!! いきなり質問で申し訳ないのですが、 識者の方がいらっしゃいましたら、ご教示下されば幸いです。 HTTP_REFERERでは、呼出し元URLがセットされますが、 これ(Referer)を、返さない様にする方法ってあるのでしょうか? または、任意のURLをセットする等。 #そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? 宜しければ、お教え願えないでしょうか?よろしくお願いします<(__)> ----- ちなみに、<IMG・・>タグを取っ払って表示させるCGIを「ネットワークプログラミングの基礎知識」を参考に作ってみました。 が、SUBMITボタンがあるページで送信をクリックすると、(HTTP_REFERERをチェックしているCGIでは、)エラーで弾かれてしまうので、回避したいと思いました。 |
|
ども (。・_・。)ノ Gooで3DOのゲーム、スターコントロール2を検索して 過去ログに引っ掛かってきたものです( ;^^)ヘ.. ちなみにSEGABBSのVol.83の辺りです。 HPのトップを見てみるとUNIX関係の資料が… この頃Linuxに挑戦しているのですが、 なぜゲームの検索をしていてUnixにたどり着くのか(TT そんなに私に休まずにUnix系の勉強をシロというのだろうか(笑 まだLinuxのslackware3.6をインストールしただけですが、 ここのぺーじ等を参考に、ゆくゆくはサーバを立ててみたいと おもってます(いつになることやら ちなみにBBSを巡回する癖は無いので レス付けても返事無いかも(ぉぃぉぃ というわけで、またいつか書きこみに来るかも(^^; |
|
>HTTP_REFERERでは、呼出し元URLがセットされますが、 >これ(Referer)を、返さない様にする方法ってあるのでしょうか? 私はネットワークに詳しい訳ではないので、実際の動作だけを 申し上げますと、ブックマークからアクセスした場合や、URLを 直打ちした場合はHTTP-Refererがつかないようです。 Refererは呼び出したページを示すもので、上記のような ケースでは呼び出したページそのものが存在しませんからね。 実際、私のウェブページのアクセスログでは、Refererが ないのも多いです。 >#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? ブラウザが持つものはHTTP-User-Agentです。 #と、断言していいのかな…。 User-Agentを操作できるブラウザもあります。IEもその1つ らしいのですが、レジストリの操作が必要だとか言って、私には ちょっと分かりません。 もっとやり易いのはLynxですね。これには、Optionメニューの 中に堂々とUser-Agentを指定する項目があります。 |
|
>#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? ブラウザがリンク元のページの情報としてReferer: ヘッダを送る訳ですから、 当然ブラウザが持ってます…というか、ブラウザがどのような Referer: ヘッダを送るか、または、送らないかを決めています。 User-Agent: ヘッダもそうですが、HTTPリクエストヘッダは、 クライアント、つまりここではブラウザ次第です。 |
|
あけましておめでとうございます! 今日やっと図書館が開いたので1999/12/24同様、そこのマシン からカキコしてます(笑)。 レスが遅れてすいません>68user様 >+wx という形式だと umask の値で修飾され、その結果が実際の >パーミッションになります。なので、umask 0 にでもなって >いない限り 777 にはなりません。 あわわ、知りませんでした。私の勉強不足です(汗) ># 「とはいえ、明示的に u+wx とか 755 と指定する癖を付けた方がよい」という ># 考えもあるんでしょうね。どっちがいいのかな。 +の前に何もつけなければ(つまり+wxみたいにすれば)umaskの値で修飾される ということを知らなかった私はいつもu+wxなどとしてましたけど。 あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを使うしかないのでしょうか? 教えていただければうれしいのですが。 |
|
UNIXのサブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクに コピーする方法は在りませんでしょうか,もしあったら教えて下さい。 |
|
>サブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクにコピーする方法 http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#cp の -R オプションではいかがでしょう? |
|
goosan様、mm様、御回答ありがとうございました。 大変参考となりました!! 僕は、まだまだスキルは低いのですが、分かる事があれば、 答えたいと思っています。(give and takeの精神で(^-^)) 今後とも宜しくおねがします。 |
|
1月2日に帰ってたんですが、色々あって(疲れてて)遅くなりました。(^^;; FreeBSDの入門書を見に行くついでに プログラミングPerl改訂版 (http://www.oreilly.co.jp/BOOK/pperl.htm) を買おうと思ったのですが、始めてのPerl を買ってしまったようです:-) 著者にLarry Wallの名が無いのとラクダの絵が無いのでおかしいなとは思ってたのに そのままレジへ....(^^;; リファレンスの事とかモジュールの作り方とかが知りたかったのにのっていない:-) FreeBSDの方は FreeBSD徹底入門 (http://www.pro.or.jp/~fuji/computerbooks/unix-x/freebsd.asada.html) にしようかなと思います。まだ買ってない(^^; >68userさん >そのうち namazu で検索できるようにしておきます。 こりゃどうも、楽しみです。 >書籍選びには > http://www.jp.FreeBSD.org/CD-list/ > も参考にしてみて下さい。 参考にしまーす。 >荒木さん >物好きなんで過去ログ頂きました。 どうぞどうぞ。 でもあまり役に立たないかも.... >なにか面白いネタを探してたりします。 僕は、勉強がてらにPerlのモジュール とか作ろうかと。 …的外れなレスかもしれない。 |
|
帰省先からこんにちは。 > あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを > 使うしかないのでしょうか? tcpdump の他にも sniffit や ethereal などがあります。 また、リクエストを表示するような簡単な http proxy を作って、 ローカルで動かしておいて、そこ経由(http://localhost:8080 とか) でブラウズするのもお手軽でしょう。 > サブディレクトリ以下のファイルやディレクトリを > すべて一回でフロッピーディスクにコピー cp -R でもいいですし、 cd target-dir; tar zcvf /floppy/archive.tgz . というのもあります。あと mtools を使う手も。 > FreeBSDの方は FreeBSD徹底入門にしようかなと それなりの本だとは思いますが、古い(2.2.1R)ので あまりお勧めはしません。 # 最近はインストール本を買ってないので、 # 何がよいのか知らないんですよね。 > そもそもHTTP_REFERER情報って、ブラウザが持っているの > でしょうか? CGI 側から参照できる環境変数で、頭に HTTP_ がつくものは 全てブラウザや proxy サーバが値を決めています。 |
|
>始めてのPerl を買ってしまったようです:-) Yuukiさん、僕の場合は、「初めてのPerl」を買いに行って、 「プログラミングPerl」しかなかったので、注文して 買いました。 僕のレベルに丁度マッチして、読み応え十分(笑) 未だにWINから脱する事ができないSAITOでした。 |
|
仕事中によくUNIXの部屋を利用させて頂いてます。 さっそく、教えて頂きたいのですが、 UNIXコマンドでユーザーID名とグループ名を変える事は出来ますか? よろしくお願いします。 |
|
> ユーザーID名とグループ名を変える root になって /etc/passwd あたりを編集します。FreeBSD なら vipw コマンドで書き換えればいいでしょう。group は /etc/group で。 |
|
どうも、skeleton_M.です。このホームページをいつも見させていただいてます。 > > あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを > > 使うしかないのでしょうか? > tcpdump の他にも sniffit や ethereal などがあります。 どうもありがとうございます。機会があれば試してみようと思います。 > また、リクエストを表示するような簡単な http proxy を作って、 > ローカルで動かしておいて、そこ経由(http://localhost:8080 とか) > でブラウズするのもお手軽でしょう。 うーん、私はまだそこまでできるレベルではありません(^^; 修行せねば |
|
Cシェルで多次元配列の記述方法があれば教えて下さい。(あるんですか?)(*_*)/ |
|
> うーん、私はまだそこまでできるレベルではありません(^^; port 8080 を bind するサーバプログラムを作って、 ブラウザの proxy を localhost:8080 に設定すれば、 リクエストを出すたびに GET http://foo/bar HTTP/1.0 ... というリクエストがくるので、それを (標準出力に) 表示すれば ブラウザのリクエスト内容がわかるでしょう。 リクエスト内容を表示するだけならそれで OK ですが、 それを他のホストに中継してやると proxy サーバのできあがり。 > Cシェルで多次元配列の記述方法 できないと思います。eval 使ったり小細工すれば無理ではないでしょうけど、 perl や awk でやる方が早いと思う。 |
|
UNIXでディレクトリやファイルをアーカイバして圧縮してFDに移してWindows98で展開することは出来るのですか。 tar(*.tar,*.tar.gz,*.tgz),LHA・LZH(*.lzh), ZIP(*.zip)形式のアーカイバ,gzip(*.gz)形式の圧縮,すべて出来るのですか。 またUNIXでWindows用の *.exe などのアプリケーションファイルをダウンロードしてFDに移してWindows98で実行することは出来ますか。 Windowsユーザーとのデータの交換の参考のために教えて下さい。 |
|
ただのファイル転送なので、全て可能です。アーカイブが読めるかどうかは Windows 側にその形式を扱えるアーカイバがあるかどうかですが、 tar/gzip/LHA/LZH/ZIP 全て揃っているでしょう。 それ以前に、質問に対する答えをもらったのに (ディレクトリ一括コピーの件)、 わかったのかわからなかったのか返答する気がないなら、最初から質問しないで下さい。 |
|
よく分かりました。ありがとうございました。 |
|
どうも、skeleton_M.です。 > port 8080 を bind するサーバプログラムを作って、 すでにこの時点でパニクってます(^^; 作り方が分からないし(参考になるページがあれば紹介していただけますか?)、 あと、作れる環境にあるかどうかも分かりません(大学の教育系ですからね)。 > ブラウザの proxy を localhost:8080 に設定すれば、 telnetでそのサーバーの8080にアクセスして…っていうのもアリですか? #私はtelnetやftpの使い方を立ち読みで知ったクチですので、的外れでしたら #ごめんなさい m(__)m HTTPの原理やプロトコルのヘッダ内容、HTTP_REFERなどの環境変数に関する説 明などについて書かれている書籍をご存じでしたら教えていただけますか?そ れを読んでからでないとせっかくのアドバイスが「ネコに小判」状態…(*_*) |
|
> それなりの本だとは思いますが、古い(2.2.1R)ので > あまりお勧めはしません。 本当だ、古いんですね。(^^;;; (http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/) 2.xより3.xのほうが新しいからいいのかぁ、、、 うーん。:-) どのバージョンがおすすめですか、、?、、とか聞いてるより こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね? |
|
下の投稿に間違いがありました:-) > どのバージョンがおすすめですか、、?、、とか聞いてるより > こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね? は > どのバージョンがおすすめですか、、?、、とか聞いてるより > とっとと本買ってインストールしてみたほうがいいですよね? です。すみません。 |
|
久しぶりにFreeBSDの公式サイトを覗いて見ました。3.X系も3.4Rまで出てたんですねぇ。 でも私,2.xと3.xの違いがあまりわかってません(^^;) 3.0からDOSのFat32がマウントできるようになったくらいしか知らない。 情報古すぎ?? ISOイメージでのリリースも行われるようになったとは。回線の早い人には便利ですね。 それから海外のPerlに関するサイトもウロチョロしてきました。 なんとPerl2exeなんていうWin32のバイナリトランサーがあるんですね。 うれしくなって,いろいろ変換してみました。 ここで公開されているものなどは問題なく動作しました。 こうなるとPerlでGUIなんてのも考えてしまいます。 暇つぶしにPerl/Tkでも勉強してみようかな(^o^) |
|
以下のようなスクリプトをローカルで実行して、ブラウザの proxy を localhost:8080 にすれば、リクエスト内容だけは見られるということです。 ちゃんとリクエストを中継し、返ってくるデータをブラウザに 受け渡すようにすれば、簡易 proxy サーバになります。 # 数行の追加でできるでしょう。 #!/usr/local/bin/perl use Socket; $port = 8080; socket(CLIENT_WAITING,PF_INET,SOCK_STREAM,0) || die; setsockopt(CLIENT_WAITING,SOL_SOCKET,SO_REUSEADDR,1) || die; bind(CLIENT_WAITING,sockaddr_in($port,INADDR_ANY)) || die; listen(CLIENT_WAITING,SOMAXCONN) || die; while (1){ accept(CLIENT,CLIENT_WAITING); while (<CLIENT>){ s/[\r\n]+$//; print "$_\n"; if ( $_ eq "" ){ last } } close(CLIENT); } > 参考になるページがあれば紹介していただけますか? こちらなど :-) http://X68000.startshop.co.jp/~68user/net/ > 暇つぶしにPerl/Tkでも勉強してみようかな(^o^) - 意外と細かい設定ができない - ちょっと重い (perl/Tk で3Dエンジン作ろうとするのが間違ってるんですけど) - (最新版は) 日本語が出ないのが厳しい - みんな Qt や Gtk に行っちゃって、ドキュメントやノウハウが入手しにくい というのが僕の感想です。簡単な GUI インタフェースを作るくらいなら 結構使えるんですがねぇ。 > 3.0からDOSのFat32がマウントできるようになったくらいしか知らない。 カーネルまわりは大きな変更がありましたが、ユーザランドでは あまり違いはないです。僕のようなライトユーザには、最新の ports/packages が使えるというくらいしか、直接的なメリットは ないですかね。 > どのバージョンがおすすめですか、、? ただ機能云々より、例えば ML で質問しても、2.2.1 のような古い バージョンだと使用している人が少ないので、回答がもらいにくい というデメリットがあります。 でもまぁ、3.1/3.2/3.3 がついてくるインストール本を買って、 UNIX USER 付録の CD-ROM から 3.4R を入れても構わないと思います。 |
|
どうも、skeleton_M.です。 スクリプトのサンプルを見せてくれてありがとうございます > 68user様 FreeBSD(98)の「非公式」ページから、リンクを辿って http://www.jp.freebsd.org/ にアクセスしたときのリクエスト内容を見ることができました\(^^)/ 以下のようになりましたです: GET http://www.jp.freebsd.org/ HTTP/1.0 Referer: http://www.nisoc.or.jp/~karl/freebsd-pc98/ Proxy-Connection: Keep-Alive User-Agent: Mozilla/4.03 [en] (X11; I; SunOS 5.6 sun4u) Host: www.jp.freebsd.org Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: ja Accept-Charset: iso-8859-1,*,utf-8 どうもありがとうございました。perlは全く知らないので、これから勉強 しようかなと思ってます。 ではでは(^^)/~~~ |
|
テステス。半角カナとか、cookie とか、cache とか・Last-Modified ヘッダなどに対応。 絶対バグはあるはず。 |
|
はじめまして!! すごいです、68userさん。いろいろ勉強になります。 じつは、いま、VC++で、HTTPクライアントプログラムをHttp1.1で 書いてるのですけど、Transfer-Encoding: chunked で送られてくるボディのデコード方法がわかんなくて困ってます。 もし、ご存知でしたら、すこしアドバイスをいただきたいのです。 よろしくお願いします。 |
|
この間は、どうもありがとうございます。 お腹が空いたので、cookieでもいただきにきました・・・ mailとurlはダミーのを入れてみます。 |
|
cookieをおいしく頂きました。 ご報告まで。 ※ コレラノ投稿、問題カ゛アリマシタラ、削除シテイタタ゛イテモ結構テ゛ス。 |
|
掲示板がパワーアップしましたね。 今、投稿する時に へにかさんのクッキーを食べちゃってるみたいなんですが、なんでだろう? 名前:へにか Email:test@test.test URL:http://www.infoseek.co.jp/ と入ってました。 > でもまぁ、3.1/3.2/3.3 がついてくるインストール本を買って、 > UNIX USER 付録の CD-ROM から 3.4R を入れても構わないと思います。 UNIX USER 12月号にFreeBSD3.3Rがついてるのでこいつを注文することにしました。 (http://www.softbank.co.jp/~unixuser/index/1999/9912.html) 3.x付のインストール本って2.xのより少なかったです。 新しいから多いかと思ったのに、予想外:-) |
|
うーん、cookieと半角カナ以外の改造点が分からないなぁ(^∪^; ハンドルの前の○のリンクは何だろう∫? 平成(12)年I月�煽覇� |
|
>〓〓 は、i と viii のつもりでした。 |
|
> UNIX USER 12月号にFreeBSD3.3Rがついてるのでこいつを注文することにしました。 UNIX USER 2000年3月号にはFreeBSD 3.4が収録予定だと思います :-) |
|
> Transfer-Encoding: chunked 全然わかりません。RFC 読んでも何のことやらさっぱりなんで、 どなたか教えて。 > 今、投稿する時に へにかさんのクッキーを食べちゃってるみたいなんですが ああ、そうですね。確かに前の人のが入ります。バグですね (^^; > <FONT COLOR=red>mm</FONT> ああ、バグですね。これ、直したつもりだったんだけどなぁ。 > i と viii のつもりでした。 あああ、バグ…ですかね? 書き込んだ i は (SJIS で) 0xEEEF ですか? それとも 0xF940 ですか? ところで、http://X68000.startshop.co.jp/~68user/tmp/knj-tut.txt の 2D30/874F の行は、うちでは 2D30/874F 丸16丸17…I II III…VIII IX X XI(行末) と見えるんですが、Windows でも同じですか? XI なんてフォントあります? # うちのフォントは機種依存文字部分を追加したものなのですが、 # 追加時にミスってしまったのかもしれない。 > うーん、cookieと半角カナ以外の改造点が分からないなぁ(^∪^ ログ形式を http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard-log/lall としました。初回の出力時は http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard-log/cache/ のようにキャッシュファイルを作成し、次回はタイムスタンプをみて、 キャッシュが有効なら、前回作成したキャッシュを Content-Length と Last-Modified を付けて出力します。 # だから、前の投稿者への FORM 内容が残ってしまったと。 |
|
ネットワークプログラミング勉強させていただきました。 ところで現在、無謀?にもperlで自作proxyサーバを作っているのですが ローカルIPの接続はできるのですが、Internet側(gateway)の環境越 がうまく動かないのですが。 perlでのソケット通信においてなにかgateway等の設定があるのでしょうか? *HTTPサーバ上でperlを動かすぶんにはhttpサーバが勝手にgatewayを越え て接続してくれるので問題なかったのですが。httpサーバではなく直接 linuxに常駐するとうまく動きませんでした。 だれか知っている方いませんか? *接続webサーバのIP取得にはgethostbyname関数を使用しています。 自作proxyサーバはマルチスレッドにおいてlinuxサーバ側で常 駐させ、クライアントのプロキシ接続要求をPort:8080で監視さ せています。 ちなみにHTTPコネクションの参考にしたものは以下のサイトです。 興味のある方は参考に。 URL:http://www2d.biglobe.ne.jp/~gama/cgi/index.cgi |
|
下の書き込みの件、解決しました。 当方のlinuxサーバの設定ミスにより正しくgateway設定がされていなく 見つけられなかったようです。(初歩的ミスです) よって正しくGatewayがサーバ上で設定されていれば、gethostbyname関数 において正常に相手サーバのIPアドレスは取得できました。 これで自作Proxyは動くようになりましたが、なぜか遅い! サーバ側への負荷はあまりなさそうなのですが画像(gif・jpg) のデータ取得が遅く、ソケットから必ず最後のバイト読み込みに おいてリターンがなかなか返ってこないのです。 画像データの取得にやり方があるのでしょうか? *完成したら公開しますので勉強材料にでもしてください。 なかなかPerl Proxyは公開されていませんので。 |
|
>0xEEEF ですか? それとも 0xF940 ですか? �世蓮�0xFA40 です。0xF940 にはなにもありません。 >と見えるんですが、Windows でも同じですか? XI なんてフォントあります? 分かりやすいように、キャプチャしてみました。( XI はありません) http://www2s.biglobe.ne.jp/~cru/test/moji01.gif knj-tut.txt によれば、これがNEC PC-98シリーズの依存文字になってるようですね。 ウチのパソコンは、このNEC PC-98シリーズなので、PC/AT互換機でも同じように 見えるかどうかは分かりません。 ついでに、0xEEF0 や 0xFA40 付近も含めてキャプチャーしてみました。 ↓オリジナルHTML http://www2s.biglobe.ne.jp/~cru/test/moji02.html ↓ブラウザで見たキャプチャ画像 http://www2s.biglobe.ne.jp/~cru/test/moji02.gif >のようにキャッシュファイルを作成し、次回はタイムスタンプをみて、 むむー、まだ理解してないけど、なんかスゴいことやってる(苦笑) |
|
> 画像データの取得にやり方があるのでしょうか? ん〜、ソースを見ないことには何とも言いがたいです。 > 0xFA40 です ありゃ、 http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/115-116ku.html の「1バイト目がF9」という記述が間違っているのかな? このページには とてもお世話になっているので、間違っているなら feed back しておかないと。 で、115〜119区についても自動変換するようにしておきます。 > このNEC PC-98シリーズなので 98 の機種依存文字と言っても、Windows を動かすと PC/AT 機と 同じなんでしょうかね。 |
|
>の「1バイト目がF9」という記述が間違っているのかな? 文字コード表くらい、どこかにあるだろうと思って、検索したけど、意外とないですね。 ウチの漢字コード表では、間違いなく115区はFAになってます。 http://www.vector.co.jp/soft/win95/util/se102214.html >IBM拡張文字区点コード(換算)で115区〜119区(FA40-FC4B) という記述もありました。 やはり、 http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/115-116ku.html http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/117-118ku.html は、1ずつずれてるんじゃないかなぁ… http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/119-120ku.html のFCはOKかな >Windows を動かすと PC/AT 機と同じなんでしょうかね。 うーん、よく分かりません(苦笑) |
|
0xFA40という文字ですが、私の環境(PC/AT+Win95)では、 この掲示板上では i とは表示されず、0xEDBEと同じ文字として表示されます。 同様に viii も0xEDC5と同じになっています。 この掲示板の漢字コードはEUCのようですが、EUCの2バイト漢字の範囲は JIS-X0208と同じで、これはシフトJISで0xEFFCまでに対応しているので、 それ以降のシフトJISコードはEUCに変換できません。 するとこの場合は、0xFA40というコードがEUCに変換されずに素通りして しまい、その第1,2バイト目のそれぞれのトップビットを取った 0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。 |
|
>0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。 ちゃんと理解してませんが、Shift-JISの0xEDBE(日偏に春の文字)は、EUCのソース上では、 0xFAC0になってますね。 これは、0xFA40が変換されずに、第2バイトのMSBが立っただけってことかな? |
|
いえ、違うと思います>goosan この掲示板では、入力文字列を jcode::convert を使って EUC に 変換し、EUC コードで機種依存文字のチェックをしています。 で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に 変換するようですが、これは多分間違った結果ではないかと思います。 # EUC の扱える JIS X 0208 は 94区までしか定義されていないので、 # 間違っているという表現は不適切かもしれませんが。 で、EUC の 0xFAC0 は http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/89-90ku.html の `日春' という文字に相当するので、その文字が表示されている、 ってことだと思います。 で、mm さんはそれをコピーして http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=666 に書かれたので、`日春'`が自動変換され、「〓」となってしまった ということではないでしょうか。 さて、困ったなぁ。SJIS で 95区以降 (JIS X 0208 で 規定されていない部分) の入力があった場合どうするべきか。 …と悩んで調べてみたところ、 http://www.opengroup.or.jp/jvc/cde/sjis-euc.html > 注記: > ... > 3.NEC選定IBM拡張文字は,SJISから日本語EUCへの変換においては, > SJISでいったん IBM拡張文字に 変換してから日本語EUCに変換する. http://www.opengroup.or.jp/jvc/cde/ibmext-table.html のように、補助漢字 (JIS X 0212) に置換するのも一つの解な ようですね。ただ、少なくとも FreeBSD (X Window System) では JIS X 0212 フォントはオプショナルですし、Windows ではまず JIS X 0212 は使えないでしょうし (SJIS では JIS X 0212 は 使用できない)、現実的ではないかもしれません。 結局 jcode.pl を修正し、さらにブラウザが Windows なら SJIS で出力、UNIX なら EUC で出力、ってことになるのかなぁ。 # …なんかどんどん深みにはまっていってるような気が (笑) ところで、仮に mm さんが 91/92 区の i/viii を使っていたら 自動変換されたはずなのですが、mm さんがお使いの IME は 普通に i/viii を入力すると 115/116区のコードになって しまうんでしょうか? |
|
>普通に i/viii を入力すると 115/116区のコードになって >しまうんでしょうか? 普通かどうかはよく知らないんですが、「いち」を漢字変換しても 大文字のIしか出て来ないので、MS-IMEの「漢字辞典」というウインドウを開いて、 「特殊文字」タグの中から小文字のローマ数字を選ぶと115区の��(i)が入力されます。 この「特殊文字」タグは、8区の罫線や13区の記号の一覧になっているんですが (大文字のローマ数字も13区のものです)、小文字だけが115区になっています。 文字コード表というアプリケーションを使う以外に、92区の�颪鯑�力する方法 を知りません…ホントに私が知らないだけかも知れませんが(苦笑) >で、mm さんはそれをコピーして ピンポ〜ン! 後で調べようと思って、忘れてました(苦笑) >で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に >変換するようですが、これは多分間違った結果ではないかと思います。 jcode.pl の変換部分って、覗いたことなかった(苦笑) |
|
そうですね。EUCだから逆ですね。JISにこだわり過ぎてしまったようです。 >この掲示板では、入力文字列を jcode::convert を使って EUC に >変換し、EUC コードで機種依存文字のチェックをしています。 フォームが送出したデータがどういう漢字コードだったかという点も 気になります。一般にはフォームのあるページと同じ漢字コードに なることが多いようですが、仮にそうだとすると、キーボードから フォームに入力した際にはSJISだったのが、フォームがデータを 送出する際にはEUCに変換され、jcode'convert()が入力漢字コードの 自動判定をする際に多数決の論理でEUCと判定され、私がjcode.plを 見る限りではEUC->EUCではカナの半角<->全角変換をしない限りは 何もしないようなので、jcode.convert()でMSBが立ったことは 有り得ないようです。 |
|
0xFA40がEUCに変換される際にどういう挙動をしたかという点も 問題です。書き忘れていました。 |
|
> 補助漢字 (JIS X 0212) に置換するのも一つの解なようですね。 おっと、大きな勘違い。 この掲示板は (というより EUC-JP は) 13,89〜92 区を扱えますが、 115〜119 区の機種依存文字は全て13,89〜92 区の方にも含まれて いるので、jcode.pl をいじって、SJIS の 115〜119区を 13,89〜92区に変換するようにすればいいわけですね。 > jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に > 変換するようですが 昨日は確かに手もとで確認したつもりだったのですが、 今日試してみると jcode::convert(*,'euc') で、 SJIS の 0xFA40 が 0x13C0 (たぶん) になってしまいました。 > フォームが送出したデータがどういう漢字コードだったか > という点も気になります。 ここも含めて再度チェックしておきます。 > 普通かどうかはよく知らないんですが、「いち」を漢字変換しても なるほど。115〜119 区への対応は必須ですね。ありがとうございました。 > 間違いなく115区はFAになってます。 これは向うに連絡しておきます。 |
|
>昨日は確かに手もとで確認したつもりだったのですが、 >今日試してみると jcode::convert(*,'euc') で、 >SJIS の 0xFA40 が 0x13C0 (たぶん) になってしまいました。 私が試してみると、0x13A1になりました。 0xFA40が自動判定でSJISとされるのは間違いないと思います。 >$re_sjis_c = '[\201-\237\340-\374][\100-\176\200-\374]'; は0xFA40を含みますから。 一方、 >$re_euc_c = '[\241-\376][\241-\376]'; では含まれません。 |
|
あ、そうです。スクリプトが手元にないのでアレですが、 多分 0x13A1 でした。はて、昨日見た 0xFAC0 は幻であったか? 一番簡単なのは、require 'jcode.pl' して、jcode::init で 初期化された後に %jcode::s2e に115〜119区相当のテーブルを 追加することかなぁ。 # jcode.pl はいじりたくないからなんだけど、(コーディング作法 # としては) よくない…ですよね。 |
|
私の場合、 --- #!/usr/local/bin/perl require "jcode.pl"; while(<>) { &jcode'convert(*_, "euc"); print; } --- この程度のスクリプトです。要は大したことやっていません。(^^; 入力が 000000 FA 40 0A の時に、スクリプト名 kconv.pl として % ./kconv.pl test > test.e とした結果、 000000 13 A1 0A という出力になりました。 |
|
知っていたら教えてください。 シェルを使用してSQLPLUSのやり方についてですが、 以下の(1)のシェルからsqlplusにてORACLEに接続し (2)のファイルのsql文を実行させたいのですが、 その時に(2)の条件文の'xxxxxxx'を(1)のシェルから引数と して(2)に渡したいのですがどうしたら良いかわかりますで しょうか? また、(2)のsql文にて得た情報を(1)のシェルに与える場合 はどうすれば良いですか? (1)aaaa.shファイル -------------------------------------------------- sqlplus user/passward @bbbb.sql -------------------------------------------------- (2)bbbb.sqlファイル -------------------------------------------------- select item1 from use_table where item2 = 'xxxxxxx' --------------------------------------------------- |
|
これは SQL の話ですか? ならば僕にはわかりません。 じゃなくて、あるファイルの内容の一部をコマンドラインの引数として 渡したり、出力結果をコマンドラインの引数として渡したり、という ことですか? つまりシェルスクリプトの書き方を質問しているのですか? もし後者なら、ちょっと意味が掴めないです。 「もしファイルの内容が xxxxx だとしたら、その中から yyy の部分の取り出し、 最終的に zzz user/passward @bbbb.sql xxxxx という風にコマンドを実行したい」 などと例を書いて下さい。 > SJIS の 0xFA40 では、なぜファイルには 0xFAC0 が書かれているんだろう? |
|
逆link より遡って登場させていただきます。 どうも...参考になってうれしいです。>参考になった方 敬愛する、68user さんとこの掲示板で URL 書いていただいて感激です。 あーと、有識者系から嫌われ、UG 系からは、もっと、あぶない情報を との声をいただく我が Web であります(^^;;; さて、jcode.pl で、sjis と EUC との判別について... かつて、半角カナを jcode.pl で扱いたいたかったので、 いろいろ試行錯誤した結果が、 http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm にあります。 自分勝手に判別するルーチンを 変造しています。 ご参考になれば、幸いです。 |
|
> 敬愛する、68user さんとこの もちっと偉い人を敬愛して下さい :-) > 自分勝手に判別するルーチンを 変造しています。 では早速拝見…と思ったら、getcode.pl が not found なようで…(^^; |
|
前の人の FORM 内容が残ってしまうのと、cookie のデータが 間違ってたのを修正。どうかな? |
|
初めまして。CGI(perlスクリプト)のことで調べごとをしていたらたどり着きました。 ですが肝心のその調べごとについてはなかなか思ったようなページが見つからず、ちょっと困っております。 一見さんにて恐縮ですが、できたらご助言下さい。 何かというと、「HTTPの(リクエスト)ヘッダ」についてです。訳あってWebページを取得するスクリプトを自前で 用意する必要があるのですが、まさかGetだけ送るっていう横暴なことはさすがにしたくないので。。。(--; ・HTTP(要求)ヘッダの一覧+解説 ・通常のブラウザが送信しているヘッダについて といった情報が記載されているページを探しております。 もちろんcgiなどで環境変数一覧を表示させた結果(応答ヘッダ)と基本的に大差がないことは 存じておりますが、やはり一度確認しておきたいのです。 また、手法を変えて、LWPなどのモジュールでヘッダを個別設定できるかどうかなども調べてみるつもりです。 この辺の情報でも構いませんのでお願いします。 以上、大変わがままな質問ですが、よろしくお願いします。 #RFCを見ろっていうのはご勘弁下さい。(^^; |
|
> ・通常のブラウザが送信しているヘッダについて http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=658 で用は足りますか? > ・HTTP(要求)ヘッダの一覧+解説 RFC…。もし金を払ってもいいなら http://www.oreilly.co.jp/BOOK/webcli.htm > LWPなどのモジュールでヘッダを個別設定できるかどうか とりあえず perldoc LWP::UserAgent perldoc HTTP::Headers perldoc HTTP::Request perldoc URI::URL を御一読下さい。 |
|
>> 自分勝手に判別するルーチンを 変造しています。 > では早速拝見…と思ったら、getcode.pl が not found なようで…(^^; Link 直しました(^^;;; http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm |
|
http://www2d.biglobe.ne.jp/~gama/cgi/jcode/k-jis.htm こちらのページなんですが、JISで8bitの半角カナを使っている ようですが、ESC ( I で7bitのカナを使うのが普通だと 思うのですが。学校のFreeBSD-3.3+NC4.7ではSJISやEUCのページは 見えるのですが(半角カナも)、ここだけ化けてしまいます。 家の環境(Win95+NN3.04)ではここも文字化けしていないのですが、 ソースを見た時、半角カナの部分だけJISが化けていないので 気になっていました。 |
|
> こちらのページなんですが、JISで8bitの半角カナを使っている > ようですが、ESC ( I で7bitのカナを使うのが普通だと > 思うのですが。学校のFreeBSD-3.3+NC4.7ではSJISやEUCのページは > 見えるのですが(半角カナも)、ここだけ化けてしまいます。 あ、なるほど、現在のは手許の Win95 上のエディタでコード変換を 処理した結果なので、多分半角カナが 8bit なんですね。 ずーっと、それでいいと思いこんでました。 7bit 半角カナとかいうと、20 年以上くらいの規格という思いこみがあった わけです。 > 家の環境(Win95+NN3.04)ではここも文字化けしていないのですが、 > ソースを見た時、半角カナの部分だけJISが化けていないので 気になっていました。 |
|
ゲーム系掲示板を作ってみたので使ってみて |
|
PC上で、C++で作成したDLLを、UNIX上で使えるようにしたいのです。 どのようにしていけばよいか、教えてください。 C++内でどのような変換を行い、UNIX上にてコンバートすればよいのでしょうか? |
|
質問があります。よろしくお願いします。 % ls ファイル名 とした時に該当ファイルが無かった場合 ls:No match. と出ますがこのメッセージを出さない方法が ありましたら教えて下さい。 |
|
> C++で作成したDLLを、UNIX上で使えるようにしたいのです。 Windows は全く知りませんが (DLL ってランタイムライブラリ ですよね? というくらいしか知らない)、DLL を UNIX に 持ってくるのはさすがに無理でしょう。 C++ のソースを持ってきて、ar でアーカイブ作るか、ld で ランタイムライブラリを作るのがまっとうな方法だと思います。 > ls:No match. > と出ますがこのメッセージを出さない方法 「No match」が出るのは 「tcsh で、ワイルドカードを使って、マッチしなかったとき」 だと思いますが、 % (ls hoge* >/dev/tty) >& /dev/null で、標準エラー出力をリダイレクトするとか、 % set nonomatch % ls hoge* として、マッチしなかったときにエラーにさせないようにするとか、 % set noglob % ls hoge* として、最初からワイルドカードを展開させない、などの方法があります。 |
|
はじめまして。 perlでメールを受信する方法を調べていたところ、こちらの掲示板を 発見しました。 お尋ねしたいことは、pop3サーバーからメールを受信し、そのメールの 添付ファイルをWindowsのフォルダに保存する方法です。 UNIXやCGIの経験が全く無い素人なもので、なかなかうまくいきません。 参考になるURLや書籍等もありましたら教えていただけないでしょうか。 OSはWindowsNT4.0又はWindows95です。 宜しくお願いします。 |
|
POP へのアクセスは http://X68000.startshop.co.jp/~68user/net/ を読んで下さい。 multipart メールをバラすのは、perl の MIME-tools モジュールで できそうな感じです (試したことないので)。わからなかったら また質問して下さい。 |
|
> multipart メールをバラすのは、perl の MIME-tools モジュールで perl の MIME-tools、IO-stringy、MailTools モジュールを 入れて、perldoc MIME::Parser のサンプル通りやってみたら あっさりできました。モジュールに頼ると簡単だなぁ。 |
|
: : 信じられないけど本当の話。 : : 私はある日BBSで1000円が200万円に、、、とかいてあるのを見た。 : : 200万円ものお金が郵送されてくると書いてあった。 : : まさか、そんなには、、、と思ってはみたが、 : : やらなきゃ何もはじまらない、まぁ、何もなくて1000円くらいの損だし、、、 : : ま、数万くらいは、、、、。と、思っていた。 : : (ホントに軽い気持ちで)だから、そのBBSのとおりにやってみた。 : : 私がやったことは、書き換えたファイル(この文書です)を : : ニュースグループやBBSの電子掲示板などに(!!出来るだけ多くの!!) : : アップロードした。 : : そして私はお金が来るまでどきどきしながら待っていた。 : : 私は10万円や15万円ぐらい来る時しまうところを確保していた。 : : でも、、、。お金の入った封筒がどんどん郵便受けに入ってくるのには、 : : 仰天した。!! さて、私にいくらお金が送られてきたでしょう? : : 10万?20万?50万?私は合計!!!約200万円!!!嘘、、、、、。 : : このお金を目にしてまだしんじらんないって感じ!!! : : さて、その具体的な方法を書きます。ちゃんとファイルに保存しておくと良いよ。 : : あとで役に立ちます。君が払わなくてはいけない物は、5枚の切手、封筒、1000円。 : : それを、リストの5人に、合法的に現金を送る方法で送る。そして、君の名前と : : 住所が書いてある方のファイルをいろいろなところにアップロードする。 : : そうしたらたった1000円あげるだけで150万円から250万円の戻りが3〜5週間で : : 届きます!!!! : : では具体的にどうすれば良いか? : : * **名前と住所のリストは最後にあります。*** : : まず一枚の紙に「私をあなた方のリストに入れてください。」これを書くことにより、 : : このスーパーマネーシステムは成り立ちます。(合法になります。) : : あなたは200円をランダムに払うのではなくこのシステムに払うのです。 : : そうそう、紙に自分の名前と住所とあなたが出す人はリストの何番目にいたかを : : 書きます。 : : 1.(あなたはリストでは、○番目にいました)と、書きます。 : : 2.(1)で書いた紙を200円にまきつけましょう。そして封筒に入れ、 : : リストに書いてある5つの住所に送る。 紙を200円に巻きつけて、 : : 200円を見えなくするのにはワケがあります。 : : 郵便で現金を送ってはいけないのだ。郵便局に行って200円の5枚にしても良い。 : : 手数料10円。小為替だったらまく必要がないよ! : : * *このステップは重要です。** : : 3.さて、ここからが重要。よく読んで、システムを理解してね。 : : 一番上の人を消す。そして他の皆のポジションを一つずつ上げる。 : : つまり、ポジション2の人をP1に、P3の人をP2に、P4の人をP3に、P5の人をP4に : : かえるということ。そしてポジション5に君の名前、住所、郵便番号、国を : : 書きこむわけ。 : : 4.そして(3)で変えたこれのファイルをいろいろなところに出来る : : だけたくさんアップロードします。 : : アップロードしたぶん自分に跳ね返ってきます。 : : 自分と他の4人にもお金が入ることになります。 : : さて皆さん、リストについては正直にしましょう!! : : 汚い事しなくても、お金はいっぱい入るから。ウソは絶対に辞めましょう。OK? : : 5.ここまできたらもう後は人生楽しみましょう。 : : お金は着々と君の郵便受けに入ってきます。 : : 初めて2週間くらいからお金が入りはじめて3〜4週間目にはお金の台風が君の : : 郵便受けを襲います。 びっくりして叫ばないようにね。 : : お金がなくなってきたら又既に書き換えたファイルに(4)〜の行程を繰り返しましょう。 : : 絶対にこのファイルはなくさないように。 : : 何度でも使えるから。参考にしてください。 : : 名前と住所のリスト正直がこのプログラムを成功させる!!! : : 1. 横山美由紀 〒193-0932東京都八王子市緑町401−105 : : 2. 波多野絵梨 〒860-0085熊本県熊本市高平2-16-5 : : 3. 浦西弘明 〒524ー0101滋賀県守山市今浜町2620-14-216 : : 4. 村上健一 〒014-0722秋田県仙北郡中仙町豊川字下延17-2 : : 5. 小関リノ 〒080-0834北海道帯広市稲田町西1線5番地115 : : あなたに全くマイナスはありません!!!! : : 君にお金を送ってきた人の名前はなくさないようにしたほうが良いでしょう。 : : みんなで公平にこのシステムを使いましょう。 : : 最後に:正直がこのシステムを成功させるのです!!! : : もしもあなたがお金をリストの五人に出さない卑怯者だったらあなたはあまり : : お金をもらえない。私は誰かがお金をリストの五人に送らなかったので3万円(2ヶ月後に) : : しかもらえなかったのを知っている。それからお金をリストの5人に送ったのでリスト : : の人たちは彼をリストに入れてあげた。そして4〜5週間後に彼は200万円以上手に入れたのです。 : : これは本当の話ですよ!!! (ちょっとびっくり) : : だまされたと思って1000円出せばすごい大金が手に入ります!!!(上記のことから) : : このチャンスを大事にしましょう!!! |
|
はじめまして。Taと申します。 whois.cgiに関して、お聞きしたいことがあるでのすが、もしよかったら教えて下さい。 私のISPは、LINUX(Redhat)を使用しているため、68Userが作られたcgiのスクリプトの 一部を変更しなければならないことに気が付きました。 オリジナルでは、'whois -h whoisserver domain'となっていますが、Linuxでは、whois コマンドのパラメーターが違うようで、'whois domain\@whoiserver'('whois domain@whoiserver'というパラメーターも見たことがあるんですが)ということなので、スクリプト内の以下の部分のみを変更しました。 #変更前 $ret = `$whois -h $nics{$nic} $domain`; #変更後 $ret = `$whois $domain\@$nics{$nic}`; これにプラスして、当方のISPでは、'whois'が、'/bin'にあるので、'environment.pl'の'$whois'のパスも'/bin/whois'に変更しました。 ところが、サーバーエラーが出てしまいます。ISPで用意してあるデバックの機能(web から行う)を利用してみたところ、以下のような結果がでました。 ----------------------------------- TEST 1: script and permissions Passed Test 1! TEST 2: script file format Passed Test 2! TEST 3: check perl path Passed Test 3! TEST 4: perl syntax String found where operator expected at t_whois.cgi line 45, near "print "" (Might be a runaway multi-line "" string starting on line 33) (Missing semicolon on previous line?) syntax error at t_whois.cgi line 45, near "print "" t_whois.cgi had compilation errors. Your script failed one or more of the tests and could not be automatically corrected. Please correct the errors listed above and try again. ----------------------------------- 調べてみたところ、おそらく、変更した部分のが関係すると思うのですが・・・ 原因がよく分かりません。 もし、解決方法をご存知でしたら、ご指導頂ければ助かります。 Ta |
|
> (Might be a runaway multi-line "" string starting on line 33) > (Missing semicolon on previous line?) 「33行目から始まる "" が閉じてないのではないか?」 「前の行の最後にセミコロンを付け忘れていないか?」 ということでしょう。 > $ret = `$whois $domain\@$nics{$nic}`; これ自体は問題ありません。 |
|
68Userさん、早速のお返事有り難うございます。 スクリプトは確認したと思うのですが、再度、確認してみます。 もし、また分からないことがあれば、お聞きするかもしれませんが、 よろしくお願い致します。 Ta |
|
度々すいません。Taです。スクリプトにミスがありました。その後、デバックをしてみると、全てパスしました。 TEST 1: script and permissions Passed Test 1! TEST 2: script file format Passed Test 2! TEST 3: check perl path Passed Test 3! TEST 4: perl syntax t_whois.cgi syntax OK Passed Test 4! Your script has passed all 4 tests. If your script passes these tests, and still won't run, you might look for one or more of these common problems: 1) make sure it can find any files or external programs it needs 2) make sure any included perl programs also check out 3) make sure you are writing a "Content-type:" line at the beginning of your output Consult your favorite Perl/CGI book for more information. これで動くかと思ったら、Internal Server Error・・・ う〜ん、なんでだか分かりません。environment.plは、$whoisのパスを修正するだけで、いいはずですよね。 何か、チェックしてみるところがあったら教えて下さい。 Ta |
|
とりあえず、 > open(STDOUT,"|$nkf -j"); open(STDOUT,"| /usr/local/bin/nkf -j"); > &put_header("whoisしてみよう -- $domain --"); print "Content-type: text/html\n\n"; print "<HTML>\n<HEAD><TITLE>whoisしてみよう -- $domain --</TITLE></HEAD>\n"; print "<BODY ...(略)...>\n"; > &finish_work; print "</BODY>\n</HTML>\n"; などと書き換えて、environment.pl なしで動くようにしてみて下さい。 それはそれとして なぜ動かないかというと、CGI 経由で実行した際に environment.pl が読み込めているかどうかが気になります。 if ( ! require 'environment.pl' ){ print "Content-type: text/plain\n\nCan't load environment.pl\n"; exit; } てな感じでチェックするといいでしょう。 |
|
初めまして〜m(_ _)m ちょっと聞きたい事があるのですが、unixでmoにデータをセーブするにはどうすればいいんでしょうか? 環境はあるみたいなのですが、やり方が分かりません。 因みにroot権限はないです。 unixはsolarisです。 |
|
68Userさん、色々とアドバイス有難うございます。 どうしてもうまくいきません。'nkf'のパスが間違っているのでしょうか? ('environment.pl'を使わない方法で行ってみました) 'whois'も、結局、調べたところ、'/bin/whois'でしたし・・・ 今晩、また挑戦してみます。 |
|
まずは #!/usr/local/bin/perl $|=1; print "Content-type: text/plain\n\n"; print `/bin/whois yahoo.co.jp@whois.nic.ad.jp` ここから始めましょう。これでダメなら whois の問題です。動いたら #!/usr/local/bin/perl $|=1; open(STDOUT,"|/usr/local/bin/nkf -j"); print "Content-type: text/plain\n\n"; print `/bin/whois yahoo.co.jp@whois.nic.ad.jp` として下さい。これでダメなら nkf のパスが問題です。 whois.nic.ad.jp は JIS コードを返しますが、whois.cgi は EUC で書かれているので、nkf で文字コードを統一しています。 なので、細かい事を言うと上の例では nkf は要りません (スクリプトが EUC を (というか、日本語を) 出力していないから)。 > unixでmoにデータをセーブするにはどうすればいいんでしょうか? ここらへんがヒントになるでしょうか。 http://www.pfu.co.jp/x86/faq/ 僕自身は経験がないのでわかりません。 |
|
「HTTP クライアントを作ってみよう」と、2000/01/12(水) 20:56の proxyに関する書き込みを参考にしたら、簡単なproxyサーバーが、 簡単に作れました。ありがとうございます! # でも、数行の追加じゃ済まなかったなぁ。もっと修行すれば # 出来るようになるんだろうけど・・・ |
|
なにやらいろいろ大変そうですね。 ところで掲示板の話なんですが…。 ログの管理とか、なんかいい案浮びました? 俺はあんま考えてないですけど。 それとうちの掲示板、過去ログ一覧をちょっと 並べ替えてみました(なにやってんだか…)。 もしよかったら使ってやって下さい。 それではまた。 |
|
> # でも、数行の追加じゃ済まなかったなぁ。 そうでしたか。実際に作ってみたわけではないので、そうかもしれません。 ただ、実用で使おうとすると、マルチスレッド化しないといけませんが、 その場合は結構行数は増えますね。 > ログの管理とか、なんかいい案浮びました? ログを1つのファイルにまとめるか、1.txt・2.txt…と分けるか、ですか? 実際のところ、それぞれメリット・デメリットがありますから、難しいですね。 # <Email ....> 方式はやめようと思ってます。<Email>....</Email> スタイルに # するつもり。 それはそれとして、後者のログ管理方式にしてくれ、ということなら どちらでも選べるように改造しますけど どうします? > 過去ログ一覧をちょっと並べ替えてみました 個数が多くなると、見やすいですね。参考にさせていただきます。 ところで ML の件ですが、has のところでやってもらえません? うちは後任の管理者がいないので、この時期に始めるのはあきらめました。 |
|
やっと、自力でCGI設置出来ました。 CGIをやろうとしてから実に二年もかかってるんですけど パーミッションとperlと言う言葉の意味がやっと分かりました 次は自作に燃えて居たら、CGI プログラムのはじめの一歩 って言うコンテンツが在ったので嬉しいです。perlパソに入れて CGIの本買ってきますよー。なんか、CGI設置できたのが 嬉しくて、68userさんに報告がしたかったのですー ヒトの作ったCGIがうごいたってだけなんですけど、嬉しかったです。 |
|
> perlパソに入れて CGIの本買ってきますよー。 それはよいことで御座います。やはり自作するのが一番楽しいわけで、 ぜひ勉強してみて下さい。 ただし、他人に聞く前に「まず本を読む、まず自分で調べる」という ことは必ず行うようにして下さい。自分で調べられない・自分で 調べる気のない人は、上達しませんから。 |
|
はじめまして、たまりと申します。 CGI、特にperlを勉強中の物です。 「ネットワークプログラミングの基礎知識」、滅茶苦茶参考になりました。 ありがとうございます。 現在、68userさんのスクリプトを参考に、FTPクライアントを書いているんですが、 どうもSTORがうまくいきません。 ファイルが送信し終わるまでに接続を切られてしまい、FTPdがファイルハンドルを 解放しないような状態になってしまいます。 当方の環境はというと、Windows98 + ActivePerl build 521 + TinyFTPDaemon Ver 0.51です。 HDの転送速度が追いつかないのかなと思い、以下のようにウェイトを入れてみても だめでした。 while (<IN>) { print DATA $_; $i = 10000; while ($i) {$i--;} } 上記のコードはPassiveモードでサーバが開いたDATAポートにINファイルをPUTして いる部分だとお考え下さい。 結果として転送速度は確かに下がったのですが、ファイルハンドルを解放しない (=FTPdが「受信が完了しました」と言わない」)という症状は改善されません。 なお、環境の制限により、シングルスレッドで書いています。 これは、環境による原因があるのでしょうか? それともコーディング上の問題があるのでしょうか? よろしければご教示下さい。 |
|
> ファイルが送信し終わるまでに接続を切られてしまい 何バイト送ったら切れる、などという再現性はありますか? 1バイトずつ送ってみるとどうでしょう。また、切れるのは データコネクションですか? コマンドコネクションですか? > FTPdがファイルハンドルを解放しないような状態 というのは具体的にはどういう状態ですか? これもデータコネクションかコマンドコネクションかを教えて下さい。 あと、このコードの前後数行を見せてもらえますか? > HDの転送速度が追いつかないのかなと思い これはさすがにないと思いますよ。Windows といえども OS ですから、 そこらへんはきっちりやってくれるでしょう。 ちょっと急いでいるので、この辺で。 |
|
> これはさすがにないと思いますよ。 仮に HDD がとても遅かったとしても、 >> while (<IN>) { でブロッキングするだろうから、読めなかったけど処理が 先に進むなんてことはないと思う、ということです。 # ここでブロッキングしてくれないと、OS の意味がない。 |
|
初めまして、セガBBSの過去ログ凄いです、 ご苦労様としか言えません、 また、じっくり見させてもらいにきます、 (今からみるんだけど、、、) |
|
> 何バイト送ったら切れる、などという再現性はありますか? 再現性はないようです。 接続が切られた時点でのサイズは不定でした。 > 1バイトずつ送ってみるとどうでしょう。 えっと、具体的にどのようにすればいいんでしょうか? readで1バイトずつ読んでいくのでしょうか。ちょっと試してみます。 > また、切れるのはデータコネクションですか? コマンドコネクションですか? すいません、説明が足りなかったようで。 どうやらQUITは送信されているようなのでデータコネクションが切られているようです。 >> FTPdがファイルハンドルを解放しないような状態 FTPdが起動中はエクスプローラからもファイルの削除等ができません。 もちろんスクリプトが終了していても、です。 FTPdを終了させると、送信したファイルが元サイズ以下(不定)であるという感じです。 そうなると削除等も可能になります。 「データコネクションかコマンドコネクションか」というのは自分にはわかりません。 > あと、このコードの前後数行を見せてもらえますか? 以下のようになります。 ほとんどftptrans.plを流用させて貰ってます(^^; if ($mode eq 'put') { &send_command(COMMAND, "STOR $target_file\r\n"); } elsif ($target_file =~ m|/$|) { &send_command(COMMAND, "LIST $target_file\r\n"); } else { &send_command(COMMAND, "RETR $target_file\r\n"); } &client_work(DATA, $data_connection_host, $data_connection_port); open(IN, $infile) || die "$infile: $!"; binmode(IN); while (<IN>) { print DATA $_; } close(IN) || die "close: $!"; &read_response(COMMAND); close(DATA) || die "close: $!"; &send_command(COMMAND, "QUIT$CRLF"); &read_response(COMMAND); close(COMMAND) || die "close: $!"; > # ここでブロッキングしてくれないと、OS の意味がない。 当てがはずれてたようですね(^^; 実際改善されなかったですし。 ファイルが送信し終わる前にQUITが送信されてると言うことはデータコネクションが 切断される前にコマンドコネクションが切断されると言うことでしょうか? 確かFTPってデータコネクションの切断=データの終わりでしたよね? でもcloseでは死んでないようだし・・・ とりあえず1バイトずつを試してみます。 |
|
あ、すいません、訂正です > &send_command(COMMAND, "QUIT$CRLF"); &send_command(COMMAND, "QUIT\r\n"); です。 # 普段$CRLF="\r\n";でやってるもので(^^; |
|
> メリクリウスさん メールの返事をここでさせて頂きますが、人の多いところから リンクしちゃダメなのは、お肉さんのところです。うちは どこからリンクしても構いませんです。 > FTPdが起動中はエクスプローラからもファイルの削除等ができません。 FTPd が STOR 先のファイルをオープンし続けているということですね。 謎ですね。 こちらには Windows 環境がないので、そのものずばりの答えは わかりませんが、思いつくままに。 1. まずは小さなファイルでやってみて下さい。 2. sub client_work の最後で、SOCK のバッファリングを OFF にしている ($|=1) のは削ってませんよね? 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてないんじゃない ですか? データコネクションが確立したら、 150 Binary data connection for test/hogemoge (127.0.0.1,33299). というレスポンス、さらに転送が完了したら 226 Transfer complete. というレスポンスが返ってきませんか? (でもこれが原因じゃないと思う。レスポンスを読まなくても転送はできるはず) 4. $verbose=1 にして、プロトコル眺めてますよね? 5. passive なら、telnet コマンドだけを使って送信してみるのもいいかも。 6. ftp にデバッグオプションを付けて、プロトコルを観察してみては。 >> 1バイトずつ送ってみるとどうでしょう。 > えっと、具体的にどのようにすればいいんでしょうか? 例えばこんな感じです。 &send_command("STOR $target_file\r\n"); &client_work(DATA,$data_connection_host,$data_connection_port); &read_response(COMMAND); use IO::File; sysopen(IN,$infile,O_RDONLY); binmode(IN); # sysopen なら不要かな? while (1){ $nread = sysread(IN,$buf,1); $read_size += $nread; last if ( $nread == 0 ); print "$read_size read "; print DATA $buf || die "$!"; # 成功したかどうかチェック print "$read_size send.\n"; } close(DATA); close(IN); &read_response(COMMAND); &send_command("QUIT$CRLF"); &read_response(COMMAND); close(COMMAND); とりあえず、何バイト目でこけているのかは調べられるでしょう。 ただし、パケットレベルで 1バイトずつのデータが送られる、という 保証はありません。 念には念を入れて、print DATA の代わりに syswrite(DATA,...) を 使ってみるのもいいかも。 # syswrite = select(DATA);$|=1;binmode(DATA);print DATA と # 同じはずだと思うんですが、違いましたっけ。 Solaris の ftpd 相手に試していて思ったんだけど、 http://X68000.startshop.co.jp/~68user/net/ftp-5.html > 次のアクションは > データコネクションの確立なのか > コマンドコネクションからのエラーレスポンスなのか > のどちらなのかが わからないのです。 こんな変な仕様は、もしかして FreeBSD の ftpd だけかもしれない…。 調べておかねば。 |
|
はじめまして。ゲームでわからない事があったので、誰か教えて下さい。 「七ツ風の島 物語」というゲームなのですが・・・ (知っている人、いるかなぁ・・・) 第11章 『小さくてキレイな物』・・・で、どうしたらいいのか、わかりません。 あった事といえば、白ガラスのヒューと、カンぞうに会った事です。できれば、わかる人、教えてください。よろしくお願いします。 |
|
返事が遅くなって申し訳ないです。 ここ二日ほど色々あって何もできませんでした(^^; > FTPd が STOR 先のファイルをオープンし続けているということですね。 です。FTPd側の問題という可能性も無くはない気もしますが(但し、普通の クライアントを使用した場合は当然ながらうまく送信できます) まず、先程試してみた結果から。 どうやら原因は > 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてない だったようです。 これを入れたらまともに動いてくれるようになりました。 念のため、詳しい報告も > 1. 小さなファイル(数KB程度)でも同様でした > 2. 削っていません。 > 4. とりあえずまともに動くようにしようと即興で作っていたので$verbose=1の部分は 削ってました(^^; 本来はそういうときこそ細かくデバッグすべきなんでしょうけど・・・ > 5. 6. telnetやftpを使えば問題なく送信できます。 なお、1バイトずつ読んでいく方法ですが、 print DATA $buf || die "$!"; ではデータ的に0x30、つまり'0'のところでなぜかdieするようです。 print DATA $buf; のようにするとうまくいきました。 また、syswriteに関しては使ったことがないのであまりわかりませんが、 引数はsysreadと同様な形で取って、返り値は書き込んだバイト数のようです。 また、binmodeはsysopenでO_BINARYを指定しておけば不要かと思います。 ありがとうございました。 |
|
> はじめまして。ゲームでわからない事があったので、誰か教えて下さい。 ここにはゲームに詳しい人はあまりいないような気がします…。 > どうやら原因は >> 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてない > だったようです。 なるほど。ちょっと不親切な ftpd ですね (と僕は思う)。 > ではデータ的に0x30、つまり'0'のところでなぜかdieするようです。 なんででしょう。調べてみよう。 > また、binmodeはsysopenでO_BINARYを指定しておけば不要かと思います。 ああそうか。(Cでいうところの) open でも改行コード変換できるんですね。 > こんな変な仕様は、もしかして FreeBSD の ftpd だけかもしれない…。 > 調べておかねば。 これは Solaris の ftpd でも同じでした。変なの。 |
|
はじめまして、ハリーと申します。 実は今、Kシェルを作っているんですが、シェル内で exportコマンドを打って環境変数を変更しようとし てもできませんでした。普通にexportコマンドを打 ってもダメなんですか?それとも出来ないのですか? シェル初心者なので、よくわかりません。 よろしく、お願いします。 |
|
export HOGE=FUGA で できませんか。 |
|
はい。 シェルの中でenvを打つと変更した環境変数に変わっているのですが シェルが終ってもう一度、envを叩くと元に戻っています。 |
|
子プロセスでいくら環境変数をいじっても、親プロセスには 影響しません。これはどんなシェルでも同じです。 具体的に何をしたいのかがわからないのですが、 どうしてもやりたければ、eval を使うしかないです。 |
|
ありがとうございました。 やってみます。 |
|
はじめましてつると申します。 ネットワークプログラムについての質問なのですが、 今、いろいろと事情があって ここのページを参考にプロキシのようなサーバプログラムを 作成しております。 なにをするサーバかというと、ブラウザからのリクエストを受け取り そのリクエスト(GET,POST)を他のWebサーバにそのまま送りつけ そのWebサーバからのレスポンス(HTML)を受け取り、 ブラウザに返してやるサーバです。 このページのソースを参考にしています。 サーバ部分はecho-server.plを httpリクエスト部分はhttp-client.plを利用しましたが、 Webサーバまではリクエストが行っているようですが レスポンスがうまく表示されません。 なにか原因がわかりになるようでしたら 教えてください。 |
|
ソースはこんな感じです。 #!/usr/local/bin/perl -w use Socket; $server_port = 4989; # ソケット生成 socket(CLIENT_WAITING,PF_INET,SOCK_STREAM,0) || die "ソケットを生成できません。$!"; # ソケットオプション設定 setsockopt(CLIENT_WAITING,SOL_SOCKET,SO_REUSEADDR,1) || die "setsockopt に失敗しました。$!"; # ソケットにアドレス(=名前)を割り付ける bind(CLIENT_WAITING,sockaddr_in($server_port,INADDR_ANY)) || die "bind に失敗しました。$!"; # ポートを見張る listen(CLIENT_WAITING,SOMAXCONN) || die "listen: $!"; print "ポート $server_port を見張ります。\n"; # while(1)することで、1つの接続が終っても次の接続に備える while (1){ accept(CLIENT,CLIENT_WAITING); # HTTP プロトコルを使う $port = getservbyname('http','tcp'); # ホスト名を、IP アドレスの構造体に変換 $iaddr = inet_aton("xxx.xxx.xxx.xxx") || die "[xxx.xxx.xxx.xxx]は存在しないホストです。\n"; # ポート番号と IP アドレスを構造体に変換 $sock_addr = sockaddr_in($port,$iaddr); # ソケット生成 socket(SERVER,PF_INET,SOCK_STREAM,0) || die "ソケットを生成できません。\n"; # 指定のホストの指定のポートに接続 connect(SERVER,$sock_addr) || die "[xxx.xxx.xxx.xxx]のポート$portに接続できません。\n"; # ファイルハンドル SERVER をバッファリングしない select(SERVER); $|=1; select(STDOUT); # クライアントに対してバッファリングしない select(CLIENT); $|=1; select(STDOUT); # WWWサーバにHTTPリクエストを送る while (<CLIENT>){ print SERVER "$_"; print "$_"; } # ヘッダ部分を受け取る while (<SERVER>){ # 改行のみの行ならループを抜ける m/^\r\n$/ && last; } # ボディ部分を受け取り、表示 while (<SERVER>){ print CLIENT "$_"; print "$_"; } close(CLIENT); } とりあえず、サンプルをそのまま利用させていただいております。 おかしいところがあればご指摘下さい。 perl初心者のものですみません。 |
|
簡単に言うと、HTTP proxy とは 1. proxy サーバが localhost:8080 を listen する。 2. ブラウザの proxy の設定を localhost:8080 にする。 3. ブラウザが http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi を読むとき、 GET http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi HTTP/1.0 Host: X68000.startshop.co.jp User-Agent: .... というリクエストを proxy 宛に送る。 4. proxy は X68000.startshop.co.jp:80 に接続し、 GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 Host: X68000.startshop.co.jp User-Agent: .... というリクエストを送る。 5. X68000.startshop.co.jp から (proxy に) 返事が返ってきたら、 そのままブラウザに渡す。 を行うプログラムです。とりあえず GET を中継できるように してみて下さい。 |
|
つるです。 早速のお返事ありがとうございます。 仕組みはだいたいわかるのですが 実際に作ってみるとなると・・・。 ネットワークプログラム初心者には かなりキツイです。 |
|
> 仕組みはだいたいわかるのですが こう言っちゃなんですが、自分ではわかっているつもりでも、 わかっていないのでしょう。 クライアントからのデータを読まないと、proxy サーバが どこに接続したらよいかは判断できないのに、先に接続 しようとしていますし、 GET http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi HTTP/1.0 を GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 に変換する処理もやってません。 ちょっとずつ作ってみて下さい。 |
|
つるです。 すいません。 説明不足でした。 >クライアントからのデータを読まないと、proxy サーバが >どこに接続したらよいかは判断できないのに、先に接続 >しようとしていますし、 実は、接続先は固定です。(IPアドレス指定です。) 特定のコンテンツサーバに接続しようとしてます。 >GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 >に変換する処理もやってません。 ブラウザからのリクエストは GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 ・・・ のように来るようにしてます。 そして、そのリクエストを そのまま(操作無しで) 接続先Webサーバに転送しようとしていますので・・・。 すいません、説明不足で・・。 とりあえず、もうちょっとがんばってみます。 参考にするとよいページがあったら 教えてくださると幸いです。 ご迷惑をおかけします。 |
|
とりあえず 2〜3日悩んでみて下さい。それでも わからなかったらまた質問して下さい。 |
|
はじめまして。 Solarisのnfsで質問したいのですが。 .nfsAA5A (下4桁はユニークな番号に変化する) というファイルを見たことはありませんか? クライアントマシンからあるシェルを起動すると 勝手に出来てしまって、困っています。 サーバマシン上では出来ないのですが。 心当たりがあれば、なんでも良いので教えて下さい。 |
|
> .nfsAA5A 昔 消せなくて困りましたが、管理者に聞いたら NFS で トラブルがあった際、作成されるファイルだそうです。 しばらくすれば勝手に消えるとか。 ただし、本当かどうかは知りませんし、どういうトラブルが あったら作成されるのかも知りません。 |
|
もし FreeBSD と Solaris のNFS まわりのコードがある 程度同じなら (元は同じはずですよね)、 http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/sys/nfs/nfs_vnops.c?rev=1.150 /* * Silly rename. To make the NFS filesystem that is stateless look a little * more like the "ufs" a remove of an active vnode is translated to a rename * to a funny looking filename that is removed by nfs_inactive on the * nfsnode. There is the potential for another process on a different client * to create the same funny name between the nfs_lookitup() fails and the * nfs_rename() completes, but... */ static int nfs_sillyrename(dvp, vp, cnp) ... あたりのようです。 |
|
ありがとうございます。 現在、NFS & NIS の設定がうまくいってないそう なので、その辺の影響かな? まずは、ちゃんと設定するようがんばります。(^^; |
|
いつも拝見させていただいてます 今c言語でcgiのプログラム書いてるんですが hoge.exe?data1=aa&data2=bb みたいに引数を渡してプログラムを直接呼びたいのですが、うまくデータが渡せません Formからだと正常に動作するんですがサーバーの設定が関係しているんでしょうか サーバーはwindows nt + iisです apachだとそのような事はないですか? |
|
> hoge.exe?data1=aa&data2=bb 情報が不足していますので、わかりません。 「FORM からだと正常に動作する」というのは、どういう ふうに呼び出しているんですか? 「引数を渡してプログラムを 直接呼びたいのですが」とはどういうふうに呼び出そうと しているんですか? |
|
いつも勉強させていただいてます。あたしもがんばります。 |
|
大江山と言う童謡か歌の歌詞知りませんか? |
|
スミマセンでした... hoge.exeは日付等を受け取りlogを集計して返すプログラムです まず送信フォームのhtmlはこんな感じです < form method=post action="cgi-bin/hoge.exe" > < select name="data1" size="1" > < option selected value="aa"> aa < /option > < option value="bb" > bb< /option > < /select > < INPUT TYPE="SUBMIT" VALUE="送信" > < /form > これを < A HREF=hoge.exe?data1=cc&data2=dd > hoge < /a > のようにリンクから呼んで決まった処理をさせたいんですけどうまくいきません お手数ですが情報お持ちでしょうか |
|
またスミマセン.... <>の書き方を間違えてしまいました |
|
FORM は POST で送っているわけですね? で、 > <A HREF=hoge.exe?data1=cc&data2=dd> hoge </a> だと GET になるわけです。hoge.exe は POST でデータを 受けているので、標準入力を読んでいるはずですよね。 もしGET にも対応したいなら環境変数 QUERY_STRING を 見るようにしないといけません。 C なら getenv("QUERY_STRING") でもいいし、 main(int argc,char *argv,char *envp) として envp を見てもよいでしょう。 |
|
ありがとうございます if(0 == strcmp("POST",getenv("REQUEST_METHOD"))) { /* POSTの場合 */ if(fgets(buf, len+1, stdin) == NULL) { return 1; } } else { /* GETの場合 */ strncpy(buf, getenv("QUERY_STRING"), sizeo(buf)-1); } こんな感じでうまくいきました POST と GET ぜんぜん意識してませんでした(よく調べます) ほんとにありがとうございます。 |
|
promptの説明文の中にHTMLタグが表示されてましたよ % set prompt="%Sabc%s%Bdef%b%Ughi%u:" abc<b>def</b><u>ghi</u>: |
|
お久しぶりです、以前くだらない質問ばかりしていたものです(^^; CGIでサーバーの負荷率を調べたいのですが何かよい方法は無いでしょうか? 一応 top の表示のヘッダー部分に表示される数値を取り出し加工しようと もくろんだのですが見事に失敗しました。 open(SYS, "top|"); やはり甘かった。コマンドラインで top > hoge.txt としても取れないので top から取り込むのは駄目みたいですね。 オプションにもそれらしいものが見つかりませんでした。 FreeBSDの日本語マニュアルを見る限りはどうも互換性なさそうです。 面倒なんで試していませんが、一定の処理にかかった時間を測定して 負荷を調べようかと思うのですが・・・ これもいまいち正確さに欠けそうだし。何よりめんどうだし(^^; あっ因みにそれほどの正確さは求めていません、そもそもそんなに正確に 数値を取れないと思ってますから。 何か方法を知っていましたら、よろしくお願いします。 OSはVineLinuxです。 |
|
> promptの説明文の中にHTMLタグが表示されてましたよ どうもです。直しておきます。 # 実は気づいていたんだけど、自作の変換フィルタをどう # 直せばよいのかわからくて悩んでいるところです。 > CGIでサーバーの負荷率 load average を求めたいなら uptime や rup localhost などが使えると思います。 > open(SYS, "top|"); 入力に tty を読んでるのなら、top < /dev/null で いけるかもしれません (ダメかも)。 なお load average は、違うマシンや OS と比較は意味が ありません。わかっておられるかもしれませんが、念のため。 |
|
uptimeの情報ありがとうございます。 なるほどこれなら何とかなりそうです。 手持ちのコマンドリファレンスには uptime のことが載っていません でしたが、man には掲載されていたので、これでうまくいきそうです。 /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも あまりの数に手を焼いていたところなので助かりました。 >入力に tty を読んでるのなら、top < /dev/null で やってみましたが駄目でした。 >なお load average は、違うマシンや OS と比較は意味が >ありません。わかっておられるかもしれませんが、念のため。 すいません、意味がよくわからないのですが、「この結果を元に ほかのサーバーと比較するには意味が無い」と言う意味でしょうか。 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷 かを調べる用途に使うつもりです。 ありがとうございました。 |
|
> 「この結果を元にほかのサーバーと比較するには意味が無い」 そうです。「Pentium133+FreeBSD と Pentium166+FreeBSD」とか、 「Pentium133+FreeBSD と Pentium133+Linux」などの load average を 比較するのは意味がないです。また、load average が2倍だから と言って、負荷が2倍とか速度が1/2 ということもない、という 意図で書きました。 > 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷 > かを調べる用途に使うつもりです。 ということであれば、load average でいいと思います。 > /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも > あまりの数に手を焼いていたところなので助かりました。 `load average' というキーワードを知っていれば、 % strings -f /usr/bin/* | grep -i 'load average' などとするのも一つの手ですね。 |
|
この間示唆して頂いた、マルチスレッドの関連文書を調べる長旅に出た ところ、68userさんのところにあるではないですか(echo関連)。灯台下 暗し・・・ 御恥ずかしい。 ただ、以下のようなメッセージが出たので、どうも僕の環境(後述)では 不可能みたいです。 The Unsupported function fork function is unimplemented at echo.pl line 36. 因みにperl -vの結果は以下の通りです。 version 5.005_03 built for MSWin32-x86-object 目的がテキスト変換なので、delegateみたいな形式(/-_-)で対応しようかな、 それともjavaでも使ってみようかな、それともPCにUnixをインストールしよう かな、と悩んでいるところです(なんかどれも実行しなさそうですが)。 |
|
> どうも僕の環境(後述)では不可能みたいです。 Windows では fork は使えませんので、select を使うしか ないですね。 IO::Socket と IO::Select を使って http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl こんな感じでしょうか。本当に実用段階まで持ってくには まだまだ機能追加、バグ取りをしなきゃいけませんが。 ポイントは、全てのソケットからのデータを select 経由で 受け取ること。今はそうなってませんので、1つのソケット からのデータが遅れると、そこがボトルネックになってしまいます。 |
|
> Windows では fork は使えませんので cygwinに入っているPerlはforkが使えるそうです。(試していません。) http://sourceware.cygnus.com/cygwin/ |
|
68user様; どうも御教授、ありがとうございます。 現在、示して頂いたスクリプトを理解しようと勉強しています。しかし、 理解した上で改造するまでに、ちょっと時間がかかりそうなので(※)、 先にお礼を申し上げます。 ※ ->とか、selectとかの概念がまだ無いので、アルゴリズムがまだ 理解できずに停止しています。 また、進捗があったら、ご報告します。本当にありがとうございます。 # http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl は、 # ひょっとして、僕の質問のために作って頂いたものですか? # だとしたら、大感激です! ←違っていたらすいません。 Yuuki様; どうも貴重な情報、ありがとうございます。 早速ダウンロードして、68userさんのecho.plを実行したら、とりあえずforkは するみたいなのですが、残念なことに、forkしたとたんに、子プロセスが一般保護 違反を起こしてしまう(kernel32.dll)みたいです。多分、僕の環境が一般的じゃ ないので、それが原因じゃないかな、と思っています。現在、解析中です(←時間 がかかりそうですが・・・)。 因みにcygwin32はB20(full.exeのほう)です。perl -vは以下の通りです。 This is perl, version 5.005_62 built for cygwin 折角情報を頂いたのに、生かせなくって、申し訳ないです。 |
|
> selectとかの概念がまだ無いのでアルゴリズムがまだ > 理解できずに停止しています。 考え方は http://X68000.startshop.co.jp/~68user/net/echo-4.html と 同じです。モジュールを使うことで、ちょっとだけすっきりと書けます。 ここらへんは、そのうち web で解説を書くつもりです。 > ひょっとして、僕の質問のために作って頂いたものですか? 自分で使おうと思って、たまたま作ってました :-) 一応、GET だけはできるレベルのものを置いておきます。 http://X68000.startshop.co.jp/~68user/tmp/1st-proxy.pl shutdown あたりが とてもあやしい。 > cygwinに入っているPerlはforkが使えるそうです。 あ、そうなんですか。Windows 環境で perl を動かした ことがないので、適当に書いてしまいました。 |
|
http proxy は結構難しいですね。シグナルが飛んできたり、 コネクションを切断できなかったり、ファイルディスクリプタが 解放されなかったり…といったバグに苦しみながらも、3日かかって やっと書き上げました (でも HTTP/1.1 には未対応)。 # perl が panic で落ちるのを初めて見た。 でも、ネットワークプログラミングに関する理解力を試すには、 絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。 # というわけで、完成版は出しません :-) |
|
いろいろ、ありがとうございます。早速ダウンロードして解析してます。 まだまだ、分からないことばかりですが、何とかふんばって作ってみます。 でも、68userさんが3日かかって作り上げたってことは、僕はどのくらい かかるのか、考えただけでも恐ろしくなります。いつになるやら・・・ もっとも、試行錯誤して自作するのは結構楽しいので、以下の、 >でも、ネットワークプログラミングに関する理解力を試すには、 >絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。 ># というわけで、完成版は出しません :-) は、楽しみが残って嬉しいです。 >web で解説を書くつもりです。 楽しみにお待ち申し上げます :> # ># perl が panic で落ちるのを初めて見た。 # 僕も見られればいいなぁ、と妄想してます・・・ |
|
みなさんはじめましてこんにちは。 今日はじめてこのページを見たのですが、いやはや素晴らしい内容ですね・・ さんざん苦労して色々なところで得た知識(+α)がここに・・・(笑 私は最近Winでのネットワークプログラムに凝っているものです。 簡単なHTTPやSMTP、POP3クライアントはBorland C++ BuilderでWinsockを使い作成したこともあります。 さて実は質問があるのですが・・・ 現在DNSサーバーからのMXレコードの取得のプログラムを作っています。(リゾルバもどき?) メールアドレスに対し送信先のSMTPサーバーのアドレスを調べる簡単なクライアントです。 さてそこで問題となるのが問い合わせを行うDNSサーバーです。 私はダイアルアップでインターネットに接続しているのですが、接続した状態でwinipcfgを実行すると 「DNSサーバー」の欄にDNSサーバーのIPアドレスが入ります。 ダイアルアップを終了するとこの表示が消えます(当たり前かもしれません)。 このDNSサーバーのアドレスをプログラム内で取得したいのですが・・・一体どうやれば良いのでしょうか。 もし何かしらご存じでしたらお教え頂けるとありがたいです。 |
|
> このDNSサーバーのアドレスをプログラム内で取得したい こればっかりは OS に尋ねるか、設定ファイルを見るか、 ユーザに手動で入力させるか、くらいの手しかないんじゃ ないでしょうか。 winipcfg の出力を見るってのはダメですか? # 美しくないですけど。 |
|
こんにちは。いつも勉強させていただいています。 > DNSサーバーのアドレスをプログラム内で取得したいのですが RasGetEntryProperties で取得できるような気がします。 RASENTRY 構造体の ipaddrDns が、 > Specifies the IP address of the DNS server to be used while > this connection is active. だそうです。 NT で無事に取得できた覚えがあるのですが、かなり昔のことなので 記憶が曖昧です。 |
|
68userさん、kuwさん、お返事ありがとうございます。 >ユーザに 出来れば使う人にDNSサーバーを意識させないで(設定の必要なしに) 動かしたかったのです。。 >RasGetEntry おお、ありがとうございます。そうか、こういうのがあったのか・・・とヘルプを見ましたが、 NTのみとのこと・・(涙 実はダイアルアップでない、LAN内の端末でも使いたいという希望もあるんです。 おとなしくあきらめてユーザに設定してもらおうかな(^-^;; 本当にありがとうございました。 CGIのperlスクリプトなどについてもここで勉強させていただきます。 それでは失礼致します。 |
|
Windows は全く知らないのですが、 open(IN,"winipcfg|"); while (<IN>){ last if ( ($ip_addr) = m/(\d+\.\d+\.\d+\.\d+)/ ); } てな感じで取得できないんでしょうか? |
|
リリィさん、霊山の寺の中に、隠し通路があって、その奥に宝箱が2つあって、その内の1つに扉を開けるための、『大きな鍵』がありますよ。 |
|
Windows も UNIX も Perl も中途半端にしか知らないので、 誤解しているかもしれないのですが、、、 winipcfg は 標準出力に結果を吐き出すのではなくて、 ウィンドウが出てきます。 しかも、そのウィンドウで、[詳細ボタン]をクリックして はじめて DNS サーバが表示されます。 ですので、winipcfg の結果から DNS サーバを取得する のは容易ではない気がします。 # 不可能ではないのだろうけど。 |
|
はじめまして・・・ こちら 大阪のヒトです。 突然ですが 最近 日曜日の夜中に「ニキータ」のTV版をみて はまりまくってます。 で 「ニキータ」情報を知りたくて 検索したのですが・・・ どなたか TV版「ニキータ」について 教えて下さい!!! お邪魔しました ☆ |
|
> winipcfg は 標準出力に結果を吐き出すのではなくて、 > ウィンドウが出てきます。 ああ、なるほど。だから金床さんは お困りなわけですか。 全く話が見えてませんでした。失礼。 > どなたか TV版「ニキータ」について 教えて下さい!!! > 『大きな鍵』がありますよ。 たまにゲームなどの話題が出てくるので、なぜだろうと 不思議に思ってたんですが、もしかして SEGA BBS の 過去ログを見てこちらに書き込まれたわけですかね? # http://X68000.startshop.co.jp/~68user/segabbs/bbs1/vol390/390_432.html うちに置いてあるのは、昔の SEGA BBS の過去ログですので、 発言できません。こちらへどうぞ。 http://www.sega.co.jp/sega/p_cafe/bbs.html |
|
こんにちは。 僕は研究室配属でUnixマシンとご対面になります。(構造解析用) で、ちょっと触ってみたんですが難しかったです。(^^; 一応結構速いマシンなので使いこなそうと思ったんですが、 root権限貰う予定なので下手にいじりすぎるのもどうだろうと思いました。 OSはSunなんですが、今のところ画面も256色しか出ていません。 追々勉強して使いこなそうとは思っているんですが、 SCSIのHDを買ってきてそれにNTを入れたらどうなるのかと思って質問に来ました。 NTを使うときはUnixは完全に切り離して壊さないようにしたいんですけど、 ルートドライブ以外にNTを入れる事って可能なのでしょうか? また、出来ればNTの方は管理者専用(笑)にしたいのですが Dualbootに関して問題とか生じないでしょうか? 僕以外はPC使えない人なので一人でWSでインターネットしながら・・・ と目論んでいるのです。(笑) 要約すると、Unixは大事に使い、NTを別のHDに入れて普段はこちらは使いまくると言うわけです。 HDを切り離しててもフリーズしたりするとUnixの方のHDもちょっと心配ですね。怒られない程度にやる予定ですが(^^; |
|
もちろんマシンは Ultra なんとかじゃなくて PC/AT 互換機なんですよね? > 一人でWSでインターネットしながら と書いてあって、ちょっと気になったもので。 > Dualbootに関して問題とか生じないでしょうか? これに関してはこちらを。 http://www.pfu.co.jp/x86/faq/other-002.html > ルートドライブ以外にNTを入れる事って可能なのでしょうか? すいませんが、NT は全くわかりません。 > HDを切り離しててもフリーズしたりするとUnixの方のHDも > ちょっと心配ですね。 うーん、完全に2台の HDD に分けるなら、あまり心配すること ないんじゃないでしょうか。と、個人的には思います。 Solaris も Windows も守備範囲外なので、いまいち お役に立てず すいません。 # 僕の知識はとても狭く、なおかつとても浅いので (^^; |
|
えっと、compacのalphaマシンなので いまいち分かってないです。(^^; NTも乗せられるとは思うんですが。 ありがとうございます |
|
おひさしぶりです. 一つ教えて下さい. mule(emacs)で,lexまたはyaccのコーディングをしたいのですが, lex-mode, yacc-modeというのはあるのでしょうか? |
|
> えっと、compacのalphaマシンなので えっ、alpha 対応の Solaris ってあるんですか? あと 最新の NT って alpha で動きましたっけ。 # すいません、全然知らないので…。 > 元隣人(GPZ900R) > おひさしぶりです. おひさしゅうございます。2週間ぶりですけど :-) > lex-mode, yacc-modeというのはあるのでしょうか? 昔 fj で教えてもらったものを置いておきます。どこから 取ってきたかは忘れました。 http://X68000.startshop.co.jp/~68user/tmp/bison-mode.el http://X68000.startshop.co.jp/~68user/tmp/yacc-mode.el 常用してないので、どちらが使いやすいかはわからないです。 {lex,flex}-mode は聞いたことがないです。みんな c-mode で やってるんですかね? |
|
関西のソフマップにNTTのモバイル3の在庫はありますか? |
|
>えっ、alpha 対応の Solaris ってあるんですか? >あと 最新の NT って alpha で動きましたっけ。 色々調べてみたんですが、 どうやらNTは載らないみたいです。(compaqがサポートしてないのかも知れないけど) alphaでNTが動く物も有るようですがよく分かりません。 で、Tru64 UnixというのがOSな気がします。 そうなるとUnixを勉強するしかないようです。(^^; |
|
> どうやらNTは載らないみたいです。 NT4.0 は動くみたいですけどね。 # NT5.0 って出てるのか知らないけど…。 ## NT5.0=Windows2000? > Tru64 UnixというのがOSな気がします。 Tru64 以外で動くのは、NetBSD、FreeBSD、Linux あたりでしょうか。 |
|
一般ユーザーで持ってる人は少ないと思います。 Tru64Unixなんて初めて聞いたOS名でした。(^^; しょうがないのでLinuxを入れるかも知れません。 UnixをDualbootなんて出来るんでしょうか? #NT5=Win2000と考えて良いと思います NT4.0が動くとして、ドライバとかって有るんでしょうかね? とりあえず、4月になって院生が居なくなったら僕が使えるようになるので(笑) |
|
> UnixをDualbootなんて出来るんでしょうか? 多分 Alpha Station のアーキテクチャは PC/AT と異なる だろうから、専用のブートローダが要るんでしょうね (ほんとか?)。まぁでも、誰かが作ってるでしょう。多分。 これ以上は僕にはさっぱりわからんので、fj や Linux 関係の メーリングリストで質問してみて下さい。 |
|
どうも。高山です。 現在 Perl の syntax を絶賛嫌悪中(意味不明)。 あの $ やら % やら @ やら & を見ると殺意が沸きます(笑)。 # 1 ヶ月後には謎の世界な気が。二次元配列とか作るの面倒だし……。 tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。 Ruby で書けたら嬉しいと思う今日この頃。 # ちなみにバグを 1 ヶ所発見しました。tmpl2html を通した後に # 余計な改行が入るという物です。 |
|
> tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。 iso-2022-jp 化は、おまかせします。はっきり言って、 メリット云々じゃなくて美意識の問題ですよね? あと、EUC 化するとしたら、ついでに jcode::euc2jis/jis2euc を 削って直接 EUC の HTML を書き出すようにしていただけませんか? # ちょっと CGI が重すぎるので、処理を減らしたい。 > Ruby で書けたら嬉しいと思う今日この頃。 まだ ruby は初心者同然なので、既存のスクリプトの書き換えは ご勘弁を。でも新規スクリプトなら…ruby でも…いい…かな…? でもあんまり難しいことしちゃイヤ (^^; |
|
> メリット云々じゃなくて美意識の問題ですよね? 嫌な事態への予防策です。確立的には結構低いでしょうけど。 でも、熊谷さんが待ったをかけていますので、まだしません。 # む〜。僕の勘違いだったりするのかな? 美意識の方は、持ち出すと際限が無いので(笑)。考慮外。 > まだ ruby は初心者同然なので、既存のスクリプトの書き換えは 僕も初心者同然ですけど、触ってると面白いです。 それにオブジェクト指向な所がいいです。僕は Java から入ったので、 実はかなりオブジェクト指向大好き人間なのですよ。フフフ(笑)。 |
|
CVSって最近までなんのことだかさっぱりわからなかったんですよ。 ちょっと前いじってみようと思って、Windows版のCVS(WinCvsじゃなくてコマンドラインの) がダウンロード出来る所まではわかったものの使い方がわからずにそのままでした。:-) それで今日、何気に高山さんのホームページを見たらCVSの項目があったので そこのページを見ながらやってたら、とりあえず使えるようになりました。(^^; しかし、もう、必需品となりつつある。 とりあえず使えるようになった所で、以前は謎だった http://www.ruby-lang.org/ja/download.htmlの pserverをお使いの方は〜 に書いてあるとおり打ちこんだら ダウンロードが始まって、、その時はすごい嬉しかったです。(^^; 今度はVineLinuxにCVSをインストールしてWindows側から管理出来るようにしてみたいな・・と。 # 何が言いたいのかよくわからない書きこみになってしまった。:-) |
|
> でも、熊谷さんが待ったをかけていますので、まだしません。 あれは待ったなのかな? 別に問題ないんじゃないでしょうか。 なお、僕の方は3月15日前後から暇になります。運用開始は 今月中の予定。でも予定は未定 :-) > CVS /etc/* とか、個人用 dot file とか、ここの web page も cvs で管理したいんだけど、なかなか…。 |
|
> それで今日、何気に高山さんのホームページを見たらCVSの項目があったので あ。役に立ちましたか。良かった。CVS 便利ですよね。 # そいえば自分のウェブ随分更新してない……。 僕は自分のウェブを CVS で管理してますが、 $Id$ などで更新時間を表示できるので楽です。 > 運用開始は今月中の予定。でも予定は未定 :-) 早く運用始めないと忘れ去られそうですね(汗)。 # 既に忘れられてるかも……(苦笑)。 |
|
> # 既に忘れられてるかも……(苦笑)。 ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^; > http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2 ほえ〜。 |
|
> # そいえば自分のウェブ随分更新してない……。 CVSの項目に http://www-vox.dj.kit.ac.jp/%7enishi/cvs/cvs-manual/cvs-jp_toc.html CVSの説明書日本語訳? http://www.freebsd.org/~fenner/cvsweb/ CVSWEB を追加しとくのはどうでしょうか? 前に僕が書いたcygwinでforkは使えますってやつですけど試してみました。 (http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=756) http://x68000.startshop.co.jp/~68user/net/sample/echo-server-fork.pl をまったく変更しなくてもWindowsで動きます。 その時のスクリーンショットを、、:-) まずは1つのtelnetで... http://homepage1.nifty.com/tyuuki/68user/mt_echo/client.png http://homepage1.nifty.com/tyuuki/68user/mt_echo/server.png 2つ同時にアクセスされても大丈夫。 http://homepage1.nifty.com/tyuuki/68user/mt_echo/thread.png |
|
Yuuki様; forkできているみたいですね! 情報ありがとうございます。 僕は、会社のマシンで実験したのですが、やっぱり落ちてしまいます・・・ なので、あきらめていたのですが、まだ検討の余地があるってことですね。 う〜ん、なんでだろう? ←自問自答です。 68user様; すいません、やっとselectの概念がわかったのと、以前いただいた スクリプトを試してうまくいっているところまでしか進んでいません。 まだまだ道のりが長そうです。なかなかいい報告ができないので、 心苦しいです・・・ |
|
はじめまして。 これからUNIX(LINUX)を導入して、ネットワークプログラミングを 勉強しようとしている者です。 まだ全部読んでませんが、このページはすごくわかりやすく、 しかも私のレベルに合っているので重宝します。 これからも、この調子で更新していってください(^^) 68userさんはすべての作業をX68000でやられているのですか?(^^; |
|
ん〜。眠いぜ。 > ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^; たまに「この作業報われない?」と思う瞬間があります(笑)。 某 www-links-core ML も、ほぼ二人の世界ですし。 > http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2 何か段々商業色が強くなっていくようで、個人的には嬉しくないです。 最近の FreeBSD はどうも妙な方向に向かいつつあるみたいな感じが。 |
|
すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を 取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません 助けてください。 よろしくお願いします。 |
|
> 前に僕が書いたcygwinでforkは使えますってやつですけど試してみました。 なるほど。fork できる Win 用 perl *も* あるってことでしょうか。 > すいません、やっとselectの概念がわかったのと、以前いただいた > スクリプトを試してうまくいっているところまでしか進んでいません。 ま、一歩ずつ着実に…。 > 68userさんはすべての作業をX68000でやられているのですか?(^^; Using FreeBSD with X68000 spirit ということで :-) > すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を > 取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません 僕もわかりませんので、FreeBSD-users-jp などで質問して下さい。 なお、こういう質問の仕方では「何がわからないのか、デバイスが 認識されないのか、設定方法がわからないのか」などの情報が全く 書かれていないので、投稿する際は そこらへんを詳しく書いて下さい。 あと、 http://www.jp.FreeBSD.org/search.html#doc で、DDS で検索するといくつか引っかかります。 |
|
こんにちは。 はじめて投稿さしてもらいます。 smbclientコマンドのオプション-Mってありますよね。 UNIX→WinPCへの送信はOKなんですが、 WinPC→UNIXへの送信メッセージってどうやってWinPCのメッセージを参照 するのですか? #ちなみに、使用UNIXはRedHat LINUX5.2(J)です。 宜しくお願い致します。 |
|
こんばんわ。どーしても FTP が作りたくなったので、探して みたら辿り着きました。 FTP の資料を探していたくせに、 いま調べまくって Proxy を VisualBasic で作成中です。 RFC を読んでからにするべきなんでしょうが、すでに コンテンツや画像の中継機能は実装できていますが、マルチで まともに動くのが怪しい VB で作っているのと、状態遷移図を 書かずにやってるのとで、サーバからのデータを取りこみ きれずにソケットが閉口(笑)してしまいます。 単純なデータ処理なら既に完成しているんでしょうが Java を 横目で眺めつつ、ノウハウの蓄積などと嘯いております。 ドカチンプログラマ(Oracle屋さん)なので、そっち方面では恩返しが 出来ると思いますが、メインはやっぱり Windows なので、Oracle on Unix となるとちょっと…。しかも Socket やってるくせに私は C/C++が使えません(^^;)とはいえ NetBSD/X68k なんかも知ってたり して、支離滅裂なコンピュータ人生です。 またちょくちょく顔を出させてください。でわまた。 |
|
へにかさん > forkできているみたいですね! こっちの環境書くの忘れてました:-) Windows98 Cygwin B20 Perl 5.005.62 (http://cygutils.netpedia.net/B20/perl-5.005_62.html) cygwin1.dll (ftp://gd.tuwien.ac.at/gnu/sourceware/cygwin/snapshots/cygwin1-20000306.dll.gz) http://www.jaist.ac.jp/~fujieda/cygwin/snapshot.shtml とか参考になるかもしれません。 |
|
また書き込んじゃいます。てへ。 なんかFreeBSDとBSD/OSの会社が合併するようですね。 Linux勢に押され気味のBSD勢ですが、今後はBSDも活気が 出てきますかね? っていうか、まだLinuxかBSDか迷っています。 ノートPCで動かす予定なので、ノート関連の資料が多く揃っている(?) BSDもいいなぁなんて。 |
|
Yuuki様; cygwin1.dllを入れ直したら、無事forkしました。 色々、ありがとうございます! 嬉しいです。 嬉しさのあまり、証拠画面を作成しました。 以下に示します。宜しかったらご覧ください。 http://henika.virtualave.net/echotest.gif |
|
> smbclientコマンドのオプション-Mってありますよね。 すいません、samba の設定をしたことがないのでわかりません。 > いま調べまくって Proxy を VisualBasic で作成中です。 HTTP proxy ですか? それとも ftp? > 状態遷移図を書かずにやってるのとで、サーバからのデータを > 取りこみきれずにソケットが閉口(笑)してしまいます。 あ〜、普通 状態遷移図を書くもんなんでしょうか。 僕は素人なので思いつくままコーディングしている のですが。その結果、close でソケットが閉じず、 shutdown しなきゃならないプログラムが出来上がりました (笑)。 > なんかFreeBSDとBSD/OSの会社が合併するようですね。 FreeBSD Project に資金提供して、その見返りとして CD-ROM を 売っている (と言っても、誰でも CD-ROM を売ってもいいんです けどね) Walnut Creek と、BSD/OS を作っている BSDI が合併、 ということです。念のため。 個人的には、OpenBSD,NetBSD 陣営とも一本化してほしいもんです。 人手が分散するのが惜しい。Linux 界も、あそこまでディストリ ビューションを乱立させることもないと思うんですが…。 > へにかさん、Yuuki さん Windows ユーザへの注意点とか、ここから perl を落とせとか、 そこらへんがまとまってるリンク先があれば、 http://X68000.startshop.co.jp/~68user/net/ に付け加えますが、何かいいところはありますか? |
|
いまつくってるのは、なぜか http-proxy です。 状態遷移図とかは、商売上お客さんに納入しないとだめなときが ありますが、あればあったで、自分が混乱したときに役立ちます(笑) |
|
質問です。 wwwboardに以下のような行がありますが、 print <CACHE>; これは my @line = <CACHE>; print @line; と同じような動作をするのでメモリに負担がかかるような気がするのですが どうなのでしょう? |
|
> メモリに負担がかかるような気がするのですが う、その通りですね。修正しておきます。ありがとうございました。 |
|
> print <CACHE>; の他にも、なんやかんやと掲示板をいじってみたり。 というわけで、テスト。 すいませんが、古い cookie は多分効きません。 |
|
> Windows ユーザへの注意点とか、ここから perl を落とせとか、 > そこらへんがまとまってるリンク先があれば、 僕が見てきたページには無いようです。 僕がそこらへんをまとめたページを作りますね。 WindowsでPerlをやる時の注意点 てな感じで。 > 古い cookie は多分効きません。 例によって、名前を入力する場所に "68user"と入ってました。:-) |
|
> 例によって、名前を入力する場所に "68user"と入ってました。:-) ありゃ、古いバグを掘り起こしてしまった…。 |
|
まとめたページ、とりあえず作りました。 まだ情報が少ないですが、、(なのでまだ公開してない) http://homepage1.nifty.com/tyuuki/perl/windows_perl.html かなり眠い状況で書いたので間違いあるかも。です。:-) |
|
あ、Yuuki様が既に・・・ でも折角なので、投稿してしまいます。 ご希望に何処まで沿えるかどうか分かりませんが、これが良いと思います。 http://www.st.rim.or.jp/~nakata/ (但し後半部分のリンク集) ただ、これだとfork可能な、cygwin上のperlへは辿り着かないので、 Yuuki様が紹介された、以下のサイト、 http://www.jaist.ac.jp/~fujieda/cygwin/ 更に、cygwin1.dllを入れ替えなければならないので、その参考として、 http://www.jaist.ac.jp/~fujieda/cygwin/snapshot.shtml を付け加えればいいかと存じます。 cygwinをインストールして、perlをインストールして、cygwin1.dllを 入れ替えて、やっと動作するので、forkが必要な場合以外でインストール するのはかなりしんどいかも知れません。ActivePerl(http://www.activestate.com/) がforkをサポートさえすれば、最初に紹介したサイトが一番良いと思います。 ついでに進捗; なんとか、mime typeを認識まで出来ました。後はtextのfilterを入れる 寸前で(schedule的に)停止中・・・ あと、全く関係無いですが、状態遷移図からプログラムを吐き出すソフト、 って存在するのですか? フローチャートだと、 programa(http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/)が面白いです。 ハードだと、stateCADやDesignBookが有名です。 ※ cookieを久しぶりに食べたら、名前が へにか Email になって ました。また、WWWC(更新チェッカ)で3/14 8:22にチェックしたら、 3/13 22:12でした。更に、曜日が、羨ましい状態です。 |
|
はじめまして。UNIXのコマンドの質問なのですが... % ls -l -rw-r--r-- 1 *** ***** 2449 Mar 14 08:17 **.* -rw-r--r-- 1 *** ***** 1739 Mar 14 08:17 **.* -rwxr-xr-x 1 *** ***** 1223 Mar 8 00:04 **.* -rw-r--r-- 1 *** ***** 4135 Mar 14 08:20 **.* -rw-r--r-- 1 *** ***** 29140 Mar 14 08:20 **.* と、こんなかんじで表示されると思うのですが、そのとき↓のように表示したいときは どうすればいいですか? 2449 1739 1223 4135 29140 こんなかんじにファイルサイス゛列だけを表示したいのですが教えてもらえますか? |
|
こんにちは。 > ファイルサイス゛列だけを表示したい わたしなら、 ls -l | awk '{print $5}' かなぁ。 awk って便利ですよね〜 |
|
kuwさん、ありがとうございました。 助かりました。 |
|
はじめまして レンタルサーバを借りていて、telnetで少々時間のかかるコマンドを バックグラウンドで順番に実行させようと思っているのですが、 ログアウトするとどうもプロセスが終了してしまうようなのですが・・・ ログアウト後も終了させないでつづけさせるにはどうしたら良いのでしょう? ちなみに、commandA&&commandB &っていうふうにコマンドラインには 入力しています。 超初歩的な質問だとおもいますが、よろしくお願いします。。。 |
|
> ログアウト後も終了させないでつづけさせるには http://X68000.startshop.co.jp/~68user/unix/pickup?nohup でいいですか? > 更に、曜日が、羨ましい状態です。 おぉ、毎日が日曜日…。 Win+perl の件は後程。 |
|
スゴい深刻な問題抱えてますーーーー。 連休明けまでに(3月20日までに)プレイステーション2売ってくれる 人いませんかーーーー????? チョットクライ高くてもかまいませんんんん。 |
|
> cygwinをインストールして、perlをインストールして、cygwin1.dllを > 入れ替えて、やっと動作するので 勘違いしてCygwinをダウンロード(13MB)する人がいるかもしれないので一応。 CygwinPerlをインストールするためにCygwinをインストールする必要はないです。 どうするかというと、それは僕のページに書いてます。:-) (http://homepage1.nifty.com/tyuuki/perl/windows_perl.html) |
|
>68userさま お返事ありがとうございます。 リンク先のnohupコマンドを使ってやってみたのですが やっぱりログアウトするとプロセスが終了してしまうみたいです。 nohup /home/hoge/hage/commandA&&/home/hoge/hage/commandB & というかんじで入力しているんですけど。。 実行すると「nohup: appending output to `nohup.out'」 というメッセージがでます。 こういうやり方でいいんですよね? サーバの設定の問題なのかな? どうすればいいんだろうか。。 |
|
> 実行すると「nohup: appending output to `nohup.out'」 ということは bash をお使いだろうと思いますが、こちらでは nohup commandA && nohup commandB & でできました。tcsh なら ( nohup commandA && nohup commandB ) & とサブシェルに実行させれば動くようです。 |
|
Yuuki様; >勘違いしてCygwinをダウンロード(13MB)する人がいるかもしれないので一応。 うっ、た、確かに・・・ ご指摘ありがとうございます。 会社のマシンでも、pathからcygwinをはずして、usr\以下にpathを 追加し、そこにcygwin1いれると、動いてました。 あと、Yuuki様のページ、なかなかインストールしやすくなっていて、 感心しました。 |
|
DVDとCD−RWが一緒になっているドライブがあると聞いたけど、これってお買い得? |
|
モジュール関係を中心に更新しました。 http://X68000.startshop.co.jp/~68user/net/ さすがにネタが尽きてきた & 飽きてきた。何かおもしろい 題材ないですかね。NNTP も ICQ もいまいち食指が動かないなぁ。 あと、Windows+perl を使うときの参考ということでリンクを 張りましたが、よいですか?>Yuuki さん # 「よいですか?」というのは (失礼な言い方でなりますが) # こういう分野は情報がすぐに古くなるので、定期的に更新を # 続ける気はおありですか? ということ。 ## 僕は Windows 使ってないため、情報が正しいかどうか全く ## チェックできないので。 なお、ちょっと忙しくなるので、26〜27日あたりから 4月中旬まで しばらく掲示板を閉めます。 |
|
>こてつさん DVDとCD-RWくっついてるやつは 性能的にみても,別々に買ったほうが安いので 辞めといたほうがよろしいかと。 >68user様 自作機で新マシン作りました。ハード関係 前より詳しくなりましたよ。CGIは相変わらずですけど。 奥深いですね。自分で組むと全く動かないです(w |
|
> あと、Windows+perl を使うときの参考ということでリンクを > 張りましたが、よいですか?>Yuuki さん はい。大丈夫です。 |
|
> はい。大丈夫です。 了解です。 > 自分で組むと全く動かないです(w CGI ってのはデバッグしにくい環境なので、いろいろと がんばってみて下さい。 いろいろとありまして、転載についての説明を http://X68000.startshop.co.jp/~68user/ に加えました。ご一読下さい。 予告通り、4月中旬まで掲示板は閉めます。ではまた。 |
|
68user様 突然掲示板に書き込む無礼をお許しください。 私はネットワークの勉強をし始めたばかりの薩摩という者です。 こちらのページは大変奥深く、いつきても感動してしまいます。 ところで、今回意を決して掲示板に書き込むことに決めたのは、 ftptransのforkの部分を4引数selectを用いたらどうなるかを 知りたかったためです。 自分で考えてみたのですが、ソースが汚くなってしまい、 もし68user様ならどのように書かれるのか気になって しまったのです。本当ならこういうソースはメール等で お送りすべきとは思うのですが、こちらの方でするように とありましたので、いかに書きます。なお、ftptrans内で 用いられているサブルーチンはそのまま使わせて頂きました。 if ($passive){ &client_work(DATA,$data_connection_host,$data_connection_port); } $rin = &set_bits(COMMAND,DATA,DATA_WAITING); while(1){ $ret = select($rout=$rin,undef,undef,undef); if(fileno(COMMAND) && vec($rout,fileno(COMMAND),1)){ $ret = &read_response; if ( $ret =~ m/^5/ ){ print STDERR $ret; close(DATA); close(DATA_WAITING); exit; }elsif( $ret =~ m/^1/ ){ if ($mode eq put){ open(IN,$infile) || die "$infile: $!"; while (<IN>){ print DATA $_; } close(IN); } }elsif( $ret =~ m/^2/ ){ close(DATA); } }elsif(fileno(DATA_WAITING) && vec($rout,fileno(DATA_WAITING),1)){ accept(DATA,DATA_WAITING); $rin = &set_bits(COMMAND,DATA,DATA_WAITING); close(DATA_WAITING); }elsif(fileno(DATA) && vec($rout,fileno(DATA),1)){ open(OUT,">$outfile") || die "$outfile: $!"; print OUT <DATA>; close(OUT); close(DATA); exit; } } sub set_bits { @sockets = @_; $rin=""; foreach $sock (@sockets){ if(fileno($sock)){ vec($rin,fileno($sock),1)=1; } } return $rin; } sub to_bin { return unpack "B*",$_[0]; } 以上です。投稿が非常に長くなってしまいましたが、 気付いた点がありましたら御指摘いただけると幸いです。 また、68user様がかかれた物も拝見できましたら ありがたいのですが。 以上、よろしくお願いします。 |
|
ごめんなさい。下の投稿をしたのは僕です。 名前が抜けていました。どうも削除はできないようなので、 もう一度投稿しました。 本当にごめんなさい。 |
|
どうも、おひさしぶりです。再開おめでとうございます。 散々アドバイス頂いて、スクリプトも頂いて、そのおかげでなんとか perl proxyを作れました。本当にどうもありがとうございます! sysreadの返値がundefかどうかを判定するところではまってました。 これでやっと当初の目的(漢字変換および80桁で折り返す、ヘブライ語 のテキストをiso-8859-8-iからiso-8859-8)に取り掛かれます・・・ |
|
ふう、やっとネットワークに繋がった。 > perl proxyを作れました。 あれを完成させてコメント付けて解説付けて公開するつもりでしたが、 全然進んでないので、置いておきます。 http://X68000.startshop.co.jp/~68user/tmp/2nd-proxy.pl へにかさんのが これより高機能なら公開して下さいね。 # 不具合: # POST の長さについて、実際のデータより少し多めに送ってしまう # ような気がする & たまに永遠にソケットを読みに行ってしまう # ことがある & ブラウザ側が途中で切断しても proxy 側が感知できない。 # perl5.004 だと動かないような気がする。perl5.005_05 以降 # ということで。 >薩摩さん これって動いているんですよね。ならいいんじゃないでしょうか。 でもまぁ、せっかく select を使っているんだから、 > while (<IN>){ > print DATA $_; > } せずに、read して 再度 select で待つとよいかもしれません。 そうすれば、「現在 〜% 読み込み中、あと何秒、(〜bytes/sec)」 なんてのを刻々と表示できますし。表示するかどうかは別としても、 僕ならそうすると思います。 |
|
68user様 有難うございました。なるほど、readを使うとは 思い当たりませんでした。これから挑戦してみます。 有難うございました。 |
|
68userさんへ どうも、はじめまして UNIX初心者です。 私はUINXの勉強をし始めたばかりの岡野という者です。 こちらのページはいつもお世話になっています。 実は、userさんにgzipがなぜ使えないのか?? どうしても知りたかったため 投稿をしました。 gzipをインストールをして、pathで環境設定をしたんですが・・・・ バイナリーファイルを実行できません。 gzip -d bash-2.03-sol7-sparc-local.gz と打ったのですが、 /GNUzip/root/usr/local/bin/gzip:execフォーマットエラー こう出てきました。 なぜでしょう? OSはsolaris5.7です。 |
|
exec フォーマットエラーという意味がわからんので確認して下さい。 適当なファイル foo を用意して、gzip foo で foo.gz が作成されますか? できるなら、 bash-2.03-sol7-sparc-local.gz が壊れているんでしょう。 gzip foo でも exec フォーマットエラーとなるなら gzip 自体がおかしいんでしょう。どうやってgzip を インストールしましたか? |
|
>68user こんちは。いろいろおつかれさまです。 もうおともだちはできましたか? さて、早速ですが、以前作っていただいた掲示板のCGI、 実はダウンロードしたつもりで忘れていたみたいです。 いろいろ探してみたんですが、見つかりませんでした。 なので、お手数ですが、もっかいどっかにアップしてやって下さい。 |
|
はじめましてこんにちは。 diffコマンドで質問があるのです。 最終行にnewlineがあるファイルとないファイルを比較したとき、 newline以外の部分が同じでも、その行は違うよと答えてきます。 newlineあるなしに関わらず内容部分だけでdiffするにはどうしたら良いでしょうか。 どうか教えてください。よろしくお願いします。 |
|
> diff うちの GNU diff-2.7 では、-b オプションで お望みの動作をしているようです。 > もうおともだちはできましたか? まぁ、それなりに。というより、ずっと一緒に研修受けてるから 自然に仲良くなるって感じですかね。 > もっかいどっかにアップしてやって下さい。 すんませんが、もうちょいデバッグしてから送ります。 どういうバグが残ってたのかも忘れてしまったので。 週末に仕上げる予定。 |
|
68userさん、お返事ありがとうございます。 >うちの GNU diff-2.7 では、-b オプションで >お望みの動作をしているようです ぼくが使ってるやつで-bオプションを使ってもゆうこときいてくれないです。 何か他の方法あれば教えてください。お願いします。 |
|
-y とか -B などはどうですか。なお、FreeBSD の diff では http://www.jp.FreeBSD.org/cgi/mroff.cgi?subdir=man&man=diff&dir=jpman-3.4.0%2Fman という意味です。ご自分の環境の diff のマニュアルを見て、 同じようなのを探して下さい。 なお、SunOS などに付いてくる低機能な diff じゃ無理かもしれません。 あとは perl などで最後の改行を削除してから diff、くらいしか 思い付きませんねぇ。 |
|
68userさんへ お返事ありがとうございます。 ぼくの使っているSunOS環境のdiffではダメなようですね。トホホ。 どうやら末尾のスペースまたはタブしか無視してくれないようです。 perlもつかえる環境ではないのです。仕事先なのでインストールもできないです。 またいろいろとチャレンジしてみます。 ありがとうございました。 |
|
65userさんへ お返事ありがとうございます。 いろいろ調べてみたのですが、SPARC と INTEL を間違えていたみたいです。 間違えてINTELをダウンロードしてしまったみたいです・・・・ bash-2.03-sol7-sparc-local.gzを展開したら bash-2.03-sol7-sparc-localになってこれは展開できてるんですよね でもその後にどうやってインストールしていいかわかりません。 お願いします 教えてください。 |
|
> でもその後にどうやってインストールしていいかわかりません。 http://hiroyuki.oresama.org/tech/solaris/install.solaris.html など。僕は package から入れたことがないので、詳しいことは わかりません。 > ぼくの使っているSunOS環境のdiffではダメなようですね。 GNU の diffutils を入れるのは? SunOS のコマンドは 貧弱すぎて、僕はほとんど使ってないです。 |
|
>へにかさんのが これより高機能なら公開して下さいね。 僕のproxyは、 1) 1st-proxy.plに対し、 a) sysreadの返値をdefinedでチェックするところ、 b) フィルタをかけられるようにしたところ、 c) 環境変数を配列に貯えたるところ、 以外は、あまり変わらないところ、 2)68userさんが示された、2nd-proxy.plの不具合の内容に対するような 観点ではチェックしていない(というか、僕が遊べる程度でしかチェック していない)ところ、 という事で、まだまだ公開できるレベルではないです。 すいません・・・ |
|
疑問が何点かあります。 アスキー形式ファイルとは具体的に言えばどういう事なのでしょうか。 それと、中間ファイル、圧縮形式、プロッタ言語の意味がわかりません。 どうか、お教え下さい。困っています。 よろしくお願い致します。 |
|
何の話かわからないです。CAD ですか? > プロッタ言語 HPGL とかのこと? プロッタに座標 (10,20-200,300) の 直線を書かせるには (HPGL を解するプロッタならば) PD10,20;PA200,300; (だったっけな?) という文字列を送れば、 あとはプロッタが適切に解釈して線を引いてくれるってこと。 アスキーと圧縮形式はコンピュータ一般の用語ですが、 CAD 界ではどうなのか知りませんので何とも言えません。 中間ファイルは CAD の処理系依存でしょう。多分。 なお、僕は CAD を全く知りません。 > 週末に仕上げる予定。 すまんす。仕上りませんでした>has |
|
SFCのドラクエ3ですが、 最後のゾーマにあえません。 のぼっても、もぼっても、くだっても、くだってもおなじ階段とかって、 関係あります???? |