Windows 운영체제를 오래 사용하던 사람이라면 아마도 제어판에서 프로그램을 추가 및 삭제하는 방법이 어느정도 익숙하지 않을까 싶다. "프로그램 추가/제거"라는 이전 이름이 어느 순간 "프로그램 및 기능"으로 변경되었고, 이를 통해 설치된 버전이 무엇인지 살펴보고 변경 및 제거를 할 수가 있다.

 

Windows 11 환경에서 "프로그램 및 기능" 메뉴에서 "AWS" 키워드로 검색한 결과

 

Windows 11 환경에서 "프로그램 및 기능" 메뉴에서 "AWS" 키워드로 검색한 결과, 현재 설치된 AWS CLI 버전은 2.15.9.0임을 확인할 수 있었다. AWS CLI는 AWS 서비스를 명령어를 통해 관리하도록 해주는 CLI 도구로, `aws configure`를 실행하여 Access Key ID, Secret Access Key, 리전 이름 정도만 설정하면 AWS 서비스를 손쉽게 제어할 수가 있다. 설치할 당시에는 공식 홈페이지 (https://aws.amazon.com/ko/cli/)에서 다운로드를 하여 직접 설치를 진행하였는데, 시간이 지나면서 설치된 버전이 최신인지 확인하고, 최신 버전으로 업그레이드하는 과정이 필자에게는 다소 번거롭게 느껴졌다.

Ubuntu에서 사용하던 "sudo apt update && sudo apt upgrade"와 같이 손쉽게 할 수 있다면 얼마나 좋을까?

 

문득 갑자기 이런 궁금증이 들었고, winget이라는 도구가 있다는 잊고 있던 생각이 갑자기 났다. 이를 통해 AWS CLI 버전을 최신으로 업그레이드를 진행한 경험을 블로그를 통해 적고자 한다.

 

1. winget 소개 & 설치

winget은 Windows 10 이상에서 사용 가능한 패키지 관리 도구로, 다양한 소프트웨어를 손쉽게 설치, 업그레이드, 제거할 수 있다. CLI 명령어를 통해 소프트웨어 관리를 자동화할 수도 있겠다. Microsoft Store에서 앱 설치 관리자를 직접 검색하여 설치하거나, 또는 https://apps.microsoft.com/detail/9nblggh4nns1?rtc=1&hl=ko-kr&gl=KR#activetab=pivot:overviewtab URL로 접속하여 "설치" 버튼을 클릭하여 설치할 수 있다.

 

winget: 앱 설치 관리자를 Microsoft Store에서 설치하기

 

2. winget 기본 명령어

winget을 사용하는 기본적인 방법은 apt와 많이 유사하다. 필자는 여전히 "sudo apt update && sudo apt upgrade" 명령어가 익숙한데, winget에서는 update와 upgrade 명령어가 동일하다는 점을 참고하자 (정확히는 update가 upgrade에 대한 alias로 구성되어 있다). 자세한 도움말은 https://aka.ms/winget-command-help 를 통해 확인할 수 있으며, 또는 국내 Microsoft 권순만 MVP께서 정리하신 블로그 글 (URL: https://blog.naver.com/hakunamata2/223366445380 )을 참고해도 좋겠다.

winget vs. apt (많이 유사해보이지 않나요?!)

 

3. AWS CLI 설치하기

AWS 공식 문서 (URL: https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html)에는 MSI 설치 프로그램을 다운로드하여 실행하는 방법을 안내하고 있으며, winget으로도 손쉽게 설치가 가능하다. 커뮤니티를 통해 운영이 이루어지는 https://winget.run 사이트에서 AWS CLI 설치 명령어가 잘 안내되어 있다. 다만 본 블로그를 작성하는 시점에 AWS CLI 최신 버전은 2.16.5인데 반해, 해당 사이트에서는 AWS CLI 최신 버전이 2.11.2라고 언급되어 있다. 해당 사이트에서는 최신 정보를 포함하고 있지 않을 수도 있음을 꼭 참고하자.

https://winget.run/pkg/Amazon/AWSCLI 에서 안내하는 AWS CLI 설치 방법 (주의: 최신 버전 정보를 포함하지 않는 것 같습니다)

 

4. AWS CLI 최신 버전으로 업그레이드 및 관리하기

만약 본인처럼 이미 기존 AWS CLI 버전이 설치되지 않았다면 위 3번에서 소개하는 install 옵션을 사용하여 바로 최신 버전으로 설치할 수가 있다. 사실 다음과 같이 단순하게 설치 명령어를 실행하여 최신 버전을 다운로드하여 설치할 수 있다.

 

> winget install Amazon.AWSCLI

 

설치된 AWS CLI 버전을 확인하기 위해서는 AWS CLI를 "--version" 옵션과 함께 다음과 같이 직접 실행하면 된다.

> aws --version
aws-cli/2.15.9 Python/3.11.6 Windows/10 exe/AMD64 prompt/off

 

또 다른 방법으로는 Ubuntu에서 "apt list | grep AWS"와 같이 실행하는 것과 같이 PowerShell에서는 다음과 같은 명령어를 통해 확인할 수도 있겠다. 이 방법은 현재 설치된 버전이 2.15.9.0이며, 최신 설치 가능한 버전이 2.16.4라는 정보까지를 같이 알 수가 있다는 장점이 있다.

> winget list | Select-String -Pattern AWS

Freedom Scientific JAWS 2024            FreedomScientific.JAWS.2024              2024.2310.70.400     2024.240??winget
Freedom Scientific JAWS Training Table??{AE1E7553-752E-4D04-9695-EE1FB83C54AE}   25.0.2005.0
AWS Command Line Interface v2           Amazon.AWSCLI                            2.15.9.0             2.16.4    winget

 

최신 버전으로 업데이트하기 위해서는 다음과 같이 명령어를 실행한다.

> winget upgrade Amazon.AWSCLI

 

 

최신 버전이 정말 설치되었는지 확인 완료까지 해보았다!

> aws --version
aws-cli/2.16.4 Python/3.11.8 Windows/10 exe/AMD64

 

제거하는 방법은 다음과 같다.

> winget uninstall Amazon.AWSCLI

 

이렇게 특정 패키지를 winget 명령어를 통해 설치, 업그레이드, 제거까지 손쉽게 하는 방법에 대해 알아보았다.

5. winget 명령어로 여러 패키지 업그레이드하기

사실 원래는 AWS CLI 툴 자체를 업그레이드하는 목적보다는 이전에 https://github.com/ianychoi/aws-ecs-fargate-dotnet-module3-supplementary 와 같은 내용을 준비하면서 "Build Tools for Visual Studio 2019"가 설치되었던 것 같은데, 해당 패키지를 포함해 AWS CLI 등 여러 버전들을 각각 다운로드받아 최신 버전으로 설치하기가 번거롭다보니 winget을 사용하면 어떨까하는 생각이 들었고 "winget upgrade" 명령어를 통해 손쉽게 최신 버전으로 업데이트를 진행할 수 있었다. "winget upgrade" 를 실행하면 업그레이드 가능한 모든 프로그램들이 나온다. 필자의 경우 이전에 영상 자막을 직접 관리하고자 사용했던 Vrew 프로그램이 오래 되었고, Bandizip, GIMP 등도 업그레이드하지 않던 상황을 손쉽게 확인할 수 있었다. 모든 것을 업그레이드하려면 "winget upgrade --all" 명령어를 사용하면 되겠지만, 꼭 모든 소프트웨어를 업그이드할 필요는 없겠다. 필자의 경우 GIMP를 굳이 최신으로 꼭 업그레이드가 필요한가 싶어 다음과 같이 3개 소프트웨어만 업데이트를 진행하였다.

"winget upgrade"를 실행한 결과 (일부)
3개 패키지에 대해 명시적으로 업그레이드하기

 

 

이와 같이 winget을 사용해 AWS CLI를 설치, 업그레이드, 제거하는 방법을 살펴보았다. 설치된 소프트웨어를 최신 버전으로 유지함으로써 최신 기능을 활용할 뿐만 아니라 보안 취약점을 방지할 수 있으므로, 정기적으로 업그레이드를 확인하는 것이 좋은데 winget을 통해 AWS CLI 뿐만 아니라 설치된 여러 소프트웨어의 설치된 버전 및 최신 버전을 손쉽게 확인하고 명령어를 통해 쉽게 업그레이드가 가능한 장점을 잘 활용해보았으면 한다.

+ Recent posts