印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux 特定のパッケージだけを apt-get でアップグレード

Vine Linux で特定のパッケージのパッケージだけをアップグレードするには apt-get install を使う。

■ ■ ■

先日,apt-get の言うままにパッケージのアップグレードをしたところ,PHP のパッケージのバージョンが上がり PukiWiki が動かなくなってしまうということがあった (nlog(n): PukiWiki 1.4.5_1 が PHP 5.0.5 で 致命的エラー)。したがって,PHP はアップグレードしたくない。しかし,他のパッケージについてはアップグレードしたい。

更新されているパッケージのなかから,特定のパッケージだけをアップグレードするには apt-get install を使う (APT - Advanced Packaging Tool)。以下は PHP 関連パッケージ以外をアップグレードしたときの方法である。ちなみに,PukiWiki は PHP 5.0.5 で動作するようにパッチがリリースされている。

まず,apt-get update で自分の持っているパッケージデータベースを更新する。

# apt-get update

次に,apt-get upgrade で更新をかけるが,途中で Enter を押さないようにする (思わず押しそうになるが)。

# apt-get upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージがアップグレードされます:
  curl net-snmp net-snmp-utils openssl openssl-perl openssl096 php5
  php5-apache php5-pear
アップグレード: 9 個, 新規インストール: 0 個, 削除: 0 個, 保留: 0 個
4461kB/9479kB のアーカイブを取得する必要があります。
展開後に 61.7kB が解放されます。
続行しますか? [Y/n] n
中断しました。

「続行しますか?」という問い合わせがあるので「n」を入力して中断するのがポイント。ここで php5 関連パッケージ以外をコピーして,apt-get install の後ろにペーストする。

# apt-get install curl net-snmp net-snmp-utils openssl openssl-perl openssl096
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージがアップグレードされます:
  curl net-snmp net-snmp-utils openssl openssl-perl openssl096
アップグレード: 6 個, 新規インストール: 0 個, 削除: 0 個, 保留: 3 個
4461kB のアーカイブを取得する必要があります。
展開後に 390kB が解放されます。
...
変更を適用しています...
準備中...                   ########################################### [100%]
   1:openssl-perl           ########################################### [ 16%]
   2:openssl                ########################################### [ 33%]
   3:curl                   ########################################### [ 50%]
   4:net-snmp-utils         ########################################### [ 66%]
   5:net-snmp               ########################################### [ 83%]
   6:openssl096             ########################################### [100%]
完了

これで完了である。

PukiWiki 1.4.5_1 のバグ (BugTrack2/106 - PukiWiki-dev)に関しては,...ing logging さんによりパッチが公開されている(...ing logging:Vine3.2 + Apache1.3.33 + php5.0.5 + pukiwiki1.4.5_1)。2005年10月31日に新しいバージョンである PukiWiki 1.4.6 がリリースされ,この問題はフィックスされている。

1.4.5_1 から 1.4.6 への移行はどうやるのだろう? と思ったりして。PukiWiki/インストール/1.4系列-1.4.4以降 - PukiWiki-official には解説がないのだが,知っていて当然だったりすることなのだろうか?

2005年11月2日追記:
PHP 5.0.5 以下に重大な脆弱性が発見されました(yohgaki's blog - PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下))。PHP 5.0.3 は PHP 5.0.5 に上げて,しかもパッチを適用しなければなりません。それには PHP 5.0.5 のソースを持ってきて,パッチを適用し,rpm パッケージを作らなければなりません。Vine Linux による更新パッケージのリリースを待つのが安全です (心配な場合は,リリースまで PHP を止めておく)。それよりも,PukiWiki を 1.4.6 にする方が先決です。

2005年11月5日追記:
PukiWiki を 1.4.6 にアップグレードし,PHP を 5.0.5 にしました(nlog(n): PukiWiki を 1.4.6 に移行)。

2005年12月11日追記:
上記の脆弱性がフィックスされた PHP 5.1.1 の Vine Linux 版が出ました。

Posted by n at 2005-11-01 01:16 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?