윈도우 10이 별로 기대되지 않는다면 다시 한번 살펴볼 필요가 있습니다. 차세대 운영체제는 윈도우 계열의 눈에 띄는 발전을 이룰 전망이기 때문입니다. 생산성을 높여줄 뿐만 아니라 새로운 기능들이 계속 추가되고 있는데, 그중에서도 특히 흥미로운 기능이 바로 OneGet 패키지 관리자입니다.
엄밀히 말하면 OneGet은 이미 윈도우 8.1에서 Windows Management Framework 5.0을 설치한 사용자라면 사용할 수 있었지만, 윈도우 10부터는 시스템의 PowerShell 패키지 일부로 기본 탑재됩니다.
패키지 관리자란 무엇인가?
리눅스와 유닉스 계열 운영체제가 가진 큰 매력 중 하나는 패키지 관리 도구가 널리 보급되어 있다는 점입니다. 윈도우는 이 흐름에 늦게 합류했지만, 늦는 것이 없는 것보다는 낫습니다. 패키지 관리는 생산성을 크게 높이고 보안을 강화하며, 궁극적으로 수많은 번거로움을 덜어주기 때문입니다.
패키지(package)란 특정 소프트웨어를 시스템에 설치하고 구성하는 데 필요한 파일과 의존성(dependency)들의 모음입니다. 패키지 관리자는 저장소 데이터베이스를 관리하는 도구로, 각 저장소(repository)는 그 자체로 패키지들의 집합입니다.
패키지 관리자의 가장 큰 장점은 시스템의 소프트웨어를 단일 도구로 관리할 수 있다는 점입니다. 과거에도 윈도우용 서드파티 패키지 관리자나 묶음 설치 도구가 존재했지만, 마이크로소프트가 공식 지원하는 패키지 관리자가 등장하면서 이러한 모든 작업을 한곳에서 통합 처리할 수 있게 되었습니다.
웹사이트를 여기저기 돌아다니며 개별 설치 파일을 일일이 내려받는 대신, OneGet 하나로 모든 것을 처리할 수 있습니다.
기본 제공 Cmdlet 알아보기
OneGet을 사용하려면 PowerShell과 cmdlet에 대한 약간의 이해가 필요하지만, 처음 들어보는 용어라고 해도 걱정할 필요는 없습니다. 학습 곡선이 가파르지 않으며, 그만큼 노력할 가치가 충분합니다. PowerShell에 익숙한 분들을 위해 OneGet 모듈과 관련된 cmdlet을 정리하면 다음과 같습니다.
PackageSource cmdlet은 OneGet에 설정된 저장소를 추가, 삭제, 조회하는 데 사용됩니다. Package cmdlet은 해당 저장소에서 사용 가능한 패키지를 검색(Find)하고, 특정 패키지를 설치(Install) 및 제거(Uninstall)하며, 현재 시스템에 설치된 패키지 목록을 조회(Get)하는 데 활용됩니다.
또한 패키지에는 버전 정보 같은 추가 데이터가 포함될 수 있어, 보안 강화(예: 특정 패키지의 진위 여부 확인)와 최신 상태 유지(예: 업데이트 자동 설치)에도 도움이 됩니다.
이 모든 것이 너무 어렵거나 부담스럽게 느껴져도 실망할 필요는 없습니다. 마이크로소프트는 향후 PowerShell 명령줄에 익숙하지 않은 사용자도 쉽게 활용할 수 있도록 그래픽 인터페이스를 도입할 계획입니다.
신뢰할 수 있는 출처와 저장소
가짜 설치 파일을 내려받았다가 악성코드가 시스템에 침투한 경험이 있으신가요? 필자도 과거에 몇 번 당해본 적이 있습니다. 설치 파일의 고질적인 문제 중 하나는, 기술에 익숙하지 않으면 해당 파일이 진짜인지 가짜인지 판별하기 어렵다는 점입니다.
OneGet을 비롯한 패키지 관리자가 사용하는 저장소 시스템은 훨씬 안전한 대안입니다. 신뢰할 수 있다고 검증된 저장소만 사용한다면, 가짜 설치 파일로 고생할 일은 거의 없을 것이라 안심할 수 있습니다.
다만 이것이 완벽한 시스템은 아니라는 점은 분명히 해두어야 합니다. 여전히 신뢰의 요소가 남아 있습니다. 다운로드하는 각각의 EXE 파일을 일일이 신뢰하는 대신, 각 저장소를 큐레이션하고 관리하는 사람들을 신뢰하게 되는 구조입니다.
강력한 서드파티 지원
저장소 시스템의 매력은 어떤 패키지를 포함하거나 제외할지 특정 주체가 독점적으로 결정하지 않는다는 점입니다. OneGet에 기본 제공되는 저장소만으로 충분하다면 그것을 그대로 사용해도 되고, 필요에 따라 서드파티 저장소를 자유롭게 조합할 수도 있습니다.
예를 들어 대기업에 재직 중이라면 경영진이 회사 직원에게만 필요한 패키지들로 구성된 사내 전용 저장소를 운영할 수 있습니다. 또 다른 예로는 디지털 아티스트를 위한 무료 소프트웨어 공개 저장소를 들 수 있습니다. 관리해 줄 사람만 있다면 무엇이든 가능합니다.
게다가 PowerShell의 확장 가능한 특성 덕분에 OneGet의 기능은 서드파티 cmdlet과 스크립트를 통해 더욱 개선·확장될 수 있습니다. 마이크로소프트가 최근 .NET 프레임워크를 오픈소스화한 만큼, PowerShell과 OneGet의 미래에도 좋은 변화가 일어날 가능성이 큽니다.
OneGet이 기대되시나요?
솔직히 말해 OneGet은 아직 초기 단계에 있으며, 리눅스의 성숙한 패키지 관리자들을 따라잡기까지는 갈 길이 멉니다. 그럼에도 불구하고 마이크로소프트가 OneGet 개발에 힘을 쏟고 있다는 사실만으로도 충분히 기대할 만합니다. 윈도우 10이 소프트웨어 설치 생태계를 어떻게 바꿔갈지 지켜보는 일은 그 자체로 흥미로울 것입니다.
여러분은 어떻게 생각하시나요? 패키지 관리자 하나면 충분히 기대되시나요? 아니면 언젠가 사그라들 궁여지책이라고 보시나요? 아래 댓글로 의견을 나눠주세요.
이미지 출처: Install Progress Bar Via Shutterstock, Download Icons Via Shutterstock