>> 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さん、アドバイスありがとうございます。 早速検討してみます。 |