윈도우 패키지 관리자
1. 개요
윈도우 패키지 관리자는 마이크로소프트가 개발한 윈도우 운영체제용 패키지 관리 도구이다. 2020년 5월 빌드 개발자 컨퍼런스에서 처음 발표되었으며, EXE, MSIX, MSI 기반 설치 프로그램을 지원한다. 윈도우 패키지 관리자는 기존의 Chocolatey, Scoop, Ninite, AppGet, Npackd, PowerShell 기반 OneGet 등 다양한 패키지 관리자를 참고하여 개발되었다. 2021년 5월 버전 1.0이 출시되었으며, 1,400개 이상의 패키지를 포함하는 마이크로소프트 커뮤니티 저장소를 갖추고 있다. 이 도구는 다양한 명령어를 통해 소프트웨어 설치 및 관리를 자동화하며, 보안을 위해 마이크로소프트 스마트스크린, 정적 분석, 해시 검증 등의 기능을 사용한다.
| 이름 | 윈도우 패키지 관리자 |
|---|---|
| 영어 이름 | Windows Package Manager |
| 개발 | 마이크로소프트 |
| 출시일 | 2021년 5월 26일 |
| 최신 안정화 버전 | 1.7.10582 |
| 최신 안정화 버전 출시일 | 2024년 2월 27일 |
| 최신 미리보기 버전 | 1.7.10661 |
| 최신 미리보기 버전 출시일 | 2024년 3월 8일 |
| 프로그래밍 언어 | C++ |
| 운영 체제 | 윈도우 10, 윈도우 11 |
| 장르 | 패키지 관리 시스템 |
| 라이선스 | MIT 허가서 |
| 웹사이트 | 윈도우 패키지 관리자 공식 웹사이트 |
| 저장소 | 깃허브 저장소 |
-
2020년 소프트웨어 -
안드로이드 11
안드로이드 11은 구글이 개발한 안드로이드 운영체제의 11번째 주요 버전으로, 사용자 편의성, 개인 정보 보호, 대화 및 미디어 제어 기능 개선과 더불어 5G, 폴더블 스마트폰 등 새로운 기술 트렌드를 반영하여 2020년 9월 8일에 정식 출시되었다. -
2020년 소프트웨어 -
트레이스투게더
-
마이크로소프트의 자유 소프트웨어 -
마이크로소프트 코그니티브 툴킷
-
마이크로소프트의 자유 소프트웨어 -
ASP.NET
ASP.NET은 .NET Framework 기반의 마이크로소프트 웹 애플리케이션 개발 플랫폼으로, ISAPI를 통해 동작하며 다양한 프로그래밍 모델과 개발 도구를 지원하고, 부트스트랩, OAuth 2.0, OData 등 최신 기술을 통합하여 강력한 웹 개발 환경을 제공한다. -
명령줄 소프트웨어 -
어드밴스트 패키징 툴
어드밴스트 패키징 툴(APT)은 데비안 계열 리눅스 배포판에서 패키지를 관리하는 도구 모음으로, 패키지 설치, 삭제, 업데이트, 업그레이드 기능을 제공하며, 특히 패키지 간 의존성을 자동 관리하는 특징을 가진다. -
명령줄 소프트웨어 -
FFmpeg
FFmpeg은 오디오 및 비디오 데이터를 다루는 자유 소프트웨어 프로젝트로, 다양한 코덱과 형식을 지원하며 멀티미디어 응용 프로그램에 활용되고 2011년 Libav로 포크되기도 했으나 통합 과정을 거쳤다.
2. 역사
윈도우 패키지 관리자는 2020년 5월 마이크로소프트 빌드 개발자 컨퍼런스에서 처음 발표되었다. 개발팀은 Chocolatey, Scoop, Ninite, AppGet, Npackd, 파워셸 기반 OneGet 등 다양한 패키지 관리자를 조사했다.
AppGet 개발자 케이반 베이기는 마이크로소프트가 2019년 12월 AppGet 인수 및 고용을 제안하며 인터뷰를 진행했으나, 윈도우 패키지 관리자 출시 직전 고용 불가 통보를 받았다고 주장했다. 베이기는 2020년 8월 AppGet 개발 중단을 발표했다. 마이크로소프트는 윈도우 패키지 관리자의 여러 기능이 AppGet에서 영감을 받았음을 인정했다.
2021년 5월 27일, 윈도우 패키지 관리자 1.0 버전이 출시되었으며, 당시 마이크로소프트 커뮤니티 저장소에는 1,400개 이상의 패키지가 포함되었다.
2.1. 개발 배경
마이크로소프트는 2020년 5월 빌드 개발자 컨퍼런스에서 윈도우 패키지 관리자를 처음 발표했다. 윈도우 패키지 관리자 개발팀은 Chocolatey, Scoop, Ninite, AppGet, Npackd, 파워셸 기반 OneGet 등 기존의 다양한 패키지 관리자를 조사하고 참고했다.
AppGet 개발자인 케이반 베이기는 마이크로소프트가 2019년 12월 AppGet을 인수하고 자신을 고용한다는 구실로 인터뷰했지만, winget 출시 하루 전에 고용하지 않겠다는 통보를 받았다고 주장했다. 그는 AppGet과 winget의 유사성을 주장하며, AppGet 프로젝트에 대한 귀속 표시 등이 없는 것에 대해 실망감을 드러냈다. 베이기는 2020년 8월에 AppGet 지원 중단을 발표했다. 마이크로소프트는 블로그 게시물을 통해 winget의 많은 기능이 AppGet에게서 영향을 받았음을 인정했다.
2.2. AppGet과의 관계
윈도우 패키지 관리자 발표 이후, AppGet 개발자인 케이반 베이기는 마이크로소프트가 2019년 12월 AppGet 인수 및 고용을 제안하며 인터뷰를 진행했으나, 윈도우 패키지 관리자 출시 직전 고용 불가 통보를 받았다고 주장했다. 베이기는 윈도우 패키지 관리자에 AppGet에 대한 귀속이 명확히 표시되지 않은 점에 대해 실망감을 표했으며, 2020년 8월 AppGet 개발 중단을 발표했다. 이에 마이크로소프트는 윈도우 패키지 관리자의 여러 기능이 AppGet에서 영감을 받았음을 인정하는 블로그 게시물을 발표했다.
2.3. 출시 및 발전
마이크로소프트는 2021년 5월 27일 윈도우 패키지 관리자 버전 1.0을 출시했다. 출시 당시 마이크로소프트 커뮤니티 저장소에는 1,400개 이상의 패키지가 포함되었다. 이후 지속적으로 업데이트되어 2024년 7월 6일 기준 버전 1.9까지 출시되었다.
3. 특징
winget은 EXE, MSIX, MSI 기반 설치 프로그램을 지원하며, 공개 윈도우 패키지 관리자 커뮤니티 저장소는 지원되는 응용 프로그램에 대한 매니페스트 파일을 YAML 형식으로 호스팅한다. 악성 소프트웨어가 저장소와 대상 시스템에 침입할 가능성을 줄이기 위해 윈도우 패키지 관리자는 마이크로소프트 스마트스크린, 정적 분석, SHA256 해시 검증 및 기타 프로세스를 사용한다. winget 클라이언트 소스 코드와 커뮤니티 매니페스트 저장소는 MIT 허가서에 따라 라이선스가 부여되며 깃허브에서 호스팅된다. 2020년 9월에는 마이크로소프트 스토어에서 응용 프로그램을 설치하는 기능과 명령 자동 완성 기능이 추가되었다.
3.1. 지원 형식
winget 도구는 EXE, MSIX, MSI 기반 설치 프로그램을 지원한다. 공용 윈도우 패키지 관리자 커뮤니티 저장소는 지원되는 응용 프로그램에 대한 매니페스트 파일을 YAML 형식으로 호스팅한다.
3.2. 보안
악성 소프트웨어가 저장소와 대상 시스템에 침입할 가능성을 줄이기 위해 윈도우 패키지 관리자는 마이크로소프트 스마트스크린, 정적 분석, SHA256 해시 검증 및 기타 프로세스를 사용한다.
4. 명령어
윈도우 패키지 관리자는 소프트웨어 설치 및 관리를 자동화하는 다양한 명령어를 제공한다.
| 명령어 | 설명 |
|---|---|
| export | 설치된 응용 프로그램 목록을 내보낸다. |
| features | 실험적인 기능의 상태를 표시한다. |
| hash | 설치 파일의 해시를 계산한다. |
| import | 파일에 나열된 모든 응용 프로그램을 설치한다. |
| install | 지정된 응용 프로그램을 설치한다. |
| list | 설치된 응용 프로그램을 표시한다. |
| show | 지정된 응용 프로그램에 대한 정보를 표시한다. |
| search | 응용 프로그램의 기본 정보를 검색하고 표시한다. |
| settings | winget 구성 설정을 연다. |
| source | 응용 프로그램 원본을 관리한다. |
| upgrade | 지정된 응용 프로그램을 업그레이드한다. |
| uninstall | 지정된 응용 프로그램을 제거한다. |
| validate | 매니페스트 파일의 유효성을 검사한다. |
`$PKG_ID`영어 변수를 검색하여 설치하려면 다음과 같이 입력한다.
```powershell
winget install --id=$PKG_ID -e
```
설치된 모든 패키지 목록을 보려면 다음과 같이 입력한다.
```powershell
winget list
```
모든 패키지를 업데이트하려면 다음과 같이 입력한다.
```powershell
winget upgrade --all
```
다음은 마이크로소프트의 소스 코드 편집기인 Visual Studio Code를 설치하는 예시이다:
```powershell
PS C:\Users\Wikipedia> winget install vscode
5. 사용 예시
특정 패키지를 검색하고 설치하려면 다음 명령어를 사용한다.
```powershell
winget install --id=$PKG_ID -e
```
여기서 `$PKG_ID`는 설치하려는 패키지의 ID이다. 마이크로소프트의 소스 코드 편집기인 Visual Studio Code를 설치하는 예시는 다음과 같다.
```powershell
PS C:\Users\Wikipedia> winget install vscode
```
설치된 모든 패키지 목록을 확인하거나 업데이트하려면 다음 명령어를 사용한다.
* 설치된 모든 패키지 목록 확인:
```powershell
winget list
```
* 설치된 모든 패키지 업데이트:
```powershell
winget upgrade --all
5.1. 패키지 ID 예시
* 비주얼 스튜디오 코드: 마이크로소프트의 코드 편집기
* 구글 크롬
* 모질라 파이어폭스
* 브레이브
* 비발디