web-dev-qa-db-ja.com

Fedora22から23へのアップグレードに失敗しました。現在Fedora24を使用しています

これを使用してFedora22をFedora23にアップグレードしようとしました ガイド しかし、問題が発生し、まだFedora 22を使用しているようです。ただし、システムはFedoraを実行していると見なします24

  $ cat /etc/*-release
Fedora release 24 (Rawhide)
NAME=Fedora
VERSION="24 (Workstation Edition)"
ID=Fedora
VERSION_ID=24
PRETTY_NAME="Fedora 24 (Workstation Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:Fedora:24"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=Rawhide
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=Rawhide
PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy
VARIANT="Workstation Edition"
VARIANT_ID=workstation
Fedora release 24 (Rawhide)
Fedora release 24 (Rawhide)

dnfは、リポジトリでFedora 24を検索するため、機能しません。

どうすればこれを修正できますか。

3
xuma202

これを試して:

  1. すべてのファイル/etc/*-releaseについて、バージョン値を23に設定します。
  2. Fedora-rawhideリポジトリを無効にします(/etc/yum.repo.d/Fedora-rawhide.repoを設定してenable=0を変更します)
  3. ターミナルで、dnf distro-syncを実行します
  4. このステップでパッケージでエラーがスローされ、パッケージの名前にf24の値が含まれている場合のみdnf remove <entier package name>を実行します。
  5. やり直しdnf distro-sync

このソリューションにより、有効なFedora23がインストールされます。

3
Alex

あなたが言及するガイドは少し複雑で、1ページに多くの不要な追加情報が含まれているため、実際には2つの簡単なコマンドで十分な場合でも、主題全体が非常に複雑に見えます。さらに、システムアップグレードプラグインの使用方法を実際に説明しているページにアクセスするには、2つのリンク(dnfを使用しないように指示する警告メッセージの「メソッド」、次に「専用ページ」)をたどる必要があるようです。アップグレードを準備する公式の方法。

具体的には、質問にリンクされているこのwikiページでは、yum/dnfを直接使用してアップグレードする方法について説明しています。これは非推奨であり、公式の方法ではありません。 「推奨されない」とは、「何かを壊す可能性がある」という意味です。少なくとも、ページの上部に黄色の警告通知があり、基本的に、ユーザーが何をしているかを知らない限り、そのページに記載されていることを行わないようにユーザーに指示しています。 Fedoraには公式のアップグレード方法があります。昔はPreUpgradeでしたが、Fedora 18からはFedUpで、Fedora 23へのアップグレードからは、dnfプラグイン「system-upgrade」になりました。明確にするために、これはdnfのプラグインであり、dnf自体だけではありません。

どのコマンドが使用されたかが明確でないため、これは非常に一般的な答えになります。


元の質問については、すでに回答を受け付けていますが、作者のコメントによると、エラーが発生しました。まず、正当な理由がない限り、構成ファイルのバージョン番号を手動で変更してくださいnot。あなたはさらに損益分岐点になるかもしれません。

23ではなくrawhideにアップグレードしたように聞こえます。その場合は、ダウングレードを試みてください。だから私は提案することができます:

# dnf system-upgrade --releasever=23 --setopt=deltarpm=false distro-sync
# dnf system-upgrade reboot

プラグインを呼び出すためのsystem-upgrade引数を忘れないでください!


何をするしない

設定ファイルのバージョン番号を変更したり、dnfを実行したりしないでください。運が良ければ、他のプログラムが依存しているファイルを誤って変更しただけです。運が悪ければ、特にリポジトリファイルを変更するときに、将来の更新/アップグレードを中断する可能性があります。 $releaseverファイルから/etc/yum.repos.d/*.repo変数も削除しないでください。これらの変数は重要です。これを行い、次のアップグレードのために6か月以内に再度変更するのを忘れた場合、そのアップグレードはおそらく壊れるか、ひどく失敗します。

構成ファイルを既に変更している場合(インターネット上で多く見つけることができる悪いアドバイスに従って)、変更する前に、作成した各ファイルのバックアップコピーを使用して、最初に変更を元に戻します。


Fedora22からFedora23にアップグレードする方法(公式)

FedUpは非推奨になり、systemdはシステムをアップグレードするために内部的に使用されるようになったため、アップグレードを準備して開始するための新しいコマンド「dnfsystem-upgrade ...」があります。ただし、互換性の理由から、fedupコマンドは引き続き機能します。

繰り返しますが、アップグレードはdnf自体ではなく、system-upgradeと呼ばれるdnf pluginによって開始されます。したがって、少なくともこのプラグインの現在のバージョンを最初にインストールする必要があります。

準備:

  1. 「システムアップグレード」プラグインをインストール/更新します:dnf install dnf-plugin-system-upgrade
    場合によっては、依存関係の問題について文句を言うことがあります。--best/--allowerasingdnf install --best dnf-plugin-system-upgradeを追加する必要がある場合があります。
  2. アップグレードを準備する前に、システムを更新する必要があります。とにかく動作することがよくありますが、更新しない限りアップグレードが動作することは保証されていません。したがって、dnf upgrade

次に、アップグレードを準備して開始します。これは基本的に2段階のプロセスです。

  1. # dnf system-upgrade download --releasever=23
    または# fedup --network 23dnf system-upgradeにリダイレクトします)
  2. # dnf system-upgrade reboot

この最後のコマンドは、システムをアップグレードモードで再起動します。起動時に選択する必要のある新しいGrubブートエントリ「システムアップグレード」を作成したFedUpとは異なり、システムは通常のシャットダウンを実行し、通常どおり起動を開始しますが、グラフィカルデスクトップがロードされる前にアップグレードプロセスを開始します。すべてがうまくいくと、新しいFedora23が後で起動します。

dnf Pythonトレースバックエラー

現在、dnfの破損に関して報告されている問題があり、すべてのdnf呼び出しでバックトレースが表示されます。これは、システムを通常どおり更新することで修正する必要がありますが、dnfがないと不可能であるため、回避策を使用する必要があります。 (dnf呼び出しの)エラーメッセージは次のようになります。

Traceback (most recent call last):
  File "/bin/dnf", line 36, in <module>
...
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 51: ordinal not in range(128)

回避策は、すべてのdnf呼び出しの前にLANG=Cを付けることです。たとえば、完全な更新を実行します。

# LANG=C dnf -y upgrade

dnfシステム-アップグレード再起動ループ

システムアップグレードの開始に失敗するシナリオがありますが、一度開始してからシステムに再起動するのではなく、再起動ループに陥り、システムを使用できなくなります。これは頻繁に発生するようで、 [〜#〜] readme [〜#〜] でも言及されているので、ここでも言及したいと思いました。アップグレードの再起動ループから抜け出す方法:

  1. 起動直後、Grubブートメニューで、 e ブートパラメータを編集します。テキスト領域で、linuxで始まる行まで下にスクロールし、 End カーソルを行の終わりに移動し、(空白の後に)rd.breakを追加します。次にヒット F10 緊急モードで起動するには、シェルを取得します。
  2. ファイルを削除する必要があるため、ルートファイルシステムは読み取り専用でマウントされているため、読み取り/書き込みで再マウントする必要があります。
    # mount -o remount,rw /sysroot
  3. システムアップグレードリンクを削除します。
    # rm /sysroot/system-update
  4. 再起動(rebootコマンドまたは Ctrl+Alt+Del)、システムは正常に起動するはずです。 dnf system-upgrade cleanを実行して、アップグレードファイルをクリアすることをお勧めします。
1
basic6