|
>・僕もNetboyさんも、一切の義務/責任を負わない >・アカウントの存続、容量などは、Netboyさんの一存にお任せする >ということなら、お申し出をお受けしたいと思います。 ありがとうございます. 上記の条件は了解いたしました. >ところで、なんでtakujiなのかしら。 さぁ...(笑) 企業向けのryomonet.co.jpというのもあります. では,メールをこれから送りますので. |
|
え〜、トップページにも書きましたように、 http://X68000.startshop.co.jp/~68user/index.html にリンクを張っていらっしゃる方は http://X68000.startshop.co.jp/~68user/ に、 http://X68000.startshop.co.jp/~68user/unix/index-unix.html にリンクを張っていらっしゃる方は http://X68000.startshop.co.jp/~68user/unix/ に修正していただくようお願いします。 /~j5306050/index.html や /~j5306050/unix/index-unix.html を指してるリンクは 全部修正したつもりです。 なんでかと言うと、webを作り始めたときは index.html を省略できることを 知らなかったんですが(^^;、やっぱりURLは短い方がいいよなと思って 変えてみました。めんどくさいことさせてすいませんが、ぜひご協力を。 あと、(やっと)UNIXのとこに検索フォーム付けました。 |
|
このサイトを Infoseek で見付けてしまった、高山と申します。 68user さん、はじめまして(笑)。 このサイトには、HTTP クライアントや、POP3 クライアントの作り方 など、他にはあまり無い情報があって、hacker 志望(実力は全然で すが)な僕には、かなり為になります。 これからも、たまに見に来ようと思いますので、頑張ってください。 では。 # www-links Project 。もっと人手が欲しい〜。 # 特に、三平さんの収集した URL の整理とか、相当キツそう(涙)。 |
|
余談ですが、HTTPのソースを見たい時はブラウザに view-source:http://abc.hogehoge.com/ とかするとソースウインドウが開きます(笑) 既に知ってますかね、でもCGIだと色つけとかすれば 便利そうです、作ってみようかな・・・ |
|
<a href="http://abc.hogehoge.com/">http://abc.hogehoge.com/ |
|
x−mate3.0をしている人、おしえてください。 メールを待ってます。 |
|
x−mate3.0をしている人、おしえてください。 メールを待ってます。 |
|
> 68user さん、はじめまして(笑)。 どうも(^^; > hacker 志望(実力は全然ですが)な僕には、かなり為になります。 いや〜、ほんとは「カーネルの読み方」とか「デバイスドライバの作り方」とか 書きたいんですけど、実力がないのであれが精一杯…。 高山さんはとっても若いので、今のうちに勉強して立派なハッカーになってください。 > # www-links Project 。もっと人手が欲しい〜。 担当の部分が進んでなくてすいません。システムができないことには メンバの協力も得られませんから、早く仕上げなくてはと思っているんですが。 URLの整理くらいなら、www-links-workで手伝ってくれる人を募集しては どうでしょう。 > view-source:http://abc.hogehoge.com/ これは知りませんでした。というか、この手のはいろいろあることは 知ってるんですが(about:とか)、細かい部分は全く知りません。 # ところでウスターソースさんって、どこかで見かけた記憶があるんですが(失礼)、 # SEGA? それとも、とほほBBSかな。 |
|
始めまして。 ちょっと悩んでいるので教えていただきたいのですが、 日本語(漢字使用可)のtalk,write,phoneを探しているのですが ご存知ですか。お分かりになれば教えていただきたいのですが。 |
|
okphoneはどうでしょう。 ftp://ftp.win.or.jp/pub/network/okphone/ ただし、クライアントだけが日本語に対応すればいいのか、それともサーバの 対応も必要なのかはわかりません。あと、talk/writeはわかりませんです。 # ICQを使うってのは? |
|
はじめまして。 REF HAT5.2をインストールしていろいろテストしているのですが、 PCの場所移動のためにIPアドレス等を変更したいのですが、 どのファイルを直せば良いのでしょうか? Xが使えれば簡単に直せるようですが、ディスプレイが悪いのか、 設定が悪いのかわかりませんが、まともに画面が見れなくなってしまうので、 Xでの設定は出来ないんです。(こっちを直せという意見もありますが・・・) 詳しく説明しているページを紹介してくださってもかまいません。 どうかご教授ください。 |
|
RED HATの打ち間違えです(^^ |
|
Linuxは知りませんが、一般的に/etcの下なの確かでしょうね。 /etc/sysconfig/ の下とかにないですか。 grep 133.8.3 /etc/{*,*/*,*/*/*} などとして、どこで設定しているのか調べてみてはどうですか。 # 133.8.3 は現在のIPアドレスね。/etc/hostsや/etc/resolv.conf、 # デフォルトゲートウェイの修正も忘れずに。 |
|
UNIXプロセスの終了について質問したいと思います。 普通はkill プロセスIDという方法で終了できるのですが、 なぜかうちのsolarisは終了できません。 そのやり方を以下のように再現します。 g10410@iclab[1]/home/g10410>ps -ef | grep java g10410 19018 19011 0 14:41:16 pts/8 0:00 grep java g10410 17832 1 0 5月28 ? 0:03 /usr/java/bin/java -classpath /usr/dt/appconfig/hotjava/classes:/usr/dt/appconf g10410@iclab[2]/home/g10410>kill -KILL 17832 g10410@iclab[2]/home/g10410> g10410@iclab[3]/home/g10410>ps -ef | grep java g10410 19026 19011 0 14:41:53 pts/8 0:00 grep java g10410 17832 1 0 5月28 ? 0:03 /usr/java/bin/java -classpath /usr/dt/appconfig/hotjava/classes:/usr/dt/appconf 最後の一行のように、なぜか終了できませんでした。 そもそも /usr/java/bin/java -classpath /usr/dt/appconfig/hotjava/classes:/usr/dt/appconf なんで動いたままになってるのかわかりませんので、どうか御教授下さい。 サーバーの負荷が重いから停止させてくれと、文句を言われているので、 なんとか終了したいものです。 |
|
ゾンビプロセスや、ディスク入出力待ちのまま固まってる プロセスは殺せません。 > 文句を言われているので、なんとか終了したいものです。 え〜、リブート…とか(^^; |
|
はじめまして。 インストール後に表示言語設定を コマンドを使って変更する事は可能なのでしょうか? ちなみにインストール時に設定したのは英語と日本語の 混在で、変更したいのは日本語表示です。 |
|
ネットワークプログラミングの基礎知識について すごくわかりやすかったです。 ありがとうございました。 |
|
何とか自力でできました。 これからも度々来させてもらいますので その時はよろしくお願いいたします。 |
|
はじめまして。超初心者です。 xvの説明のところに 「Xの起動時に背景に好きな壁紙を貼りたい場合は.xsessionに % xv -root -quit file.jpg などと書いておけばよい。」 とありますが、.xsessionが見つかりません。 どこにあるにでしょうか。 |
|
.xsession がなければ .xinitrc でいいです。具体的には xdmで Xを起動しているなら .xsession 、startxやxinitでXを起動しているなら .xinitrcです。 |
|
はじめまして。 私も日本語表示で困ってます。 Solaris2.6にTeraTermを使ってコーディングを行っているのですが、 日本語が文字化けしてしまいます。 LANGはjapanese、TeraTermの設定はEUCに設定してあります。 このほかに注意する個所がありましたら教えてください。 ちなみに他の人は同じ設定で文字化けしてないようです。 |
|
> LANGはjapanese 化ける化けないに関してはLANGはあまり関係ないです(と思います)。 症状がよくわからんのですが、日本語が書かれたファイルをcat するだけで化けますか。cat hoge|nkf -eでEUCに変換すると どうなりますか。 補足。 > .xsession がなければ .xinitrc でいいです。 どちらもホームディレクトリに置けばいいです。どちらもなかったら http://X68000.startshop.co.jp/~68user/unix/config.html#%7E%2F%2Exsession のような内容のファイルを作成しておきましょう。 |
|
再び日本語表示 さんへ 設定を保存しましたか? 設定し直した後に setup→save setup で設定を保存します。 一回終了してもう一度立ちあげると直ると思います。 |
|
cat hogeでは、日本語は表示されます。 問題はviで日本語入力した際、文字化けしてまうことです。 (説明不足でした。すみません) OSのエラーコメントなどは、正常に日本語で表示されます。 |
|
いい忘れました。設定するのはtera termの方です。 ついでにこちらの方から質問があります。 OSをインストールしたのですが、root直下に.Xdefaultsが できません。インストールに失敗したのでしょうか? それからVXVAをインストールしたのですが’本マシンではVxVAを起動することはできません。’というメッセージがでて起動しません。 バージョンも対応osにも問題ありません。よろしくお願いします。 |
|
>ユニ男 さん TeraTermの設定を保存し、再び起動してみましたが、 まだ文字化けするようです。 |
|
>再び日本語表示さん Telnetではどうですか? |
|
Telnetも同じ症状です。 設定を日本語EUC、SJISのどちらにしても 日本語の入力は文字化けします。 うーん・・・なぜなんだろう??? 正常に動いている人の.profileを見ても 環境変数は同じなんですけどねぇ。 |
|
> 問題はviで日本語入力した際、文字化けしてまうことです。 じゃあTeraTermの問題ではないですね。そのviは日本語を通しますか? 手元のSolarisには、 /usr/xpg4/bin/vi /usr/bin/vi /bin/vi /usr/ucb/vi がありますし、それに加えてelvisもあります。少なくとも/bin/viは setenv LANG ja しないと化けてました。 他の方はviを使っていても化けないのなら、その人の環境でwhich viして どのviを起動しているか、環境変数はどうなっているかを調べてはどうでしょう。 > OSをインストールしたのですが、root直下に.Xdefaultsが > できません。インストールに失敗したのでしょうか? OSと言ってもいろいろありますけど、普通インストール直後には .login、.cshrc、.profile、.mailrc、.rhosts くらいしかできない はずだと思います。 # /usr/share/skel あたりに置いてあるやるがコピーされるわけです。 > それからVXVAをインストールしたのですが VXVAとは何か知らないので、残念ながらお役に立てそうにありません。 |
|
>再び日本語表示さん Telnetではどうですか? |
|
viは日本語を通します。 which viでは、私も正常に表示される環境も /usr/bin/viを使用しています。 LANG=ja export LANG とし、envでちゃんと格納されているのを確認しました。 TeraTermの設定も確認させてもらいましたが、 やっぱり同じです。表示されない理由がわかりませんが、 もうすこしあがいてみます(苦笑) |
|
>68user さんへ 返答ありがとうございました。 .XdefaultsはべつのCDからインストールすることがわかりました. それからVXVAとはVXVMというディスクのミラー化(ROOTいかのファイルを全て万が一のために同じものをバックアップとしてさくせいする)するためのソフトのユーザーインターフェイスのことです。 とりあえずこれは再インストールすることになりました. >再び日本語表示さんへ そうゆうことになると私もお手上げです. 力不足の私をお許しください・・・ |
|
こんにちは。 X ウィンドウシステムというのは OSとは別個にインストールするものなのでしょうか? もしそうだとすればどこから手に入れれば良いのでしょうか。 よろしくお願いします。 |
|
OSはなんでしょうか。UNIX系OSならば、よほど変なOSでない限り Xも一緒に付いてきますので、何も入ってないとしたらインストール時に 選んでないだけだと思うのですが。 |
|
>68user OSはUX/4800です。 結局ほかのサーバーからコピーしてきました。 でも変ですね。インストール時にディレクトリ も指定したんですけど・・・。 |
|
>68user ’さん’ 呼びつけで送ってしまいました。ごめんなさい。 よろしくお願いします. |
|
.xinitrcもないのですが・・・ |
|
日本語入力ができるようになりました。 原因は stty istrip なるものが.profileに記述されてたことです。 自分で書いたものでないので、気づかなかったのですが、 これは入力文字を 7 ビットにストリップする処理でした。 相談に乗ってくださった68userさん、ユニ男さん、ありがとうございました。また何か合った際はよろしくお願いします。 |
|
> 原因は stty istrip なるものが.profileに記述されてたことです。 stty istrip だと、catは通っても vi は化けるのですか。 勉強になりました。 # こちらのSolarisでは再現できませんでしたが > OSはUX/4800です。 HP-UX か HI-UX ですよね。どっちも使ったことがないのですが、 > .xinitrcもないのですが・・・ .xinitrc も .Xdefaults も .Xresources も、最初は存在しないもの じゃないかと。 xinit/startxを実行すると、最初に ~/.xinitrc を探し、それがなければ サイト標準の設定として /usr/X11R6/lib/X11/xinit/xinitrc (FreeBSDの場合) を実行します。ですので、ユーザごとにカスタマイズしたい場合は、その ファイルを ~/.xinitrc にコピーして、いろいろ設定するものだと思います。 # see man xinit |
|
相談に乗って頂きありがとうございました。 (結局わからずじまいなのですが・・・) 今度はもう少し勉強してから質問したいと思います。 では、またいつかお世話になると思いますので、 その時まで・・・ |
|
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に準拠していないし、ファイルがなかったらデッドロックするしで、 バグだらけですが、改造してみて下さい。 |