更新後に変更されたパッケージのロールバックをサポートするツールまたは完全なディストリビューションはありますか?
例:パッケージA、B、Cをアップグレードしました。数日間このパッケージを使用した後、Bで取引を中断するバグが見つかりました。
バグレポートを送信すると同時に、Bを以前のバージョンにダウングレードして、やりたいことをする必要があります。同時に、AはBに依存するため、ダウングレードも必要ですが、Cは両方に独立しているため、現在のバージョンを維持できます。
この機能をサポートするツールやディストリビューションはありますか?
ほとんどのディストリビューションにはパッケージをダウングレードする方法があることがわかりますが、以前のパッケージがリポジトリから削除されたため、これはしばしばやや概略的であっても不可能であり、場合によっては(Xサーバーやメサポストをアップグレードするなど) …汚れた。
答え1
ニックOSアップグレードのロールバックはサポートされていますが、私が理解しているように、あなたは望むほど進行しません。 A、B、Cを一度にアップグレードする場合は、AとBだけでなくタスク全体をロールバックできます。 A、B、CをロールバックしてからCをアップグレードできます...)しかし、トランザクションの観点からは意味があります。
Debian(とスナップショットアーカイブ既存のパッケージがない場合は、Bをダウングレードすることができます。または、同じツールapt
でaptitude
は、ほとんどの場合、Aもダウングレードする必要があることがわかります(単にBをアップグレードしたくないと確信している場合)。しかし、あなたが言ったように、これは少し混乱する傾向があり、パッケージのダウングレードはとにかくDebianではサポートされていません(つまり、ほとんどの場合動作しますが、うまくいかないとバグではありません)。
答え2
展開yum
ベースの展開(例:レッドハットEL、中央オペレーティングシステムなど)次のことができます。
次のコマンドを使用して、システムの変更履歴を確認してください。
sudo yum history list
Loaded plugins: fastestmirror ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------ 10 | Administrator <admin> | 2016-03-08 09:08 | Install | 11 9 | Administrator <admin> | 2016-03-03 16:48 | Install | 1 8 | Administrator <admin> | 2016-03-03 16:09 | Install | 5 7 | Administrator <admin> | 2016-02-26 18:13 | Install | 1 6 | Administrator <admin> | 2016-02-26 15:12 | Install | 27 5 | Administrator <admin> | 2016-02-26 15:07 | Install | 1 4 | Administrator <admin> | 2016-02-26 15:05 | Install | 3 < 3 | Administrator <admin> | 2016-02-26 15:03 | Install | 1 > 2 | Administrator <admin> | 2016-02-26 15:01 | I, U | 49 1 | System <unset> | 2016-02-26 14:38 | Install | 296 history list
詳細を確認するには、以下を使用してください。
sudo yum history info 10
- 履歴の前のポイントにロールバックするには、次のようにします。
sudo yum history rollback 9
警告する
いくつかの明確な注意があります。
- 以前のパッケージがもう利用できなくなったら、それはめちゃくちゃです(@vonbrand引用)。
- yum以外のアイテムをインストールすると、記録が壊れることがあります。
私の例では、<
IDがある行4
(最後の列)にあることは、その点を過ぎてロールバックできないことを意味します。
sudo yum history rollback 2
Loaded plugins: fastestmirror
Transaction history is incomplete, before 4.
You can use 'history rollback force', to try anyway.
Error: Failed history rollback, incomplete
答え3
存在するSUSEを開く簡単に使えますBtrfsファイルシステムを使用したSnapper。
使用する場合基準インストール中のファイルシステムの構成、デフォルトで有効。
Snapperが有効になるとyast2
完全に統合されますzypper
。何かをインストールまたはアップグレードするたびに(またはユーザーを作成するときなど)、ファイルシステムのスナップショットが作成されます。
システムを以前の状態にロールバックするには、を実行しますyast2 snapper
。
答え4
Fedoraでは(他のディストリビューションでも同様です)、以前のバージョンに戻るように要求できます。
dnf downgrade <packages>
パッケージの2番目のバージョンを提供したら、次のように特定のバージョンを要求できます。
dnf downgrade <package>.<version>
これは、パッケージがリポジトリでまだ利用可能な場合にのみ機能します。それにもかかわらず、この機能は聞いたことがありません。アップグレードの一部が構成変更の場合、ロールバックが正確な以前のバージョンである必要はないという障害があります。