소개
Sundry는 DuckStudio에서 개발한 WinGet 관련 도구로, 매니페스트 제거, 수정, 검증 오류 분석 등을 보다 쉽게 수행할 수 있도록 도와줍니다. 이 도구는 Microsoft winget-pkgs 저장소와의 상호작용을 자동화하여 패키지 관리의 효율성을 높입니다. Python 기반으로 제작되었으며, AGPL-3.0 라이선스 하에 배포됩니다.
상세정보
매니페스트 제거
sundry remove 명령을 통해 microsoft/winget-pkgs 저장소에서 특정 패키지의 특정 버전을 제거할 수 있습니다. 제거 전 자동으로 해당 버전에 문제가 있는지 확인하며, 기본 이유는 ‘설치 프로그램 URL이 GitHub Action에서 404를 반환함’입니다. 사용자는 이유를 지정하거나 자동 확인을 건너뛸 수 있습니다.
매니페스트 수정
sundry modify 명령은 특정 패키지 버전의 매니페스트를 수정하고, 변경 사항을 바탕으로 microsoft/winget-pkgs에 자동으로 풀 리퀘스트를 생성합니다. 수정 이유나 관련된 GitHub 이슈를 커밋 메시지에 포함할 수 있습니다.
검증 오류 분석
sundry logs-analyse 명령은 WinGet 검증 파이프라인에서 생성된 로그를 다운로드하고 분석하여 실패 원인을 자동으로 식별합니다. 분석 결과는 스크린샷, 일반 로그 정보, 실행 파일 정보 등으로 구분되어 색상(노란색: 사용자 PR 문제 가능성 높음, 빨간색: 기타 문제)으로 표시됩니다. 2026년 8월 10일부터 검증이 GitHub App으로 변경되어 ADO 로그 분석은 더 이상 지원되지 않습니다.
기타 기능
sundry verify는 로컬 또는 PR上的 매니페스트를 설치 및 제거하여 ARP 레지스트리 변경을 테스트합니다. sundry autoremove는 지정된 패키지 식별자 아래의 모든 유효하지 않은 버전을 자동으로 확인하고 제거합니다. sundry cat은 패키지 매니페스트를 조회하며, sundry config는 도구의 설정 파일을 초기화, 표시, 편집, 업데이트하는 데 사용됩니다.
설치 및 시작 방법
Sundry는 WinGet을 통해 설치할 수 있습니다: winget install --id DuckStudio.Sundry --exact. 또는 GitHub 릴리스 페이지에서 설치 프로그램이나 아카이브를 직접 다운로드할 수 있습니다.
설치 후 먼저 구성 파일을 초기화해야 합니다: sundry config init. 초기화 후 sundry config show로 현재 설정을 확인할 수 있습니다. 구성 값은 sundry config "" "" 형태로 수정할 수 있으며, 수동 수정을 원한다면 sundry config edit 명령을 사용합니다.
지원 환경 및 제한 사항
Sundry는 주로 Windows 환경에서 설계되었으며, 일부 명령(예: remove, modify, verify, logs-analyse, ignore)은 WinGet과 microsoft/winget-pkgs 저장소 접근에 의존하므로 Ubuntu에서는 부분적으로만 작동합니다. 구체적인 제한 사항이나 사용 시 주의점은 공식 문서를 참조하시기 바랍니다.
시스템 요구사항
Windows 운영체제에서 실행되며, Python 3.8 이상이 필요합니다. WinGet 환경이 필수적이며, 일부 기능(예: 매니페스트 수정, 제거, 검증)은 microsoft/winget-pkgs 저장소에 대한 접근이 필요합니다.


