V7とLinuxでUUCP(2)PCメモPC関係のメモ、気付いたこと。OSをいじって遊んでいます。OSのカスタムビルドを配布しています。ないブログに表示されています。新しい記事を書く事で広告が消えます。CentOS6でUUCPの発信設定を行います。V7からLinuxへは接続しにいけないので、Linux側は発信設定のみで着信設定はしません。UUCPのダウンロードEPELなどの外部リポジトリを有効にしていればyumコマンドでUUCPをインストールすることができるようですが、今回は自分でソースからビルドしてみたので、その手順を書きます。UUCPのソースコードは以下のURLからダウンロードします。codeのリンクからダウンロードします。ビルドダウンロードしたuucp-1.07.tar.gzを展開し、policy.hを編集します。*/policy.hを編集したら、以下の手順でビルドします。installUUCPの設定/usr/local/conf/uucpディレクトリを作成して、アーカイブのsamplesにあるファイルをコピーします。以降、この/usr/local/conf/uucpディレクトリで作業を行います。/usr/local/conf/uucp続いて、コピーしたファイルのうち、configファイルを編集します。nodenameという項目を探してサイト名を定義します。今回はcentos6とします。スプールディレクトリのデフォルトが/usr/spoolになっているのですべて/var/spoolに書き換えます。以下に編集内容のdiffを示します。続いて、sysという名前で以下の内容でファイルを作成します。gこれもセキュリティについての考慮は全くなしです。V7に接続しに行くときの接続先サイト名、ユーザ名、パスワードを定義します。以下の行を追加します。続いて、portファイルを開いて、以下の記述を追加します。V7にtelnet接続する際のポート番号を指定します。スプールディレクトリの作成linux側でもuucp用のスプールディレクトリの作成を行います。/var/spool/uucppublic設定の確認uuchkコマンドを実行してエラーが出ていないか確認します。ここまで設定した後のuuchkの出力結果は以下のようになりました。V7)ここまで設定すればuucpコマンドでファイルがコピーできるようになります。Linuxからファイルをコピーするときは以下のようにします。'unixv7!/tmp/passwd'コピー先の指定方法は’相手先サイト名!ファイル名’となります。V7側で/usr/lib/uucp/USERFILEに定義したユーザだけであることに注意が必要です。V7側の/usr/spool/uucp/LOGFILEに以下のような出力が現れます。(DENIED)uucpコマンドは単にファイルをスプールに貯めるだけで、すぐにコピーされるとは限りません。前回の記事でも書いた通り、UUCPはダイヤルアップ接続を前提にしており、デフォルトでは一度接続した後一定時間経過しないと再接続せず、その間の要求はすべてスプールに貯めておくようになっています。送信要求がキューにたまっているときは、uustatコマンドを実行した時に以下のように出力されます。/tmp/passwd送信が終わるとuustatコマンドの出力は空になります。リトライ待ちの時はuulogコマンドでuucpのログを見たときに以下のように出力されます。reachedこの場合は、uucicoコマンドを手動で実行することで即時に接続を実行させることができます。unixv7コピーがうまくいくと、uulogコマンドを実行したときに以下のような出力が得られます。V7側には、/usr/spool/uucp/LOGFILESに以下のような出力が現れます。V7からファイルをコピーするときも、同様にuucpコマンドを使います。V7側でuucpコマンドを実行した後に、linux側から上で書いたuucicoコマンドの手動実行により接続を行います。V7のキューにたまっていたファイルがLinux側に引き取られます。V7の/usr/spool/uucp/LOGFILEに以下のような出力が得られます。(SUCCEEDED)一方、Linux側には以下のようなログが得られます。bps)uucp使用時の注意事項UUCPで送信できるのはテキストファイルのみです。V7にはデフォルトではuuencodeやuudecodeはありません。そのためどこかからソースを持ってきてコンパイルする必要がありますが、まだ試してはいません。Unixをインストールするsimhをインストールしてみるランキングに参加してみました。クリックしていただければ嬉しいです。