前回に引き続きまだnetatalkの話ですが。
このままだと、「apt-get upgrade」をしてしまうとせっかく修正したnetatalkを標準のもので上書きされてしまいます。
それでは困るのでnetatalkをバージョンアップの対象から外してみましょう。
今回は「/etc/apt/preferences」に設定を追記します。
例によってsuでroot権限を利用します。
<code> $ su # vi /etc/apt/preferences </code>
これで「/etc/apt/preferences」を開くあるいは新規作成します。
具体的には
<code> Package: netatalk Pin: version 2.0.3-3 Pin-Priority: 900 </code>
のように追記することによって実現できます。
簡単に説明をするとこれはパッケージ「netatalk」をバージョン「2.0.3-3」に優先度「900」で固定(Pin)するということです。
バージョンは前々回インストールしたときに確認したバージョンより古い物にしておきます。
なぜかというと現行と同じバージョン(前々回の記事に合わせると2.0.3-4)にしても試してみるとうまくいかなかったためです。
優先度については下記の参考にさせていただいたページに詳しく書かれていますが今回900にした理由だけを引用させていただくと
101 以上の値は、そのパッケージがインストールされるべきであることを示しています。よくあるのは、あるパッケージのインストール済バージョンがより進んだバージョンにのみアップグレードされる場合です。100 以上 1000 以下のあらゆる値は、この典型的な動作をすることを示しています。このような値を持つパッケージは、利用可能であっても古いバージョンにはダウングレードされません。
ということです。
とりあえずこのように設定して変更を保存します。
最後に本当に上書きされないのか確認をしてみます。
apt-getの[-s]オプションを使用してテストをします。このオプションはシミュレーションのみを行い実際には何もしないようにするものです。
<code> # apt-get update # apt-get -s upgrade </code>
を実行して。
「以下のパッケージはアップグレードされます:netatalk」
と出なければ成功です。
次から安心して「apt-get upgrade」ができます。
今回参考にさせていただいたページ
http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ja.html#s-update
http://debian.fam.cx/?AptGet#content_1_23
コメントを残す