例えば:
$ Sudo apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
bsh : Depends: libjline-Java but it is not going to be installed
groovy : Depends: libjline-Java but it is not going to be installed
rhino : Depends: libjline-Java but it is not going to be installed
E: Unmet dependencies.
Try 'apt-get -f install' with no packages (or specify a solution).
Clojure1.3、leiningen、および他のいくつかのパッケージをインストールしようとすると、同じまたは同様のエラーが発生します。
エラーメッセージで提案を行うと、次のようになります。
$ Sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
diffstat linux-headers-3.2.0-26-generic linux-headers-3.2.0-26 dh-apparmor dkms html2text libmail-sendmail-Perl libsys-hostname-long-Perl
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
libjline-Java
Suggested packages:
libjline-Java-doc
The following NEW packages will be installed:
libjline-Java
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
23 not fully installed or removed.
Need to get 0 B/72.0 kB of archives.
After this operation, 129 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
(Reading database ... 226243 files and directories currently installed.)
Unpacking libjline-Java (from .../libjline-Java_1.0-1_all.deb) ...
dpkg: error processing /var/cache/apt/archives/libjline-Java_1.0-1_all.deb (--unpack):
trying to overwrite '/usr/share/Java/jline.jar', which is also in package scala 2.9.2-400
Errors were encountered while processing:
/var/cache/apt/archives/libjline-Java_1.0-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
$ Sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
bsh : Depends: libjline-Java but it is not installed
groovy : Depends: libjline-Java but it is not installed
rhino : Depends: libjline-Java but it is not installed
E: Unmet dependencies. Try using -f.
danjjl answer に直接行かないでください。この種の「上書きしよう」エラーが発生した場合、最初に解決する必要のある競合するパッケージがある可能性があります。
問題の即時修正は、望ましくない競合パッケージを削除することです。この場合、scala
、
Sudo dpkg -P scala
次に、それぞれのパッケージメンテナーと一緒にバグレポートを提出することをお勧めします。これは通常、制御ファイルにConflict: package
行を追加することを意味します。
このエラーの詳細については、 this answerも参照してください。
問題を修正するには
Sudo dpkg -i --force-overwrite /var/cache/apt/archives/libjline-Java_1.0-1_all.deb
Sudo apt-get -f install
を実行して、すべてが修正されていることを確認します
それでも問題がある場合は、dpkg: error processing (...)
が残っている状態で最初のステップを再実行してください
webupd8で解決策が見つかりました
@danjjlのコマンドは、.deb
ファイルに対して機能します。このコマンドはapt
/apt-get
で機能することがわかりました。
Sudo apt-get -o Dpkg::Options::="--force-overwrite" install <package-name>
私が同じ問題を抱えていたのでそれがグローバルな修正であるかどうかはわかりませんが、キャッシュ内のlibglx-mesaファイルがNvidia-390と競合しています。ファイルを削除してapt install -f -y
を発行し、それを終了させてから、そのシーケンスでapt update
、upgrade
およびautoremove
を続行しました。
Ubuntu 18.04でapt dist-upgrade
を実行中にエラーが発生し、プロセスを再び続行しました。これ以上問題はなく、「私の」修正のようです。
コマンド:
Sudo su -
mv /var/cache/apt/archives/libglx-mesa0_18.0.0~rc5-1ubuntu1_AMD64.deb ~
apt install -f -y
apt update -y
apt upgrade -y
apt autoremove -y
apt dist-upgrade
PS:上書きを強制するのは悪い考えでしたが、幸運にもなりました。しかし、根本的な原因を見つけて修正する方が良いでしょう。私はまだ調査する必要がありますが、エラーが原因でファイルを移動できます。