Computer >> 컴퓨터 >  >> 시스템 >> Linux

우분투 16.04의 새로운 스냅(Snap) 패키지 형식, 소프트웨어 설치를 한결 간편하게

우분투(Ubuntu)의 장기 지원(LTS) 버전에는 장단점이 공존합니다. 새로운 메이저 버전은 2년에 한 번씩 출시되며, 그 사이 시스템은 안정적으로 유지되면서 최신 보안 업데이트만 받게 됩니다. 일반 릴리스처럼 9개월마다 업그레이드할 필요가 없다는 점이 큰 장점입니다.


하지만 최신 버전의 소프트웨어를 설치하려고 하면 문제가 생깁니다. 시스템 라이브러리가 오래되어 제대로 작동하지 않을 가능성이 높기 때문입니다.

이 문제는 LTS 버전이나 우분투에만 국한된 것도 아닙니다. 최신 코드를 사용하는 배포판조차 다음 릴리스가 나오기 전에는 낡아 보이기 마련이고, 어떤 소프트웨어는 아예 저장소에 등록되지 않기도 합니다.

버전 16.04에서 우분투는 안정성과 최신성 사이의 균형을 잡으려 하고 있습니다. 이제 deb 패키지뿐 아니라 스냅(snap) 패키지로도 애플리케이션을 설치할 수 있게 됩니다.

우분투 16.04의 새로운 스냅(Snap) 패키지 형식, 소프트웨어 설치를 한결 간편하게

스냅(Snap)이란 무엇인가?

스냅 패키지는 애플리케이션 바이너리는 물론 실행에 필요한 모든 의존성까지 함께 담을 수 있습니다. 스냅은 캐노니컬(Canonical)이 우분투 터치용 앱을 패키징하기 위해 개발한 클릭(click) 패키지에서 파생된 기술입니다.

스냅 패키지는 우분투 16.04에 기술 미리보기(technology preview) 형태로 도입됩니다. deb 패키지는 여전히 기존 데스크톱과 Unity7 인터페이스의 핵심을 이루며, 클릭 패키지는 Unity8(역시 기술 미리보기 단계)의 기본 방식으로 유지됩니다. 16.04는 향후 본격적인 활용에 앞서 스냅을 미리 경험해 볼 수 있는 기회라고 생각하면 됩니다.

스냅의 장점은 무엇인가?

캐노니컬은 스냅을 모든 우분투 기기를 위한 차세대 앱 형식으로 보고 있습니다. 주목할 만한 이유를 정리해 보았습니다.

1. 더 빠르고 쉬운 소프트웨어 접근

스냅 덕분에 개발자는 우분투 사용자를 위해 PPA를 제공할 필요가 없습니다. 사용자는 패키지 하나만 내려받으면 자신의 시스템에서 확실히 작동한다는 것을 알 수 있습니다. 이해하기 어려운 코드 줄을 터미널에 복사·붙여넣는 번거로움도 사라집니다.

이는 애플리케이션에만 해당하는 이야기가 아닙니다. GNOME이나 KDE 같은 데스크톱 환경의 최신 버전 접근성도 개선될 수 있습니다.

2. 장기적인 신뢰성

리눅스 데스크톱 환경과 라이브러리는 변화 속도가 매우 빠릅니다. 그 결과 2012년에 잘 작동하던 소프트웨어가 4년 뒤 같은 컴퓨터에서 실행되지 않을 수 있습니다. 구버전 파이어폭스를 설치하려 들지 말라는 조언이 괜히 나온 것이 아닙니다.

이는 개발자에게 고통스러운 일이며, 리눅스용 소프트웨어 제작을 망설이게 만드는 요인이기도 합니다. 애플리케이션을 한 번 만들었다 해도 1~2년 뒤에도 작동하도록 수시로 수정해야 하고, 배포판마다의 차이까지 고려하면 부담은 더욱 커집니다.

스냅 패키지는 자체 의존성을 포함하고 있기 때문에, 애플리케이션이 오늘, 내일, 그리고 몇 년 후에도 실행에 필요한 요소를 모두 갖추게 됩니다.

3. 격리와 보안

우분투 16.04의 새로운 스냅(Snap) 패키지 형식, 소프트웨어 설치를 한결 간편하게

스냅 패키지는 시스템의 나머지 부분과 독립적으로 실행됩니다. 따라서 설치가 기존 환경에 영향을 미칠까 걱정할 필요가 없습니다. 또한 개발자가 취약점을 패치하면 수정 사항을 즉시 사용자에게 전달할 수 있습니다.

