/var/log/dist-upgrade/apt.log
から:
Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) libgles1-mesa [ AMD64 ] < 12.0.6-0ubuntu0.16.04.1 > ( libs )
Broken libgles1-mesa:AMD64 Depends on libglapi-mesa [ AMD64 ] < 12.0.6-0ubuntu0.16.04.1 -> 17.0.7-0ubuntu0.16.04.1 > ( libs ) (= 12.0.6-0ubuntu0.16 .04.1)
Considering libglapi-mesa:AMD64 64 as a solution to libgles1-mesa:AMD64 2
Removing libgles1-mesa:AMD64 rather than change libglapi-mesa:AMD64
Investigating (0) vlc [ AMD64 ] < 2.2.2+git20170721+r59033+56~ubuntu16.04.1 > ( video )
Broken vlc:AMD64 Depends on libgles1-mesa [ AMD64 ] < 12.0.6-0ubuntu0.16.04.1 > ( libs ) (>= 7.8.1)
Considering libgles1-mesa:AMD64 2 as a solution to vlc:AMD64 1
Broken vlc:AMD64 Depends on libgles1 [ AMD64 ] < none -> > ( none )
Considering libgles1-mesa:AMD64 2 as a solution to vlc:AMD64 1
Or group remove for vlc:AMD64
Done
Webを検索すると、 libgles1は廃止されました であることがわかりました。
VLCチームは依存関係を2.2.2-5ubuntu0.16.04.2から更新しましたが、システムは明らかにそれに追いついていません(apt-cache depends vlc
を実行して確認し、libgles1-mesaへの依存関係を示しています)。
数か月前に launchpad videolan PPA (最新のバグの少ないVLCを取得するため)を追加しました。
これにより、VLCバージョン2.2.7が提供され、VLCのバグが修正されました。これが今日のシステムにあるものです。 vlc --version
がそう教えてくれるからです。
apt-cache policy vlc
言う:
Installed: 2.2.2+git20170721+r59033+56~ubuntu16.04.1
Candidate: 2.2.2+git20170721+r59033+56~ubuntu16.04.1
Version table:
*** 2.2.2+git20170721+r59033+56~ubuntu16.04.1 500
500 http://ppa.launchpad.net/videolan/stable-daily/ubuntu xenial/main AMD64 Packages
100 /var/lib/dpkg/status
2.2.2-5ubuntu0.16.04.3 500
500 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe AMD64 Packages
500 http://security.ubuntu.com/ubuntu xenial-security/universe AMD64 Packages
2.2.2-5 500
500 http://gb.archive.ubuntu.com/ubuntu xenial/universe AMD64 Packages
(apt-cache policy
が2.2.2 + git20170721 + r59033 + 56〜ubuntu16.04.1がインストールされていると言っているのは奇妙に思えます。vlcバージョン2.2.2として読んだことは、vlc --version
が提供する2.2.7と競合します。)
どうやら、Ubuntuバージョン16.04.2 LTS 64ビットがインストールされているようです(GUIコントロールパネルの[システムの詳細]から)。
ランチパッドのPPAを無効にできると思いますが、その場合、おそらくシステムをクラッシュさせていた古いvlcバイナリに戻るでしょう。
だから私の質問は(少なくともこれは正しい質問だと思う):
libgles1-mesaが古い、または欠落していても大丈夫だと納得させるにはどうすればよいですか?
解決策は、dpkg-debを使用してlibgles1の新しいバージョンを偽造することでした。このパッケージはシステム上で冗長であるため、これは安全です。
Sudo ppa-purge -o videolan -p stable-daily -d xenial
これで、新しいvlc(2.2.7)はなくなり、標準(クレイジー)vlcが復活しました。
$ vlc --version
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
Sudo apt remove libgles1-mesa
を実行します。これにより、Software Updaterがもう束ねられなくなります。
Software Updaterは、libgles2 v17.0.7とその他のさまざまな関連ライブラリをインストールするようになりました。
Sudo add-apt-repository ppa:videolan/stable-daily
Sudo apt update
今apt list --upgradeable
ショー
libvlc5/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 AMD64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
libvlccore8/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 AMD64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 AMD64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc-data/xenial,xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 all [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc-nox/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 AMD64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc-plugin-notify/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 AMD64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc-plugin-samba/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 AMD64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
ソフトウェアアップデータを実行します。 7つのdebsのうち5つをインストールします。
Start-Date: 2017-07-28 12:22:38
Commandline: aptdaemon role='role-commit-packages' sender=':1.208'
Upgrade: vlc-plugin-samba:AMD64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git20170721+r59033+56~ubuntu16.04.1), vlc-plugin-notify:AMD64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git20170721+r59033+56~ubuntu16.04.1), libvlc5:AMD64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git201707 21+r59033+56~ubuntu16.04.1), libvlccore8:AMD64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git20170721+r59033+56~ubuntu16.04.1), vlc-data :AMD64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git20170721+r59033+56~ubuntu16.04.1)
End-Date: 2017-07-28 12:22:42
今すぐ実行
Sudo apt download libgles1-mesa
Sudo dpkg-deb -x ~/libgles1-mesa_12.0.6-0ubuntu0.16.04.1_AMD64.deb .
Sudo dpkg-deb --control ~/libgles1-mesa_12.0.6-0ubuntu0.16.04.1_AMD64.deb .
次のようにDEBIAN/control Depends行を変更します。
Depends: libglapi-mesa (= 17.0.7-0ubuntu0.16.04.1), libc6 (>= 2.2.5)
(libglapiが17.0.7にアップグレードされたため)
Sudo dpkg-deb -b . ~/libgles1-mesa_17.0.7-0ubuntu0.16.04.1_AMD64.deb
Sudo dpkg -i libgles1-mesa_17.0.7-0ubuntu0.16.04.1_AMD64.deb
Sudo apt install vlc-nox
Sudo apt install vlc
今vlc --version
出力
VLC media player 2.2.7 Umbrella (revision 2.2.2+git20170721+r59033+56~ubuntu16.04.1)
Software Updaterは問題なく実行されます。まあ私は決して!
16.04.2にアップグレードしたときにこの問題が発生しました。ナイトリービルドはこれに同意しないようです。そのため、Universeリポジトリで利用可能なものに戻す必要がありました。
Sudo ppa-purge ppa:videolan/master-daily
Sudo apt-get update
Sudo apt-get autoremove
Sudo apt-get install vlc
それはそれを修正しました。 Synapticは、ppa:videolan/master-dailyを再度追加すると、nightly-buildが壊れていると報告します。