68user's page 掲示板

Prev< No. 407〜464> Next  [最新発言に戻る] [過去ログ一覧]
No. 407 # 音々 1999/07/29 (木) 10:07
>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セットを利用している個所はそれほど多くないので、
移行は比較的スムーズに行えそうです。
後は、実際に動作させて確認してみます。

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

No. 408 # nya [E-mail] 1999/08/03 (火) 10:12
こんにちは。またまた質問です.お願いします。

コマンドライン上でrcpを行うとうまくいくのに、
ファイルの中に書いて行うと「文法があいまいです」
といわれて実行出来ません。
「文法があいまいです」とはいったい何が間違っている
のでしょうか?よく意味がわからないです。
rcp フルパスのファイル名 サーバ名:転送先のディレクトリ
であっていると思うのですが。
それとも、$argvなどで指定しているのがわるいのでしょうか?
前までは、上手くいってたのですが・・・。

わかりにくいとは思いますがよろしくお願いします。

No. 409 # 68user 1999/08/03 (火) 12:10
> それとも、$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になら出力できます)。

No. 410 # 68user 1999/08/03 (火) 23:55
> ただしスクリプト中では、cd 以外の出力をしてはいけません
間違い。echo文 自体を出力すればできますね。
    #!/bin/sh
    echo 'echo hoge;'
    echo 'cd /'

No. 411 # 鳶寺 1999/08/04 (水) 14:23
システムコールについて調べているのですが、
OS毎に、システムコールに違いがあります。

SystemV Release4.0(SVR4.0) の 全システムコールの種類を
知りたいのですが、どこかに情報はありませんでしょうか?

No. 412 # ユニ男 1999/08/04 (水) 16:54
こんにちは

今、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 コンパイラはどこかで手に入れられるものなのでしょうか?

よろしくお願いします。

No. 413 # 68user 1999/08/04 (水) 18:15
> 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 などで
質問する方がいいと思います。

No. 414 # ユニ男 1999/08/04 (水) 23:40
いつもお世話になってます。

>あぁ、ずっと 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で解決しました。




No. 415 # 鳶寺 1999/08/05 (木) 13:10
>すいません、知らないです。SVR4と言ってもいろいろありますから、
>全部調べるとなると大変でしょうね。
米国Sun社のサイトにありました。ご参考まで。
http://www.sun.com/smcc/solaris-migration/docs/transition-guide_2.5/apx_b.html

No. 416 # 初心者 1999/08/11 (水) 23:35
CGIのファイルをサーバにおいて
パーミッションを変更しようとすると、
下のように出て変更できません。

502 SITE command not implemented.

どなたか助言をお願いします。

No. 417 # がんじゃ@C修行中 1999/08/13 (金) 16:25
はじめまして、かんじゃと申します。
こちらのホームページで

「UNIXネットワークベストプログラミング入門」技術評論社
  
が紹介されています。 じつは小生もこの本のプログラムを
実行してみたのですが seg fault のメッセージが表示され
てうまく実行できません。

>文字列リテラルを書き換えており、 FreeBSDで
>実行するとコアダンプしてしまった(どちらもC
>言語中級者なら 自分で問題箇所を修正できるレベル)。

というコメントが書かれておりましたが、具体的にはどういった
ことが問題なのでしょう?

よろしければご教示、お願いします。

No. 418 # がんじゃ@C修行中 [E-mail] 1999/08/13 (金) 16:25
はじめまして、かんじゃと申します。
こちらのホームページで

「UNIXネットワークベストプログラミング入門」技術評論社
  
が紹介されています。 じつは小生もこの本のプログラムを
実行してみたのですが seg fault のメッセージが表示され
てうまく実行できません。

>文字列リテラルを書き換えており、 FreeBSDで
>実行するとコアダンプしてしまった(どちらもC
>言語中級者なら 自分で問題箇所を修正できるレベル)。

というコメントが書かれておりましたが、具体的にはどういった
ことが問題なのでしょう?

よろしければご教示、お願いします。

