数日前の時点で、私は悪名高くなっています―
他のいくつかの回答は、翌日それ自体で解決するか、ブードゥー教のような方法でさまざまなコマンドを試すことを示唆しています。この質問は、さまざまなコマンドをランダムに実行せずに続行するために、正確に何が間違っているかを見つける方法を求めています。
Ubuntu 14.04。
コンソールフローに表示される特定のエラー:E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/m/mysql-5.5/libmysqlclient18_5.5.47-0ubuntu0.14.04.1_AMD64.deb Hash Sum mismatch
最初のaptキャッシュのクリア
Sudo apt-get autoclean
すべてのソースリストファイルをバックアップします。
Sudo cp -a /etc/apt/sources.list /etc/apt/sources.list_backup
Sudo cp -a /etc/apt/sources.list.d/ /etc/apt/sources.list.d_backup
障害のあるsources.list
をクリアし、そのファイルを削除します。
Sudo rm -f /etc/apt/sources.list
Sudo rm -rf /etc/apt/sources.list.d/*
新しいsources.list
を作成
Sudo nano /etc/apt/sources.list
次のコンテンツをコピーしてsources.list
ファイルを保存します
#------------------------------------------------------------------------------#
# OFFICIAL UBUNTU REPOS #
#------------------------------------------------------------------------------#
###### Ubuntu Main Repos
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
###### Ubuntu Update Repos
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
今すぐパッケージをアップグレード
Sudo apt-get update && Sudo apt-get upgrade
ここで答えとして書かれたもののほとんどは、本質的にブードゥー教のシーケンスです。失敗した更新プログラムを回避するために使用した実際のフローは、プロセス全体をブロックしました。
Sudo apt-get upgrade
を実行しますunhold
も提供しているので、パッケージ名に関する最初の悪い推測を取り消すことができました。Sudo apt-mark hold
を使用して、失敗した更新を保留にします。apt-get upgrade
を再実行します。これにより、保留中のパッケージがスキップされます。ただし、この後、Updater UIは、このすべてが開始されたという迷惑なメッセージを表示し続けます。