목차
윈도우 패키지 관리자 개요
2021년 5월 26일에 Microsoft에서 직접 개발한 패키지 관리자가 정식 출시되었다고 한다.
「패키지 관리자」란, Linux 계열의 OS에서 패키지를 shell에서 설치하는 기능을 가진 실행 명령을 말한다. 예를 들어, Ubuntu의 apt, CentOS의 yum, MacOS의 brew 같은 것이다. 좀 더 명확한 예를 들자면, 본 블로그 내 필자의 다른 글에 정리해 두었지만, Ubuntu에서는 시스템에 설치된 패키지들의 업데이트 시 아래와 같은 명령을 활용한다.
1 | apt update && apt upgrade && apt dist-upgrade |
이제 Windows10에서도 아래와 같이 업데이트할 수 있다.
1 | winget upgrade --all |
한글로 「패키지 설치 관리자」라고 부르는 기능은 영어로는 「Windows Package Manager」이며, Microsoft 공식 사용자 매뉴얼도 링크해 두었다.
이로 인해 달라지는 점이라면 이렇다.
보안 향상 : 예전에는 윈도우의 특정 프로그램을 실행시키면 해당 프로그램이 서비스하는 서버에서 최신 버전을 실행 시점에 업데이트 하는 방식이었지만, 이제 패키지 설치 관리자 실행 명령을 이용하여 윈도우 서버에 최신 버전의 Manifesto 정보가 있다면, 즉시 모든 앱들을 업데이트할 수 있다. 시스템 업데이트를 잘 하지 않는 사람들에게는 조금 귀찮은 일이 생겼지만, 필자처럼 ‘취약점’ 같은 거 없애는 거에 강박관념 있는 사람들에게는 정말 좋은 변화이다.
패키지 전체 설치 : 예전에는 Windows OS를 포멧하고 다시 설치할라치면, 자기가 사용했던 프로그램들을 모두 기억하고 하나 하나 찾아다 다운로드하고 설치하고, 업데이트하고, 나에 맞게 설정해야 했지만… 이제 패키지 설치 관리자를 이용하면 스크립트로 한 방에 주르륵~~ 필요한 프로그램들을 설치할 수 있게 된다. (물론, 해당 프로그램의 제작사가 윈도우 관리 서버에 Package Manifesto 정보를 등록해줘야 하지만…)
아직까지 필자의 이해는 이정도다. 필자보다 똑똑한 분들이 더 좋은 리뷰를 해 주시면 필자도 훔펴보고, 공부하고 본 페이지의 내용에 추가해 보겠다. (대놓고 컨닝 예고!)
윈도우 패키지 관리자 설치 및 실행 확인
필자가 처음에 이 뉴스를 보고 ‘응? 나 저거 설치 했었는데?’ 하는 생각이 들어, Microsoft Store를 켜고 검색해보니 뭔가 설치되어 있기는 하다.
어라? 얘가 아닌가보다.
다시 출시 관련들을 자세히 읽어보니 Windows Insider에 등록한 사람은 설치되어 있을 것이지만, 아니면 수동 설치하라고 한다. 필자는 그렇게까지 훌륭한 개발자는 아닌 쪼렙 코더라서 굳이 Windows Insider 프로그램까지 참여하고 있지는 않다보니 수동으로 설치하기로 했다.
설치 패키지이니 덩치가 좀 클 것만 같다. Repository 중간에 있는 내용 중 덩치가 좀 큰 녀석을 다운로드 한다. (appxbundle이라는 파일명이 뭘 의미하는지 찾아보기 귀찮았다고나 할까…)
Windows Terminal을 실행시켜 winget을 입력해보니 아래와 같이 아름답게 나타난다.
딱히 뭘 설치해야 할 지 모르겠어서 업그레이드를 해 보기로 했다. winget upgrade -all 명령을 입력해 보았다. 그랬더니 온갖 오류가 발생하면서 fail 메시지가 잔뜩 나타난다.
뭔가 느낌이 쎄~해서 CTRL+C 를 입력하여 진행 중인 업데이트를 abort 했다.
Windows Terminal을 다시 “관리자 모드”로 실행했다.
다시 winget upgrade -all 명령을 입력하였더니, 정상적으로 등록된 모든 프로그램들을 업데이트 해 주었다. 성공!
몇 줄 요약
Windows Package Manager는 별도 다운로드 해야 한다.
Windows Package Manager는 Windows Terminal이 “관리자 모드로 실행” 되었을 때만 정상 작동한다.
Windows10에서도 이제 Linux 계열의 OS처럼 command shell에서 패키지 관리를 할 수 있다.
(어라? 근데 이러면 Winux? Wibuntu?)
쓸만한 명령어들 몇 개 줍줍
패키지 매니저 명령어 보기
1
winget
시스템 내 모든 프로그램들 업그레이드
1
winget upgrade --all
모든 명령에 대한 도움말 표시
1
winget --help
명령에 대한 옵션 표시
1
winget <command> --help
실제 help 사용 예)
1
winget upgrade --help