apt-get --fix-missingは何をし、いつ役に立つのですか?


38

manページから:

-m, --ignore-missing, --fix-missing
  Ignore missing packages; if packages cannot be retrieved or fail the integrity 
  check after retrieval (corrupted package files), hold back those packages and 
  handle the result. 

  Use of this option together with -f may produce an error in some situations. If a 
  package is selected for installation (particularly if it is mentioned on the 
  command line) and it could not be downloaded then it will be silently held back. 

 Configuration Item: APT::Get::Fix-Missing.

これは紛らわしいです:

  1. 「欠落を無視」と「欠落を修正」を同じオプションの同義語にするにはどうすればよいですか?
  2. この文脈で「保留」とはどういう意味ですか?
  3. 「結果の処理」とはどういう意味ですか?

とにかくどのような状況で便利ですか?aptインデックスにないパッケージをインストールしようとすると、次のメッセージが表示されます。

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

2つの提案(apt-get updateapt-get install --fix-missing...)はまったく同等ですか?


うん、変だ。私はいつもそれ--fix-missingが同義語だと思っていました-f。ただし、動作はSynapticの動作と同じである必要があります。ダウンロードしたパッケージのみを更新してください。
ダナテラ

回答:


35

OK、順番に:

  • (1)-mは無視欠落しているかの修正不足しているパッケージ(とは対照的に-f 壊れたパッケージ)。これらのオプションは、同じオプションの同義語です。(修正するため、ここからは無視しますので、独自の奇妙さを取ります :-))
  • (2-3)apt-get upgradeまたはでインストール/アップグレードするとapt-get install somepackage、通常aptは依存関係を更新しようとします。これは、いくつかのパッケージが既存のパッケージの新しいバージョンまたは更新されたバージョンなどを必要とすることを、カスケードの依存関係で見つけることを意味します。これらのパッケージの一部が欠落しているか、整合性チェックに失敗した場合、このパッケージを一時停止しているよう であり、可能であれば、必要なパッケージのハンドルメソッドに従って結果を処理するようにしてください。多くの場合、このパッケージのインストールは停止します。
  • (4)apt-get update依存関係のリストを再構築するために必要なものをダウンロードします。
    その後apt-get install --fix-missing、更新されたリストで問題が自動的に修正されることを期待して、もう一度試すことができます。
    これは、にパッケージのソースを追加する/etc/atp/sources.listときや、パッケージインデックスファイルが更新されたときなど、非常に便利です。

Ubuntuで使用できるすべてのプログラムが、公式のUbuntuリポジトリから提供されているわけではなく、同じバージョンで更新されています-これはまれです。

さらに、インストールが突然中断される多くの理由があります(killシグナル、電力不足、グラフィックドライバーの障害など)。これらの状況でapt-get updateは、機能しない可能性があるため、最初に、apt-get install --fix-missingまたはいくつかのdpkg コマンド。

またはのapt-get install --fix-missingようなコマンドの軽くてフレンドリーなバージョンとして見ることができます。dpkg-reconfigure --alldpkg


36
これは大いに支持されてきましたが、私はその一言を理解できません。
ロンドンロブ

-1

次の手順で問題を解決します。

  • 更新nameserver 8.8.8.8中に/etc/resolve.conf
  • 走る sudo apt-get update
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.