68user's page 掲示板

Prev< No. 4595〜4695> Next  [最新発言に戻る] [過去ログ一覧]
No. 4595 # shimizu [E-mail] 2006/05/04 (木) 11:05:02
>管理人様

FTP クライアントを作ってみよう (1) FTP プロトコルの概略

が大変勉強になりました。ありがとうございました。

No. 4596 # くるみんパパ 2006/05/10 (水) 11:59:59
vmstatをファイルへ出力する時に、1行毎に日時を編集したいのですがうまく出来ません。AIXですと下記のスクリプトでうまくいっているのですがsoralisではどのようにしたらよいでしょうか。

vmstat $1 $2 | awk '!/kthr|---|avm/ {printf("%s | ", $0);system("date")}' >> $LOGDIR$DATE

No. 4597 # zsh 2006/05/10 (水) 13:58:02
>>4596 くるみんパパ
system関数が使いたいのであればnawkか/usr/xpg4/bin/awkを使用してください。

No. 4598 # くるみんパパ 2006/05/10 (水) 14:52:42
>>4597zshさん
nawkで解決しました。助かりました。ありがとうございました。

No. 4599 # 勉強中 2006/05/11 (木) 21:58:28
はじめまして。TCP/IPについて素朴な質問があります。
TCP/IPでは、ACKに対するSYNのタイムアウトがあり、
通常のLINUXであれば180秒ほどだと思います。
一方、telnetで存在しないIPを指定すると上記タイムアウトまでかからず、
以下のメッセージが出て接続できません。

Trying 192.168.60.113...
telnet: Unable to connect to remote host: No route to host

この場合、なぜ上記タイムアウトまで待たないのでしょうか。
telnetコマンドにて
明示的にTCPリトライ回数を指定していると考えていいのでしょうか。
また、このメッセージの意味するところはどういうところなのでしょう?
誰かご存知の方がいたらご教授願います。

No. 4600 # 68user 2006/05/11 (木) 22:19:01
>>4599 勉強中
直接的な回答ではありませんが、
    http://X68000.q-e-d.net/~68user/net/tcp-connect-1.html
をご一読ください。なお、EHOSTUNREACH が No route to host です。

No. 4601 # 勉強中 2006/05/12 (金) 00:22:27
>68userさん
早速のコメントありがとうございます。
要するにアプリケーションの実装によるということですね。
(つまり、ICMP 終点到達不可メッセージを受信した際に、
    ただちにコネクション確立を中止するかしないかというポリシーによるということ)
ちなみにftpでもtelnetと同様でした。

No. 4602 # 68user 2006/05/12 (金) 11:39:16
>>4601 勉強中
> 要するにアプリケーションの実装によるということですね。
いいえ、OS の TCP スタックの実装による、だと思います。

アプリ側で対応する、つまり TCP で接続しつつ、ICMP のエラーを解析という
ことが可能かどうかはやったことがないのでわかりませんが、少なくとも ftp や
telnet という基本的なアプリがそういう小細工をしている可能性は低いと思います。

No. 4603 # 68user 2006/05/13 (土) 19:47:43
>>4602 68user
> アプリ側で対応する、つまり TCP で接続しつつ、ICMP のエラーを解析という
> ことが可能かどうかはやったことがないのでわかりませんが、少なくとも ftp や
> telnet という基本的なアプリがそういう小細工をしている可能性は低いと思います。
ICMP のエラーを解析する必要はなかったですね。connect(2) が -1 を返したとき
EHOSTUNREACH なら再接続、などとすればアプリ側で対応できます。

とはいえ、やはり ftp や telnet がそういうことをする必然性はないと思います。

No. 4604 # COM 2006/05/16 (火) 18:01:08
はじめまして。ネットワークプログラムについて質問させてください。
リミテッドブロードキャスト(255.255.255.255へ)を行いたいのですが、sockaddr_in
のアドレス部分に上記を入れても、何故かディレクテッドブロードキャスト(私の環境
では 192.168.1.255 )になってしまいます。正しくリミテッドブロードキャストする
方法はないでしょうか。setsockopt でブロードキャストのフラグを立てる、などは
行っています。環境は FreeBSD & gcc です。
以下、重要部分の抜粋です(エラー処理などは省いています)。

struct sockaddr_in addr;
int broadcast = 1;
char buf[] = "test";
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("255.255.255.255");
addr.sin_port = htons(2000);
sock = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP );
setsockopt( sock, SOL_SOCKET, SO_BROADCAST, (char*)&broadcast, sizeof(broadcast) );
sendto( sock, buf, sizeof(buf), 0, (struct sockaddr*)&addr, sizeof(struct sockaddr) );

