중요: 이 문서는 winget의 설치 방법, 주요 명령어, 패키지 제출 절차, 엔터프라이즈 적용 체크리스트, 보안 및 문제 해결 팁을 포괄합니다.
목표와 관련 검색어
- 기본 목표: Windows에서 winget 설치 및 사용 방법 안내
- 관련 변형: 윈도우 패키지 매니저 사용법, winget 설치, Winstall 가이드, winget 명령어 모음, Windows 앱 일괄 설치
개요
이 글은 윈도우 패키지 관리자(이하 winget)의 목적과 설치 방법, 명령어 사용법, 고급 활용(스크립트·대량 설치·패키지 제출)과 운영 환경에서의 도입 체크리스트까지 포함한 실무 중심 가이드입니다. 초보자부터 시스템 관리자까지 실제로 적용 가능한 절차와 팁을 제공합니다.
패키지 관리자가 무엇인지 한 줄로 정의
패키지 관리자: 운영체제에서 소프트웨어 설치·업데이트·제거를 자동화하는 도구입니다.
왜 윈도우에 winget이 필요한가
- 설치 절차 단순화: 웹에서 설치 파일을 찾아 수동으로 설치할 필요가 줄어듭니다.
- 자동 업데이트 가능성: 중앙 저장소를 통해 업데이트 관리를 일원화할 수 있습니다.
- 보안 통제: 마이크로소프트가 매니페스트와 해시를 검증하여 신뢰성을 높입니다.
주요 가치 제안
- 개발자·엔지니어 생산성 향상
- 초기 셋업 및 재설치 시간 단축(자동화 스크립트 사용)
- 엔터프라이즈 배포 시 정책 기반 관리가 쉬움
윈도우 패키지 관리자(winget) 소개
윈도우 패키지 관리자는 명령줄 기반 패키지 도구입니다. 마이크로소프트가 공개한 오픈소스 프로젝트로, Windows 10 환경에서 앱을 검색·설치·검증할 수 있습니다. 현재는 테스트 단계이며 단계적으로 모든 Windows 10 사용자에게 제공될 예정입니다. 다만, 지금도 GitHub에서 번들을 내려받아 바로 설치해 사용할 수 있습니다.
winget이 제공하는 핵심 기능
- 앱 설치/제거 자동화
- 저장소(소스) 관리
- 매니페스트 검증 및 해시 생성 도우미
- 명령어 기반 검색과 상세 조회
- 문제 해결을 위한 추가 정보 제공
winget 설치 방법 요약
설치 방법은 두 가지입니다.
인사이더 빌드 설치 및 Windows Package Manager 인사이더 프로그램 참가
- 장점: 시스템이 자동으로 업데이트를 관리합니다.
- 요구사항: 특정 빌드 이상(예: Windows 10 1709 빌드 16299 이상 권장)을 확인하세요.
GitHub에서 번들(bundle) 다운로드 및 설치
- 장점: 인사이더가 아니어도 즉시 사용 가능.
- 단점: 수동 업데이트 필요(자동 업데이트가 되지 않음).
GitHub 번들로 winget 설치 단계별
- GitHub의 Windows Package Manager 릴리스 페이지로 이동하여 최신 번들(.appxbundle 등)을 다운로드합니다.
- Microsoft Store에서 App Installer를 검색해 최신 버전으로 업데이트합니다.
- 다운로드한 번들 파일이 있는 폴더로 이동해 더블클릭하여 설치합니다.
설치가 완료되면 명령 프롬프트 또는 PowerShell에서 winget
을 입력해 설치 여부와 버전, 사용 가능한 명령어를 확인합니다.
기본 명령어와 사용 예시
다음은 현재 winget에서 지원하는 주요 명령어입니다. 아래 예시를 따라 직접 실행해 보세요.
install
– 애플리케이션 설치show
– 애플리케이션 정보 표시source
– 저장소(소스) 관리search
– 앱 검색 및 기본 정보 표시hash
– 설치 파일의 해시 생성 보조validate
– 매니페스트 파일 검증--help
– 명령어 도움말--info
– 클라이언트 추가 정보--version
– 클라이언트 버전
예시: 검색, 조회, 설치
winget search vscode
winget show Microsoft.VisualStudioCode
winget install Microsoft.VisualStudioCode
show
명령에 -?
를 붙이면 해당 명령의 상세 옵션과 인수를 확인할 수 있습니다.
winget show -?
위 명령은 show
의 사용법과 사용할 수 있는 인자들(버전 지정, 소스 지정 등)을 보여줍니다.
Winstall로 대량 설치 자동화하기
Winstall은 winget을 사용하는 웹 기반 서비스입니다. 사용자가 앱 목록을 선택하면 해당 앱을 설치하는 스크립트를 생성합니다. 스크립트를 복사해 PowerShell 또는 CMD에 붙여넣으면 선택한 앱이 일괄 설치됩니다.
Winstall 사용 단계
- Winstall 사이트 접속
- 앱을 선택하거나 미리 만든 팩(Pack)을 선택
Generate script
로 스크립트 생성 후Copy to clipboard
클릭.- PowerShell용 스크립트가 필요하면 “Show PowerShell script” 토글을 켜세요.
- 명령 프롬프트나 PowerShell에 붙여넣고 실행
- 설치 진행 상황을 확인하고 완료를 기다립니다.
Winstall 계정을 통해 팩을 공유하려면 트위터 계정으로 로그인하고 Create Pack
을 사용해 공개할 수 있습니다.
매니페스트 작성 및 패키지 제출 흐름
winget 저장소에 앱을 추가하려면 매니페스트를 작성해 GitHub에 풀 리퀘스트(PR)를 제출해야 합니다. 매니페스트는 JSON 형식이며, 앱 메타데이터(이름, 버전, 설치 프로그램 URL, 설치 옵션 등)를 포함합니다.
간단한 매니페스트 구조 (예시)
{
"PackageIdentifier": "Vendor.App",
"PackageVersion": "1.2.3",
"ManifestType": "singleton",
"Installers": [
{
"Architecture": "x64",
"Url": "https://example.com/installer.exe",
"Sha256": "..."
}
],
"Moniker": "app",
"Commands": ["app.exe"]
}
- PackageIdentifier: 고유 식별자
- PackageVersion: 버전
- Installers: 설치 파일 정보(URL + SHA256 권장)
- Moniker: 단일 명령어 별칭(선택)
제출 전 검증
winget validate
로 매니페스트 문법 검증winget hash
로 해시 생성 후 매니페스트에 반영
PR 제출 팁
- 정확한 설치 URL과 SHA256 해시를 포함하세요.
- 인스톨러가 자동화 설치를 지원하는지 확인하세요(무인 설치 인자 존재 여부).
- 문서(README)에 설치 조건과 라이선스 정보를 명확히 기재하세요.
보안 및 프라이버시 고려사항
- 매니페스트의 설치 URL과 해시는 신뢰 가능한 출처여야 합니다.
- 공개 저장소에 민감한 자격증명이나 토큰을 절대 넣지 마세요.
- 엔터프라이즈 환경에서는 내부 저장소(프라이빗 소스)를 사용해 내부 승인 절차를 거친 패키지만 배포하세요.
winget과 다른 Windows 패키지 관리자 비교
아래 비교는 일반적인 특성 중심으로 정리한 것입니다.
항목 | winget | Chocolatey | Scoop |
---|---|---|---|
운영사 | Microsoft (오픈소스) | 커뮤니티 기반 | 커뮤니티 기반 |
설치 방식 | 번들 / 인사이더 / 스토어 | PowerShell 스크립트 기반 | 단순 폴더 기반 |
GUI | 부재(서드파티 있음) | 일부 GUI 존재 | 없음 |
엔터프라이즈 통합 | Microsoft 에코시스템과 연계 가능 | 풍부한 커뮤니티 패키지 | 개발자 친화적 |
대체 접근법:
- Chocolatey: 풍부한 패키지와 스크립트 중심 관리에 강점
- Scoop: 개발도구 중심, 경량 설치와 버전 관리에 유리
- winget: Microsoft 인증/검증 과정과 통합이 필요한 조직에 적합
엔터프라이즈 도입 체크리스트
다음 항목을 확인해 조직에 도입하세요.
- 정책과 거버넌스
- 내부 승인 프로세스 확립
- 신뢰 가능한 저장소 목록 작성
- 보안
- 매니페스트 검증 프로세스 수립
- 설치 파일의 SHA256 검증 의무화
- 배포
- 자동화 스크립트(예: PowerShell DSC, SCCM 통합) 준비
- 롤백 계획과 테스트 시나리오 마련
- 교육
- 개발자/운영팀용 사용 매뉴얼 제공
- 샘플 스크립트와 모범 사례 배포
역할별 체크리스트
개발자
- 일관된 설치 스크립트 유지
- 매니페스트에 실행 인자 명시
- 개발용 패키지 테스트 환경 유지
시스템 관리자
- 내부 소스(프라이빗 저장소) 구성
- 중앙화된 업데이트 정책 적용
- 로그와 감사(tracking) 정책 설정
파워유저
- Winstall 사용으로 개인 워크스테이션 빠른 셋업
- 설치 전 매니페스트와 해시 확인
문제 해결 가이드(자주 발생하는 오류와 대응)
- winget 명령이 인식되지 않음
- App Installer가 최신인지 확인
- PATH 문제가 아닌지 확인(보통 자동으로 등록됨)
- 설치 실패(권한 문제)
- 관리자 권한(관리자 권한으로 PowerShell 실행)으로 시도
- SHA256 검증 실패
- 설치 파일이 변경되었거나 URL이 잘못됨. 신뢰 가능한 소스 확인
- 특정 앱이 검색되지 않음
- 저장소 업데이트 필요 또는 해당 앱 매니페스트가 없음. 직접 매니페스트를 작성해 PR 제출 고려
테스트 케이스 및 인수 기준
- 기본 동작
winget search
로 앱 검색이 가능해야 함winget install
로 앱이 정상 설치되어 실행 가능해야 함
- 보안 검증
winget hash
로 생성한 SHA256이 매니페스트에 반영되어야 함
- 스케일 테스트
- Winstall로 10개 이상의 앱을 일괄 설치할 때 실패한 항목을 재시도하거나 로그 기록해야 함
롤백 및 인시던트 대응 요약
- 설치 실패 시 로그 확인 후 수동 설치로 복구
- 엔터프라이즈는 시스템 이미지(예: Acronis, SCCM 이미지)로 롤백 계획 유지
- 패키지 문제로 인한 보안 사고 발생 시 해당 패키지 식별자, 버전, 설치 시각을 로그에서 확보
모범 스크립트 예제
PowerShell을 사용해 여러 앱을 설치하는 간단한 스크립트 예제:
# apps.txt 파일에 설치할 패키지 식별자 목록을 작성
Get-Content .\apps.txt | ForEach-Object {
Write-Host "Installing $_"
winget install --accept-source-agreements --accept-package-agreements $_
}
--accept-source-agreements
와--accept-package-agreements
플래그로 사용자 동의 대화 상자 자동 통과
마이그레이션 및 호환성 팁
- 기존 Chocolatey/Scoop 스크립트를 그대로 변환해 쓸 수는 없음. 각 도구의 패키지 식별자와 옵션을 매핑해야 합니다.
- 중요한 툴은 두 도구에서 모두 설치 테스트를 해 변경으로 인한 동작 차이를 확인하세요.
Winstall 이용 시 주의사항
- Winstall은 편리하지만 외부에서 생성된 스크립트를 그대로 실행할 때는 스크립트 내용을 반드시 검토하세요.
- 파워셸 스크립트의 경우 관리자 권한이 필요한 명령이 포함될 수 있습니다.
에지 케이스와 제한 사항
- 일부 앱은 무인 설치 옵션을 제공하지 않아 자동 설치에 실패할 수 있습니다.
- 설치 패키지의 배포 방식(예: Microsoft Store 전용 앱)은 winget에서 지원되지 않을 수 있습니다.
- 기업용 내부 애플리케이션은 프라이빗 소스에 수동으로 등록해야 합니다.
짧은 발표용(100–200 단어)
윈도우 패키지 관리자(winget)는 Windows 10에 네이티브 패키지 관리 기능을 추가합니다. GitHub에서 번들을 내려받거나 인사이더 빌드를 통해 즉시 사용 가능하며, install
, search
, show
, validate
같은 기본 명령어로 앱 설치·검증·업데이트를 자동화할 수 있습니다. Winstall 같은 도구를 활용하면 여러 앱을 번들로 묶어 한 번에 설치할 수 있어 워크스테이션 초기 설정 시간이 크게 단축됩니다. 엔터프라이즈에서는 내부 저장소와 매니페스트 검증 프로세스를 통해 보안과 거버넌스를 확보할 수 있습니다.
요약
- winget은 Windows용 네이티브 패키지 관리자입니다.
- GitHub 번들이나 인사이더 빌드로 설치할 수 있습니다.
- 기본 명령어(
search
,show
,install
,hash
,validate
)로 운영 작업을 자동화하세요. - Winstall을 활용하면 일괄 설치가 편리합니다.
- 엔터프라이즈 도입 시 매니페스트 검증, 내부 소스 관리, 롤백 계획을 준비하세요.
더 궁금한 점이나 특정 상황(예: SCCM과 연동, 내부 저장소 구성)에 대한 자세한 가이드가 필요하면 알려 주세요.