Ubuntuを17.04にアップグレードした後、パッケージシステムが壊れています。次のコマンドのいずれかを実行すると、エラーが発生しました。
$ Sudo apt-get --fix-broken install
...
...
ubuntuone-credentials-common unity-plugin-scopes unity-scope-
mediascanner2
unity-webapps-qml url-dispatcher usermetricsservice vbetool vlc-nox
Use 'Sudo apt autoremove' to remove them.
The following additional packages will be installed:
click-apparmor
The following packages will be upgraded:
click-apparmor
1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 0 B/10.7 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 625249 files and directories currently installed.)
Preparing to unpack .../click-apparmor_0.3.18_AMD64.deb ...
Cannot start click due to a conflict with a different locally-installed Python 'click' package. Remove it using Python packaging tools and try again.
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg: trying script from the new package instead ...
Cannot start click due to a conflict with a different locally-installed Python 'click' package. Remove it using Python packaging tools and try again.
dpkg: error processing archive /var/cache/apt/archives/click-apparmor_0.3.18_AMD64.deb (--unpack):
subprocess new pre-removal script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/click-apparmor_0.3.18_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
$ Sudo apt-get full-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
click-apparmor : Depends: python3-apparmor-click (= 0.3.17) but 0.3.18 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
次の解決策も試しましたが、うまくいきませんでした。
Ubuntuを再インストールせずに修正する方法を知っている人はいますか?
私は解決策を見つけたと思いますが、大きな警告があります。それは機能しますが、理由を説明できません。
まず、/var/lib/dpkg/info/
に行きました:
cd /var/lib/dpkg/info/
次に、問題の原因となったパッケージに関連する行を削除しました。私の場合、私はやらなければなりませんでした:
Sudo rm -r python3-apparmor-click.*
Sudo rm -r click-apparmor.*
Sudo rm -r click.*
Sudo rm -r ubuntu-app-launch.*
Sudo rm -r url-dispatcher-tools.*
Sudo rm -r url-dispatcher:AMD64.*
Sudo rm -r libunity-scopes1.0:AMD64
その後、次のように入力しました:
Sudo apt purge python3-apparmor-click
Sudo apt purge click-apparmor
Sudo apt purge click
Sudo apt purge ubuntu-app-launch
Sudo apt purge url-dispatcher-tools
Sudo apt purge url-dispatcher:AMD64
Sudo apt purge libunity-scopes1.0
その後、
Sudo apt update
そして最後に、
Sudo apt dist-upgrade
私のパッケージが機能し、更新されました。パッケージの問題はすべて消えたようです。
Ubuntu 17.04にアップグレードした後も同じ問題が発生しましたが、これでうまくいきました。
Sudo -H pip3 uninstall click
Sudo apt install python3-click-package
Sudo apt upgrade
Sudo apt autoremove
理由はわかりません(おそらく、pipのクリックバージョンはUbuntuが依存しているバージョンとは異なるのでしょうか?).
最初にpythonを削除します 'click' pip
を使用してパッケージ:
pip uninstall click
python3を使用している場合:pip3 uninstall click
次に、パッケージを修正しますapt:
Sudo apt clean
Sudo apt install -f
これは私にとって問題を解決するように見えました(少なくともエラーメッセージは表示されなくなりました)。
Sudo apt autoremove
を実行し、依存関係が満たされていないパッケージに注目しました。
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
bind9-Host : Depends: libdns162 (= 1:9.10.3.dfsg.P4-10.1ubuntu4) but 1:9.10.3.dfsg.P4-10.1ubuntu1.4 is installed
dnsutils : Depends: libdns162 (= 1:9.10.3.dfsg.P4-10.1ubuntu4) but 1:9.10.3.dfsg.P4-10.1ubuntu1.4 is installed
gnome-software : Depends: gnome-software-common (= 3.22.7-0ubuntu3) but 3.20.1+git20170208.0.a34b091-0ubuntu1 is installed
gvfs : Depends: gvfs-daemons (>= 1.30.4-0ubuntu1)
gvfs-backends : Depends: gvfs-daemons (= 1.30.4-0ubuntu1)
gvfs-daemons : Depends: gvfs-libs (= 1.28.2-1ubuntu2) but 1.30.4-0ubuntu1 is installed
Depends: gvfs-common (= 1.28.2-1ubuntu2) but 1.30.4-0ubuntu1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
それから http://packages.ubuntu.com/ に行き、 'search'パラで 'Depends:'に続く名前を入力し、 'zesty'を選択しました。次に、ハードウェアの.debファイルをダウンロードしました。
次に、すべての.debファイルを/ var/cache/apt/archivesに移動しました。
Sudo mv *.deb /var/cache/apt/archives
最後に:
Sudo apt --fix-broken install
エラーなしで実行された
HTH
オプション1:この外部クリックパッケージを探します。
Sudo updatedb
locate -ir python.*click
次に、手動で削除し、疑問がある場合は出力を質問に追加します。
オプション2:質問に記載されている状態のままである場合:
Preparing to unpack .../click-apparmor_0.3.18_AMD64.deb ...
Cannot start click due to a conflict with a different
locally-installed Python 'click' package. Remove it
using Python packaging tools and try again.
dpkg: warning: subprocess old pre-removal script returned error exit status 1
インストールされたパッケージを削除する
cd /var/lib/dpkg/info/
Sudo mv click-apparmor:AMD64.prerm click-apparmor:AMD64.prerm.backup
Sudo dpkg --force-depends -r click-apparmor
以下を使用して新しいパッケージをインストールしてください。
Sudo apt -f install
質問に新しいエラーがある場合は追加します。