모니터 없이 Debian Jessie를 실행하는 임베디드 장치가 있습니다. UI가 필요하지 않기 때문에 X11 패키지를 정리하는 것을 고려했습니다. 이는 다소 예상치 못한 결과를 제공합니다.
sudo -u nobody apt-get remove '^x11' -s
그러면 다음과 같은 결과가 생성됩니다.
다음 패키지가 제거됩니다: ffmpeg libavdevice57 libavfilter6 ... libx11-dev libxau-dev ...
제거될 ffmpeg는 다음과 같습니다.이 버전은 jessie-backports에서 제공됩니다.. 그건아니요고의로. 엄밀히 말하면 libx11-dev
일치하지 않지만 '^x11'
자동으로 설치된 패키지가 자동으로 제거된다는 의미로 해석할 수 있습니다. 그러나 ffmpeg
수동으로 설치되었습니다(에서 확인 apt-mark showmanual
).
^x11
이 문제를 일으키는 패키지 이름과 ffmpeg 사이의 링크는 무엇입니까?
나도 그것을 시도했지만 sudo -u nobody apt-get remove '^vnc' -s
ffmpeg sudo -u nobody apt-get autoremove
에는 영향을 미치지 않습니다. 어쨌든 자동으로 제거되는 고아 패키지가 아닙니다. 특히 X11과 관련이 있습니다.
답변1
전체 종속성 트리를 추적하지는 않았지만 연결된 패키지에는 최소한 다음과 같은 종속성 체인이 있습니다. ffmpeg는 libsdl2에 종속되고 libxss1에 종속되며 차례로 x11-common에 종속됩니다.
x11-common
match 로 인해 ^x11
제거되어 ffmpeg 종속성이 깨졌습니다. 따라서 ffmpeg를 제거해야 합니다. 이것이 유일한 체인이라고 가정하면 x11-common
ffmpeg가 삭제되지 않도록 하여 보존할 수 있어야 합니다.
답변2
다른 패키지에서 참조하지 않았기 때문에 몇 개의 ffmpeg 라이브러리만 제거되었다는 메시지가 표시됩니다.
이렇게 하면...
apt-get install ffmpeg
그런 다음 삭제하면 이 라이브러리는 그대로 유지됩니다...아마도...
일정 기간 동안 ffmpeg는 저장소에서 (멍청하게) 제거되었습니다. 이제 다행히 돌아왔습니다.
Jessie와 함께 사용하는 특정 패키지에 따라 다른 결과가 발생합니다.
최신 Ubuntu로 마이그레이션하면 ffmpeg에 대한 위장 코드(내 의견)가 이제 제거되고 이제 true/real ffmpeg를 다시 사용할 수 있으므로 완전히 다른 작업 세트가 발생하게 됩니다.
Jessie의 경우 포저 코드는 aconv 등으로 불렸기 때문에 어느 시점에서 ffmpeg를 설치하려고 하면 aconv를 설치하라는 메시지가 표시되거나 ffmpeg가 aconv를 가리키는 더미 패키지일 수 있습니다. 이 넌센스는 수년간 혼란스러웠습니다.
기억해주세요. APT 시스템은 자신이 무엇을 하고 있는지 알고 있으며 더 이상 참조가 없는 고아 패키지만 삭제합니다.
따라서 패키지가 제거 대상으로 표시되면 어떤 이유로든 (참조 없이) 제거되어야 합니다.