実行されていないシステムに欠落または破損したファイルを含むパッケージを再インストールしますか?

実行されていないシステムに欠落または破損したファイルを含むパッケージを再インストールしますか?

最初。よろしくお願いします。

それはちょっと似ています。#216697:ファイルが見つからないか破損しているパッケージを再インストールします。ただし、その人の場合は、回復後もシステムを引き続き使用できます。私はありません。 Xを起動できません。ネットワークがなく、systemdがすべての要件を満たしていないため、サービスを開始できません。技術的な面では、システムが破損しています。 (Fedora 26 i686)

DNFには--installrootコマンドがあり、LiveUSB OSから起動すると、ルートファイルシステムパーティションをマウントして次のことができます。dnf --installroot=/run/media/liveuser/sda6/repolist私が設定したすべてのリポジトリが一覧表示されます。もっと頑張ったdnf --installroot=/run/media/liveuser/sda6/ list --all何百ものパッケージ名がスクロールされます。私はDNF dbやrpmdbなどを想定しています。(本当に分からない、ごめんなさい)破損していないようです。

DNFでは、実行されていないシステムを使用できますが、実行されていないシステムでRPM -Vを使用する方法がわかりません。リアルタイムのオペレーティングシステムだけを扱うようです。私はそれをrootすることができると思いましたが、何も台無しにする危険を冒したくなかったので、インストールを確認し、破損したパッケージを強制的に再インストールするソリューションを見つけようと狂ったように尋ねて検索しましたが、空でした。

最後の手段として私は使用しますdnf --installroot={パス}の再インストール*しかし、これはダウンロードに多くの時間と多くのデータを無駄にします。少なくとも無人で発生する可能性があります。あるいは、LiveOSを使い続けて1〜2週間待ってから、無効なシステムにFedora 27がリリースされたらインストールすることもできますが、これはすべてのパッケージを強制的に再インストールするのと同じくらい無謀なことです。私はこれを行う方法を本当に学びたいです。

RPM忍者:助けて!

ベストアンサー1

rpm --rootおおよそ次のようなオプションを探しているようですdnf --installroot。これはRPMのマニュアルページで説明されています。

   --root DIRECTORY
          Use the file system tree rooted at DIRECTORY for all operations.
          Note that this means the database within DIRECTORY will be  used
          for  dependency  checks  and  any  scriptlet(s)  (e.g.  %post if
          installing, or %prep if building, a package) will be run after a
          chroot(2) to DIRECTORY.

すべてのパッケージがインストールされているファイルシステムにインストールされていることを確認するには、/run/media/liveuser/sda6/次のコマンドを実行します。

  rpm --root /run/media/liveuser/sda6/ -Va

おすすめ記事