설치된 패키지에 대한 정보를 찾을 수 있는 방법이 있나요? 예를 들어어떻게DNF, snap 등의 패키지 관리자를 통해 설치되나요, 아니면 사용자가 직접 컴파일하나요?
가끔 특정 패키지를 설치하는 방법을 기억하지 못하는 경우가 있는데, 버그 리포트 등에 항상 그러한 정보를 포함시켜야 합니다. 이런 종류의 정보를 제공할 수 있는 도구가 있나요? 이를 위해 스크립트를 작성하는 데 도움이 되었다면 크게 감사하겠습니다.
답변1
사용 중인 패키지 관리자에게 문의해야 합니다. 패키지 관리자만이 설치된 패키지와 패키지에 포함된 파일에 대한 메타 정보를 저장합니다. 이 정보는 베어 파일에서 얻을 수 없습니다.
어떤 배포판을 사용하는지 말하지 않았지만 항상 단일 패키지 관리자를 사용하고(나에게 적합함) 사용자가 컴파일한 항목을 다른 곳에 두는 것이 좋습니다(나에게는 목록을 /usr/local
사용하여 관리됩니다stow
12개 정도의 패키지 관리자를 사용하는 경우(이유는 무엇입니까?) 각 패키지 관리자를 차례로 쿼리하는 스크립트를 작성할 수 있습니다.
편집하다
나는 내가 컴파일하는 각 패키지에 대한 파일을 생성하여 소스에서 컴파일된 내용을 추적합니다 /usr/local/packages/<packagename>
. 어쨌든, 업그레이드할 때 다시 컴파일해야 하는 경우를 대비해 컴파일 방법에 대한 정보(보통 조정이 필요하고 최신 gcc로 컴파일되지 않는 문제를 수정해야 하는 등)가 포함되어 있기 때문에 이것이 필요합니다. 이 파일이 있기 때문에 소스 코드를 다운로드한 위치, 버전, 용도, 소스 타르볼 이름 등에 대한 정보도 추가했습니다. 모든 것을 에 설치한 다음 ( /usr/local/stow/<packagename>-<version>
때때로 Makefile 등을 조정해야 함 ./configure --prefix
) stow
. /usr/local
이것저것 자세히 설명했는데여기.
직접 컴파일한 것에서 실제 deb 또는 rpm 패키지를 만들 수도 있지만 stow
.