PR

[Ubuntu][VMware] apt-get でupdate させない

VMware Server2 を使っているのだが、アップデートなどを行うと毎度面倒が付きまとう。

前回はdist-upgrade を行なってしまい、起動不能になってしまった。(前回、文末で)LTS か不明としたが、調べたところLTS ではないものだったらしい。今回はLTS のほうをupgrade することになった。

スポンサードリンク

$ sudo aptitude upgrade
W: The "upgrade" command is deprecated; use "safe-upgrade" instead.
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
依存関係を解決中...
依存関係を解決中...
以下の新規パッケージがインストールされます:
  firefox-locale-en{a} firefox-locale-ja{a} linux-headers-2.6.32-38{a}
  linux-headers-2.6.32-38-server{a} linux-image-2.6.32-38-server{a}
以下のパッケージは『削除』されます:
  linux-headers-2.6.32-31{u} linux-headers-2.6.32-31-server{u}
以下のパッケージは更新されます:
  apport apt apt-transport-https apt-utils aptitude base-files bind9-host
  byobu bzip2 ca-certificates dhcp3-client dhcp3-common dnsutils
   :
  update-notifier-common
以下のパッケージが推奨されていますがインストールされません:
  dbus
62 個のパッケージを更新、 5 個を新たにインストール、 2 個を削除予定、0 個が更新 されていない。
62.2MB のアーカイブを取得する必要があります。 展開後に 129MB のディスク領域が新 たに消費されます。
先に進みますか? [Y/n/?]

aptiude でupgrade から除外

うーむ。このままやってしまうと、また面倒が予想される。回避策はないものか調べると「log/2010-05-12 – weiki (作業ログやそのまとめ)」に「ubuntu apt-get カーネル アップグレードしない disable kernel updates 」というものを発見!

手順として「uname -r」で現状を調べて(この例では2.6.32-31-server)、「sudo aptitude hold kernel-image-2.6.32-31-server」とすればよいらしい。

$ uname -r
2.6.32-31-server
casey@***:~$ sudo aptitude hold kernel-image-2.6.32-31-server
$ sudo aptitude hold kernel-image-2.6.32-31-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
名前か説明が "kernel-image-2.6.32-31-server" にマッチするパッケージは見つかりま せんでした
名前か説明が "kernel-image-2.6.32-31-server" にマッチするパッケージは見つかりま せんでした
インストール・削除・更新されるパッケージがありません。
0 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、62 個が更新 されていない。
0B のアーカイブを取得する必要があります。 展開後に 0B のディスク領域が新たに消費されます。
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了

うーん。できたのかできないのかわからない。「kernel-image」ではなくて「linux-image」なのか?

$ sudo aptitude hold linux-image-2.6.32-31-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
インストール・削除・更新されるパッケージがありません。
0 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、62 個が更新 されていない。
0B のアーカイブを取得する必要があります。 展開後に 0B のディスク領域が新たに消費されます。
拡張状態情報を書き込んでいます... 完了
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了

hold されたか確認

ちょっとメッセージが違う。けれど受理されたという確証が欲しい。さらに調べると、以下のようにするとホールドされているものがわかるらしい。

$ aptitude search "~ahold"
ihA linux-image-2.6.32-31-server    - Linux kernel image for version 2.6.32 on x

これをみると、ホールドされる扱いになっているらしい。それではupgrade をしてみる。(でも心のなかではkernel-headers などを入れなくても良いのか?など葛藤もある)

$ sudo aptitude upgrade
W: The "upgrade" command is deprecated; use "safe-upgrade" instead.
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
依存関係を解決中...
依存関係を解決中...
以下の新規パッケージがインストールされます:
  firefox-locale-en{a} firefox-locale-ja{a} linux-headers-2.6.32-38{a}
  linux-headers-2.6.32-38-server{a} linux-image-2.6.32-38-server{a}
以下のパッケージは『削除』されます:
  linux-headers-2.6.32-31{u} linux-headers-2.6.32-31-server{u}
以下のパッケージは更新されます:
  apport apt apt-transport-https apt-utils aptitude base-files bind9-host
  byobu bzip2 ca-certificates dhcp3-client dhcp3-common dnsutils
    :
  update-notifier-common
以下のパッケージが推奨されていますがインストールされません:
  dbus
62 個のパッケージを更新、 5 個を新たにインストール、 2 個を削除予定、0 個が更新 されていない。
62.2MB のアーカイブを取得する必要があります。 展開後に 129MB のディスク領域が新 たに消費されます。
先に進みますか? [Y/n/?]

動作確認

南無三っ!

$ vmware
@@PRODUCT_NAME@@ is installed, but it has not been (correctly) configured
for the running kernel. To (re-)configure it, invoke the
following command: /usr/bin/vmware-config.pl.

ダメでした。

が、参考文献に記載された手順を行うと容易に(いつもの手順で…)復帰した。

$ sudo apt-get install build-essential linux-headers-`uname -r`
$ sudo /usr/bin/vmware-config.pl

# まだまだ基本的な所が理解できていないらしいorz
# 親切に警告してくれているが safe-upgrade というのもあるそうだ

参考文献

コメント