ごく普通のコードだと思うのですが、パケットをモニターすると、送り先アドレスが
ディレクテッドブロードキャストになってしまっています。アドバイスだけでもいいので
助言いただけるとうれしいです。

No. 4605 # yuukun 2006/05/25 (木) 15:21:00
はじめまして。sendmailコマンドについての質問です。
[FROM:]や[TO:]フィールドに、アドレスとはべつに別名を指定し実行したところ、
エラーが出力されました。
-------------<実行コマンド>----------------------
sendmail -t
MIME-Version: 1.0
From: hoge株式会社<hoge@hoge.co.jp>
To: huge株式会社御中<huge@huge.co.jp>
Subject: 2006年05月25日の[データ]
Content-Type: text/plain; charset=iso-2022-jp

2006年05月25日 14時53分現在の
データをお送りいたします。
.
------------------------------------------------
TOやFROMフィールドでアドレスとはべつに別名を付けることは可能なのでしょうか?
よろしくお願いします。
OS:Solaris 8

No. 4606 # kojp-jp 2006/05/29 (月) 13:17:45
以下のページの「#inlcude <stdlib.h>」、スペルミスしている様です。

    http://x68000.q-e-d.net/~68user/unix/pickup?getenv

正しくは「#include <stdlib.h>」かと…。

ご確認ください。

No. 4607 # analog 2006/05/29 (月) 13:46:40
初めまして、soralisのC言語について質問させてください
10年以上前にsolalis v4.1で開発してもらったのが
あるのですが、コンピュータ、プリンタが古くなり
最新のものに変えたいとメーカに相談した所
C言語でXVEIWが使われているので最初から作り直しと
なりますといわれました
1.ほんとうに最初からの作りなおしになるのか?
        ソフトはあまり変えず
        現在市販のPC、プリンタを使いたいだけなんですが
        OSは問わない
    
以上なんですが
業者のいいなりになるしかないのか
(修正費用がかなりかかるので)
教えてもらえないでしょうか

No. 4608 # 68user 2006/06/01 (木) 16:48:43
SPAM がウザすぎなので、
    BBQ http://bbq.uso800.net/
を組み込んでみました。BBQ に引っかかると Internal Server Error になります。
書けない場合は書けねぇぞ! と書き込んでください (その際も Internal Server
Error になりますが)。しばらくはログを観察するようにしますので、可能であれば
対処します。

さてうまくいきますかねぇ。

No. 4609 # 68user 2006/06/01 (木) 17:24:53
>>4604 COM
わかりませんが、Linux で動かしてパケットを見ると、255.255.255.255 宛に
飛んでいました。

>>4605 yuukun
> エラーが出力されました。
エラー内容を書きましょう。

>>4606 kojp-jp
getenv と putenv 両方間違っていたので修正いたしました。
ありがとうございました。

>>4607 analog
XView ならば、わたしも同様に言います。理由は以下のとおり。
    - 現在は、XView はほとんど使われていない
    - よってほとんどの開発者には XView の知識がない
    - 勉強しようにも、解説本が売られていない (と思われる)
    - 勉強しても、その知識を他で生かせる可能性が低い

> ほんとうに最初からの作りなおしになるのか?
基本的には OpenWindows 環境がある Solaris10 などでは動くはずですが、
とにかく XView も OpenWindows も時代遅れな環境ですので、修正が必要な
部分はそれなりにあると思われます。

よって XView の技術者がいる会社であれば、修正量・移行リスクを見積もる
ことができ、修正作業も行えるでしょう。

http://business.rakuten.co.jp/ などでそういう会社をがんばって探すか、
作り直しを受け入れるか、です。


ちなみに、わたしが今いる環境には技術者が数十名いますが、おそらく
XView がわかる人はいないと思われます。昔いた会社は UNIX を作って
いたくらいなので探せばいるでしょう。ただし、いたとしても 40〜50歳の
おじさんだと思われます。すでに管理職だったり、工数が見合わなかったりで、
受けたがらないでしょうね。

No. 4618 # COM 2006/06/02 (金) 11:24:28
>>4609 68user
ご返答ありがとうございます。Linux ではそれでうまくいくのですね。
どうしてもダメだったので、rawIP を使い、MAC アドレスを FF:FF:FF:FF:FF:FF に
セットすることで解決しました。ありがとうございました。

No. 4619 # 68user 2006/06/02 (金) 16:31:55
>>4608 68user
BBQ 導入後 24時間で、
    - 成功 20件 (SPAM を SPAM と判定できたケース)
    - 失敗 12件 (SPAM をそのまま通してしまったケース)