No. 419 # かんじゃ@C修行中 [E-mail] 1999/08/13 (金) 16:30
メールアドレスの記入ミスで同じ内容のものを2度書き込んで
しまいました。
申し訳ありません。

No. 420 # 68user 1999/08/13 (金) 19:55
> 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」に詳しく書いてあります。

No. 421 # かんじゃ@C修行中 [E-mail] 1999/08/16 (月) 10:35
>> seg fault のメッセージが表示されてうまく実行できません。
> 現在、手元には その本もUNIX環境もないので、確かなことは
> 言えませんが、どこかで char *buf="abc" などと初期化して
> いる部分があると思います。・・・以下省略

さっそくのご教示ありがとうございます。
以上参考にさせていただき、さらに修行していきます。

No. 422 # mm 1999/08/20 (金) 22:54
文字列リテラルは、昔のCでは、結構普通に書き換えたりしてたみたいです。
unixの古いccのライブラリでも、この書き換えをやっているという話を聞いたことがあります。
(聞いたのは、一時ファイルの名前を作るライブラリ関数だったような…)
ANSI C以前は、自動変数の場合には、配列の初期化ができなかったために、
便宜的に利用してたのかもしれません。それとも、スタックに文字列を確保しても、
これを関数の呼び出し元に返すことはできないので、mallocを使う代わりに
静的領域を利用してたのかな…にしても毎回同じ領域が使用されるので、
static にすれば済むことって気も…?

いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、
ANSI C以降は、文字列リテラルの変更は未定義とされたようです。

No. 423 # 68user 1999/08/27 (金) 06:31
> いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、
に加えて、複数プロセスでデータセグメントを共有させるため、
例えば ls を並行して2個実行した場合、スタックとヒープは
2個用意されるが、データセグメントは1個しか用意されない、
と思ってるんですが、全然違うかも。
# アセンブラやってないんで、ここらへん いまいち感覚的に理解できない。

No. 424 # mm 1999/08/28 (土) 01:31
>に加えて、複数プロセスでデータセグメントを共有させるため、
DOSが長いもので、マルチプロセスのメモリ管理はよく分からないです(苦笑)。

>例えば ls を並行して2個実行した場合、スタックとヒープは
>2個用意されるが、データセグメントは1個しか用意されない、
とすると、文字列リテラルだけでなく、静的な変数まで共有される
訳ですよね。
素人考えでは、ホントにそれで良いの?と思っちゃいます…
例えば、コマンドラインオプションで設定されるフラグが
グローバル変数だったりすると(あり得ますよね)、前後のlsの
オプション指定が異なる場合に、先のlsのフラグまで影響を
受けちゃうおそれがないのかなぁ…?

