Debian SargeのRubyを1.8.5にする
Debian Sargeに付属のRubyは1.8.2でした。一つでも脆弱性を減らすためにとりあえず1.8.5にあげてみたいと思います。
xibbarさんの日記を参考にというかそのままでありますが流れは以下の通りです。
- /etc/apt/sources.listにbackports*1を追加
- /etc/apt/preferencesを編集というか生成、優先順位の決定
- apt-get update apt-get upgredeでおしまい
$ sudo vi /etc/apt/sources.list deb http://backports.mithril-linux.org sarge-backports main contrib non-free deb-src http://backports.mithril-linux.org sarge-backports main contrib non-free
backportsのmirrorであるhttp://backports.mithril-linux.orgをsources.listに追加しています。
$ sudo vi /etc/apt/preferences Package: * Pin: release a=sarge-backports Pin-Priority: 1 Package: * Pin: release a=stable Pin-Priority: 900 Package: ruby1.8 Pin: release a=sarge-backports Pin-Priority: 900 Package: ruby1.8-dev Pin: release a=sarge-backports Pin-Priority: 900 Package: libruby1.8 Pin: release a=sarge-backports Pin-Priority: 900
ruby関連のみsargeと同じ優先度にしています。あとは
$ sudo apt-get update $ sudo apt-get upgrade $ ruby -v ruby 1.8.5 (2006-08-25) [i386-linux]
上記のように、ruby 1.8.5という表記が見えたので成功したようです。実にめでたい。
*1:backportsとはunstable、testingなどのパッケージをstableで使えるようにしたもの
Debian SargeのPosgresqlを8.1にする
本当は8.2.3にしたいのですが、backportsにあるのは8.1なもんでとりあえずこれです。実際は8.2系のバックポートを自分で作ってみようとして挫折したのでありました・・・
まずrubyの1.8.5化と同じように書いて優先度を上げてみたのですが、うまく行ってない様子。で、とりあえず
$ sudo apt-get install postgresql-8.1
とやると。postgresql-commonを必要とし、そいつのlsb-baseとssl-certのバージョンが古くてダメといわれる。2つのパッケージを、普通にbackportsを指定してインストールってできるのかもしれませんが、調べるのが億劫になったのでruby時と同じように
$ sudo vi /etc/apt/prefereces Package: lsb-base Pin: release a=sarge-backports Pin-Priority: 900 Package: ssl-cert Pin: release a=sarge-backports Pin-Priority: 900 $ sudo apt-get upgrade $ sudo apt-get install postgresql-8.1
という感じでやってみましたが、後で調べてみると
$ sudo apt-get -t sarge-backports install lsb-base or $ sudo apt-get install lsb-base/sarge-backports
のようにすれば、上記のように /etc/apt/preferences を書換えずにbackportsからインストールがかなったようです。
postgresql-8.1のインストール途中、古いDBから新しいDBへの変換がだめっぽいので、消してみない?みたく聞かれました。DBにテーブルの一つも作ってない私は勿論消してみたのでありました。