web-dev-qa-db-ja.com

Ubuntuディストリビューションのアップグレード中にシャットダウンから回復する

ディストリビューションのアップグレード中に予期せずシャットダウンされたコンピューターがあります(Ubuntu 8.10-> 9.04)。起動が完了しなくなりました-さまざまなXエラーが発生し、ログイン画面に移動しますが、ログインは許可されません。

私はそれのバックアップを持っていて、/ homeデータはドライブ上でまだすべてOKなので緊急ではありませんが、完全な再構築はまだ面倒で時間のかかるプロセスです。これから回復する方法はありますか? 9.04のCDを持っていますが、上からインストールすることについて議論していました-それは良い考えですか?

それが失敗した場合、ドライブを検査し、インストールされているソフトウェアのリストを生成する良い方法はありますか。できれば、/ homeの外からの設定(/ etcなど)も可能です。


最初からやり直す必要がある場合、予期しないシャットダウンの責任者に対処するための推奨事項はありますか? :)


編集:すべての回答を本当にありがとう、私はそれぞれからのビットを使用する必要があったので、私は本当にすべての回答を受け入れる必要があります。私はこのようなものを使用してインストールを完全に修復することができました:

Sudo dpkg --configure -a
Sudo apt-get update
Sudo dpkg --configure -a
Sudo dpkg --configure -a --abort-after=99999
Sudo apt-get dist-upgrade
Sudo apt-get -f install
Sudo apt-get dist-upgrade
18
Colin Pickard

ルートとしてdpkgを使用できる場所に到達できる場合は、dpkg --configure -aを実行できます。

ただし、それが失敗したdist-upgradeで爆発する場合があるため、次のものが必要になる場合があります。

dpkg --configure -a --abort-after=99999
11
Oli

CTRL-ALT-F1を押して、コマンドプロンプトが表示されるかどうかを確認してください。ログインできるかどうか確認してから、実行してみてくださいSudo apt-get dist-upgrade。これにより、アップグレードも完了できます。エラーが発生する可能性があるため、Sudo dpkg --configure -aを使用する必要がある場合もあります。


インストールされているソフトウェアのリストを取得するには、コマンドdpkg --get-selectionsを実行します。そのコマンドの出力をファイルに保存すると、コマンドcat selections |を使用できます。 Sudo dpkg --set-selections次に、コマンドSudo apt-get dselect-upgradeを使用して、実際にすべてを取得しますインストールされたパッケージ。

この方法を使用する場合は、/ etcおよび/ homeフォルダーを別のデバイスにバックアップする必要があります。

7
Zoredache
Sudo apt-get update
Sudo dpkg --configure -a
Sudo apt-get update
Sudo apt-get dist-upgrade

1行目は、ダウンロードしているリポジトリの現在のレベルを更新します

2行目で、「不良」状態のパッケージを再構成します

3行目は、2行目のプロセス中にリポジトリが新しいバージョンに「移動」する場合に備えてそこにあります。

4行目でジョブが終了します。

5
Avery Payne

アップグレード中に電源が切れた後、Xubuntuが起動しないという壊滅的な状況から回復することができました。 POSTの約10秒後、Xubuntuは多数のエラーで停止します(grubで「リカバリー」オプションをロードしようとしても機能しません)。

したがって、誰かがこれにつまずいた場合は、Ubuntuフォーラムからターミナルウィンドウにアクセスするのに役立つ情報を投稿しているので、上記のColinとAveryのコマンドを使用できます。

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

ubuntuforums.org/showthread.php?t=157250

アップグレード後にシステムが溶けた、または新しいカーネルが起動しないとしましょう。コマンドラインに到達することさえできないため、apt-getで問題を修正することはできません。カーネルはエラーを吐き出して、起動時にハングします。ありがたいことに、ライブCDを使用すると、システムを修復して稼働させることができます。ライブCDには、KnoppixまたはUbuntuライブCDの2つのオプションがあります。一般にKnoppixの方がハードウェア検出に優れているため、これを例として使用します。

  1. まず、isoを http://www.knoppix.org/ からダウンロードし、ディスクに書き込みます。
  2. CDから起動し、Knoppixディスクを挿入して起動するようにBIOSを設定します。
  3. システムに応じて、ハードドライブがKDEデスクトップにhda1またはsdb2または何かとして表示されます。
  4. それをクリックしてマウントし、右クリックして、アクション->読み書きモードに変更します。ダイアログがポップアップ表示されます。はいをクリックします。
  5. 次に、Knoppixメニュー(パネルのKの横にあるもの)にあるルート端末を開きます。次のように入力します。chroot/ mnt/hda1またはハードドライブのアイコンがデスクトップに表示するもの。

これで、apt-getを含む、ハードドライブ上のすべてのコマンドを使用できます。 「/ dev/null:権限が拒否されました」というエラーが発生した場合は、「Sudo rm/dev/null」を実行すると、エラーが発生しなくなります。次に、apt-getを使用して、カーネル、udev、またはシステムをめちゃくちゃにしている何かをアップグレードします。

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

それも完璧に機能しました!手順に従ってハードドライブをマウントし、ターミナルウィンドウを開いて、「Sudo chroot/media/hda1」と入力すると、ようやくハードドライブにアクセスできるようになりました。その後、このスレッドで以前に投稿したコマンドを使用して、アップグレードプロセスを再開できました。 :)

Ubuntu Live/Installation CDに、この回復プロセス全体を容易にするための「回復コンソール」が組み込まれていないのは不思議です。

5
Chris

私にとっても、すべてのパッケージが正しく設定されるように、chroot環境で別のコマンドが役立ちます(dpkg ,distなどの前に実行してください)。

Upstartはサービススーパーバイザーとして機能し、chroot内のプロセスはchrootの外部で実行されているupstartと通信できないため、chrootでupstartジョブを開始できません(Bug:430224)。これにより、変換された一部のパッケージは、initスクリプトの代わりにupstartジョブを使用するようになり、chroot内でのアップグレードに失敗します。ユーザーは、/ sbin/initctlが/ bin/trueを指すようにchrootを構成し、次のコマンドをchroot内で実行することをお勧めします。

コード:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
1