No. 425 # 68user 1999/08/28 (土) 07:40
すいません、よく考えずに適当なことを言ってしまいました(^^;
では、2個のlsで共有される領域は何だろう?

No. 426 # mm 1999/08/29 (日) 03:27
>では、2個のlsで共有される領域は何だろう?
うーん、unixのメモリ管理はよく知りませんです(苦笑)

No. 427 # すず [E-mail] 1999/09/10 (金) 14:11
ここすごいですねっ!内容がすごく充実しててびっくりしました。<BR>
分からないことがあったら来てみようと思います。<BR>
ところで質問です。<BR>
○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか?<BR>
gzip -d とか uncompress も試してみたけど、やっぱりだめでした。<BR>
UNIXでは解凍できないんですか?

No. 428 # 68user 1999/09/10 (金) 20:03
> ここすごいですねっ!内容がすごく充実しててびっくりしました。
ども。ついさっき更新しましたのでよろしく。
    http://X68000.startshop.co.jp/~68user/unix/history.html

> ○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか?
unzip、zipなどのコマンドがあります。unzip -l hoge.zip で一覧表示。
unzip -e hoge.zipで展開です。

No. 429 # ge 1999/09/13 (月) 11:53
私もここのファン(?)ですが掲示板の投稿は初めてです。早速ですが、UNIXのコマンドについて教えて下さい。

su - username
この時のハイフンはどんな意味を持つのでしょうか?

No. 430 # 68user 1999/09/13 (月) 14:07
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でも同じだとは思うけど、確信はありません。

No. 431 # ge 1999/09/16 (木) 14:13
ありがとうございます。
ご教示の通り、 - と -l は同じでした。

No. 432 # tetsuya 1999/09/20 (月) 05:45
WindowsでFTPサーバのソフトを作成したいのですが、
よくわかりません。UNIXの場合は拝見させて頂いたのですが
winの場合はちょっと違うみたいでして・・・。
宜しければレスお願い致します。

No. 433 # 68user 1999/09/20 (月) 15:50
すいません、Windows環境は持ってない&使ってないので
わかりませんです。

# FTPクライアントではなくて、「FTPサーバのソフト」なんですか?
# いわゆる ftpd を作成されるのですか?

No. 434 # tetsuya 1999/09/20 (月) 19:27
>FTPクライアントではなくて、「FTPサーバのソフト」なんですか?
>いわゆる ftpd を作成されるのですか?
はい、ftpdです。1ヶ月ほど前より悩んでおります。
RFC日本語版やら、winsock本を読んでいるのですが、
どうしてもFTPportが開いてくれないのです。
>すいません、Windows環境は持ってない&使ってないので
>わかりませんです。
いえいえ。私もわからなかったので、ご存知かと思いまして
質問しました。有難う御座いました。また悩み続けます(^^;)。

No. 435 # 68user 1999/09/20 (月) 19:31
echoサーバのような単純なサーバではうまくいってるんでしょうか?
まずはそういう簡単なサーバを作りながら winsock を理解しては
どうでしょう。
# winsockを知らない人間が言う言葉ではないな(^^;
## 既にやっておられたらすいません。

No. 436 # tetsuya 1999/09/21 (火) 04:21
>## 既にやっておられたらすいません。
全くやってなかったですが、今、ソースは見つけました。
http://www.macnica.co.jp/soft/prog/win_echo.txt
こういうので良いのでしょうか?

>まずはそういう簡単なサーバを作りながら winsock を理解しては
>どうでしょう。
了解しました。echoサーバっていうのは、サーバーにあるMSGを
送るとそのMSGを送り返してくる機能を持ったものみたいですね。
調べてみました。ちょっとソースを理解してみます。
有難う御座いました。

No. 437 # 68user 1999/09/22 (水) 00:03
> こういうので良いのでしょうか?
そういうのです。

それで Winsock 上での socket・bind・listen・accept を覚えてから、
ftpd を作る、と。最初からコネクション2本な ftpd にチャレンジする
よりは簡単だと思います。

No. 438 # tetsuya 1999/09/22 (水) 02:22
有難う御座いました。
頑張ってみます。

No. 439 # 1999/09/22 (水) 16:50
UNIXでフロッピーディスク(FD)に書き込んでWindows98で読み込む事が出来るのですか。
またその逆はできるのですか。できるとしたらどのようなファイルが出来るのですか。
教えて下さい。

No. 440 # 68user 1999/09/23 (木) 02:05
# 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 は必要なかったような)。

No. 441 # なか 1999/09/23 (木) 17:13
始めまして
始めてここにきました。
ア!? だから始めましてなんですね^^;;
偶然検索していて見つけました。
今日はとってもお勉強になりました。
また、ちょくちょく来ますです♪
頑張ってくださいね。
敬具。

No. 442 # 塩蔵 [E-mail] 1999/09/24 (金) 17:44
はじめまして、塩蔵です。
すごく充実した内容ですね。
UNIX初心者の僕としましては、びっくりです。
突然ですが、質問あります。
EUCコードで、全角Aは、16進でa3c1となるんですが、
あるファイルに全角Aを書いて、
odコマンドで、”od −x ファイル名”を実行すると、
c1a3と表示されてしまいます。
なぜ、EUCコードで、全角Aは、16進でa3c1であるのに、
c1a3と表示されるのでしょうか?
それとも、odコマンドの使い方が間違ってるのでしょうか?
お願い致します。

No. 443 # 68user 1999/09/24 (金) 19:11
> c1a3と表示されてしまいます。
    http://www.cs.gunma-u.ac.jp/~j5306050/net/c-http-1.html
に少し書いてありますが、バイトオーダーの違いです。

試してみると、Pentium のようなリトルエンディアンマシンでは c1a3、
Sparcのようなビッグエンディアンマシンでは a3c1 になりました。

しかし、バイトオーダーを意識させるダンプコマンドってのは
アリなのかなぁ…?

No. 444 # 68user 1999/09/25 (土) 06:57
システムリプレイス時のトラブルで、24日朝〜25日23時の間の
メールが全部消えてしまいました(25日21時にPOPを覗くと数十通
あったけど、その分が全部消えてしまった)。

「alloc:/ file system full」な方と、出版社の方、
申し訳ありませんが、もう一回メール下さい。

多分私信はその2通だけだったと思うけど、他にメール出してた方が、
いらっしゃいましたら、すみませんが再送して下さい。

No. 445 # 68user 1999/09/25 (土) 07:07
日付を間違えてた。
    システムリプレイス時のトラブルで、24日朝〜24日23時の間の
    メールが全部消えてしまいました(24日21時にPOPを覗くと数十通
    あったけど、その分が全部消えてしまった)。
です。

No. 446 # j7306054 まつうら 1999/09/26 (日) 00:39
こんにちわ。
自分のページにカウンターを置きたいのですが、
fluteでCGIは使えますか?掲示板は可能なんですが
他から取ってきたカウンタはエラーが出て良く分からないんです。
ここにあったカウンターもいただきましたが、どう変更して、どのようなファイルをどう置いたらいいのかよくわかりません。助けてください。

No. 447 # 68user 1999/09/26 (日) 00:57
> 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経由でも絶対に動きません。

> ここにあったカウンターもいただきましたが
うちのは設置手順がめんどくさいので、お勧めしません :-)

