apt-get dist-upgradeの中断:何が起こりますか?


10

私が自分のコンピュータにsshして実行したとしましょう

sudo apt-get dist-upgrade

そして、apt-getを実行してパッケージをインストールしている間に、ターミナルに座ってgnomeにログインしている別の人が、GUIを介してコンピューターをシャットダウンすることにしました。

この状況で起こり得る最悪の事態は何ですか?パッケージが「ダーティ」状態のままになるのを防ぐメカニズムはありますか?そうでない場合、それを防ぐ方法は?

回答:


8

最悪のケースのシナリオでは、システムが壊れて正常に起動できなくなる可能性がありますが、常にレスキューモードで起動して修正できます。

  1. UbuntuのインストールCDROMでブートし、ブートプロンプトで「rescue」と入力して、レスキューモードを使用します。

  2. すべてのパーティションをマウントし、ルートパーティションがマウントされている/ targetにchrootを実行します。

  3. システムが起動してメニューが表示されたら、「Drop to root shell prompt with networking」という項目を選択します。これにより、インターネットからソフトウェアパッケージを更新することができます。

  4. プロンプトが表示されたら、まず、現在インストールされているすべてのプログラムが構成されていることを確認します。

    dpkg --configure -a

システムが停止する前にインストールされたプログラムの数によっては、これに時間がかかる場合があります。

  1. 次に、パッケージの現在のリストを更新します。

apt-get update

  1. これに続いて、システムのソフトウェアをアップグレードします。

apt-getアップグレード

この最後のステップも、完了するまでに長い時間がかかる場合があります。保留されているパッケージのリスト(このコマンドの出力の上部にリストされている)に注意する必要があります。これらのパッケージは具体的に要求する必要があります。

通常、パッケージは新しいソフトウェアまたはその他の大幅な変更を必要とするため、保留されます。Linuxカーネルは常に保留されます。これらのパッケージをインストールするには、次のようなコマンドを使用します。

apt-get install some-package some-other-package

すべてのパッケージがインストールされ、何も阻止されなくなるまで、これを2回以上繰り返す必要がある場合があります。

次に、システムが可能な限りアップデートされていることを完全に確認するために、アップデートとアップグレードを繰り返す必要があります。

apt-get update

apt-getアップグレード

すべてがおそらく完了しているため、これらの最後のコマンドは迅速に実行されるはずです。ただし、アップグレードが別のアップグレードを必要とするものに影響を与えることは不可能ではありません。これを実行しないことはおそらく重要ではありませんが、とにかくそれをしないのはなぜですか?

完了したら、古いソフトウェアが使用されていないこと、および使用されているすべてが新しいアップグレードされたソフトウェアであることを確認するために、再起動が必要です。ブートを続行するだけでなく、再起動します。

あとで、場合によっては再起動後に、もう1つクリーンアップを行うことができます。コマンドシェルで次のコマンドを入力して、不要なソフトウェアを削除します。

apt-get autoremove

ソース


これはまったく新しい質問かもしれませんが、簡単に修正する方法はありますか?いくつかの復元コマンドのように?
giZm0

1
私はそれを含めるために私の回答を更新しました
LnxSlck

2
apt-get dist-upgradeどこでも実行することをおapt-get upgrade勧めします。これにより、「保留」されたパッケージを手動でインストールする必要がなくなります。
ミッコランタライネン2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.