はちゅにっき

こっちのブログはまったり更新

unstable からパッケージを借りて nginx 1.4.1 をインストール

Debian/weedy がリリースされたため、普段利用している環境も Debian/jessie へとアップグレードされました。
ということで(?)、前回の記事で CentOS に nginx 1.4.0 をインストールしましたが Debian/jessie にも SPDY 対応版の nginx をインストールすることに。
ただし jessie 標準パッケージでは nginx のバージョンが 1.2.6 となっているので、sid (unstable) からパッケージを借りてのインストールとなりました。
Debian のバージョンや、インストールするパッケージに依存せず、unstable からパッケージを借りてのインストールする場合の作業方法となるため、メモメモ。

apt-line の更新

unstable からパッケージを借りるため、まずは sid 用の apt-line を追加します。
今回は /etc/apt/sources.list.d 以下に unstable.list というファイルを作り、そこに追加しました。

  • /etc/apt/sources.list.d/unstable.list
deb http://ftp2.jp.debian.org/debian/ unstable main
deb-src http://ftp2.jp.debian.org/debian/ unstable main

パッケージのプライオリティ指定

apt-line を指定しただけだと、知らぬ間にシステム全体が Unstable になってしまうため、パッケージをインストールする際の優先度を指定します。
詳しくは D: AptGet - Debian GNU/Linux スレッドテンプレ のあたりを参照しました。
設定は /etc/apt/preferences.d 以下にリリースバージョンごとファイルを作成しました。

  • /etc/apt/preferences.d/testing
Package: *
Pin: release a=testing
Pin-Priority: 990
  • /etc/apt/preferences.d/unstable
Package: *
Pin: release a=unstable
Pin-Priority: 90

これで、明示的に unstable のパッケージを利用すると宣言しない限りは、testing のパッケージが導入されることになります。

aptitude update する

設定が終わったらいったん update をします。

$ sudo -s aptitude update

念のためこれまでの設定が正しくできているか、目的の nginx が導入できそうか確認するため、aptitude show を使って nginx のバージョンを取得しました。
まずは、デフォルト (testing) の場合

$ sudo -s aptitude show nginx
パッケージ: nginx
状態: インストールされていません
バージョン: 1.2.6-1
... ()

続いて明示的に unstable (-t unstable) を指定した場合

$ sudo -s aptitude -t unstable show nginx
パッケージ: nginx
状態: インストールされていません
バージョン: 1.4.1-1
... ()

ということで、明示的に unstable を利用することを宣言すれば、目的の 1.4.1 の情報を取得することができました。

unstable からパッケージを借りてのインストール

あとは、通常のインストールとほぼ一緒。
今回は SPDY が目当てなので nginx-extras をインストールします。

$ sudo -s aptitude -t unstable install nginx-extras

spdy が有効か確認します。

$ /usr/sbin/nginx -V 2>&1 | grep -o spdy
spdy

ということで、無事にインストールできました。