>>1523 rosegarden > 言葉が足りないようですみません。 いや、解説を催促するつもりはなかったのですが、恐縮です。 login.conf ということはユーザごとに DES か MD5 を定義 できて、しかも各ユーザは ~/.login_conf で上書き自由、 ということだと思うんですが、それが出来て何がうれしい んだろう…ってのが疑問なんです。 # NIS 使用時に幸せ? > 去年の暮れに 4-stable が page fault 頻発して > 放棄せざるを得ない状態まで追い込まれたことあります。 恐いですねぇ。僕は FreeBSD-stable も流し読みだし、make world で こけたとき直すスキルもないので、ビクビクしながらやってます。 4-STABLE じゃなくて 4.2-RELEASE にしとけばよかったな。 >>1524 みかん > 大抵のサンプルはwhile (<SOCK>) って感じでやってるみたいですが、 > バイナリファイルが対象でもうまくいくのでしょうか? <> は C でいうところの fgets 相当 (+バッファサイズが無限長) なので うまくいきます。 うまくいきますが、改行コードが1つもないデータを読もうとすると 一度に多くのバッファ (=メモリ) を消費するので、 sysread(SOCK, $buf, 8192); read(SOCK, $buf, 8192); while ( read(SOCK, $buf, 8192) ){ print $buf } などの方がよいです。 ついでに言っておくと、状況にもよりますが、select に <> や read を使うのは不適切です。select で読み込み 可能だからといって、「改行コードを含むデータ」や 「指定したサイズのデータ」が読み込めるとは限らない ので (データの前半部分だけが先に到着しているかも しれない) からです。せっかく select でブロッキングを 回避しているのに、<> や read の部分でブロッキング してしまうかもしれない。 # ここでいう read は read(2) でなく perl の read (fread(3)) です。 |
>>1517 68user > ところで > my_memcpy(void *dst, void *src, size_t len){ > とすると gcc に invalid use of void expression と怒られるんですが、 > 引数を void * で受けるのってできないんでしたっけ? おや? 68userさんにしては珍しい。 # まあ、プログラミング言語って(自然言語も同じようなものですが)、 # ちょっと離れるだけで勘がにぶって、ポカをやらかしてしまいますが。 そのエラーは、引数で受けた部分ではなく、 dst++などの演算のところのエラーですね。 逆に、char*で受けた場合、gcc -Wallのwarningを黙らすために、 (char*)&test1のようなキャストが必要です。 # gccはいつも-Wall。これでポカミスを結構見付けられます。 |
>>1526 68user > それが出来て何がうれしい うーん、それはそうですね。ただ、人によってこだわりは あるでしょうから。本当の理由は私も良く分かりませんが、 des インストールしても md5 で crypt できるのはやはり 嬉しいです。 |
>>1527 gixs > そのエラーは、引数で受けた部分ではなく、 > dst++などの演算のところのエラーですね なるほどなるほど。 void my_memcpy(void *dst, char *src, size_t len){ (char *)src += len-1; while (len--){ *((char *)dst)++ = *((char *)src)--; } } てな感じでしょうか。 > おや? 68userさんにしては珍しい。 僕は元々ヘボです。-Wall は付けてますが、いつも warning が出る ものの、キャストの仕方がわからず、大抵「まぁ動いているからいいや」で 済ましてしまうレベル (^^; >>1528 rosegarden > des インストールしても md5 で crypt できるのはやはり > 嬉しいです。 ちと考えてみましたが、例えば apache+suExec で CGI を動かす とき、「俺は前の環境で作成したパスワードがあるので DES」 とか「私はセキュリティ重視で MD5」などと、ユーザごとに DES/MD5 を選べたりする、ってな場合があるかもしれませんね。 全然関係ありませんが、掲示板の使い方 http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse を作りました。上の [使い方] から飛べます。 |
こんにちは、UNIX1年生のみかんと申します。 文字列置換のsedコマンドを使って変数の中の文字列を置換して 別の変数に入れたいと考えております。このようなことは可能でしょうか? sed -e "s/aaa/bbb/g" ${ABC} ここで変数${ABC} の中に入っている値(例えばaaa)を置換して 変数${CBA}に挿入したいと考えております。 大変に恐縮ですが、ご存知の方がいらっしゃいましたらご教授いただけませんでしょうか。よろしくお願いします。 |
>>1505 inpaku あー、もう解決してらっしゃるかもしれませんが、 だいぶ前にこう言うものをつくりました。 http://www.geocities.co.jp/MotorCity/5319/deception_doc.txt http://www.geocities.co.jp/MotorCity/5319/deception.txt 暇つぶしにつくった趣味のソースなんで、ぼく自身が忘れないための やる気のないコメントしか入ってません(苦笑 自ホストのNICからMACアドレスを引っぱってきてるのは、 gethwaddr()関数のあたりです。 あて先ホストのMACはlookup_mac()関数で持ってきてます。 ARPリクエストを流してから、自分のNICにキャッシュされたか 確認することで取得しています。 今見ると、ところどころマヌケできったないソースですが 参考になれば。 |
68userさん、rosegardenさん、gixsさん、 回答、ありがとうございます。 今から、読みながら、また勉強します。 本当に、ありがとうございました。 やってみて、また、わからなかったら質問すると思いますが、 また、よろしくお願いします。 |
はじめまして. IPアドレスとポート番号で,サーバーとそこで動いているサーバープログラムが特定できる所までは理解できました. では,あるマシンで2つWWWブラウザーを立ち上げて,その両方とも同じHTTPサーバーにアクセスした場合,サーバはどちらのブラウザーにHTMLを送り返すか分からないと思うのですが,それはどうやって識別しているのでしょうか. |
>>1530 みかん > こんにちは、UNIX1年生のみかんと申します。 >>1524 みかん の方とは別の方ですか? sh・bash なら CBA=`echo $ABC | sed 's/aaa/bbb/g'` csh・tcsh なら set CBA=`echo $ABC | sed 's/aaa/bbb/g'` set CBA=$ABC:s/aaa/bbb/g (これって SunOS の csh でも使えるのか〜) てな感じでしょうか。他にも方法があると思いますが、 僕はこれだけしか知りません。 >>1533 とも > では,あるマシンで2つWWWブラウザーを立ち上げて,その両方とも > 同じHTTPサーバーにアクセスした場合 2つのブラウザは、それぞれソケットを生成しますが、それぞれ 同じサーバに connect したとき、自動的に OS が選んだポート 番号が割り振られますので、それで識別できます。 ブラウザが1つであっても、HTML とその中に貼られている画像を 平行して読み出すときなどはソケットを複数使いますが、これも 別のポート番号が割り当てられます。 クライアントは、getsockname すれば自分に割り当てられた ポート番号がわかりますし、サーバからは getpeername すればクライアント側のポート番号がわかります。 ちなみに IP データグラムのヘッダには始点 IP アドレス、 始点ポート番号、終点 IP アドレス、終点ポート番号が 記録されています。 |
>No. 1534 68user 68userさん、ご教授ありがとうございます! >>>1524 みかん >の方とは別の方ですか? いいえ、みかんという方が他にもいらっしゃったんですね。 これからはみかん(一年生)と名乗ることにします。 68userさんのご教授いただいた内容にて、問題が解決いたしました。 非常に感謝しております。ありがとうございました。 今後ともよろしくお願いいたします。 ・・・質問ばかりしていてはだめだとは思っているのですが(>_<) |
初めて書き込みします。 質問なのですが、ローカルマシンからリモートマシンへコピー(移送)した場合、コピーしたファイルやディレクトリのユーザーID/グループIDがその時の実行ユーザーID/グループIDに変わってしまいます。 これをそのままの設定のままコピーする事はできないでしょうか? ちなみにrcpとftp(ディレクトリのコピー(移送)自体が既に無理)では無理でした。 出来ればUNIXコマンドかPerlで可能な方法があれば教えて下さい。 これらでは無理でも他の方法でなら可能だと言うご意見でも構いませんので、よろしくお願いします。 使用環境:solaris8 使用言語:Perl5.0、csh |
>>1534 68user > sh・bash なら > CBA=`echo $ABC | sed 's/aaa/bbb/g'` sh・bash で他の方法があったら教えてください。 >>1536 ゆきえ > ユーザーID/グループIDがその時の実行ユーザーID/グループIDに > 変わってしまいます。 というのが既に誤解ではないかと思います。 % rcp ~/a.txt userA@host:~/b.txt … host:~userA/b.txt のオーナーは userA % rcp ~/a.txt userB@host:~/b.txt … host:~userB/b.txt のオーナーは userB となります。 ですから、ファイルのオーナー/グループが誰になるかは 「その時の実行ユーザID/グループID」 で決まるのでなく、 「rcp するとき どのユーザで認証を行うか」 によります。ftp も同じで、ログイン時にどのユーザ名で 認証を行うかで決まります。 |
お答えありがとうございます。 >「rcp するとき どのユーザで認証を行うか」 ですと、認証したユーザーに結局は変更されてしまいますよね? ディレクトリの配下には色々なユーザーIDやグループIDが存在していますのでそれを変更したくはないのです。 調べていますとfilename.tar.zをrcpで移送して、rshでuncompress、tar -xvfpをすろ事でこの問題が回避されそうなのですが、tar -xvfpがうまくいきません。 マシンAのルートディレクトリにある./usr.tarをマシンBからrshで rsh A tar xvfp ./usr.tar rsh A tar xvfp ./usr.tar ./. rsh A tar xvfp ./usr.tar -C ./. いずれの場合も展開されませんでした。 どうすればtarファイルを展開できるのでしょうか? |
>>1538 ゆきえ > tar -xvfpがうまくいきません f の直後に tar ファイル名を指定しないといけません。 だから、いつも f は最後と覚えてください。 tar -xvpf hogehoge.tar |
>>1538 ゆきえ > ディレクトリの配下には色々なユーザーIDやグループIDが > 存在していますのでそれを変更したくはないのです。 ああ、なるほど。理解しました。 1. ファイルのオーナーを調べ、その権限で rcp する foreach file (*) set owner=`ls -l $file | awk '{print $3}'` rcp $file ${owner}@host:~ end 2. root で tar xvfp する。 ただし、展開時のファイルのオーナーは、ユーザ名でなく uid に 従うので、ローカルとリモートの uid の割り振り (/etc/passwd) が 同じである必要がある。 てなところですか。 > マシンAのルートディレクトリにある./usr.tarをマシンBからrshで > rsh A tar xvfp ./usr.tar rsh の前に マシンA に rcp で usr.tar をコピーしましたか? >>1539 rosegarden > f の直後に tar ファイル名を指定しないといけません。 今回は問題ないんじゃないですかね。x,v,p とも引数を取らないので。 |
>>1540 68user >> マシンAのルートディレクトリにある./usr.tarをマシンBからrshで >> rsh A tar xvfp ./usr.tar > rsh の前に マシンA に rcp で usr.tar をコピーしましたか? ああ失礼、マシンAにファイルはあるのね。で、「ルート ディレクトリ」は「ホームディレクトリ」の間違いですか? % rsh A tar xvfp ./usr.tar だと、~/usr.tar を読みにいってしまいますので。 # root 権限でやってるならルートディレクトリでいいのかも。 |
初めて書き込みします。 質問なのですが、DBの接続はDBIで行っています。使用言語はPERLです。 DBへの接続は通常DBIの場合、connectにより行っていますが、 現時点でconnectがされているか、されていないかをコーディング上で 確認する方法はありますでしょうか? ご存知の方がいらっしゃいましたらご回答のほうをお願いします。 |
>>1542 の > 現時点でconnectがされているか、されていないかを > コーディング上で確認する方法はありますでしょうか? ping ちうのがありますね。$rc = $dbh->ping; |
>>1538 ゆきえ 断りなしにマルチポストする人は、うちの掲示板に 書き込まないで下さい。 http://www.parkcity.ne.jp/~chaichan/qanda/qa539.htm?01-01-11-10-57 今後は向こうでどうぞ。 |
>>1540 68user > > f の直後に tar ファイル名を指定しないといけません。 > 今回は問題ないんじゃないですかね。x,v,p とも引数を取らないので。 はずかしながら今まで、知りませんでした。 御指摘ありがとうございます。 |
> > > f の直後に tar ファイル名を指定しないといけません。 > > 今回は問題ないんじゃないですかね。x,v,p とも引数を取らないので。 > はずかしながら今まで、知りませんでした。 たびたびすみません。知らなかったのは事実なのですが、GNU tar だと ハイフン付けて tar するとだめみたいです。 GNU tar 1.13 の場合 % tar -xvfp hoge.tar tar: Cannot open p: ファイルもディレクトリもありません。 tar: Error is not recoverable: exiting now 一方、Solaris の /bin/tar は 68user さんのおっしゃるとおり 関係なくファイルを取り出せます。これも知りませんでした。 |
>>1543 68user >> 現時点でconnectがされているか、されていないかを >> コーディング上で確認する方法はありますでしょうか? > ping ちうのがありますね。$rc = $dbh->ping; ご回答ありがとうございます。 実際に試してみたんですが、disconnectされている状態で $rc = $dbh->ping;を実行すると以下のようなエラーが出力されました。 DBD::Oracle::db ping failed: ERROR Database disconnected at ****.pl line ****. For help, please send mail to this site's webmaster, giving this error message and the time and date of the error. 続けて処理をすることはできないのでしょうか? それとも根本的に何かが違うのでしょうか? よろしくお願いします。 |
>>1543 68user >> 現時点でconnectがされているか、されていないかを >> コーディング上で確認する方法はありますでしょうか? > ping ちうのがありますね。$rc = $dbh->ping; ご回答ありがとうございます。 実際に試してみたんですが、disconnectされている状態で $rc = $dbh->ping;を実行すると以下のようなエラーが出力されました。 DBD::Oracle::db ping failed: ERROR Database disconnected at ****.pl line ****. For help, please send mail to this site's webmaster, giving this error message and the time and date of the error. 続けて処理をすることはできないのでしょうか? それとも根本的に何かが違うのでしょうか? よろしくお願いします。 |
同じ内容を2度送信してしまいました。 どうもすみません。 |
>>1546 rosegarden > % tar -xvfp hoge.tar > tar: Cannot open p: ファイルもディレクトリもありません。 なるほど。tar -x -v -f p hoge.tar と同じ扱いになるわけですね。 いつも - を付けないので知りませんでした。 >>1547 の うーん、SunOS5.6 + perl-5.004_04 + DBD-Oracle-1.06 + Oracle8.0.5.0.0(?) では use DBI; $o_DB = DBI->connect("dbi:Oracle:", "username", "passwd") or die "connect error"; $o_DB->{RaiseError} = 0; $o_DB->disconnect; if ( $o_DB->ping ){ print "connect!\n"; } else { print "not connect!\n"; } で、not connect! と表示されました。標準エラー出力には DBD::Oracle::db ping failed: ERROR Database disconnected at a line 7. と表示されますが、その後も処理は続けることができました。 > 同じ内容を2度送信してしまいました。 > どうもすみません。 いえいえ。 おそらくどこかのロボットが がんがんアクセスしているので、 OS の最大数以上のディスクリプタを開こうとして OS や apache や perl がこけまくってるようです (だからサーバエラーが頻発している)。 普通は二度書きチェックを行っていますが、ちょうど二度書き チェック用ファイルのオープンに失敗したくさいですね。 |
>>1547 68user 回答ありがとうございます。 私もif文で確かめてみましたが、not connect! と表示されず、 処理が途中で止まってしまいました。 やはり、記述の通り環境の問題があると思われます。 ただ、確認の方法が分かったので助かりました。 ありがとうございました。 |
>>1551 の > 私もif文で確かめてみましたが、not connect! と表示されず、 > 処理が途中で止まってしまいました。 なるほど。うちの環境では、他のエラーは全てトラップできるのに、 ブレースホルダ `?' の数より多く bind_columns すると、エラーと なって perl が終了してしまうという問題があります。 perl や DBI/DBD のバージョンによっては、ping も同様に トラップできないエラーを発生することがあるのかも しれませんね。 # perl+DBI 暦は3ヶ月程度なので、全体的によくわかってません。 ## が、Pro*C や PL/SQL より100倍使いやすいということは ## よく理解できました。 |
apacheのlogを見ていたのですが、 ほとんどのlogがGETやPOSTの中で 192.168.1.1 - - [11/Jan/2001:04:27:16 +0900] "HEAD / HTTP/1.0" 403 0 っていうlogがありました。 このHEADってなんでしょうか? |
はじめまて。 http://x68000.startshop.co.jp/ これ、かっこいいんですけど・・・・ .htaccessでできるんですか? よかったらやりかた教えてください・・・ |
No. 1555は参照元のページの著作権のルールにのっとって いなかったようなので、もう一度書き込みます。 # 1555は消しておいて下さい>68user >>1553 CoreFighter HEADはその名の通り、 HTTP/1.1 200 OK Date: Fri, 12 Jan 2001 15:34:47 GMT Server: Apache/1.3.12 (Unix) mod_ssl/2.6.5 OpenSSL/0.9.5a Last-Modified: Wed, 12 Apr 2000 09:18:00 GMT ETag: "a7f83-3e0-38f43f48" Accept-Ranges: bytes Content-Length: 992 Connection: close Content-Type: text/html など、HTTPのヘッダ情報だけを返すMETHODのようです。 参照元:丸山不二夫著「WWWサーバー管理」(稚内北星ビブリオン内) http://www.wakhok.ac.jp/~maruyama/W3serv/document/node95.html # wakhokは講義テキストを公開しているそうで、参考になります |
>>1554 ぽよぞー > http://x68000.startshop.co.jp/ > これ、かっこいいんですけど・・・・ > .htaccessでできるんですか? 無償でこのサーバを提供していただいている Netboy さんが 作成されたものをそのまま使っています。apache のデフォルト設定では - HEADER というファイルに書いたものは、ディレクトリ一覧の先頭に表示される - README というファイルに書いたものは、ディレクトリ一覧の最後に表示される で、さらに - HEADER, README だとプレインテキスト扱いで、(< > & が置換される) - HEADER.html、README.html だと HTML 扱い (< > & はそのまま出力) という扱いがされます。というわけで、 http://X68000.startshop.co.jp/~68user/tmp/HEADER.html http://X68000.startshop.co.jp/~68user/tmp/README.html てな感じのものを置いとけばいいです。細かなカスタマイズは IndexIgnore、 IndexOptions、IndexOrderDefault で。詳しくはこちらをどうぞ。 http://httpd.apache.org/docs/mod/mod_autoindex.html >>1556 has > # 1555は消しておいて下さい>68user へい、消しました。 >>1553 CoreFighter > このHEADってなんでしょうか? 質問する前に、一通り眺めてくれるとうれしいです。 http://X68000.startshop.co.jp/~68user/net/http-3.html#5 |
>>1430 68user > おお、化けてる。 - s|^( +)|' ' x length($1)|e; + s|^(( )+)|' ' x length($1)|e; というバグが原因でした。 |
通りすがってみました。(意味不明) @HEAD こういう奴もあったりする。 telnet www.yahoo.com 80 Trying 204.71.200.68... Connected to www.yahoo.akadns.net. Escape character is '^]'. HEAD / HTTP/1.0 HTTP/1.0 200 OK Content-Length: 15629 Content-Type: text/html <html><head><title>Yahoo!</title> 以下略 |
はじめまして。ちょっとわからなくてききたいのですが・・・。 crontabに登録しようとしているのですがうまくいきません。 10 * * * * /home/〜(実行形式ファイルのフルパス) と登録したところ、 >UX:crontab:警告:コマンドは /usr/bin/sh で実行されます. というメッセージが出てきてしまいます。 どうしたらよいのでしょうか? |