No. 448 # まつうら [E-mail] 1999/09/26 (日) 04:58
できました。自宅のパソコンでダウンロードしたものを
学校に転送してやると、やはり改行コードがおかしくなってるようでした。
結局、学校の端末からもう1度作り直しました。
さすがプロ!ありがとうございました(笑)

No. 449 # まつい 1999/09/29 (水) 23:57
こんにちは。

新しいサーバーを構築して、そのサーバーに現サーバーの
/etc/passwd と /etc/shadowファイルを移行したいので
すが、試しに1つだけ /etc/passwd をそのまま移して(
group,ホームディレクトリ、シェルのパスは変えました。)
、/etc/shadowはそのまま現サーバーの/etc/shadowを移し
ました。

そのあと、
> pwconv
> creatiadb
として、メールを送受信してみたのですが、ログインは認識
しているようなのですが、パスは認識してくれないようです。

何か、他にやる事が有るのでしょうか?
よろしくお願いします。

No. 450 # 68user 1999/09/30 (木) 00:57
Linux ですか? 僕は FreeBSD 以外知らないのですが、

> パスは認識してくれないようです
これは、「ログインシェルが認識されない」という意味ですか?
あるいは「パスワードが認識されない」という意味ですか?

前者なら、一般的な UNIX では、ログインシェルとして使う
シェルは、事前に /etc/shells にフルパスで書いておく必要が
ありますが、それはいじりましたか?

後者ならわかりません。もちろん現サーバのパスワードを
入力したんですよね? あとLinux って、デフォルトではシャドウ
パスワードを使わないそうですが、新サーバのそこらへんの設定は
しました?

No. 451 # 68user 1999/09/30 (木) 03:06
ちょっと前の話。アドレス空間は低位から順に
    テキストセグメント
        text ... マシン語コード
    データセグメント
        data ... static な初期化済変数
        bss ... static な未初期化変数
        heap ... malloc() で確保される領域
    スタックセグメント
        stack ... auto変数
