>>4059 68user > 誤植って言いはると void 氏みたいなので、タイプミスということでひとつ。 了解しました。気になったので、検索かけたら・・・ 何て言っていいのやら。 |
日記。 % mkdir dir % touch dir/file % chmod 400 dir % ls -l dir としたとき、dir/file を stat(2) する権限がないわけなので、Permission denied となる (Linux・Solaris では実際にそうなる)。 # http://x68000.q-e-d.net/~68user/unix/pickup?chmod ところが FreeBSD では何も表示されず (エラーも出ず)、exit status も 0 で正常終了してしまっている。 これを調べようと、FreeBSD 5.2.1-RELEASE の ls ソースを見てみる。 # http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/bin/ls/ ずっと ls ってのは opendir して readdir して stat するものだと信じていたが、 実際には fts(3) -- traverse a file hierarchy http://www.freebsd.org/cgi/man.cgi?query=fts&manpath=FreeBSD+5.3-RELEASE+and+Ports&format=html を使っていて、上記のシステムコールは間接的にしか使用していなかった。 >>3773 68user で買った本を読むと、しっかり書いてあった。 この人の書く文章にはおもしろみのかけらもなく なんて文句言う前に、ちゃんと目を通すべきということか (全然読んでなかった)。 fts(3) は 4.4BSD から実装され、GNU 方面では glibc2 で採用された。glibc の マニュアルには BSD 4.4. fts ユーティリティは、将来の St -p1003.1-88 リビジョンに 含まれると期待されている。 と威勢のいいことが書いてあるが、少なくとも Solaris9 には実装されていない。 はじめて fts(3) を使ってみる。以下のプログラムで、stat できない場合エラーと 判断できている。FreeBSD の ls にはそれっぽい箇所があるにはあるが、その処理が うまく機能していないのか、あるいは謎の仕様なのか…。 ----- #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fts.h> main(){ FTS *ftsp; char *path[2]={"dir", NULL}; ftsp = fts_open(path, FTS_PHYSICAL | FTS_NOCHDIR, NULL); if ( ftsp == NULL ){ perror("fts_open"); exit(1); } FTSENT *ftsentp; while (1){ ftsentp = fts_read(ftsp); if ( ftsentp == NULL ){ break; } struct stat *sp = ftsentp->fts_statp; printf("%c", sp->st_mode&S_IRUSR ? 'r' : '-'); printf("%c", sp->st_mode&S_IWUSR ? 'w' : '-'); printf("%c", sp->st_mode&S_IXUSR ? 'x' : '-'); printf("%c", sp->st_mode&S_IRGRP ? 'r' : '-'); printf("%c", sp->st_mode&S_IWGRP ? 'w' : '-'); printf("%c", sp->st_mode&S_IXGRP ? 'x' : '-'); printf("%c", sp->st_mode&S_IROTH ? 'r' : '-'); printf("%c", sp->st_mode&S_IWOTH ? 'w' : '-'); printf("%c", sp->st_mode&S_IXOTH ? 'x' : '-'); printf(" %d %s\n", sp->st_mode, ftsentp->fts_path); if ( ftsentp->fts_info == FTS_NS ){ perror("stat failed"); exit(1); } } exit(0); } ------ あと、 http://www.freebsd.org/cgi/man.cgi にて FreeBSD 5.3-RELEASE からは ports マニュアルも検索できるように なっていることに気づいた。これは大変素晴らしい。 |
>>4056 68user > なんとなくアンケートをとってみることにしました。 アンケートの受付を (11/27 の時点で) 終了しました。結果をお知らせします。 [質問] 68user's page で今後読みたいコンテンツがあれば選択してください (複数選択可)。 [選択肢] 1. UNIX コマンドのコンテンツ充実 2. UNIX howto (「〜するには?」集のようなもの) 3. UNIX インストール・サーバ構築 4. ネットワークプログラミングのコンテンツ充実 5. web と CGI についてのコンテンツ充実 (含 Java Servlet・EJB) 6. C 言語講座的なもの 7. 業務系システム構築講座 (設計・コーディング・DB) 8. プログラマや SE の仕事について思うことをつらつらと [結果] 回答総数 67 1. 36(17%) ************************************ 2. 42(20%) ****************************************** 3. 27(13%) *************************** 4. 29(14%) ***************************** 5. 13(06%) ************* 6. 14(06%) ************** 7. 18(08%) ****************** 8. 25(12%) ************************* [感想] 1・2 が多いのは予想していましたが、5・6 が少ないのは予想外でした。 5 は書きかけのコンテンツのまま放置してあるので、その辺の情報を今ほしい 人はここにはいないってことでしょうか。6 は世の中は意外と保守的で、仕事で いまだに C でごりごり書いている (書かされている) 人が多数いるに違いない と予想したのですが、はずれたようで。 あと、7 より 8 の方が多いのもちょっと不思議です。 頂いたコメントについてですが、 > div 開始タグより div 終了タグが圧倒的に多い とりあえず気づいたところは直しました。自分で確認して、あまりにも 閉じ側が多いので笑ってしまいました。 あと、 >>3951 ほんたか > 1.「h 1文字左に移動」がリストからはみ出ています。 も直しました。 アンケート結果は今後の参考にさせていただきます。ありがとうございました。 |
「ネットワークプログラミングの基礎知識」に HTTP クライアントを作ってみよう(5) - 認証編 - http://X68000.q-e-d.net/~68user/net/http-auth-1.html を追加しました。 |
こんにちは。 こちらのサイトに来るのは今日が初めてですが、内容が充実していて大変参考になるサイトですね。 今後も利用させて頂こうと思います。さっそくですが、xlibについて質問をさせてください。http://x68000.q-e-d.net/~68user/xprogram/xlib-1.html のxlib-1.c を cc -o xlib-1 xlib-1.c -I /usr/X11R6/include -lX11 -L /usr/X11R6/li のように実行したら、何にも出て来なかった。私が使っているのは red hat linux 8.0です。宜しくお願いします。 |
>>4064 sqh00 カレントディレクトリに xlib-1 というバイナリが生成されているか、 あるいは何かしらのエラーメッセージが出力されていると思いますので 確認してみてください。 |
カレントディレクトリに xlib-1 というバイナリが生成されているが、実行できない。このように、実行したら、何にも出て来なかった。 [root@dm1511 xlib]# xlib-1 bash: xlib-1: command not found |
>>4066 sqh00 カレントディレクトリにあるバイナリは % ./xlib-1 と実行してください (% はプロンプト)。 |
実行ができました。ありがとうございます。 |
「ネットワークプログラミングの基礎知識」に HTTP クライアントを作ってみよう(6) - Digest 認証編 - http://X68000.q-e-d.net/~68user/net/http-auth-2.html を追加しました。 ところで cnonce は選択平文攻撃への耐性を高める効果があるとかなんとか 知ったかぶって書いてしまいましたが、cnonce がないと具体的にどういう 攻撃ができるんでしょうかね。 差分解読法かなぁと思ったんですが、MD5 に差分解読法って有効なんでしょうか。 あるいは salt 的な意味合いがあるんでしょうか? いまいちイメージがわかない。 |
「ネットワークプログラミングの基礎知識」で勉強させていただいています。 kqueue の説明をみて早速いぢってみました。 サンプルでは kqueue() の戻り値に対して、終了時の処理が何もされていません。 man で調べたたところ、kqueue() の戻り値はファイルデスクリプタと記されています。 init kq = kqueue(); close(kq); としても、close の戻り値が -1 で閉じることができませんでした。 なので、 init kq = kqueue(); close(kq); init kq = kqueue(); close(kq); とすると、kq は 1 回目が 9、2 回目が 10 といったようにインクリメントされてしまいました。 fcntl で kq の情報を取得しようとしてもすべての戻り値は -1 でした。 なんとなく、ファイルデスクリプタとして扱えていないような気がします。 当方は Mac OS X 10.3.7(BSD 4.4 ベースの Darwin) です。 本当の BSD なら、close できるものなのでしょうか。 もし、kqueue の説明を追加する予定があるようでしたら、close または、それに代わる処理も追加してもらえると大変助かります。 |
>>4070 たなか > 本当の BSD なら、close できるものなのでしょうか。 FreeBSD 5.2-RELEASE では close(2) できました。ちなみに カーネルには queue 用を close するコードも含まれています。 詳しくないので事情はわかりませんが、Mac OS X (Darwin?) の 問題ではないかと思います。 > close または、それに代わる処理も追加してもらえると大変助かります。 echo サーバばかり作っていると終了処理がおろそかになっていけませんね。 「quit」を送ると終了するようにするなど、何かしら考えたいと思います。 |
>>4071 68user どうもありがとうございます。 >> 本当の BSD なら、close できるものなのでしょうか。 > FreeBSD 5.2-RELEASE では close(2) できました。ちなみに > カーネルには queue 用を close するコードも含まれています。 手元に BSD が動作するマシンがないので、実験できませんでした。 Darwin の問題ですね。Apple に連絡してみます。 下のコードを実行すると次のような結果となります。 kqueue : 3 close(3) : -1 close: Bad file descriptor kqueue : 4 close(4) : -1 close: Bad file descriptor ------------------------------------------------ #include <stdio.h> #include <sys/types.h> #include <sys/event.h> #include <sys/time.h> #include <unistd.h> int main() { int kq; int ret; kq = kqueue(); printf("kqueue : %d?n", kq); if (kq == -1) { perror("kqueue"); } else { ret = close(kq); printf("close(%d) : %d?n", kq, ret); if (ret == -1) { perror("close"); } } kq = kqueue(); printf("kqueue : %d?n", kq); if (kq == -1) { perror("kqueue"); } else { ret = close(kq); printf("close(%d) : %d?n", kq, ret); if (ret == -1) { perror("close"); } } return 0; } ------------------------------------------------ |
サーバがHP-UX11.00で、Bシェルでシェルを書いています。 シェル中で、「ls *.txt」を実行しています。 "*.txt"が存在しない場合、エラーが出力されるので、 「ls *t.xt > /dev/null 2>&1」で、エラーを出さないよう にしました。 そこで、lsの処理に"grep -v"を追加し、"*.txt"がない 状態にすると「*.txt がみつかりません。」がでます。 ls *t.xt | grep -v "kekka" > /dev/null 2>&1 エラーがでないようにするにはどうしたらよいのですか。 |
ここで質問する人のブラウザには、 「UNIX・ネットワークに関する一般的な質問は受け付けていません。」 という一文は映らないのだろうか? >>4073 さいさん 最終的にどうしたいのか良く判らないが、取りあえずはこれで。 ls *txt 2>/dev/null | grep -v "kekka" |
>>4074 zsh ありがとうございます。 実際にしたいことは、 シェルを実行した際、「*.txt がみつかりません。」を 標準出力したくないのと、戻り値の判定をしたいのです。 ls *.ldif | grep -v "kekka" > /dev/null 2>&1 if [ $? -ne 0 ] ; then echo "Text File Nothing Today" exit 0 fi |
>>4075 さいさん すみません。 間違いがありました。 実際にしたいことは、 シェルを実行した際、「*.txt がみつかりません。」を 標準出力したくないのと、戻り値の判定をしたいのです。 ls *.txt | grep -v "kekka" > /dev/null 2>&1 if [ $? -ne 0 ] ; then echo "Text File Nothing Today" exit 0 fi |
>>4076 さいさん 結果的にファイルの有無を確認したいんですよね? だとすれば、戻り値のチェックよりも下記のようにしては如何でしょうか? set -- `ls *txt 2>/dev/null | grep -v "kekka"` if [ $# -eq 0 ] ; then echo "no file." fi ※:シェルに引数を与えている場合等は考慮が必要です。 |
>>4077 zsh ありがとうございます。 set -- `ls *txt 2>/dev/null | grep -v "kekka"` の 「set -- `ls 」 の使い方教えてください。 どのような意味なのですか |
set -- で引数(定位置パラメタだっけ?)を書き換えることが出来ます。 今回の場合は、 ls *txt 2>/dev/null | grep -v "kekka" の出力で置き換える事になりますので、 $#で上記コマンドの結果出力されたファイル数を参照できます。 |
>>4079 zsh お礼遅くなって申し訳ありません。 ありがとうございます。 >set -- >で引数(定位置パラメタだっけ?)を書き換えることが出来ます。 参考本とかで調べてます。 |
ご存知の方おられましたら、ご教授ください。 環境OSは、Win2000です。 OpenSSLライブラリを利用したDER形式の鍵ファイルの読み書き方法を実装方法が わかりません。i2d_RSAPrivateKey、d2i_RSAPrivateKeyを利用し、ファイル出力 をしてみましたが、_fp付きはエラーです。(_bio付きはOK) また、ここで出力された鍵ファイルは、OpenSSLでは、暗号/復号可能です。 しかし、他社製品(RSA BSAFE)では、鍵ファイル読み込みエラーとなります。 rsaコマンド等で変換作業を行うと読み込み可能となり、暗号・復号ができます。 なんだか理解できません。 以上、宜しくお願い致します。 |
>>4081 しょしん 暗号に関する一般的な質問も受け付けていません。 ■暗号技術【ROUND2】■ http://pc5.2ch.net/test/read.cgi/tech/1088530204/l50 などで質問してください。 - OpenSSL のバージョンくらい書きましょう。 - 何を知りたいのか不明。_bio 付きで出力して、rsa コマンド等で 変換して、RSA BSAFE で読み込めているんなら別にいいのでは。 例えば「rsa コマンドに頼りたくない」「なぜ rsa コマンドを 使わなければいけないのかわからないので、解説してほしい」 などと書くべき。 - 単に _fp 付きはエラーと言われても、「コーディングミスでは?」 くらいしか返す言葉はありません。つーか、ソースくらい提示しましょう。 |
内容不備&質問場所違いでした。 大変失礼しました。 撤収します。 |
CGIでmkdirとかmountとかを呼び出す方法をご教授願います。 サーバー上でプログラムを実行させたいのですが、動作しませんでした。 C言語にてCGIプログラムを作っています。 execveを使用してもうまく動作しませんでした。 ------- test.c (test.cgi) ----------------------- #include <stdio.h> int main() { char *argv[3]; argv[0]="/bin/mkdir"; argv[1]="test"; argv[2]=NULL; int pid=fork(); if(pid==0){ execve(argv[0],argv,NULL); perror("execve"); exit(0); } return 0; } |
↓↓ #include <unistd.h> が抜けていました。 よろしくお願いします。 |
はじめまして。 いつも「UNIXの部屋」を利用させていただいています。 awkコマンドのところですが、誤字がありましたのでお知らせさせていただきました。 **************************************************************** 特殊なパターンとして BEGIN と END がある。BEGIN は最初に実行され、END は最後に実行される。 % ls -l | awl 'BEGIN { print "START!"} {total+=$5; print $9} END {print "size total="total} ' **************************************************************** 1つ目のパイプの後の「awk」が「awl」になっています。 「awkのエイリアスです。」なんていわれたら、どうしようもありませんが…。 取り急ぎ、ご連絡までに… |
>>4086 たらい 修正いたしました。ご指摘ありがとうございました。 http://X68000.q-e-d.net/~68user/unix/pickup?awk |
ライセンスについて質問です。 このサイトにあるコードはフリーソフトウェアと考えてよいでしょうか。 チュートリアルサイトなのでコードを自由に利用してよいだろうとは思ったのですが、 念のため確認させてください。 具体的にはecho-server-select.cを参考にしながらプログラムを書いたのですが、 将来それをフリーソフトウェアとして配布したいと考えています。 問題ないですよね? 問題あるなら空で書けるように修行してやり直すことになるのですが…。 ちなみに作っているものはこれ http://humming.dip.jp/bardic/ でネットゲームのようなものです。 よろしくお願いします。 |
>>4088 tansy > 将来それをフリーソフトウェアとして配布したいと考えています。 > 問題ないですよね? はい、問題ありません。ただしエラーチェックが甘めなので、それを踏まえた上で お使いください。 ついでなのでライセンスを明確にしたいと思います。 わたしが書いたプログラムは、特に明記していない場合は修正 BSD ライセンスと します (現時点で修正 BSD ライセンス以外のライセンスを適用しているプログラム はありません)。 わたしが書いた文章は、フリーではありません。ただし (言うまでもありませんが) 著作権法における引用は可です。 |
>>4089 68user 修正BSDライセンスであること了解しました。 > ただしエラーチェックが甘めなので、それを踏まえた上でお使いください。 了解です。 ありがとうございました。 |
はじめまして。今卒業研究に必死に取り組んでいるんですけども、 ソケットプログラミングがよく分かりません・・・ sendやrecvなどを使って、更新されていくデータを一定時間 ずーっと送信、もしくは受信ってできますか? 研究室も誰もいないし、聞けるのはみなさんしかいません。うう。 どうかお願いします。 PS.焦っているので、他の掲示板などでも同様の書き込みをするかもしれません。 ここが最初ですが、もし他の掲示板から何かいいアドバイスをいただけましたら、 すぐに反映させていきたいと思います。よろしくお願いします。 |
亜紀さん 質問の内容が漠然としているので、ちょっと答えずらいのですが。。。 一定時間ずっと、送信もしくは受信することはできますよ。 まあ、ソケットはありふれたものなので、インターネット上を検索すれば、 ソースコードの例は簡単に見つかると思いますよ。 ソケット、socket、ソースなどのキーワードで検索すれば簡単に見つかるかも。 焦る気持ちはわかりますが、同じ質問を複数の掲示板に書き込む行為は良く ないので、やめたほうがいいですね。 では。 |
JAVA から cシェルを実行したいのですが どのように記述すればよいのでしょうか。 Runtime rt = Runtime.getRuntime(); String[] command = {"/root/scripts/t.csh"} ; Process process = rt.exec(command); と記述しておりますが、実行できず困っています。 |
UNIXのシェルスクリプトについて教えて下さい。 OSは、HP-UX11.00です。 ファイル中に存在するある文字列をsedを使用して置換して いるのですが、sedで置換を行うとき条件を指定して実行する ことはできるのでしょうか。 id: u=aaaa.bbbb,o=co.jp,o=1234,code=vip aaaaaa,bbbb,code=vip,code=ip bbbbb,bbbb id: u=aaaa.bbbb,o=co.jp,o=1234,code=vip aaaaaa,bbbb,code=vip,code=ip bbbbb,bbbb id: u=aaaa.bbbb,o=co.jp,o=1234,code=vip aaaaaa,bbbb,code=vip,code=ip bbbbb,bbbb id: u=aaaa.bbbb,o=co.jp,o=1234,code=vip sed 's/code=vip$/code=normal/g' ファイル名 とすると「code=vip」がある行に対して置換が行われます。 先頭が、"id: "から始まる行のみ「code=vip」を「code=normal」に 置換したいのですが、sed1回で可能でしょうか。 それとも、作り込みが必要でしょうか。 |
Solaris8のcshについて教えて下さい。 nawkを使用しているのですが、1行での表記が長いので手頃なところで改行 して見易いように複数行にしたいのですが、その場合、これは、1行の処理 ですと認識させたいのですが、どのようにすればよいのですか。 ¥、&、$とかつけてみたのですが、「Unmatched '」がでてしまいます。 お願いします。 #!/usr/bin/csh # set sys_no = "99" set aaa=`nawk -v NO=$sys_no -F":" '/^[ \t]*#START/,/^[ \t]*#END/ \ { if (substr($1,1,1) != "#" && substr($1,1,2) == NO) print $2 }' list.txt` echo $aaa |
>>4094 とも sed -e 's/^\(id.*code=\)vip/\1nomal/' file とか sed -e '/^id/ { s/code=vip$/code=normal/ }' file あたりでできます。 >>4095 ばんじょう 「\\」でいけたと思います。 ・・・正直cshはやめた方が良いと思いますが・・・ |
>4096 >「\\」でいけたと思います。 でやってみましたが無理でした。 動きはしましたが、nawk内の条件が無視され全て取り出されました。 ふと、もう1個ふやしたらどうなるのだろうと、「\\\」でやって みたところ上手くいきました。いった模様です。 しかし、変ですね。怖い環境、怖いcshだと。 >・・・正直cshはやめた方が良いと思いますが・・・ ということは、shとかbashですか。 Solarisは、bashが多いですが・ |
>>4096 zsh >sed -e 's/^\(id.*code=\)vip/\1nomal/' file では、上手く行きました。 >sed -e '/^id/ { s/code=vip$/code=normal/ }' file では、 sed: 関数 /^id:/ { s/code=vip$/code=normal/ } はパースできません。 となりました。 |
>> 4096 参考に、sedで使用している 「's/^\(id.*code=\)vip/\1nomal/' 」 「'/^id/ { s/code=vip$/code=normal/ }' 」 の使い方について教えて下さい。 |
>>4098 とも }の前に改行を入れないと動作しません。 (実装しているsedの違いかもしれませんが。) >>4099 やまげん 説明下手なので、この辺を参考にしてください。 ttp://pegasus.rutgers.edu/~elflord/unix/sed.html |
>>4100 zsh >説明下手なので、この辺を参考にしてください。 >ttp://pegasus.rutgers.edu/~elflord/unix/sed.html 英語なんですね。 |
>>4101 やまげん それじゃあ簡単に。 "\("と"\)"で囲まれた部分にマッチした文字列は、 変数に格納され、順番に\1,\2で取り出す事が可能です。 /Pattern/ { command } でPatternに一致した行に対してcommandを実行します。 こんな感じですかね。 正直、自分の解釈が間違っている可能性があるので、 あまり人に教えることはしないのですが。。。 |
はじめまして、高島屋です。 solarisでC言語にてアプリケーションを作成する際の、1プロセスが可能なファイルオープンのMAX値について教えていただけないでしょうか? 実際にopen可能な、、と言う意味ではなく、「メーカで保障されている」MAX値を調査しています。 利用しているコンパイラは「SunOneStudio8」。 まず、当方で調査した結果を報告致します。 ・ANSI規格の規格では8以上とされている。(「新ANSIC言語辞典」技術評論社→コンパイラに対して8以上を保障しなさいと言う意味だと思います) ただし、/usr/include/isostdio_iso.hでは、FOPEN_MAX=20と設定されている。(CPU=SPARK) ・solris limit,sysdefコマンドで確認した所、 limitコマンドでのファイル記述子の最大数は256。 sysdefコマンドのfile descriptorsに関する、"process Resource Limit"の値も共に256。 実際に1プロセスで256ファイル以上をオープンすると、それ以降のファイルオープンが失敗しました。 ・その他 システム全体で同時open可能なファイルの最大数があるのかは不明(調査不足) なお、sysdefコマンドで確認した所、maximum number of process = 30000 maximum processes per user id = 29995の制限値が設定されていました。 ただ、上記はあくまで、実際に設定されている値で、それぞれのメーカーが保障している値ではありません。 SunOneのマニュアルからも最大値の記述は読み取れませんでした。(調査不足?) Q1.FOPEN_MAXの20と言うのは何に利用されているかご存知ですか?CPUにより異なる様なのですが。。 プロセスを最大数立ち上げた際にオープン出来るファイルの最大数と言う事なのしょうか? Q2.コンパイラごとに異なるものなのでしょうか?OSやCで決まるものなのでしょうか? 何を基準に(c?solaris?コンパイラ?)マックス値を調査すればよいのでしょう? Q3.漠然とした質問で申し訳無いのですが、上記の様なファイルオープン数のメーカーからの保障について、どなたかご存知ですか? 以上、拙文で申し訳ないのですが、ご存知の方ご教授下さい。 |
質問は受け付けないって書いてあるのに、変わった人たちですね。 まぁいいですけど。 > Q1.FOPEN_MAXの20と言うのは何に利用されているかご存知ですか? Solaris8 の stdio(3) には以下のように記述されています。 The integer constant FOPEN_MAX specifies the minimum number of files that the implementation guarantees can be open simultaneously. JIS X 3010 (C99 相当) には以下のように記述されています。 FOPEN_MAX は、同時にオープンできることを処理系が保証するファイル 数の最小値をあらわす整数定数式に展開する。 なお、FOPEN_MAX は最大値ではなく最小値です。「少なくともこれだけは オープンできる」という値です。 FOPEN_MAX が具体的にどう使われているか、という話であれば、処理系 依存です。たとえば FreeBSD であれば libc において static FILE usual[FOPEN_MAX - 3]; などと使われており、リソースを確保しなおすことなくオープンできる ファイル数が FOPEN_MAX である、という形になっているようです。 Linux などで使われている glibc においては FOPEN_MAX を一切使用して おらず、意味のない値になっています。Solaris はソースを持ってないので 知りません。 > Q2.コンパイラごとに異なるものなのでしょうか?OSやCで決まる > ものなのでしょうか? 何がですか? FOPEN_MAX が? > Q3.漠然とした質問で申し訳無いのですが、上記の様なファイルオープン数の > メーカーからの保障について、どなたかご存知ですか? 「保証する値」にこだわるのであれば、メーカーに問い合わせるのが 一番かと思います。 |
http://x68000.q-e-d.net/~68user/net/http-auth-2.html にある「クライアント対応状況」ですが、apache本体(2.0.51以降)に パッチが取り込まれています。 http://httpd.apache.org/docs-2.0/mod/mod_auth_digest.html#msie ご参考まで。 いつも勉強させてもらってます。 これからもすばらしいコンテンツ期待しています。 |
Solaris8のshについて教えて下さい。 shでシェルを書いています。 もともとは、HP-UX11.00で動かしていたのをSoralisに移しました。 位置パラメータを使ってlsの結果(個数)を取得し、ファイルが存在 しているか、存在しないかのチェックをしています。 ファイルが存在しないときは、不要なメッセージを出力しないように もしています。 その際、ファイルが存在しなった場合、0件として終了してくれません。 位置パラメータの個数が"1"で取得されます。 引数で、チェックするディレクトリを判断するためのパラメータを渡して いるのですが、どうやらこの引数や値が引き継がれているみたです。 上手く処理するにはどうしたらよいのですか。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー #!/bin/sh # PATH=${PATH}:/usr/bin:/etc:/usr/ccs/bin:/usr/local/bin:.; export PATH TZ=JST-9; export TZ if [ $# -lt 1 ] ; then echo "Parameter Error" echo "$0 Processing MODE [R:real/B:batch]" exit 1 fi mode=$1 if [ ${mode} = "R" ] ; then DIR="/tmp/real" elif [ ${mode} = "B" ] ; then DIR="/tmp/batch" else echo "Processing MODE Error" echo "Processing MODE = [R:rela/B:batch]" exit 1 fi cd ${LDIF_DIR} set -- `ls *.txt 2>/dev/null | grep -v "_kekka_"` if [ $# -eq 0 ] ; then echo "Ldif File Nothing Today" exit 1 fi echo $* cnt=$# echo ${cnt} |
>>4105 tkb > 「クライアント対応状況」ですが、apache本体(2.0.51以降)に > パッチが取り込まれています。 これは知りませんでした。早速追記しました。 http://x68000.q-e-d.net/~68user/net/http-auth-2.html ご教示ありがとうございました。 |
>>4106 さいさん > 引数で、チェックするディレクトリを判断するためのパラメータを渡して > いるのですが、どうやらこの引数や値が引き継がれているみたです。 位置パラメタは「set --」でクリアできますが、本当に引数を引き継いでいますか? (「echo $*」部分で引数が出力されてますか?) |
>>4108 zsh >(「echo $*」部分で引数が出力されてますか?) 起動時に渡した、RまたはBが表示されます。 「echo #?」も1と表示されます。 |
「UNIX の部屋」を更新しました。 http://X68000.q-e-d.net/~68user/unix/ |
>> 4109 #!/bin/sh -> #!/bin/ksh man sh man ksh |
>>4112 zsh Solaris8入ってるマシン3台くらいで確認したんですけど shでも通常はそんな動作にはならないんですよ。 一度 set -- でリセットした方が確実かなと思います。 |
× >>4112 zsh ○ >>4111 んー 失礼しました。 |
Tee の説明文中 find . -name a\* だと a から始まるファイル名が返って来ますよね. |
>>4112 zsh >一度 >set -- >でリセットした方が確実かなと思います。 とやってみたんですが、かわりなしです。 |
>>4114 野暮天 ご指摘ありがとうございます。修正しました。 http://X68000.q-e-d.net/~68user/unix/pickup?Tee |
>>4115 さいさん じゃあshiftで一つずらしてください。 |
質問はダメみたいですが、どうしてもできないので、誰か教えてください。。 http://x68000.q-e-d.net/~68user/net/pop3-1.html を実際にやってみたんですが、 POP3サーバ名、ポート番号で、接続できました。 そして、USERも接続できたんですが、PASSだけが接続できません。 ちゃんと手順通り(パスは合ってる)にやっているんですが、、なぜでしょうか? 誰か教えてください。POP3サーバー名は、pop.mail.yahoo.co.jpです。 エラー内容は、-ERR invalid user/password もう1個えらー内容がでました。 -ERR command valid only in authorization state. |
>>4118 ヘルプ 私は Yahoo! のメイルアカウントを持ってないので何ともですが、 http://help.yahoo.co.jp/help/jp/mail/pop/pop-03.html を参考にしてありがちなミスを考えると、USER 名が小文字になってないとか。 |
ネットワークプログラミングの基礎知識 http://X68000.q-e-d.net/~68user/net/ に Java で HTTP クライアントを作ってみよう (1) http://X68000.q-e-d.net/~68user/net/java-http-socket-1.html Java で HTTP クライアントを作ってみよう (2) http://X68000.q-e-d.net/~68user/net/java-http-url-connection-1.html Java で HTTP クライアントを作ってみよう (3) http://X68000.q-e-d.net/~68user/net/java-http-url-connection-2.html を追加しました。 |
>>4117 zsh 原因わからずです。 バグということはないですかね。 >じゃあshiftで一つずらしてください。 shiftとって使ったことないのですが、 ループと合わせてつかうものなのですか。 終わりとかどう判断するのですか。 使い方教えてください。 |
Solari8iについて教えて下さい。 UNIXにログインする時、共通のデフォルトの初期化ファイルと ユーザのホームディレクトリにある初期化ファイルが読み込まれ ますが、共通のデフォルトのファイルはどこにあるのですか。 sttyの設定を変更したいのですが、分からずに困ってます。 syslogのファイルはどこに存在するのですか。 HP-UXでいるsyslogというファイルは存在しないのでしょうか。 messageというそれらしいファイルが存在するのですが、これが syslogなのでしょうか。 Solarisでいうsyslogとはどこを含めているのでしょうか。 |
>>4121 さいさん num=`ls *.txt 2>/dev/null | grep -v "_kekka_" | wc -l` でファイル数を取得では。 |
皆さんmanコマンドって使わないんですかね・・・ >>4122 たか Solari8iって一体・・・ Bシェル・・・/etc/profile Cシェル・・・/etc/.login man shとかで出てきます。 >>4121 さいさん 例えば、位置パラメタが $1=a, $2=b, $3=c の時にshiftを実行すると $1=b, $2=c と一つずつずれます。 $#の値も一つ減るので、対処できるかなと。 取りあえず、man shift |
ネットワークプログラミングの基礎知識 に SSL/TLS の導入 (1)〜(4) http://x68000.q-e-d.net/~68user/net/ssl-setup-1.html http://x68000.q-e-d.net/~68user/net/ssl-setup-2.html http://x68000.q-e-d.net/~68user/net/ssl-setup-3.html http://x68000.q-e-d.net/~68user/net/ssl-setup-4.html を追加しました。 |
libevent http://www.monkey.org/~provos/libevent/ について 調べているんですが、いまいちわかりません。 マルチスレッドの echo サーバのサンプルプログラム http://x68000.q-e-d.net/~68user/tmp/libevent-sample.c を作ったのですが、1つ目のクライアントからの接続は正常に処理できる ものの、さらに 2つ目のクライアントが接続すると sockread_callback 内の if ( fd == listening_socket ){ が真にならず、accept できません。 1つ目のクライアントが接続してきたときに sockread_callback 内で 行っている event_add・ev_set のやり方がまずいんだろうと思うん ですが、どこが間違っているんでしょうか。 |
そういえばこの掲示板で質問を受け付けていないことを忘れて いました。管理人が自分でルールを破るのはよくないので、 >>4126 68user は無視してください。 |
社会暦1ヶ月のものです。LINUX関連仕事をやってます。 偶然、このサイトを見つけていろいろ助かりました。 ありがとうございます。 これからもよろしくお願いします。 |
すいません、場違いだとは思うのですが、GlancePlusについて、 御存知の方がいらっしゃいましたら教えていただけないでしょうか? 現在業務上でGlancePlusをつかっての性能測定をしているのですが、 この結果を『-p』オプションでファイルに出力していると、 「Maximum of 200 pages of output reached, printing disabled」 と出てきて、200回目の出力でストップしてしまいます。 MAX200の出力が、GlancePlusの仕様という事ならあきらめるのですが、 設定ファイルor設定方法等があるのでは?と思っています。 どなたか教えて下さい。 よろしくお願い致します。 |
いつのまにか私が使っているAIXでログイン後共通ディスク端末エミュレータを選ぶと 「アクション "Dtterm" が見つかりません」で端末エミュレータが開けなくなり、 ログアウトしようとすると「アクション "ExitSession" が見つかりません」でログアウト できなくなっていました。いつもはTelnetで処理をしていてLogin,Exit等を行っても なんの問題もありません。原因を考えるのですが心当たりないので困っています。 気がかりなのは/varの使用率が100%になっているくらいですが以前はそれでもちゃんと 動いていました。対策方法をご存知のかたはご伝授ください。 |
>>4130 よっちゃん 「AIXでログイン後」とはCDEログイン(?) と仮定して... > /varの使用率が100% ネタですか? CDEは/var/dt以下を使用します。 まず/varのディスクスペースを確保しなきゃです。 ※そのまま放置するとCDEからのloginそのものが出来なくなります。 |
WAS上のアプリケーションから起動された unixコマンドをkillしたいのですが、 1発でできる方法はないでしょうか? 分けると、 ”ps -eaf | grep java” で 1:root 323700 1 0 14:41:32 pts/2 4:37 /XXXX/XXXX/XXX を取得して、 ”ps -ef | grep vmstat” で 1:root 430138 442550 1 20:19:55 pts/2 0:00 grep vmstat 2:root 524402 323700 0 19:31:41 pts/2 0:00 /bin/vmstat 1 ↑と取得できた場合に、親のPIDに323700を持っているコマンド (2行目)をkillする、ということをやりたいのですが・・・。 やっぱり分けないと無理でしょうか? |
Solaris8なのですが、Bシェルでnawkを使用して処理を しています。 nawk内で関数を呼び出して処理をしているのですが、 その際、最終レコードかをNFで判断しているのですが、 上手く、判断してくれずに無限ループになってしまい ます。 #/bin/sh for FILE in `ls *.txt"` do nawk -F" " ' BEGIN { count = 0+0 ; } function sub() { while (NF>0) { if ($1 == "") { 処理 } else { 処理 } getline ; } return 0; } { if (NF == 0) next ; ret=sub() ; } END { printf("%d\n",ret) ; }' ${FILE} done |
>>4133 仁 NFはフィールド数が格納されるのであって 最終レコードかどうかを確認する事はできないと思いますが。。。 こういうことがしたいのですか? ------ while ( getline ) { ... } |
お世話になっております。初心者で大変申し訳ございませんが、 教えていただけますでしょうか? 以下の https-client-2 で、ライン:362 SSL_get_verify_resultで エラーと扱われてしまいます。対象となる rootCA 証明書をどのように 反映すれば宜しいのでしょうか? http://x68000.q-e-d.net/~68user/net/ssl-2.html 申し訳ございませんが宜しくお願い致します。 |
>No. 4135 に追加で、中間認証局の証明書はどのように設定するのでしょうか? または、必要ないのでしょうか? 度々申し訳ございませんが宜しくお願い致します。 |
>>4135 kevin そのページは書きかけでわかりづらいため、それについてのみ説明します。 > 対象となる rootCA 証明書をどのように反映すれば宜しいのでしょうか? ページ最下部に記述してあります。 なお、https://www.rsasecurity.com/ は成功しますが、 https://www2.ggn.net/cgi-bin/ssl は期限切れのため必ずエラーと なります。 その他については SSL/TLS の一般的なことがらなので回答しません。 OpenSSL の本を買うとよいでしょう。 |
>>4070 たなか >>4071 68user >>4072 たなか ご無沙汰しております。 Apple に連絡後、返事はもらえませんでしたが、進展がありましたのでご報告いたします。 Mac OS 10.4(Tiger) で kqueue の戻り値(ファイルデスクリプタ)を close できるようになりました。 |
トップページについて、ご自分でも感じてらっしゃるかと思うのですが…。 ぼちぼち更新履歴が長くてアレな気がするので、できればトップは最近の いくつかだけにして、過去のぶんは別ページに、とできないでしょうか。 # それともCGI/Servletでblogを作ってからにしようとしてるとか?(^^) |
>>4139 has 手前味噌ですが、 http://www3.to/henika/browsers/ (http://thunder.prohosting.com/~henika/japanese/browsers.shtml) みたいに、最近の数個を上に、それ以降を後ろに持っていくと、ファイル1個内に閉じたカット&ペーストで済ますことができます。 #他人様のサイトですので、あくまでも1例を提案させていただいている、という程度の意見でございます。 |
参考にさせていただいております。 ご質問があるのですが、OpenSSLをインストールした状態のPC(A、B、C)で HTTPS通信とHTTP通信を使い分けるということは可能なのでしょうか。 (A-B間はHTTPでA-C間はHTTPSでといった具合です。) 現在手元に環境が無いためテストすることができずに困っております。 誠に申し訳ありませんが、ご存知の方がおられましたらご教示しては頂けないでしょうか。 |
カンマで区切られたデータのある位置にある内容と同じ ものが他のレコードに存在しなかチェックを行い、存在 した場合、それぞれのレコード番号を出力したいのですが どのよにすれば上手くできますか。 -- ファイル ----- 001,みかん,N001,N,Y,10,, 002,りんご,N002,Y,N,30,, 003,ばなな,N003,Y,Y,20,, 004,ジュース,N001,N,N,,, 005,いちご,N004,,,,, 006,なし,N004,,,,, 007,かき,,,,,, 008,くり,,,,,, --- 結果 ----- 1行目と4行目 5行目と6行目 ただし、必ずしも設定されているとは限らずNULLの場合も あります。 環境は、Soralis8、Bシェルです。 考えとしては、 #!/bin/sh # FILE=file.csv while read LINE do val=`echo ${LINE} | cut -d , -f 3` nawk -v KEYWORD=${val} =F"," ' ' ${FILE} done < ${FILE} と思ってはいるのですが。 |
こんにちは〜^^ ネットワーク関係のソフトウェアをC言語で作っているんですけど WAN側のIPの調べ方がわからなくて困ってます>_< 簡単にでいいので、教えていただけると助かりますm(_ _)m |
>>4138 たなか なるほど、バグでしたか。ご連絡ありがとうございました。 >>4139 has >>4140 へにか ご意見ありがとうございます。トップページから「古い更新記録」に 移動するのをさぼっていただけなので、遅ればせながらごそっと移して みました。 |
初めまして、高橋です。 突然で申し訳ありませんが、とても困っています。解決方法をご存知の方がいらっしゃいましたら教えてください。 solarisでcronでシェルを起動する際に自分自身が立ち上がっていないかのチェックを行っています。 下記「(1)コマンド」で立ち上がっているプロセス件数をチェックしているのですが、稀に「(2)実行結果」の様な結果が返ってきて件数を正しく判定できません。 ※本来は(2)の一行目のみで、一件と返ってくる。 「(1)コマンド↓」 set PRCCOUNT = `ps -efl|grep ${PROGRAM_FILE}|tee aaaa.grep|wc -l` 「(2)実行結果↓」 8 S sm 2136 2128 0 60 20 ? 212 ? 19:45:36 pts/15 0:00 /bin/csh -f ABC.csh ABC 8 R sm 2128 1704 0 70 20 ? 212 19:45:36 pts/15 0:00 /bin/csh -f ABC.csh ABC Rステータスが実行待ちという事らしいのです。``で子プロセスが立ち上がる弊害のようです。 何か自分が起動していない事を確認する良い方法はないのでしょうか? ご存知の方ご教授下さい。 |
ps -efl の結果を中間ファイルに記録する様にすれば、ps 実行時に `` を 使わなくて済みますよね? 駄目? |
あまり深い意味はないのですが、なんか頭をぐるぐるしているので、 もし気が向いた方がいればご意見聞かせてください。 この掲示板の送信ボタンのすぐ下には 「UNIX・ネットワークに関する一般的な質問」 っていうくだりがあります。 この言葉に限らず、言葉には前置きを付けると、意味合いがいろいろ変化する ということはわかっているのですが、例えば単純にこの部分だけを見た場合、 これは一体どういった捉え方ができるんでしょうか。 さっき思いついてちょっと考えていたのですが、フレーズだけが響いてしまい、 もはやちっとも考えが前に進みません。 |
>>4147 has >例えば単純にこの部分だけを見た場合、 >これは一体どういった捉え方ができるんでしょうか。 ここが良く理解できなかったのですが、いかなる状況での 「単純にこの部分だけ」と言うことでしょうか? 送信するとき? それとも読むとき? はたまたもっと違う状況? >なんか頭をぐるぐる 余談ですが、僕なんか、毎日のように頭がぐるぐるしてます。 この件じゃなくて色々ですが。 ぐるぐるすると、辛いですよね。どうか、ご自愛ください。 |
> >例えば単純にこの部分だけを見た場合、 > >これは一体どういった捉え方ができるんでしょうか。 > > ここが良く理解できなかったのですが、いかなる状況での > 「単純にこの部分だけ」と言うことでしょうか? 『UNIX・ネットワークに関する一般的な質問は受け付けていません』と 明記してあって、なおかつ『当ページの内容に関するご意見・ご指摘は 歓迎します。』なんだから typo の指摘や記事の内容から発展させて 一定レベル以上のネタの窓口に決まってるやん...っていうのを暗に 言いたかっただけとチャウんかと. > 僕なんか、毎日のように頭がぐるぐるしてます。 私なんて頭だけでなく, 腹の方までグルグルしてます. 呑み過ぎて腹出して寝てるせいなのか, 神経性なのか 両方に心当たりがあって困ったモンです. |
>>4149 hoge >一定レベル以上のネタの窓口に決まってるやん...っていうのを暗に >言いたかっただけとチャウんかと. なるほど。でも、その意図は汲み取り難いのかもしれません。むしろ、 「一般的な」という一文が、「特殊な」との対となし、自分の質問が 一般的ではなく、ごくごく限られた状況ならOKとみなされているのか もしれません。 例えば、「shってなんですか」は一般的で、「これこれこういう時は どうなんですか」は、そうではない、という捉え方をされているのか も知れません。 と言うことで、僕は「UNIX・ネットワークに関する質問は受け付けて いませんが、当ページの内容に関するご意見・ご指摘は歓迎します。」 と書き換えたほうが良いと提案します、という結論に落ち着きました。 >神経性なのか 心療内科の受診をお勧めします。相性が合うDr.が見つかれば良いですね。 |
わたしが思うに、以下の 3パターンに分類されると考えています。 パターン1: そもそも注意書きを読んでいない。 パターン2: とても困っているので、回答をもらえる可能性は低くても質問しておこう、と思っている。 実際に誰かが答えてくれる場合もあるため、あながち間違った作戦とは言い切れない。 パターン3: 自分の質問が「一般的な質問」であると認識しておらず、「特殊」なものである、 と考えている。4150 での考察に同じ。 >>4150 へにか > と言うことで、僕は「UNIX・ネットワークに関する質問は受け付けて > いませんが、当ページの内容に関するご意見・ご指摘は歓迎します。」 別に質問されて困っているわけではないのですが、せっかくなのでご提案の とおりに書き換えてみました。 > 頭がぐるぐるしてます。 最近日本酒を飲みだしたため、毎日頭がぐるぐるしています。4日で一升空けるのは 飲みすぎなんでしょうかね。 |
皆さん、私のしょうもない書き込みにつきあっていただき ありがとうございます。 >>4148 へにか >>4149 hoge ご指摘の通りです。 もっと平和に表現できればよかったんですが、私には無理でした。 スミマセン。 >>4150 へにか そうですね。私もそれなのかなぁ、と思っていました。 >>4151 68user 具体的に表現してもらうと確かにそんな気がします。 >別に質問されて困っているわけではないのですが そ、そうでしたか…。 >4日で一升空けるのは飲みすぎなんでしょうかね。 健康診断とかではよく、1日1合まで、と言われますよ。 そのうちまた、新潟のおいしいお酒が飲めるよう、体には気をつけましょう。 |
>>4151 68user > せっかくなのでご提案のとおりに書き換えてみました。 リンクに関する注意書きの所にも『一般的な』が有りますね. > 4日で一升空けるのは飲みすぎなんでしょうかね。 一瓶なら大丈夫でしょうけど, そのペースで空き瓶を大量生産してるなら 少しペースを落とした方が良いかも知れませんね. そんな事言ってる私の部屋には空き缶が大量発生してますけどね. >>4152 has > もっと平和に表現できればよかったんですが 充分に平和的だと思っています. 『チャウんかと.』のくだりは吉野家コピペ風に書きたかったってだけで 他意は有りません. |
>>4151 68user 採用いただき、恐縮です。 確かに、読んでいない、というパターンが一番多いと思いますが、 こういうのも、httpのヘッダ解析でできたらいいのにな、と、 ふと思いました(素面なのに)。 >>4152 has >>別に質問されて困っているわけではないのですが >そ、そうでしたか…。 上に同じ・・・ >>4151 68user >>4152 has お酒のうまさがわかるなんて、羨ましい限りです。 人生の楽しみの半分を失ってる、と言われた事があります。 ビールに換算すると、10[杯/年]かな? しかも年2〜3回:) |
>>4153 hoge う、ニアミス・・・ お酒のうまさにかんしては、同じく羨ましいですね。 >>4152 has ニアミスついでに。 >確かに、読んでいない、というパターンが一番多いと思いますが、 は、正しくは、 >読んでいない、というパターンが一番多いと思いますが、 ですね。「確かに、」は余分でした。 |
>>4152 has > 健康診断とかではよく、1日1合まで、と言われますよ。 なんと、そんなに少ないのですか。今日は日本酒は飲みませんでしたが、ビール (発泡酒・その他の雑種含む) を 3リットルほど消費しました。少し控えた方が よいのかもしれませんね。といっても控える気はあまりないのですが。 >>4153 hoge > リンクに関する注意書きの所にも『一般的な』が有りますね. ありがとうございます。明日修正します。 ちなみに、わたし個人は UNIX・ネットワークに関する質問を受け付けていませんが、 他の誰かが回答することについて邪魔をしたいわけではありません。この掲示板で 誰かが質問し、それに対して誰かが回答しても、それはアリかと思います。 ただ、そういう場を積極的に提供する気は今のところないので、引き続き「質問は 受け付けていません」と明記させていただきます。 |
>>4155 へにか >>4152 has ニアミスついでに。 は、 >>4154 へにか の、ポイント間違いです。 掲示板を汚して申し訳ありません。素面でこれなんだから、全くもう・・・ 頭がぐるぐるどころか、頭がどろどろしているのかもしれません。 |
「雑談も可」と明記してみました。 ところで、どこかにわたしの中途半端な技術力を生かせて、元請中心で、上流〜下流の どこでも口と手を出せるような社員数数十〜数百人程度の小さな会社が関東南部周辺に ないですかねぇ、とネタふりしてみたりして。 |