今更etch-backportsとかを使う
Drupal6を入れようと思ったら、インストール対象サーバがまだEtchで、Apt-getから入れる場合は、Backportsを使わないといけない事に。
/etc/apt/source.lists # etch deb http://mirror.peer1.net/debian/ etch main deb http://security.debian.org/ etch/updates main deb http://www.jp.backports.org etch-backports main contrib non-free #追加
で
$ sudo aptitude update $ sudo aptitude upgrade $ sudo aptitude -t etch-backports install drupal6
でOK
ついでにapt-pinについてもちゃんと調べてみた。
通常だったら、the highest version of an available package wins、つまりバージョンが高いパッケージ(Stableが一番バージョンが高いと認識される&実際に/etc/apt/preferencesでのstableが700と一番高い値になっている)がインストールされちゃうんだけど、ここはupgradeしたくない、とか特定のバージョンを入れたい時にapt-pinを使う
/etc/apt/preferences Package: drupal6 Pin: release a=etch-backports Pin-Priority: 999
な感じで。
Pinはリリース情報(lenny/lenny-backports/etch/etch-backportsなどなど)
Pin-Priorityはプライオリティ情報
その場合、Pin-Priorityとはapt-pinningで使われるパラメーターで
- 1000以上:アップグレードするというバージョン制約が外れるのでダウングレードできるようになる
- 990:apt-get の --target-release (-t) オプションが指定された際に利用される値
- 989:apt-pinのディフォルト値
- 500:(現在まだインストールされてない)通常アーカイブ
- 101~989:インストール可能、update/upgrade対象パッケージ
- 100:現在インストール済みパッケージ
- 1~99:インストール可能だが、updateの対象にはならない
- 0:インストールしない
通常の/etc/apt/preferencesは
Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600
なのでstable > testing > unstableで、stableしかインストールされない。
まだpinしないといけないパッケージはないけども、いつか使うかもしれない。
ってかきれいな状態でのパッケージ管理を目指したいものだ。
結局今回はEtch->Lennyにアップグレードする事を決断。backportsは使わない事になった(´・ω・):;*。':;ヘックション