** 2020.02.20 현재, 아래 문제는 없다.
데스크탑에선 vlc 를 잘 쓰진 않는다. 보미 중단 이후에는 smplayer 를 사용하고 있다. (Bomi 는 18.04 까지는 그런대로 쓸 수 있었는데, 18.10 에선 컴파일이 되지 않는다. 내 능력으로는 해결이 어려울 듯…??) 물론, Android 에선 네트웍을 사용할 땐 vlc 를 사용한다.
KDE Neon 에서는, 적어도 우분투 18.04 기반판부터는 vlc 를 기본 설치한다. 기본 설치까지는 좋은데, ‘삭제’가 되지 않는 문제가 있다. 이른바 ‘의존성’ 때문이다.
vlc 를 지우려고 하면, 다음과 같은 무시무시한 경고를 볼 수 있다.
$ sudo apt remove vlc [sudo] nemoneon의 암호: 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 Starting pkgProblemResolver with broken count: 2 Starting 2 pkgProblemResolver with broken count: 2 Investigating (0) phonon4qt5-backend-vlc:amd64 < 0.10.1-2+18.04+bionic+build5 @ii mK Ib > Broken phonon4qt5-backend-vlc:amd64 의존 on vlc:amd64 < 3.0.3-1-1ubuntu1 @ii pmR > Considering vlc:amd64 10004 as a solution to phonon4qt5-backend-vlc:amd64 12 Removing phonon4qt5-backend-vlc:amd64 rather than change vlc:amd64 Investigating (0) phonon-backend-vlc:amd64 < 0.10.1-2+18.04+bionic+build5 @ii mK Ib > Broken phonon-backend-vlc:amd64 의존 on vlc:amd64 < 3.0.3-1-1ubuntu1 @ii pmR > Considering vlc:amd64 10004 as a solution to phonon-backend-vlc:amd64 1 Removing phonon-backend-vlc:amd64 rather than change vlc:amd64 Investigating (1) phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mK Ib > Broken phonon4qt5:amd64 의존 on phonon4qt5-backend-vlc:amd64 < 0.10.1-2+18.04+bionic+build5 @ii mR > Considering phonon4qt5-backend-vlc:amd64 12 as a solution to phonon4qt5:amd64 41 Added phonon4qt5-backend-vlc:amd64 to the remove list Broken phonon4qt5:amd64 의존 on phonon4qt5-backend:amd64 < none @un H > Considering phonon4qt5-backend-vlc:amd64 12 as a solution to phonon4qt5:amd64 41 Added phonon4qt5-backend-vlc:amd64 to the remove list Fixing phonon4qt5:amd64 via keep of phonon4qt5-backend-vlc:amd64 Fixing phonon4qt5:amd64 via keep of phonon4qt5-backend-vlc:amd64 Investigating (1) phonon4qt5-backend-vlc:amd64 < 0.10.1-2+18.04+bionic+build5 @ii mK Ib > Broken phonon4qt5-backend-vlc:amd64 의존 on vlc:amd64 < 3.0.3-1-1ubuntu1 @ii pmR > Considering vlc:amd64 10004 as a solution to phonon4qt5-backend-vlc:amd64 12 Removing phonon4qt5-backend-vlc:amd64 rather than change vlc:amd64 Investigating (1) phonon:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mK Ib > Broken phonon:amd64 의존 on phonon-backend-gstreamer:amd64 < none | 4:4.9.0-1+18.04+bionic+build4 @un uH > Considering phonon-backend-gstreamer:amd64 1 as a solution to phonon:amd64 2 Try Installing phonon-backend-gstreamer:amd64 < none | 4:4.9.0-1+18.04+bionic+build4 @un uH > before changing phonon:amd64 Investigating (2) phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mK Ib > Broken phonon4qt5:amd64 의존 on phonon4qt5-backend-vlc:amd64 < 0.10.1-2+18.04+bionic+build5 @ii mR > Considering phonon4qt5-backend-vlc:amd64 12 as a solution to phonon4qt5:amd64 41 Added phonon4qt5-backend-vlc:amd64 to the remove list Broken phonon4qt5:amd64 의존 on phonon4qt5-backend:amd64 < none @un H > Considering phonon4qt5-backend-vlc:amd64 12 as a solution to phonon4qt5:amd64 41 Added phonon4qt5-backend-vlc:amd64 to the remove list Fixing phonon4qt5:amd64 via keep of phonon4qt5-backend-vlc:amd64 Fixing phonon4qt5:amd64 via keep of phonon4qt5-backend-vlc:amd64 Investigating (2) phonon4qt5-backend-vlc:amd64 < 0.10.1-2+18.04+bionic+build5 @ii mK Ib > Broken phonon4qt5-backend-vlc:amd64 의존 on vlc:amd64 < 3.0.3-1-1ubuntu1 @ii pmR > Considering vlc:amd64 10004 as a solution to phonon4qt5-backend-vlc:amd64 41 Removing phonon4qt5-backend-vlc:amd64 rather than change vlc:amd64 Investigating (3) phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mK Ib > Broken phonon4qt5:amd64 의존 on phonon4qt5-backend-vlc:amd64 < 0.10.1-2+18.04+bionic+build5 @ii mR > Considering phonon4qt5-backend-vlc:amd64 10004 as a solution to phonon4qt5:amd64 41 Broken phonon4qt5:amd64 의존 on phonon4qt5-backend:amd64 < none @un H > Considering phonon4qt5-backend-vlc:amd64 10004 as a solution to phonon4qt5:amd64 41 Or group remove for phonon4qt5:amd64 Investigating (3) plasma-workspace:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mK Ib > Broken plasma-workspace:amd64 의존 on phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mR > Considering phonon4qt5:amd64 41 as a solution to plasma-workspace:amd64 22 Removing plasma-workspace:amd64 rather than change phonon4qt5:amd64 Investigating (3) libkf5notifyconfig5:amd64 < 5.51.0-0xneon+18.04+bionic+build13 @ii mK Ib > Broken libkf5notifyconfig5:amd64 의존 on phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mR > Considering phonon4qt5:amd64 41 as a solution to libkf5notifyconfig5:amd64 18 Removing libkf5notifyconfig5:amd64 rather than change phonon4qt5:amd64 Investigating (3) kio-extras:amd64 < 4:18.08.3-0xneon+18.04+bionic+build16 @ii mK Ib > Broken kio-extras:amd64 의존 on phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mR > Considering phonon4qt5:amd64 41 as a solution to kio-extras:amd64 16 Removing kio-extras:amd64 rather than change phonon4qt5:amd64 Investigating (3) libkf5khtml5:amd64 < 5.51.0-0xneon+18.04+bionic+build13 @ii mK Ib > Broken libkf5khtml5:amd64 의존 on phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mR > Considering phonon4qt5:amd64 41 as a solution to libkf5khtml5:amd64 12 Removing libkf5khtml5:amd64 rather than change phonon4qt5:amd64 Investigating (3) libkf5khtml-bin:amd64 < 5.51.0-0xneon+18.04+bionic+build13 @ii mK Ib > Broken libkf5khtml-bin:amd64 의존 on libkf5khtml5:amd64 < 5.51.0-0xneon+18.04+bionic+build13 @ii mR > Considering libkf5khtml5:amd64 41 as a solution to libkf5khtml-bin:amd64 5 Removing libkf5khtml-bin:amd64 rather than change libkf5khtml5:amd64 Investigating (3) libokular5core9:amd64 < 4:18.08.3-0xneon+18.04+bionic+build12 @ii mK Ib > Broken libokular5core9:amd64 의존 on phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mR > Considering phonon4qt5:amd64 41 as a solution to libokular5core9:amd64 5 Removing libokular5core9:amd64 rather than change phonon4qt5:amd64 Investigating (3) powerdevil:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mK Ib > Broken powerdevil:amd64 의존 on libkf5notifyconfig5:amd64 < 5.51.0-0xneon+18.04+bionic+build13 @ii mR > Considering libkf5notifyconfig5:amd64 41 as a solution to powerdevil:amd64 4 Removing powerdevil:amd64 rather than change libkf5notifyconfig5:amd64 Investigating (3) kinfocenter:amd64 < 4:5.14.3-0xneon+18.04+bionic+build19 @ii mK Ib > Broken kinfocenter:amd64 의존 on plasma-workspace:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mR > Considering plasma-workspace:amd64 41 as a solution to kinfocenter:amd64 4 Removing kinfocenter:amd64 rather than change plasma-workspace:amd64 Investigating (3) systemsettings:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mK Ib > Broken systemsettings:amd64 의존 on libkf5khtml5:amd64 < 5.51.0-0xneon+18.04+bionic+build13 @ii mR > Considering libkf5khtml5:amd64 41 as a solution to systemsettings:amd64 4 Removing systemsettings:amd64 rather than change libkf5khtml5:amd64 Investigating (3) sddm-theme-breeze:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mK Ib > Broken sddm-theme-breeze:amd64 의존 on plasma-workspace:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mR > Considering plasma-workspace:amd64 41 as a solution to sddm-theme-breeze:amd64 3 Removing sddm-theme-breeze:amd64 rather than change plasma-workspace:amd64 Investigating (3) okular:amd64 < 4:18.08.3-0xneon+18.04+bionic+build12 @ii mK Ib > Broken okular:amd64 의존 on libokular5core9:amd64 < 4:18.08.3-0xneon+18.04+bionic+build12 @ii mR > (= 4:18.08.3-0xneon+18.04+bionic+build12) Considering libokular5core9:amd64 41 as a solution to okular:amd64 3 Removing okular:amd64 rather than change libokular5core9:amd64 Investigating (3) okular-extra-backends:amd64 < 4:18.08.3-0xneon+18.04+bionic+build12 @ii mK Ib > Broken okular-extra-backends:amd64 의존 on libkf5khtml5:amd64 < 5.51.0-0xneon+18.04+bionic+build13 @ii mR > Considering libkf5khtml5:amd64 41 as a solution to okular-extra-backends:amd64 3 Removing okular-extra-backends:amd64 rather than change libkf5khtml5:amd64 Investigating (3) plasma-desktop:amd64 < 4:5.14.3-0xneon+18.04+bionic+build25 @ii mK Ib > Broken plasma-desktop:amd64 의존 on plasma-workspace:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mR > Considering plasma-workspace:amd64 41 as a solution to plasma-desktop:amd64 2 Removing plasma-desktop:amd64 rather than change plasma-workspace:amd64 Investigating (3) plasma-widgets-addons:amd64 < 4:5.14.3-0xneon+18.04+bionic+build19 @ii mK Ib > Broken plasma-widgets-addons:amd64 의존 on plasma-workspace:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mR > Considering plasma-workspace:amd64 41 as a solution to plasma-widgets-addons:amd64 1 Removing plasma-widgets-addons:amd64 rather than change plasma-workspace:amd64 Investigating (3) gwenview:amd64 < 4:18.08.3-0xneon+18.04+bionic+build13 @ii mK Ib > Broken gwenview:amd64 의존 on phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mR > Considering phonon4qt5:amd64 41 as a solution to gwenview:amd64 1 Removing gwenview:amd64 rather than change phonon4qt5:amd64 Investigating (3) dolphin:amd64 < 4:18.08.3-0xneon+18.04+bionic+build12 @ii mK Ib > Broken dolphin:amd64 의존 on phonon4qt5:amd64 < 4:4.10.1-0xneon+18.04+bionic+build4 @ii mR > Considering phonon4qt5:amd64 41 as a solution to dolphin:amd64 1 Removing dolphin:amd64 rather than change phonon4qt5:amd64 Investigating (3) konsole:amd64 < 4:18.08.3-0xneon+18.04+bionic+build12 @ii mK Ib > Broken konsole:amd64 의존 on libkf5notifyconfig5:amd64 < 5.51.0-0xneon+18.04+bionic+build13 @ii mR > Considering libkf5notifyconfig5:amd64 41 as a solution to konsole:amd64 1 Removing konsole:amd64 rather than change libkf5notifyconfig5:amd64 Investigating (3) plasma-workspace-wayland:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mK Ib > Broken plasma-workspace-wayland:amd64 의존 on plasma-workspace:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mR > (= 4:5.14.3-0xneon+18.04+bionic+build20) Considering plasma-workspace:amd64 41 as a solution to plasma-workspace-wayland:amd64 1 Removing plasma-workspace-wayland:amd64 rather than change plasma-workspace:amd64 Investigating (3) latte-dock:amd64 < 0.8.2-0xneon+18.04+bionic+build11 @ii mK Ib > Broken latte-dock:amd64 의존 on plasma-desktop:amd64 < 4:5.14.3-0xneon+18.04+bionic+build25 @ii mR > Considering plasma-desktop:amd64 41 as a solution to latte-dock:amd64 0 Removing latte-dock:amd64 rather than change plasma-desktop:amd64 Investigating (3) neon-desktop:amd64 < 4+p18.04+git20181030.2058 @ii mK NPb Ib > Broken neon-desktop:amd64 의존 on kinfocenter:amd64 < 4:5.14.3-0xneon+18.04+bionic+build19 @ii mR > Considering kinfocenter:amd64 41 as a solution to neon-desktop:amd64 0 Removing neon-desktop:amd64 rather than change kinfocenter:amd64 Investigating (3) arc-kde:amd64 < 20181023-172+pkg7~ubuntu18.04.1 @ii mK Ib > Broken arc-kde:amd64 의존 on plasma-workspace:amd64 < 4:5.14.3-0xneon+18.04+bionic+build20 @ii mR > (>= 4:5.5.0) Considering plasma-workspace:amd64 41 as a solution to arc-kde:amd64 0 Removing arc-kde:amd64 rather than change plasma-workspace:amd64 Investigating (4) xorg:amd64 < 1:7.7+19ubuntu7.1 @ii mK Ib > Broken xorg:amd64 의존 on gnome-terminal:amd64 < none | 3.28.2-1ubuntu1~18.04.1 @un uH > Considering gnome-terminal:amd64 2 as a solution to xorg:amd64 1 Try Installing gnome-terminal:amd64 < none | 3.28.2-1ubuntu1~18.04.1 @un uH > before changing xorg:amd64 Done 다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다: drkonqi gtk3-engines-breeze ieee-data kamera kded5 kgamma5 kio-extras-data konsole-kpart libaribb24-0 libbasicusageenvironment1 libcfitsio5 libchm1 libcolorcorrect5 libdmtx0a libdolphinvcs5 libdvbpsi10 libebml4v5 libgps23 libgroupsock8 libibus-1.0-5 libkf5activitiesstats1 libkf5baloowidgets-bin libkf5baloowidgets5 libkf5dnssd-data libkf5dnssd5 libkf5emoticons-bin libkf5emoticons-data libkf5emoticons5 libkf5js5 libkf5jsapi5 libkf5jsembed-data libkf5jsembed5 libkf5khtml-data libkf5kiogui5 libkf5kipi-data libkf5kipi32.0.0 libkf5notifyconfig-data libkf5people-data libkf5people5 libkf5peoplebackend5 libkf5peoplewidgets5 libkf5prison5 libkf5xmlrpcclient-data libkf5xmlrpcclient5 libkfontinst5 libkfontinstui5 liblivemedia62 libmarkdown2 libmatroska6v5 libmicrodns0 libminizip1 libnfs11 libopenmpt-modplug1 libpam-kwallet5 libphonon4 libphonon4qt5-4 libplacebo4 libpowerdevilcore2 libpowerdevilui5 libprotobuf-lite10 libproxy-tools libqalculate14 libqalculate14-data libqmobipocket2 libqrencode3 libqt5concurrent5 libqt5webengine-data libqt5webengine5 libqt5webenginecore5 libqt5webenginewidgets5 libre2-4 libresid-builder0c2a libscim8v5 libsidplay2 libspectre1 libssh-4 libtaskmanager6 libupnp6 libusageenvironment3 libvlc-bin libvlc5 libvlccore9 libxcb-dpms0 libxcb-record0 libxcb-xv0 muon-notifier muon-updater pam-kwallet-init papirus-icon-theme phonon phonon-backend-gstreamer phonon-backend-gstreamer-common plasma-desktop-data plasma-integration powerdevil-data qdbus-qt5 qml-module-org-kde-activities qml-module-org-kde-extensionplugin qml-module-org-kde-kholidays qml-module-org-kde-kwindowsystem qml-module-org-kde-qqc2desktopstyle qml-module-org-kde-solid qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtwebengine qml-module-qtwebkit qt4-style-kvantum qt5-style-kvantum qt5-style-kvantum-l10n qt5-style-kvantum-themes sddm sni-qt socat vlc-bin vlc-data vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-output vlc-plugin-video-splitter vlc-plugin-visualization Use 'sudo apt autoremove' to remove them. 다음의 추가 패키지가 설치될 것입니다 : enchant gnome-terminal gnome-terminal-data gstreamer1.0-pulseaudio gvfs gvfs-common gvfs-daemons gvfs-libs libbrotli1 libenchant1c2a libgck-1-0 libgcr-base-3-1 libjavascriptcoregtk-4.0-18 libwebkit2gtk-4.0-37 libwoff1 libyelp0 nautilus-extension-gnome-terminal phonon-backend-gstreamer phonon-backend-gstreamer-common yelp yelp-xsl 제안하는 패키지: gvfs-backends libenchant-voikko libwebkit2gtk-4.0-37-gtk2 phonon4qt5-backend-gstreamer 다음 패키지를 지울 것입니다: arc-kde dolphin gwenview kinfocenter kio-extras konsole latte-dock libkf5khtml-bin libkf5khtml5 libkf5notifyconfig5 libokular5core9 neon-desktop okular okular-extra-backends phonon-backend-vlc phonon4qt5 phonon4qt5-backend-vlc plasma-desktop plasma-widgets-addons plasma-workspace plasma-workspace-wayland powerdevil sddm-theme-breeze systemsettings vlc 다음 새 패키지를 설치할 것입니다: enchant gnome-terminal gnome-terminal-data gstreamer1.0-pulseaudio gvfs gvfs-common gvfs-daemons gvfs-libs libbrotli1 libenchant1c2a libgck-1-0 libgcr-base-3-1 libjavascriptcoregtk-4.0-18 libwebkit2gtk-4.0-37 libwoff1 libyelp0 nautilus-extension-gnome-terminal phonon-backend-gstreamer phonon-backend-gstreamer-common yelp yelp-xsl 0개 업그레이드, 21개 새로 설치, 25개 제거 및 0개 업그레이드 안 함. 17.8 M바이트 아카이브를 받아야 합니다. 이 작업 후 58.0 M바이트의 디스크 공간이 비워집니다. 계속 하시겠습니까? [Y/n]
의존성 문제 때문에 이런 현상이 벌어진다. 만약, 위 물음에 Yes, 또는 Enter 를 눌렀다면.. neon-desktop 을 재설치해야만 하는 귀찮고 짜증나는 일을 겪어야 한다.
왜 이런 현상이 벌어지는지?
‘의존성’ 관계를 알아내기 위하여 검색을 하다가, apt 의 숨겨진 명령어를 하나 알게 됐다.
apt depends 꾸러미
이 꾸러미가 설치되기 위해 필요한 다른 꾸러미들.
$ apt depends vlc vlc 의존: vlc-bin (= 3.0.3-1-1ubuntu1) 의존: vlc-plugin-base (= 3.0.3-1-1ubuntu1) 의존: vlc-plugin-qt (= 3.0.3-1-1ubuntu1) 의존: vlc-plugin-video-output (= 3.0.3-1-1ubuntu1) 추천: vlc-l10n (= 3.0.3-1-1ubuntu1) 추천: vlc-plugin-notify (= 3.0.3-1-1ubuntu1) 추천: vlc-plugin-samba (= 3.0.3-1-1ubuntu1) 추천: vlc-plugin-skins2 (= 3.0.3-1-1ubuntu1) 추천: vlc-plugin-video-splitter (= 3.0.3-1-1ubuntu1) 추천: vlc-plugin-visualization (= 3.0.3-1-1ubuntu1)
위 결과에 따라, vlc 가 설치되기 위해서는 vlc-bin, vlc-plugin-base, vlc-plugin-qt, vlc-plugin-video-output 이렇게 4개의 다른 꾸러미가 필요하다.
반대로, 어떤 꾸러미를 의존하고 있는 꾸러미를 알고 싶다면? 예를 들어, vlc 를 의존하고 있는 꾸러미가 있다면?
그 때는 apt rdepends 를 사용한다.
apt rdepends 꾸러미
이 꾸러미에 의존하고 있는 다른 꾸러미들을 표시.
rdepends 는 Reverse Depends 를 뜻한다.
$ apt rdepends vlc vlc Reverse Depends: 망가뜨림: vlc-plugin-qt (<< 3.0.0-1~) |의존: smtube 의존: phonon4qt5-backend-vlc 의존: phonon4qt5-backend-vlc 의존: phonon4qt5-backend-vlc 의존: phonon-backend-vlc 의존: phonon-backend-vlc 의존: phonon-backend-vlc 추천: neon-desktop 추천: neon-desktop 추천: neon-desktop 추천: neon-desktop 의존: kaffeine 의존: kaffeine 의존: kaffeine 향상: vlc-plugin-visualization 향상: vlc-plugin-video-splitter 향상: vlc-plugin-video-output 향상: vlc-plugin-svg 향상: vlc-plugin-skins2 대체: vlc-plugin-skins2 (<< 3.0.0-1~) 망가뜨림: vlc-plugin-skins2 (<< 3.0.0-1~) 향상: vlc-plugin-samba 대체: vlc-plugin-qt (<< 3.0.0-1~) 망가뜨림: vlc-plugin-qt (<< 3.0.0-1~) 향상: vlc-plugin-notify 향상: vlc-plugin-jack 향상: vlc-plugin-fluidsynth 향상: vlc-plugin-access-extra |제안: vokoscreen 의존: vlc-plugin-vlsub (>= 2.2.0~) 향상: vlc-plugin-visualization 향상: vlc-plugin-video-splitter 향상: vlc-plugin-video-output 향상: vlc-plugin-svg 향상: vlc-plugin-skins2 대체: vlc-plugin-skins2 (<< 3.0.0-1~) 망가뜨림: vlc-plugin-skins2 (<< 3.0.0-1~) 향상: vlc-plugin-samba 대체: vlc-plugin-qt (<< 3.0.0-1~) 의존: freeplayer (>= 0.8.6b) 향상: vlc-plugin-notify 향상: vlc-plugin-jack 향상: vlc-plugin-fluidsynth 향상: vlc-plugin-access-extra 추천: ubuntu-mate-desktop |제안: tunapie 제안: streamtuner2 |의존: smtube |추천: python-mecavideo |추천: pidgin-mpris 추천: obs-plugins 추천: multimedia-players 제안: multimedia-broadcasting |추천: mediathekview |추천: lxde 추천: kubuntu-full 추천: kubuntu-desktop 추천: junior-video 의존: hdhomerun-config-gui |제안: gaupol 의존: freetuxtv 의존: browser-plugin-vlc 의존: forensics-extra-gui |추천: emms 의존: cinnamon-desktop-environment
앞쪽에 phonon4qt5-backend-vlc
가 나와있다. 이 꾸러미는 vlc 에 의존하고 있으며 다시 말해, 얘가 설치되려면 먼저 vlc 가 설치되어 있어야 한다는 뜻이 된다.
보통, 이런 부수 꾸러미(?)에는 의존하는 다른 꾸러미가 없는게 보통이다. vlc 에 의존하는 꾸러미이므로, 이 꾸러미를 다른 꾸러미가 의존하는게 좀 이상하지 않은가?
그런데, 이런 이상한 일이 KDE Neon 에선 일어나고 있다.
먼저 phonon4qt5-backend-vlc가 의존하는, 즉 이 꾸러미를 설치하기 위해 선행 설치되어야할 꾸러미를 알아보자.
# KDE Neon $ apt depends phonon4qt5-backend-vlc phonon4qt5-backend-vlc Depends: vlc Depends: libc6 (>= 2.14) Depends: libphonon4qt5-4 (>= 4:4.10.1) Depends: libqt5core5a (>= 5.11.1+dfsg) Depends: libqt5gui5 (>= 5.11.1+dfsg) Depends: libqt5widgets5 (>= 5.11.1+dfsg) Depends: libstdc++6 (>= 4.1.1) Depends: libvlc5 (>= 3.0.0) Depends: libvlccore9 (>= 2.0.1) Depends: phonon4qt5
이런 프로그램들이 먼저 설치가 된 다음에야 phonon4qt-backend-vlc 를 설치할 수 있다. vlc 에 종속된 프로그램이므로, 당연히 vlc 가 설치돼 있어야 할테고, qt 관련 꾸러미도 당연히 필요하다.
아래에서 다시 언급하겠지만, phono4qt5 의존은 뭔가 문제로 인해 발생했다고 본다.
그럼.. 여기서 이 꾸러미를 필요로 하는 다른 꾸러미가 있는지 살펴본다면? phonon4qt5-backend-vlc 에 의존하는 꾸러미, 즉, 이 꾸러미를 반드시 필요로 하는 꾸러미는?
$ apt rdepends phonon4qt5-backend-vlc phonon4qt5-backend-vlc Reverse Depends: Depends: phonon4qt5-backend-vlc-dbgsym (= 0.10.1-2+18.04+bionic+build3) Depends: phonon4qt5-backend-vlc-dbgsym (= 0.10.1-2+18.04+bionic+build4) Depends: phonon4qt5-backend-vlc-dbgsym (= 0.10.1-2+18.04+bionic+build5) Breaks: libvlc5 (<< 0.9.1-2~) Suggests: phonon4qt5 |Depends: phonon4qt5 Suggests: phonon4qt5 |Depends: phonon4qt5 Suggests: phonon4qt5 |Depends: phonon4qt5 Recommends: neon-desktop Recommends: neon-desktop Recommends: neon-desktop Recommends: neon-desktop Breaks: libvlc5 (<< 0.9.1-2~) Suggests: phonon4qt5 |Depends: phonon4qt5
뭔가 좀 복잡하게 나오고, 같은 값이 중복되어 나오기도 한다. 그러나, phono4qt5
가 의존성 목록에 나와있음은 볼 수 있다. 다시 한번 확인을 해보자.
#KDE Neon $ apt depends phonon4qt5 phonon4qt5 Depends: libphonon4qt5-4 (>= 4:4.10.1-0xneon+18.04+bionic+build4) |Depends: debconf (>= 0.5) Depends: <debconf-2.0> cdebconf debconf |Depends: phonon4qt5-backend-vlc Depends: <phonon4qt5-backend> phonon4qt5-backend-gstreamer phonon4qt5-backend-null phonon4qt5-backend-vlc Suggests: phonon4qt5-backend-gstreamer Suggests: phonon4qt5-backend-vlc
이 꾸러미는, phonon4qt5-backend-vlc 또는 phonon4qt5-backend 를 필요로 함을 알 수 있다.
뭐라고?? 그렇다는 얘기는, phonon4qt5-backend-vlc 와 phonon4qt5 서로가 서로를 필요로 하고 있다는 얘기가 된다. 이런 경우는 처음 본다.
Kubuntu 18.04 나 Kubuntu 18.10 에선 이렇질 않다.
# Kubuntu 18.10 $ apt depends phonon4qt5-backend-vlc phonon4qt5-backend-vlc Depends: vlc-plugin-base Depends: vlc-plugin-video-output Depends: libc6 (>= 2.14) Depends: libphonon4qt5-4 (>= 4:4.10.0~) Depends: libqt5core5a (>= 5.9.0~beta) Depends: libqt5gui5 (>= 5.0.2) Depends: libqt5widgets5 (>= 5.0.2) Depends: libstdc++6 (>= 4.1.1) Depends: libvlc5 (>= 3.0.0) Depends: libvlccore9 (>= 2.0.1)
위에 있는 KDE Neon 과는 달리, phonon4qt5-backend-vlc
는 phonon4qt5
를 필요로 하지 않는다. 이게 정상인 듯 하다.
phono4qt5 의 의존성은 두 배포판이 모두 동일하다.
# Kubuntu 18.10 $ apt depends phonon4qt5 phonon4qt5 Depends: libphonon4qt5-4 (>= 4:4.10.1-1) |Depends: debconf (>= 0.5) Depends: <debconf-2.0> cdebconf debconf |Depends: phonon4qt5-backend-vlc Depends: <phonon4qt5-backend> phonon4qt5-backend-gstreamer phonon4qt5-backend-null phonon4qt5-backend-vlc Suggests: phonon4qt5-backend-gstreamer Suggests: phonon4qt5-backend-vlc
복잡한 얘기를 했지만, 결론은 이렇다.
vlc 를 지우려면, vlc 에 의존하고 있는 phonon4qt5-backend-vlc 를 먼저 지워야 한다. 그런데, 이걸 지우려면, 이것이 없으면 죽고 못사는 phonon4qt5 도 지워야 한다.
여기서 큰 문제가 발생한다.
phonon4qt5 에 의존하는 꾸러미 중엔 plasma desktop
도 있고, 굵직한 다른 꾸러미들도 꽤 많다. 다시 말해, 이 꾸러미가 없으면 KDE Plasma 가 존재할 수가 없다.
따라서, 결국 vlc 를 지우려면 KDE Plasma 를 지워야하는 사태가 발생(발발(勃發)?)하게 된다!
그러면, 도대체 vlc 를 지울 수는 있는 건가?? 무시무시한 의존성 협박을 넘어서면서 지워야 하나?
물론, 간단히 해결할 방법은 있다. 그 실마리도 위에 이미 써놨다.
phonon4qt5
는 phonon4qt5-backend-vlc
또는 phonon4qt5-backend
를 의존하고 있다. phonon4qt5-backend-vlc 는 이미 설치되어 있지만, phonon4qt5-backend 는 설치되어 있지 않다. 그럼 이걸 설치해주면 의존성이 성립되지 않을까?
그렇게 생각했으나, phonon4qt5-backend 는 아마도 가상 꾸러미인 듯 하다.
설치를 해보려고 했더니, 이런 설명을 해준다.
$ sudo apt install phonon4qt5-backend Reading package lists... Done Building dependency tree Reading state information... Done Package phonon4qt5-backend is a virtual package provided by: phonon4qt5-backend-vlc 0.10.1-2 phonon4qt5-backend-null 4:4.10.1-1 phonon4qt5-backend-gstreamer 4:4.9.0-1 You should explicitly select one to install. E: Package 'phonon4qt5-backend' has no installation candidate
이건 가상 꾸러미이니, 셋 중 하나를 택하라고.
null 은 또 다른 가상의 냄새가 나고, 실제 backend 는 phonon4qt5-backend-gstreamer 로 보인다.
그렇다면, 이걸 설치하면, phonon4qt5-backend-vlc 를 삭제할 수 있을 거라, 지금껏 살아온 ‘눈치’로, 또는 혹자는 ‘추리력’으로 말하는 ‘논리’로 짐작해볼 수 있다.
apt remove 는 자동작업이 많이 일어나므로, 좀 더 확실하게 하기 위해 dpkg -r 을 사용해봤다.
이제부터 나오는 명령은 모두 KDE Neon 환경에서 실행했다.
$ sudo dpkg -r phonon4qt5-backend-vlc dpkg: dependency problems prevent removal of phonon4qt5-backend-vlc:amd64: phonon4qt5:amd64 depends on phonon4qt5-backend-vlc | phonon4qt5-backend; however: Package phonon4qt5-backend-vlc:amd64 is to be removed. Package phonon4qt5-backend is not installed. Package phonon4qt5-backend-vlc:amd64 which provides phonon4qt5-backend is to be removed. phonon4qt5:amd64 depends on phonon4qt5-backend-vlc | phonon4qt5-backend; however: Package phonon4qt5-backend-vlc:amd64 is to be removed. Package phonon4qt5-backend is not installed. Package phonon4qt5-backend-vlc:amd64 which provides phonon4qt5-backend is to be removed. dpkg: error processing package phonon4qt5-backend-vlc:amd64 (--remove): dependency problems - not removing Errors were encountered while processing: phonon4qt5-backend-vlc:amd64
지우려고 했더니, 이런 소리를 한다.
phonon4qt5:amd64 depends on phonon4qt5-backend-vlc | phonon4qt5-backend;
phonon4qt5 가, phonon4qt5-backend-vlc 또는 phonon4qt5-backend 를 의존하고 있으니, 둘 중 하나는 있어야 하는데, phonon4qt5-backend-vlc 를 지운다면, phonon4qt5 가 의존할 꾸러미가 없어지므로 규칙 위반이 된다.
따라서, phonon4qt5-backend-vlc 를 삭제할 수는 없다.
그렇다면, phonon4qt5-backend 를 설치해주면 되고, 이 꾸러미는 결국 phonon4qt5-backend-gstreamer 라는 걸 위에서 밝혀냈었다. 고민하지 말고 설치한다.
$ sudo apt install phonon4qt5-backend-gstreamer Reading package lists... Done Building dependency tree Reading state information... Done Starting pkgProblemResolver with broken count: 0 Starting 2 pkgProblemResolver with broken count: 0 Done The following additional packages will be installed: phonon-backend-gstreamer-common Suggested packages: phonon-backend-gstreamer The following NEW packages will be installed: phonon-backend-gstreamer-common phonon4qt5-backend-gstreamer 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 129 kB of archives. After this operation, 455 kB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://archive.neon.kde.org/user bionic/main amd64 phonon-backend-gstreamer-common amd64 4:4.9.0-1+18.04+bionic+build4 [13.5 kB] Get:2 http://archive.neon.kde.org/user bionic/main amd64 phonon4qt5-backend-gstreamer amd64 4:4.9.0-1+18.04+bionic+build4 [115 kB] Fetched 129 kB in 2s (67.2 kB/s) Selecting previously unselected package phonon-backend-gstreamer-common:amd64. (Reading database ... 142949 files and directories currently installed.) Preparing to unpack .../phonon-backend-gstreamer-common_4%3a4.9.0-1+18.04+bionic+build4_amd64.deb ... Unpacking phonon-backend-gstreamer-common:amd64 (4:4.9.0-1+18.04+bionic+build4) ... Selecting previously unselected package phonon4qt5-backend-gstreamer:amd64. Preparing to unpack .../phonon4qt5-backend-gstreamer_4%3a4.9.0-1+18.04+bionic+build4_amd64.deb ... Unpacking phonon4qt5-backend-gstreamer:amd64 (4:4.9.0-1+18.04+bionic+build4) ... Setting up phonon-backend-gstreamer-common:amd64 (4:4.9.0-1+18.04+bionic+build4) ... Processing triggers for hicolor-icon-theme (0.17-2) ... Setting up phonon4qt5-backend-gstreamer:amd64 (4:4.9.0-1+18.04+bionic+build4) ...
그리고 나면, 드디어!
$ sudo dpkg -r phonon4qt5-backend-vlc (Reading database ... 142961 files and directories currently installed.) Removing phonon4qt5-backend-vlc:amd64 (0.10.1-2+18.04+bionic+build5) ...
지워졌다! 이제 vlc 도 삭제해버릴 수 있겠지!!!
그러나! (또?)
의존하는 꾸러미가 하나 더 있다. 이름도 비슷하다. 바로 phonon-backend-vlc
이다. 마찬가지로 phonon-backend-gstreamer 를 설치해줘야 한다.
$ sudo apt install phonon-backend-gstreamer
이제 정말로 vlc 를 지울 수 있게 됐다.
정리! 다음 두 꾸러미를 설치하면 vlc 를 지울 수 있게 된다.
$ sudo apt install phonon-backend-gstreamer $ sudo apt install phonon4qt5-backend-gstreamer
그리고 삭제.
$ sudo apt remove vlc
이렇게 애써 vlc 를 지우려고 한 이유는, snap 으로 최신판을 설치하기 위함이다.
사실, Deb 꾸러미와 Snap 으로 설치한 두 프로그램이 동시에 존재해도 큰 상관은 없다. 설치 위치는 확연히 다르고, 설정 파일 위치도 다르다.
# 설정파일 Deb 설치 vlc /home/userx/.config/vlc/vlcrc /home/userx/.config/vlcrc # 설정파일 Snap 설치 vlc /home/userx/snap/vlc/555/.config/vlcrc /home/userx/snap/vlc/common/vlcrc
따라서, 두 개 모두 설치되어 있어도 큰 문제가 발생할 일은 없다. (없을 듯 하다. ^^)
그러나, 프로그램 메뉴에 두 개가 등록이 되어 있어서 조금 헷갈릴 수는 있다.
.desktop 파일 위치는 다음과 같다.
#Deb /usr/share/applications/vlc.desktop #Snap /snap/vlc/555/meta/gui/vlc.desktop /snap/vlc/555/usr/share/applications/vlc.desktop
Snap 의 경우, 디렉토리가 2개가 있는데, 무슨 차이가 있는 지는 모르겠다.
Snap 용 vlc 만 표시되게 하고 싶다면, Deb 용 .desktop 파일을 살짝 수정하여 보이지 않게 할 수는 있다.
# /usr/share/applications/vlc.desktop 에 다음 행을 추가. NoDisplay=true
마지막으로, snap 을 통해 vlc 를 설치하려면,
$ sudo snap install vlc
끝!