버전과 함께 Ubuntu에 설치된 패키지를 스캔하고 가져옵니다.

버전과 함께 Ubuntu에 설치된 패키지를 스캔하고 가져옵니다.

패키지 버전과 함께 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.

관련 정보