というふうに使われるので、UNIX で共有されるのはテキストセグメントだけ。
…かな? たぶん。
# うう、gas の吐くアセンブリがわからん。ebp,eax レジスタってナニ?

No. 452 # かりり 1999/09/30 (木) 14:20
こんちは。自分の名前をGOO検索したら、なんか
BBSが有ったので、やってきました。
ネットを止めてカフェでたまにやってるいまでも
自分の偽物が居て結構楽しいです。
今度インターネットを始める時は
CGIが使えるプロバイダを選ぼうと思うので
その時は、管理のキビしーBBSの作り方を
教えてください。では、失礼します。

No. 453 # 1999/10/02 (土) 11:48
学校のUNIXで"http://www.freemail.ne.jp/"
のようなfreemailを使うことができるのですか

No. 454 # 68user 1999/10/02 (土) 14:37
> こんちは。自分の名前をGOO検索したら、なんか
> BBSが有ったので、やってきました。
お久しゅう。2年振りくらいかね。元気でやっておられるようで
なにより。こっちもそれなりに生きてます :-)

> 学校のUNIXで"http://www.freemail.ne.jp/
> のようなfreemailを使うことができるのですか
名前(ハンドル)さえ名乗れない人に教えるほど、僕は心が広くないので。
出直してらっしゃい。
# 名前書かない人って、こちらが回答しても返事を返してこないから嫌い。

No. 455 # Aya 1999/10/03 (日) 00:48
初めましてAyaと申します。
検索で偶然見つけたのですが、内容の充実ぶりに驚きました。
突然なのですが質問させていただきます。
sedmailで添付ファイルを送るにはどうしたらよいのでしょうか?

私は何も知らないと言っても過言でないくらいUNIX初心者なので、
的外れなことを言っていたらすいません。

No. 456 # 68user 1999/10/03 (日) 06:48
> 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 ヘッダを付けてくれるソフトもあるんじゃないかと
思うんですが、残念ながら僕は知りません。

No. 457 # 二太郎 1999/10/03 (日) 21:41
始めまして二太郎と申します。
大学で急にメールサーバーの管理をさせられてしまいました。
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」の所かと思っています。どうでしょうか?

No. 458 # 68user 1999/10/04 (月) 00:09
> *** 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 に渡します。

No. 459 # Aya 1999/10/04 (月) 01:43
ありがとうございました。
添付ファイルを送ることに成功しました。感激♪
また、質問することもあると思いますが、
そのときは、またお願いします。

No. 460 # 二太郎 1999/10/04 (月) 20:28
レス本当にありがとうございました。
さっそくLANGをいじってみましたが、私の大学も solarisなのでダメ
でした。しかしメールソフト(Windous95用)を使えば、きちんと読
めるので、今のところメールの利用者からは問題がでていないので
困っているのは私だけのようです。(笑)
急がなくてもいいようなので、もう少しいろいろと試してみたいと
思います。

UNIXの勉強が全然足りないのでこのページを参考に頑張っていきま
すので今後またお世話のなるかもしれませんがよろしくお願いしま
す。

No. 461 # 68user 1999/10/04 (月) 21:47
思い出した。SystemV 系 UNIX には mailx コマンドというのが
あって、これなら日本語が通ります。

No. 462 # 二太郎 1999/10/04 (月) 22:28
「mailx コマンド」を今、家からtelnetでログインして試したと
ころ、日本語が通りました!!
これでぐっすり眠れそうです。
本当にありがとうございました。

No. 463 # Aya 1999/10/05 (火) 01:02
再び、質問させていただきます。
テキストデータを添付することはできたのですが、
バイナリデータの場合どうもうまくいきません。
符号化して書きこまなければならないのでしょうか。
もしそうなら、どうやって符号化するのでしょうか。
それとも、他に方法があるのでしょうか。
どうか御教授お願いいたします。

No. 464 # 68user 1999/10/05 (火) 02:16
> バイナリデータの場合どうもうまくいきません。
次にこの質問がくるんじゃないかと予想はしてました :-)

バイナリは 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;
だったかもしれない。試してみて下さい。

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