68user's page 掲示板

Prev< No. 897〜907> Next  [最新発言に戻る] [過去ログ一覧]
No. 897 # 68user 2000/06/05 (月) 03:37:00
> この/dev/hda2を/homeにし、/varは/dev/hda1内に移したいのですが、
> 果たしてできるのでしょうか。
できなくはないでしょうが、かなり怖い作業ですね。
特にリモートでの作業になってしまう、というのが。

    1. cd /var
    2. シングルユーザモードに移行
    3. 不必要なプロセスを全て殺す
    4. /etc/fstab から /var のエントリを削除
    5. mkdir /newvar
    6. cd /var; tar zcvf - . | (cd /newvar; tar zxvfp -)
    7. mv /var /oldvar
    8. mv /newvar /var
    9. システムをリブート

かなぁ。7 から 8 の間で、/var 以下のファイルをオープンしようと
するプロセスがあれば、その動作は失敗します。また、(おそらく)
最初に /var 以下のオープンしているプロセスは、7 を行っても
引続き /oldvar 以下のファイルをオープンし続けているので、
最後にリブートが必要です。

/home については、上の作業をした後、

    A. シングルユーザモードに移行
    B. /etc/fstab に /dev/hda2 /home ext2 なエントリを追加
    C. /dev/hda2 を /newhome としてマウント
    D. rm -rf /newhome/* (フォーマット。newfs を使った方がよいけど)
    E. cd /home; tar zcvf - . | (cd /newhome; tar zxvfp -)
    F. mv /home /oldhome
    G. リブート
    H. rm -rf /oldhome

でしょうか。

僕は Linux を触ったことがないので、コマンド名やオプションが
Linux でも通用するかどうかはわかりません。事前に十分シミュ
レーションしてから行って下さい。できれば Linux-users-jp や
fj などで、
    「…という作業手順でいのでしょうか?」
と質問した方がよいと思います。
# もし「それではうまくいかない」「こうすれば簡単だ」という回答を
# もらったら、僕にも教えて下さい :-)

なお、上記の通りにやってうまくいくかどうかは保証できません。


> あと、メールのヘッダやフッタに自動的に広告などをいれている
> メールを見かけますが、ああいうものは、
> どういったカタチで実現しているんでしょうか?
> CGIなどを使って、というカタチでしょうか。
CGI は web の仕組みであって、メールとは全く関係ありません。
# web 上でボタンを押すとそういうメールが送られる、
# というなら関係ありますけど。

確か、そういう機能を持ったメーリングリストプログラムが
あったように思いますし、常に一箇所からしかメールが発信
されないなら、その部分でヘッダやフッタを追加してもいいです。

No. 898 # 68user 2000/06/05 (月) 03:43:52
> 7. mv /var /oldvar
おっと。マウント中のマウントポイントは mv できないかも
(FreeBSD ではそうでした)。

一度 /dev/hd2 を umount すればいいですが、もし device busy
などと怒られたら、umount -f で強制アンマウントできます。
本当は fstat や fuser で、/var 以下のファイルを使用している
プロセスを調べて、それを殺してから umount するのが筋ですけど。

No. 899 # yuji 2000/06/05 (月) 13:27:56
いつもお返事、ありがとうございます。(^^)
表現が悪かったですね。>CGI(^^;
おっしゃるように、この場合は、必ずしもWWWサーバーと
やりとりするわけではないですから。

perlやCによるプログラム
でヘッダやフッターを処理したメールを、SMTPサーバーで
送信しているのか、それともSMTPサーバーのどこかで、
ヘッダやフッターを設定できるのかな、と思いまして。

今のところは、他の場所で使う予定はないですので、
自分で付加するプログラムを実験してみようと思っています。
下のメーリングリスト関連のリンク集を参考に、
いろいろなメーリングリストの特徴を勉強してみようと思います。(^^)
http://yamanoya.ecs.cst.nihon-u.ac.jp/patio/ml/makeml/mllinks.html

No. 900 # CZ 2000/06/05 (月) 21:19:42
お返事ありがとうございます。

早速Linuxのメーリングリストに入る準備をしましたが、業務用に使っているわけではないし、物は試しと思って一発勝負をかけてみました。

% /usr/local/apache/bin/apachectl stop
% fuser -k -m /dev/hda2
| /etc/fstab から /var のエントリを削除

ここで`umount /var`としたら'device busy'が出たので、深く考えずに再度`fuser -k -m /dev/hda2`としたら見事telnetが死にました。そこで
% umount -f /var
% mv /newvar /var
% reboot
この作業を管理会社の方にお願いしました。

| /etc/fstab に /home 追加
% mkdir /newhome
% mount /dev/hda2 /newhome
% rm -rf /newhome/*
% cd /home; tar zcvf - . | (cd /newhome; tar zxvfp -)
ここで何かエラーが出たのですが、読み飛ばし。
% mv /home /oldhome
% reboot

再起動したらさっきのエラーが原因らしく/newhomeの中が空で、かつ/homeができていなかったので、

% cp -a /oldhome/* /newhome
% mkdir /home
% reboot

再起動中に混乱してきました。(そういえばさっきの/newhomeはどうなるんだ? `mkdir /home`は不要だったか?)

% mount
(あ、ちゃんと/dev/hda2 on /home type ext2 (rw)になってる。)
% ls /home
(中身もある。ひょっとして成功か?)

というわけで、成功しました。(あるいは成功したように見えています。)一つ間違えば追加料金を払って再設定してもらうところでした。今までもこんな具合に、システムをほとんど理解しないまま手探りで運用してきました。もっとしっかり身に着けようと、本などを買って勉強してはいるのですが。

ただ、/newhomeと/homeが両方存在しています。/newhomeは消しても構わないと判断できるでしょうか。

No. 901 # 68user 2000/06/06 (火) 01:01:56
> ただ、/newhomeと/homeが両方存在しています。/newhome は
> 消しても構わないと判断できるでしょうか。
多分よいと思いますが、df -k して、別パーティションで
あることを確認して下さい。また、本当にコピーできたか
どうか du や diff などで確認して下さい。

> `mkdir /home`は不要だったか?
/dev/hda2 を /home にする、ということなのでマウントポイント
/home はマウントする前に mkdir で作成しなければなりません。

なお、マシンが手元にあるなら、シングルユーザモードで起動してから
作業をするのが正しいやり方です。


> perlやCによるプログラムでヘッダやフッターを処理したメールを、
> SMTPサーバーで送信しているのか、それともSMTPサーバーのどこかで、
> ヘッダやフッターを設定できるのかな、と思いまして。
SMTP サーバがヘッダやフッタに関与することはないと思います
(そういうサーバが世の中に絶対ないとは言い切れませんが)。

ちなみにメーリングリストサーバの fml なんかは、ポリシー
として、フッタを付けるような機能は実装しない方針だった
ように思います (今はどうか知りません)。

No. 902 # mac 2000/06/07 (水) 07:04:04
はじめまして。

pl(cgi)で
    $A="abc";
この$Aに入っている“abc”をクリプト化したいのですが
どのようにすればよろしいですか?

No. 903 # james [E-mail] 2000/06/07 (水) 16:25:30
Xwindowのソフト開発をやらなければいけません。が、まったく分かっていない状態だと思います。
サンプルプロを入力して起動させると、画面は表示されないままだんまり状態になります。
fputsのstdoutで処理通過点を表示させると、XtMainLoop()のところでだんまりになってる様です。
しかし、どのように原因を究明していいのか、ディバッグツールは何があるのか全く分かりません。
古いUNIXの本にadbと言うディバッグツールが乗っていたのでmanで説明を見て(と言っても英文なので見たつもり)
いろいろ表示させて見ましたが、内容を見ても分からない状態です。
一体何をどうすれば、いやいや、何からどう始めれば、はたまたどんなマニュアルを購入すれば、少しはましな状態になるでしょうか?
どうかお願いします。どんなヒントでもいいので教えてください。
順序が後先になりましたが、OSはSolaris7、言語はC、マシンはSUNです。
掲示板に書き込むのは初めてなのですが、これでよろしいでしょうか?
でれでは・・・。

No. 904 # 68user 2000/06/08 (木) 02:32:14
> この$Aに入っている“abc”をクリプト化したいのですが
お望みのものかどうかわかりませんけど、
http://X68000.startshop.co.jp/~68user/webcgi/cryptogram.html など。

> fputsのstdoutで処理通過点を表示させると、
> XtMainLoop()のところでだんまりになってる様です。
僕は Xt のプログラムを作ったことがないのですけど、
XtMainLoop で戻ってこないのは正しいのではないですか?
その中でイベント待ちをしているわけだから。

No. 905 # james [E-mail] 2000/06/08 (木) 09:35:05
お返事どうもありがとうございます。

確かにおっしゃる通りです。正確に自分のQを伝えていません。ごめんなさい。
XtMainLoopでだんまりになっているのに、画面が表示されないのです。
色々悩んでリソースファイルと言う物が間違っているのかとか思うのですか・・
自分が起動かけてる状態で、どのリソースファイルを見にいってるのかも分からないんです。
だから、本当にリソースファイルが問題なのかどうかも???
マニュアルによると、/usr/lib/X11/app−defaults
と言うファイルだと書いてありますが/usr/libの下にはX11なるディレクトリはありません。
ではapp−defaultsはというと、いくつものフォルダーに存在しています。(ざっと40個位)
はたしてどのファイルなのやら・・・・
こんな状態ではいつになったらソフトが完成するのやら・・と思うと気がめいってきます。
が、やらねば。
何かヒントをお願いします。

No. 906 # レイズナービデオに取って見ていた女 2000/06/08 (木) 11:33:48
「僕の血の半分は地球人の血です!僕の父は地球人です!」「目を覚ませ!エイジ!」「基地の中には僕と同じ位の年の人もいるのです!」・・・レイズナーは一部が面白かったですね。エイジが全裸でカプセルに閉じ込められてる姿はドキドキものでした!二部のエイジはなんかオヤジっぽくてイマイチだと思ったのは私だけ?

No. 907 # 68user 2000/06/08 (木) 20:59:16
> レイズナービデオに取って見ていた女
すいません、おそらく あなたが見たコンテンツは SEGA BBS の過去ログです。
SEGA BBS は http://www.sega.co.jp/sega/p_cafe/bbs.html でやってますので、
そこに書き込んでみて下さい。

  > XtMainLoopでだんまりになっているのに、画面が表示されないのです。
つまり、ボタンなどの簡単な部品を表示するだけのプログラムが
動作しない、と解釈していいですか? ソースが短いなら、見せて
もらえばわかるかもしれませんが、わからないかもしれません。

> 自分が起動かけてる状態で、どのリソースファイルを見に
> いってるのかも分からないんです。
truss コマンドで、どのファイルを open(2) しているか
わかるでしょう。

> /usr/libの下にはX11なるディレクトリはありません。
ディレクトリは環境依存なので /usr/X11R6/lib/X11、/usr/X/lib/X11 など
に置いてある場合もあります。

> ではapp−defaultsはというと、いくつものフォルダーに
> 存在しています。(ざっと40個位) はたしてどのファイルなのやら・・・・
app-defaults/KTerm は何のファイルかご存知ですか? kterm が
起動時に読み込むリソースファイルです。

なんで kterm が app-defaults/KTerm を読むかというと、kterm の
クラス名が KTerm だからです。そのクラス名というのは、
XtAppInitialize (古い Xt なら XtInitialize) の引数で指定します。

なので、「app-defaults/あなたの作ったプログラムのクラス名」という
ファイルが存在すればそれが読み込まれますし、存在しなければリソースが
空になるだけです。

> はたまたどんなマニュアルを購入すれば
Xt の本は結構あります。秋葉原などが近いなら、ちょっと覗いてみれば
結構見付かります。ただし、古い本が多いので、既に obsolete な関数
(例えばさっきの XtInitialize とか) を紹介していたりするのが難点。
あと、少し前の UNIX USER で、数回 Xt の説明が載ってました。

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