SUCKの設定
  特に指定がなければrootの権限で作業します。
1 パッケージの導入
  CD-ROMのcontrib/Networkにあります。
  installpkgpkgtoolでインストールして下さい。
  なお、INN 2.2に変更してある場合はパッケージのsuckが未対応らしいので、接続出来ることが確認出来次第最新のソースを入手してコンパイルしなおした方が良いでしょう。
  設定ファイルはそのまま流用可能なようです。
2 設定ファイル
  /usr/local/suckにあります。
  まず、必要な情報をまとめておきましょう。
  以下の前提で設定します。
  接続先のフルドメイン名:server.himitu.or.jp
  newsfeedsのホスト名:server
  発呼時間:深夜2時14分
  まずはget.news.innxmitです。
  接続先に関する内容を書きます。
  付属の例からの変更点を示します。
#!/bin/sh
#BEFORE USING - check to ensure all the paths defined below are correct!!
#NOTE: this script probably needs to be run by root.  Most systems will
# not let a normal user run ctlinnd
REMOTE_HOST=server.himitu.or.jp
#REMOTE_HOST="input_your_news_server"
LOCAL_HOST=localhost
SPOOLDIR=/var/spool/news                # base directory for articles to be rposted
NEWSDIR=/usr/local/news                 # base directory for news binaries
BASEDIR=/usr/local/suck                 # base directory for scripts and data files
CTLINND=${NEWSDIR}/bin/ctlinnd          # location of binary
SHLOCK=${NEWSDIR}/bin/shlock            # location of binary
TMPDIR=${BASEDIR}                       # location for suck.* files
MSGDIR=${BASEDIR}/Msgs                  # where to put MultiFile messages when getting them 
SITE=server            # name of site from newsfeeds file
OUTGOING=/var/spool/news/outgoing/${SITE}       # location of the list of articles to upload
OUTGOINGNEW=${OUTGOING}.new             # file to contain the list temporarily
OUTGOINGFAIL=${OUTGOINGNEW}.fail        # file with failed xfers
SCRIPT=${BASEDIR}/put.news              # my filter for rpost
OUTFILE=/tmp/tmp$$                      # used by rpost as article after it is fltered
LOCKFILE=${BASEDIR}/getnews.lock        # lock file to prevent multiple instances of script
NEWSGROUP=news                          # which group owns the file in out.going, typically either news or uucp.
TESTHOST=/usr/local/bin/testhost
RPOST=/usr/local/bin/rpost
SUCK=/usr/local/bin/suck
(中略)
# download messages
        ${SUCK} ${REMOTE_HOST} -c -bp -hl ${LOCAL_HOST} -dt ${TMPDIR} -dm ${MSGDIR} -dd ${BASEDIR}
(後略)
  そのまま指示どおり修正すれば良いです。
  最後の${SUCK}の行は、サンプルには-Aが付いていると思いますが、これは必ず外してください。
  そのままでは相手のactiveをそのままsucknewsrcへ取り込もうとして接続時間が異常に長くなります。

 

  次にsucknewsrcです。
  取り込みたいニュースグループを列挙します。
spd.plan.spd-network 100
spd.freak.anime 100
  最後の数字は前回接続したときのサーバのactiveの値です。
  サーバ側のactiveの数字がこの値より増えていれば未読記事があると判断します。
  でも、最初の接続では不明ですから、
spd.plan.spd-network -10
spd.freak.anime -10
  としておけば次の接続で最近10件を取り込みます。
3 接続試験
  必ず事前にsurootの権限を得て下さい。
  以下のコマンドで接続を行います。
  自動発呼ではない場合,既にダイアルアップ接続が完了している状態で行って下さい。
  # /usr/local/suck/get.news.innxmit
  画面には接続中の状態が表示されます。
  以上でニュースの受信が可能になりました。
  出来ればget.news.innxmitを呼び出すシェルスクリプトを作った方が良いでしょうね。
  *.newというファイルがあると動作がおかしくなるため、削除後に呼び出すためです。
  また、動作中のメッセージを/tmpに残しておき、トラブル発生時の参考にします。
  chmod +x getnewsを忘れないように。
/usr/local/suck/getnews:
#!/bin/sh
rm -f /usr/local/news/spool/outgoing/*.new
/usr/local/suck/get.news.innxmit > /tmp/lastget.magical
4 ニュースを送る設定
  newsfeedsへ接続先の追加をします。
server/server:*,!fj.*,!tnn.*,!junk,!japan.*,!local.*,!control.*:Tf,Wnm:
  行頭はget.news.innxmitsiteで示したマシン名です。
    行の最後のTf,WnmはUUCPでの設定とは違うので注意してください。
  修正後に/usr/local/news/bin/ctlinnd reload newsfeeds whatを実行してINNに認識させます。
  最後に/var/spool/cron/crontabs/rootに3.で作成したgetnewsを定期的に実行するよう記述します。

14 2 * * * /usr/local/suck/getnews

   再起動すれば完成です。


最初へ戻る

inserted by FC2 system