패키지 버전과 함께 Ubuntu에 설치된 패키지 목록을 가져오는 Python 코드가 있습니까? 나는 Python 코드를 보았습니다.수동으로 설치된 패키지 목록 생성 및 개별 패키지 쿼리. 하지만 버전 ID 목록이 없습니다. 설치된 패키지의 버전을 얻는 방법을 아는 사람이 있습니까?
답변1
이에 대한 기존 코드가 있는지 확실하지 않습니다. 하지만 file 을 볼 수 있습니다 /var/lib/dpkg/status
. 설치된 패키지에 대한 모든 정보는 이 파일에 저장됩니다.
이 파일을 구문 분석하는 코드를 작성하는 것은 Python에 능숙하지 않은 경우에도 매우 쉽습니다.
답변2
이것이 askubuntu로 마이그레이션되어서는 안되는지 확실하지 않지만 언급된 스레드와 동일한 접근 방식을 사용하십시오. dpkg/dpkg-query를 실행하여 모든 데이터 덤프를 가져오고 표준 Python 구문 분석 메커니즘을 사용하여 관련 정보를 추출합니다.
물론, 이미 포크하고 있기 때문에 bash 자체에서 모든 텍스트 맹글링을 수행할 수 있습니다.
또는 버전이 포함된 상태 파일("Dir::Etc::Status"?)을 찾으십시오. 이 접근 방식이 가장 깨끗합니다.
답변3
-F
( --format
) 옵션을 aptitude에 전달합니다 .표시할 필드 지정.
aptitude --disable-columns -F '%p %v' search '~A'
Python에서는 패키지 apt_pkg
의 모듈을 사용합니다 python-apt
.