다만 이것은 양날의 검입니다. 스냅 패키지는 동일한 의존성의 여러 복사본을 실행할 수 있기 때문에, 문제가 발견되면 각각을 모두 업데이트해야 합니다. 한 명의 개발자라도 업데이트를 게을리하면 취약한 버전이 그대로 남습니다. 전통적으로는 배포판의 보안 업데이트를 통해 해결되던 부분입니다.

돈을 내고 애플리케이션을 구입했다면 제대로 작동하기를 기대하게 마련입니다. 이런 점 때문에 리눅스용 소프트웨어 판매는 특히 매력적이지 않습니다. 사용자들은 여러 배포판을 지원하길 원하는데, 각 배포판은 6개월 남짓한 주기로 예측 불가능하게 변화합니다.

스냅 패키지를 사용하면 개발자는 확실히 작동하는 버전을 갖게 되고, 모든 사본이 동일하므로 문제 해결도 한결 쉬워집니다.

이러한 이유로 캐노니컬은 올해 가을까지 유료 애플리케이션을 스냅으로 전환할 계획입니다.

5. 익숙한 개발 경험

우분투 16.04의 새로운 스냅(Snap) 패키지 형식, 소프트웨어 설치를 한결 간편하게

모바일 시장은 소프트웨어가 개발되고 배포되는 방식에 대한 기대치를 완전히 바꿔 놓았습니다. 구글 플레이, 애플 앱 스토어, 윈도우 스토어 등 마켓플레이스마다 세부 사항은 다르지만, 결국 패키지를 개발해 배포 센터에 올려 심사를 받는 구조는 비슷합니다. 캐노니컬의 스냅 빌드·패키징 도구인 스냅크래프트(Snapcraft)는 우분투 개발자에게도 이와 유사한 경험을 제공합니다.

6. 롤백 가능

모든 업그레이드가 계획대로 진행되지는 않습니다. 때로는 새 버전의 소프트웨어가 버그를 유입해 사용 경험을 해치기도 하고, 경우에 따라서는 애플리케이션이 아예 실행되지 않을 수도 있습니다. 이럴 때 개발자는 업데이트를 되돌릴 수 있고, 사용자 역시 문제없이 작동했던 이전 스냅을 다시 설치할 수 있습니다.

다른 배포판에는 어떤 영향을 미칠까?

스냅 개발진은 Unity와 함께 작동하도록 이 형식을 설계했습니다. 기술적으로는 다른 배포판에서도 사용할 수 있다는 뜻이지만, Unity 자체가 그렇듯 스냅 역시 우분투 생태계 밖에서 큰 호응을 얻기는 어려워 보입니다.

대신 이는 유사한 대안 패키지 형식에 대한 관심을 불러일 수 있습니다. 대표적인 예가 AppImage로, 이미 지금 리눅스 데스크톱에서 사용할 수 있습니다. Atom, Blender, Chromium, Firefox, VLC 등 상당수 앱이 AppImage로 제공되고 있습니다.

우분투 16.04의 새로운 스냅(Snap) 패키지 형식, 소프트웨어 설치를 한결 간편하게

AppImage는 2006년에 등장한 Klik의 후속 프로젝트입니다. 이것만 있는 것도 아닙니다. PortableLinuxApps 역시 Klik에서 파생되어 USB 플래시 드라이브에서 바로 실행할 수 있는 소프트웨어를 만들어 왔습니다.

스냅이 다른 곳에서 채택되든 아니든, 배포판에 관계없이 의존성 문제 없이 작동하는 패키지 형식으로 앱을 배포하도록 개발자들을 독려하는 계기가 될 수 있습니다. 그것이 이상적인 그림이겠죠. 현실이 어떤 모습을 띠게 될지는 지켜봐야 할 일입니다.

이번에는 기대해볼 만하다

리눅스에서 소프트웨어를 설치하는 일은 여전히 번거로울 수 있습니다. 저장소에 있다면 다행이지만, 그렇지 않다면 개발자가 해당 배포판용 설치 방법을 제공했기를 바랄 수밖에 없습니다. 프로젝트마다 애플리케이션과 업데이트를 관리하는 선호 방식이 다르고, 이를 모두 지원하는 것은 쉽지 않습니다. 다만 현재로서는 스냅 시스템이 보안 위험 요소가 될 수 있다는 점도 인지해야 합니다.

우분투가 이 문제를 어떻게 해결하기를 바라시나요? 스냅이 기대되나요? 다른 배포판은 어떻습니까? 어떤 형식을 받아들여야 할까요? 이 문제를 두고 의견은 분분합니다. 당신의 생각은 무엇인가요?

이미지 출처: Vivi-o의 conveyor belt, Shutterstock 제공