でした。それなりにがんばってくれたものの、毎日12件削除するのは面倒。
URLBL のチェックも追加しようかな。

No. 4652 # はじめ 2006/06/05 (月) 18:30:05
lsコマンドを使用してファイル数を取り出そうとしています。
ファイルが存在しない場合、「No such file or directory」
を表示しないよう、位置パラメータでファイル数を求めています。
ファイルが存在する場合は、問題ないのですが、ファイルが存在
しない場合、必ず”1”となってしまいます。
どうしてなのでしょうか。また、上手くするにはどうしたらよい
のでしょうか。

環境は、Solaris8、Bシェル です。

------------------------
#!/bin/sh
#

if [ $# -ne 1 ] ; then
        exit 1
fi

ymd=$1

set -- `ls *_$ymd*.csv 2>/dev/null`
echo $#

No. 4659 # zsh 2006/06/06 (火) 10:35:36
SPAMひどいですね・・・

>>4652 はじめ
位置パラメタの数は 1 となっているのは
スクリプトに引数を与えている為です。
引数を変数に格納後、shift させれば OK です。

No. 4660 # はじめ 2006/06/06 (火) 21:24:43
>>4659 zsh

>引数を変数に格納後、shift させれば OK です。
shift するということには気がつきませんでした。
ありがとうございます。

再設定すれば良いのかと思い
set ''
set --
でやってみたのですが。

No. 4662 # はじめ 2006/06/07 (水) 02:09:26
>位置パラメタの数は 1 となっているのは
>スクリプトに引数を与えている為です。
>引数を変数に格納後、shift させれば OK です。

質問では、引数を1つにしていましたが、
引数が複数あった場合は、引数の数分、shiftしないと
いけないのでしょうか。
一発で、shiftすること可能なのでしょうか。

No. 4664 # nan 2006/06/07 (水) 07:12:14
はじめまして。

[全文検索機能]
http://x68000.q-e-d.net/~68user/webcgi/search-1.html

↑のページの eval 法、大変参考になりました。
条件固定でループするときに、余計なものを除けるのがいいですね。
eval ってなんか最終手段っぽくて敬遠してましたが、これからは視野にいれて組んでみたいと思います。
どうもありがとうございました。

No. 4665 # zsh 2006/06/07 (水) 11:58:02
>>4662 はじめ
> 一発で、shiftすること可能なのでしょうか。

shift $#
としてください。

No. 4666 # はじめ 2006/06/07 (水) 12:40:07
>>4665 zsh

>shift $#
ありがとうございます。

No. 4667 # ビンゴ中西 2006/07/08 (土) 19:50:06
はじめまして。大変わかりやすいページで非常にためになっております。

さて、間違いがあったら掲示板で指摘してくださいとありましたので、
書かせていただきます。 すでにお気づきなら申し訳ありません。

http-client-2.c

のコードで113行目の以下の部分ですが、

113: fprintf(fp, "Host: %s:%d\r\n", host, port);

最後の引数は port ではなく server.sin_port ではないでしょうか?
82〜91行目でポート番号を指定していなかったときの処理がありますが、
ここで server.sin_port を用いられているため
最後まで port は 0 のままでした。

No. 4669 # わんこ 2006/07/14 (金) 17:58:08
こんにちわ。
Solaris7 のftp についてどなたかご存知でしたらご教授ください。

Solaris8 のような、あるユーザにはftpを出来なくするような機能「/etc/ftpd/ftpusers」があるのでしょうか。

皆様よろしくお願い致します。

No. 4671 # ようこ 2006/07/18 (火) 22:56:06
Pthreadにて、スレッドをあらかじめ生成しておいて、
何らかのトリガーで後から起動するって、
どのようにPGすれば良いのでしょうか?
よろしくお願い致します。

No. 4672 # hoge 2006/07/19 (水) 17:21:38
>4669
man が入ってない環境なんでしょうか?
docs.sun.com に行くとドキュメント群が公開されてますよ。

http://docs.sun.com/app/docs/doc/805-3173/6j31cpluf?q=ftpusers&a=view
を見る限り、solaris 7 付属の ftpd は /etc 直下の ftpusers を
参照するみたいですね。もし、無かったら作ってみましょう。

No. 4673 # hogehoge 2006/07/20 (木) 11:35:21
適用済みパッチを調べるものとして
・showrev -p
・patchadd -p
の2つがあると思うのですが
この2つの違い等を知っている方がいらっしゃいましたら
教えていただきたいです。(UNIX の部屋には無かったので。)

patchadd -p は root 権限のみ実行できたという違いだけでしょうか?
(新しいパッチでは root でなくとも実行できる。)

よろしくお願いいたします。

No. 4676 # わんこ 2006/07/24 (月) 18:01:25
>4672

ご返信が遅くなりまして申し訳ございませんでした。

ドキュメント参考に、ディレクトリ(ftpd)作成、ファイル作成して、
ftp禁止ユーザを制御できるようになりました。

しっかりドキュメントを参照しなければいけませんでした。
これからは、まずドキュメント参照を心掛けたいと思います。

hogeさん、大切なお時間ありがとうございました。

No. 4677 # まさしくん 2006/08/01 (火) 14:10:48
こんにちは。
vmstatを起動すると、「vmstat: 0551-129 knlist が失敗しました。」という
エラーで情報が取得出来ません。何が考えられますでしょうか。
ちなみにOSの再起動を試みましたが、解決されませんでした。

No. 4678 # バンガード 2006/08/02 (水) 09:04:28
>>4677 まさしくん
はじめまして。
御質問のキーワードを検索すると、以下のページがヒットしました。
参考になりませんでしょうか?
http://unix.derkeiler.com/Mailing-Lists/AIX-L/2003-12/0105.html

No. 4679 # バンガード [E-mail] 2006/08/02 (水) 09:19:42
>>4677 まさしくん
私が使用しているAIXの場合の話ですが、このエラーは「ある種のカーネル・メモリの問題」で発生する様です。
/usr/lib/boot/unix_mp ファイルのサイズがゼロとなっているはずですので、その場合には他のサーバー(同じOSの同じバージョンが良いですね)から同じファイルをコピーすることで復旧出来る様です。

残念ながら、何故このファイルのサイズがゼロになるかまでは分かりませんが、上記の通りファイルをコピーし直すか、/unix のリンクが失われている場合はリンクを張り直すと言うことで解消する様です。

No. 4680 # yu-ya! 2006/08/02 (水) 09:41:06
はじめまして。
とても初歩的な質問で恐縮ですが、
RedHat Enterprise 4で、/var/log/messages 内に格納される情報が
    日付 時間 ホスト名 プログラム名 メッセージ
の順番で格納されているのはわかるのですが、
それぞれの最大文字数についてどなたかご教授願えませんか?

よろしくお願いいたします。

No. 4681 # goro 2006/08/04 (金) 15:58:07
はじめまして。
Solarisのsyslog.confの設定で
特定のログレベルのみを任意の出力ファイルに出力させたいのですが、
いろいろ調べたのですが、途方に暮れています。
Linuxのsyslog.confの設定では、
mail.=debug /ログ出力先
(↑mailのdebugのみ出力。debug以上のレベルも出力しない)
という設定方法があるのですが、Solarisで同じような書き方しても
設定ファイルを読み込む時に、
「'=debug'なプライオリティはありません」と怒られてしまいます。
方法がありましたら、どなたかご教授願います。

No. 4683 # まさしくん 2006/08/07 (月) 17:01:38
>バンガードさん
レスが遅くなり申し訳ございません。

/unixのリンクが無かったので、リンクをはり直したら正常に動くようになりました。

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

No. 4684 # さとしくん 2006/08/15 (火) 17:06:09
psコマンドを使って、システムのcpuなどを5秒毎にログに書き込みたいのですが、どうやればいいのか検討がつきません。どなたかcシェルを利用してできる方法を教えてください。よろしくお願いします。

No. 4686 # さとしくん@計算ができませ〜ん 2006/08/15 (火) 17:21:46
STARTTIMEM=`date +%M`
こんにちわ!
STARTTIMEM=`date +%M`
STARTTIMES=`date +%S`
STARTTIME=`expr $STARTTIMEM \* 60 + $STARTTIMES`
echo $STARTTIME

以下のようなメッセージが出てしまう。
expr: 文字列に対して演算を行おうとしました。

No. 4687 # DM 2006/08/17 (木) 02:40:25
最近Cygwinをはじめた初心者です。
X-Windowなるものの存在を知り、Cでウインドウを出したり直線書いたりしてプログラムを勉強していたのですが、コンパイルして実行しようとすると

.... _cygtls::handle_exceptions:Error while dumping state (prbably corrupted stack)
Segmentation falu (core dumped)

というエラーがでます。

以前までは普通にコンパイル〜実行とできていたのですが・・・

ちなみに
startxwin.sh
の後に実行してみるとプログラムは動きました。

startxwin.sh などうたなくても実行する方法はありますか?またそのような設定はどうすればいいのでしょうか?

No. 4688 # バンガード 2006/08/17 (木) 13:24:39
>> 4684
この掲示板の[使い方]を見ると以下の様に記述されています。
---------------------------------------
UNIX・ネットワーク一般の質問は受け付けていません
当ページのコンテンツに対するご意見・ご指摘のみ受け付けています。
---------------------------------------
今回の様な質問は受け付けていないはずですよ。

ひとまず、私の使用している環境(AIX 5.1)で検証した結果を提示します。
以下の通り、全く問題なく実行出来ています。
-------------------
[vanguard]> cat test.sh
#!/usr/bin/sh
STARTTIMEM=`date +%M`
STARTTIMES=`date +%S`
STARTTIME=`expr $STARTTIMEM \* 60 + $STARTTIMES`
echo $STARTTIME
[vanguard]> date
Thu Aug 17 13:07:36 JST 2006
[vanguard]> test.sh
459
[vanguard]>
-------------------

管理者様
4678,4679も含めて問題がある様でしたら、削除いただいて結構です。
質問だけでなく、回答もこの掲示板の目的に沿っていないと思いますので、私の発言は確認なしに削除いただいて結構です。

No. 4689 # バンガード 2006/08/17 (木) 13:27:54
>>4684 さとしくん
No.4688 は No.4686 に対する回答でした。
コメントの仕方を誤っていました。

4684で質問されている5秒毎にpsコマンドを実行し、ログに書き出すのは以下のシェルでいかがでしょうか?
--------------------
#!/usr/bin/sh
ps > /tmp/ps.log
while [ 1 ]
do
                ps >> /tmp/ps.log
                sleep 5
done

No. 4690 # よしだ 2006/08/18 (金) 00:07:16
シェル素人のよしだです。
シェルから、.sqlに値の渡し方を教えてください。
シェルにてテーブル名を入力させて、.sqlにそのテーブル名を渡したいのですが
どのようにしたら良いでしょうか?

○test.sh
#!/bin/sh
echo "テーブル名を入力してください:"
read table_name
sqlplus -S ユーザ名/パスワード@サービス名 @test.sql >tmp.txt

○test.sql
set pagesize 100
select 品目 from テーブル名;
exit;

No. 4691 # あゆ 2006/08/18 (金) 16:01:48
UNIXの全くの初心者です。失礼を承知で質問します。
スクリプトをmoreで表示すると、文字化けするものがあるのですが、どのようにすれば、見ることができるでしょうか。

ターミナルソフトの設定ではEUC表示設定にはなっています。
システムが作成したスクリプトというものは、ユーザからは見ることができないのでしょうか。
申し訳ありません。お手数ですが、文字化けしない表示方法を教えてください。
宜しくお願いします。

No. 4692 # バンガード [E-mail] 2006/08/22 (火) 09:42:43
>>4691 あゆ
どの様な状況になっているのか具体的な状況が見えません。
特定のスクリプトが全て文字化けするのでしょうか?
それとも、そのスクリプトの一部が文字化けするのでしょうか?
「file スクリプト名」とするとどうなりますか?
ターミナルソフトの設定を「S-JIS」や「JIS」にするとどうなりますか?

No. 4693 # あみ 2006/08/22 (火) 19:04:19
はじめまして。あみと申します。
Solarisに関する仕様を調査していて、この掲示板に出くわしました。

No.3716で以下のような記述がありますが、Solaris9以降の仕様をご存知の方いらっしゃいませんか。

>Solaris8 では sh・ksh・csh いずれも 255 文字の制限があるようで、極めて
>不愉快ですね。

Solaris9では入力コンソールでは制限がないように思われるのですが、
入力後にバッファに読み込ませて表示させると途中からしか表示されないという現象がおこっています。

具体的には
1)/export/home/hoge/aaaaa・・・bbbbbbbb←のような300〜400くらいのパスを入力する
2)この入力から
        java.io.Reader reader = new java.io.InputStreamReader(java.lang.System.in);
        java.io.BufferedReader buf = new java.io.BufferedReader(reader);
        String input = buf.readLine();
    のように標準出力へ表示する。
3)全てが表示されずに途中の
    aaaaaaa・・・bbbbb
    のような表示のみが値として出力されてしまう。
    ⇒結果エラーになる

どなたか、ご存知の方がいらっしゃいましたら教えてください。よろしくお願いします。

No. 4694 # 68user 2006/08/23 (水) 09:41:34
>>4667 ビンゴ中西
ご指摘ありがとうございます。とりあえずバグとして登録しました。
    http://x68000.q-e-d.net/~68user/bugnote/viewbug.php?projectid=1&bugid=27

時間が取れたときに修正いたします。ありがとうございます。

No. 4695 # さとし 2006/08/23 (水) 15:48:57
バンガードさんいろいろ説明ありがとうございました。できました!!!

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