問題を回避するために、リリースアップグレードを実行する前にどのような手順を実行する必要がありますか?


10

1404_HWE_EOLについて通知を受けた後、重要な本番システムを16.04.1にアップグレードすることを検討しています。これは、私が日常的に使用するワークステーションなので、「重要な生産システム」と言います。デバッグや問題の整理に費やす時間がないので、バグやその他の問題を避けたいです(IT部門はLinuxシステムをサポートしていません)。すべてのデータをバックアップしましたが、現在のOSパーティションはバックアップしていません(OSドライブをフォールバックの別のレイヤーとしてddする場合があります)。アップグレードする前に、他にどのような手順を実行する必要がありますか?Ubuntuで提供されているリリースアップグレードを使用するときに複雑さを最小限に抑える方法を知りたいです。

アップグレードする前にPPAを削除する方法について読みました。27個のPPAがインストールされていますが、これらすべて、つまりそれらが持っているプログラムを削除し、アップグレード後にそれを元に戻すには、しばらく時間がかかります。これには大きなメリットがありますか?他に何か?


この本番システムはVMですか?その場合は、アップグレード前にスナップショットを取得するか、スナップショットに戻すことができます。ローカル開発マシン(運用サーバーではない)でのアップグレードの失敗を回避するために、これを以前に使用しました。
ashes999

VMではありません。このような場合、これは素晴らしいオプションです。
Steven C. Howell

1
アップグレードすると、追加したPPAがプロセスによって自動的に無効になりました。それらを削除する必要はありません。アップグレード後、それらを再度有効にすることができます。歯が生える問題(私にとって)は、ほとんどがXenialをサポートするように更新されていないPPAのカップルに関するものでした。
Paddy Landau

注意。AMDグラフィックカードを使用している場合は、16.04で利用可能なドライバーと互換性があることを確認してください。私のものではありません。ハードウェアの寿命を延ばすために、14.04に戻りました。
トニーマーティン

回答:


13

重要な生産システム

そのようなシステムはアップグレードしません。16.04を別のマシンにインストールし、ライブデータをそのマシンにコピーします。テスト、もう少しテストします。そして、そのマシンを本番サーバーにします。

また、現在の14.04サーバーでは、18.04でこれをやり直すことができます。

なぜリスクを取るのか?


私の状況では、完全な複製ハードウェアスタックがないので、これを使用ddしてドライブ(SSDからHDDへ)のクローンを作成し、オリジナルとクローンの両方をテストしてから、核と舗装を行って新しいOSを配置します。私は過去にこれを常に行ってきましたが、いくつかの手順に従うことで、新しいリリースにアップグレードするための信頼できる方法が提供されることを期待しています。それは楽観的すぎるのでしょうか?
Steven C. Howell

いいえ。完全に可能です。あなたが考慮に入れる必要があるかもしれない1つの事柄:16.04は「systemd」を使用します。したがって、すべてのサービスの起動が変更されました。
Rinzwind 2016

では、do-release-upgradeUbuntuを次のLTSリリースにアップグレードするためにを使用する場合、どのようなステップで結果が改善されますか?
Steven C. Howell

この回答は健全なアドバイスを提供しますが、私の経験では安全なアップグレード方法ですが、組み込みのリリースアップグレードオプションの使用に関する情報は提供していません。それが私がもっとよく理解したいことです。
Steven C. Howell

申し訳ありませんが、「do-release-upgrade使用時の結果の改善」とは何ですか?
Rinzwind 2016

2

ワークステーションのイメージバックアップ(Linux Liveシステムでは「dd」)を取り、これをVirtualBox VMに変換します。(RAW-Image to VDI)。その後、スナップを作成し、このイメージをVBで実行します。アップグレードするすべての手順を実行します。何かがうまくいかない場合は、スナップを元に戻します。システムをアップグレードした後、VDIをrawに変換してシステムに「dd」するか、ランブックを再生できます。
ただし、古いシステムを上書きする前に、常に最後の「dd」イメージバックアップを作成してください。
私はシステムをUSBサムドライブから実行することを好むので、システムインストールは「VDI-> RAW-> usb tumb-drive」で実行され、アップグレード/インストールされたシステムから起動します。準備ができています。1つのUSBポートを「緩め」ても大丈夫ですが、ストレスを感じることはなく、いつでも簡単にシステムバックアップを実行できます。


1

これは、既存のハードウェアで動作する可能性がある@rinzwindの回答のバリエーションです。

内部ディスクドライブに十分な空き領域がある(または解放できる)場合は、2つの新しいパーティションを作成し(ライブCD / USBディストリビューションからgpartedのようなものを使用)、ルート(/)をその1つにコピーします。 / homeを他のユーザーに割り当て、root2やhome2などのラベルを付けて、見つけやすくします。

rootとhomeが同じパーティションにある場合は、それをコピーできますが、別々にした方が多くの理由で非常に便利です。

変更を編集して、新しいルートを新しい/ homeにポイントする必要があります。 /etc/fstab新しいルートパーティションの(新しい/ homeおよびルートパーティションのUUIDを更新します)。

あなたは行って、それらを取得しls -l /dev/disk/by-label、現在にしてから実行しているデバイスに新しいルートや家を見つけることls -l /dev/disk/by-uuidのUUIDにデバイス名から取得します。

次に、grub-customizerなどでgrubを(本稼働システムから)更新して、新しいルートをgrubメニューに追加します。

これで、これらのパーティションにライブシステムの正確なコピーが作成されます。このコピーでアップグレードを実行しても、製品版はそのまま残ります。作業したい方を起動できます。

アップグレードが完了したら、コピーがライブコピー(デフォルトエントリ)であり、オリジナルがバックアップであることをgrubに伝えるだけです。grub-customizerはこのようなことをかなり簡単にします。

/ homeまたはrootにデータが多すぎる(複製するには大きすぎる)場合は、最初にそれを独自のパーティションに配置します(移動についてアクセスするプログラムに必ず通知してください)。複製する必要はありません-バックアップするだけです。

また、システムと混ざり合うことがなくなるため、データのバックアップが非常に簡単になります。

「テスト」パーティションの2番目のセットを使用すると、日常業務に依存するシステムでリスクを冒したくないあらゆる種類のことを試すことができます。

現在、このようにKubuntu 12.04を実行しており、自分の「開発」パーティションで16.04を使用しています。

最近のディスクドライブの価格は非常に安いため、既存の内蔵ドライブを新しい大きなドライブにコピーして、必要に応じて使用することもできます(会社が許可する場合)。

この回答は、これを行う方法のすべての主要な詳細をカバーしています。各ステップの細部をすべてカバーしようとはしませんでした。しかし、すべてのコピーを使用しているので、深刻な問題は発生しないはずであり、他のすべては、すでにstackexchangeのどこかでカバーされています。


0

これは特定のケースには当てはまりませんが、UbuntuシステムがVMの場合、アップグレード前にスナップショットを取得し、機能しない場合は元に戻すことでこの問題を回避できます。

VMの1つをアップグレードしたところ、アップグレードが失敗し、ロールバックされたと思われますが、クリーンで機能的なシステムがありませんでした。

@Rinzwindの答えはVMでも機能します。新しいVMを作成し、それに新しいUbuntuバージョンをインストールして、コピーを開始します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.