
Ubuntu日本語フォーラム

ログインしていません。
いつもお世話になっております。
apt-getによるアップデート作業について2点ほどお尋ねします。
(1) カーネルを含むアップデートはapt-get upgradeではなく、apt-get dist-upgradeが必要なようですが、Ubuntuをクリーンインストールした直後は、端末から
$ sudo apt-get update $ sudo apt-get dist-upgrade
とやって問題ないのでしょうか。(シェルスクリプトでアップデートやパッケージのインストールの自動化を考えています)
(2) Web上の記事を見ていると、通常のアップデート作業はapt-get upgradeで行ない、apt-get dist-upgradeの使用は慎重さが求められるようです。しかし、Ubuntu側が時々提示してくるアップデートマネージャーではカーネルのアップデートが行われることがあり、内部的にapt-get dist-upgradeが実行されていると思っているのですが、ユーザーが任意のタイミングでapt-get dist-upgradeを行うのと何か違いはあるのでしょうか。
オフライン
使用者としての間隔なのでapt開発者の意図とは違うかもしれません。
updateは現在のバージョン(12.04など)のセキュリティアップデートで、カーネルのバージョンが大きく変わることはないですが、セキュリティアップデートが掛かるので下の方のバージョンが上がることがあります。
dist-upgradeは12.04から12.10などのようにUbuntu自体のバージョンを上げるときに使うと思っています(たぶん、この辺が違う気がします)下手にdist-upgradeをするとリポジトリの設定によってはαが来たりして、起動できなくなったり凄いバギーな状態になったりします。(これは経験があります(^_^;)
なので「アップデート」といっているのがセキュリティアップデートであれば
apt-get update
apt-get upgrade
を日常的にやっておけばでいいのではないかと思います。
オフライン
av7y6unm による投稿:
(1) カーネルを含むアップデートはapt-get upgradeではなく、apt-get dist-upgradeが必要なようですが、Ubuntuをクリーンインストールした直後は、端末から
コード:
$ sudo apt-get update $ sudo apt-get dist-upgradeとやって問題ないのでしょうか。(シェルスクリプトでアップデートやパッケージのインストールの自動化を考えています)
問題ないです。ただ、自動化の目的にもよりますが、ほとんどの場合はシェルスクリプトを用いるよりもunattended-upgradeパッケージを利用する(一部設定を調整して使う)方が妥当な挙動になると思います。特殊なケースではシェルスクリプトの方がいい(たとえばunattended-upgradeはcronで実行されるので、cronを待っていられない場合)可能性もありえますが、最初の検討からは外すべきだと思います。
(2) Web上の記事を見ていると、通常のアップデート作業はapt-get upgradeで行ない、apt-get dist-upgradeの使用は慎重さが求められるようです。しかし、Ubuntu側が時々提示してくるアップデートマネージャーではカーネルのアップデートが行われることがあり、内部的にapt-get dist-upgradeが実行されていると思っているのですが、ユーザーが任意のタイミングでapt-get dist-upgradeを行うのと何か違いはあるのでしょうか。
特に違いはありません。dist-upgradeに慎重さが必要なのはサーバー(通常は常時稼働が求められるので、カーネルの更新で再起動が必要になった場合の影響範囲が大きい)程度で、Ubuntuのデスクトップ利用の場合は常時apt-get dist-upgradeしていてもリスクは小さいです(update-manager経由の更新で常にdist-upgradeされているので、一種の「みんなで渡れば怖くない」的な展開)。
オフライン
arrayさん、hitoさん
詳細なアドバイスありがとうございます。
apt-getによるアップデートとアップデートマネージャに関する疑問が解けました。
unattended-upgradeパッケージは使ったことがないのですが、調べてみたところ、まさに今回のアップデート自動化に最適ですね。(Ubuntu Weekly Recipeの第83回)
こちらを試してみたいと思います。
オフライン