[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:08382] Re: ftp mirror



> この方法で唯一注意しないといけないのは,ftp siteからファイルを
> 取得したときに,getしたファイルを消しますか?の問いに必ず"n"と
> 答えることです.なにせデフォルトが"y"ですから,ポンポンとreturn
> を連打していると,ヒエーーーということになります(^^;
> 
> aptはほとんど使ったことがないのですが,aptだとそのあたり融通が
> 効くんでしょうか?

えーと、利くと言えば利きます。

hammの場合、新規パッケージがないので、dselectを使う必要がなく、

% apt-get update && apt-get upgrade

としておけば、apt-get cleanを実行するまで、*.debは残っていま
す。

slinkの場合、新規パッケージを見るために、dselectを使いたくな
りますが、dselectでAPT methodを使っているときに[I]nstallを選
べば、FTP methodを使っているときと違って、インストール後、黙っ
て*.debが削除されます。これでは困りますよね。インストールを
やっている最中に、別のターミナルを開いてcpすればいいのですが、
これは面倒。

実は、dselectのAPT methodは、コマンドライン版のapt-getをしか
るべき手順で呼びだしているだけなんです。[I]nstallのときに実
行されるのは/usr/lib/dpkg/methods/apt/installというシェルス
クリプト。

>   apt-get clean && echo "Press enter to continue." && read RES && exit 0;

という行で*.debを削除しているので、この前の行に、*.debをコピー
する指示を書き加えておけばいいのです。

スクリプトを書き換えるのが嫌なら、dselectでパッケージを選ん
でから、インストールせずに終了し、apt-get -f dselect-upgrade
とすればOk。ですから、
    apt-get -f dselect-upgrade
    cp ...
    apt-get clean
みたいなスクリプトを書いておけばいいのです。もちろん、エラー
処理もやらないといけないけど、それはinstallスクリプトを参考
にすれば簡単です。

ちなみに、FTPメソッドの場合も
/usr/lib/dpkg/methods/ftp/installなどが実行されているのです
が、こちらはPerlスクリプトなので触りにくいです。

-- 
川村 尚生