![Apt/Aptitude: 설치할 수 없는 패키지를 필터링하는 방법은 무엇입니까?](https://linux55.com/image/2278/Apt%2FAptitude%3A%20%EC%84%A4%EC%B9%98%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%8A%94%20%ED%8C%A8%ED%82%A4%EC%A7%80%EB%A5%BC%20%ED%95%84%ED%84%B0%EB%A7%81%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
특히 Sid를 실행할 때 종속성이 ABI 버전을 변경하거나 종속성 자체가 제거되었을 수 있으므로 많은 패키지를 제거할 수 없게 됩니다. 잠재적인 관리자가 저장소에 어떤 문제가 있는 패키지가 있는지 확인할 수 있도록 이러한 패키지를 필터링하는 방법을 아는 것이 좋습니다.
지금까지 나는 다음을 생각해 냈습니다.
#!/bin/sh
apt-cache pkgnames|xargs apt-get -s install\
|sed "/ : /h;/installable/{x;/ .* :/{s/ \(.*\) :.*/\1/;b}};d" | sort
"설치하지 않음" 패키지 X에 의존하는 패키지를 재귀적으로 표시하지 않습니다. 여기서 X는 종속성 중 하나가 "설치할 수 없음"이기 때문에 표시된 패키지입니다. 예를 들어 다음과 같습니다.
foo : Depends on bar but not going to be installed
bar : Depends on baz but not installable
bar
플래그가 지정되지만 foo
그렇지 않습니다. 모든 패키지에 "설치하지 않음" 줄을 표시하면 안 됩니다. 패키지가 존재하지만 설치된 다른 패키지를 손상시킬 수 있기 때문입니다.
답변1
Python을 알고 있다고 가정하고, 그렇지 않다면 오늘이 시작하기에 좋은 시간입니다... 적절한 Python 바인딩에 대한 문서에는 완전한 솔루션이 아닐 수도 있지만 관련 작업 예제가 있습니다.
apt-get install python-apt python-apt-doc
보세요 /usr/share/doc/python-apt-doc/examples/missing-deps.py
. 저는 데비안 스퀴즈를 사용하고 있습니다.
방금 시도했어요
python missing-deps.py
작은 패키지 세트를 생성합니다. 제가 이해한 이 스크립트는 현재 데비안 메인에서 제거할 수 있는 패키지 목록을 생성한다는 것입니다. 그러나 현재 이것을 테스트할 수 있는 편리하고 불안정한 데비안 설치가 없습니다.