캐노니컬 그룹의 우분투 운영체제는 그동안 의존성 기반의 패키징 시스템인 'apt-get' 을 통하여 많은 발전을 이루어 온 것이 사실이다.

하지만 그들이 요즘 밀고 있는 것이 있으니 그것은 바로 'snapcraft' 이다. 

스냅은 쉽게 말하자면 다중패키지의 일체화를 이미징한 소프트웨어 설치 꾸러미 이다.

더 간단히 말하자면 리눅스에 롤 (리그 오브 레전드)를 설치 하려면 원레는 와인(wine)도 설치하고 각종 관련 라이브러리를 설치하고 또 게임 소프트웨어를 찾아 설치해야하고 구동여부 테스트를 수어번 거쳐야만 정상적인 플레이를 할수 있을까 말까 인 것이다. 

그렇지만 snap은 이를 간편하게 단 몇 번의 설치로 끝낼 수 있다. 

 user@user~$

snap install wine-platform-4-stable

 user@user~$

snap install leagueoflegends --edge --devmode


그 이후 알림 창에 나오는 작업이 있다면 해주면 그만 이다. 

뿐만 아니라 이 패키지는 충격적이게도 섬세한 배려로 KR 서버 클라이언트 설치도 제공한다. 

한데 안타깝게도 모든게 잘 되고 성능도 좋지만 챗이 늦게 뜬다는 충격적인 단점이 있다. 

모두가 알다시피 롤은 포지션 때문에 초반 챗이 상당히 중요한데도 말이다.

즉 snap으로 설치되고 구동되는 소프트웨어는 시스템호환성이 부족할수가 있다. 


예를 들어 우분투 focal 기준으로 'woeusb (윈도우즈 usb make 소프트웨어)' 를 snap으로 설치할 경우 충격적인 호환성 문제를 겪을 수 있다. 

(물론 이러한 문제는 각 소프트웨어 마다 이글을 보고 있는 현재 해결이 되어 있을 수 있다.)


하지만 직접 apt-get 을 통해 해당 소프트웨어를 시스템에 설치할 경우 완벽한 호환성과 빠른 작동을 느낄 수가 있다.

혹자는 snap이 보안성이 낮다고 말하기도 하지만 snapd의 원리적 소스코드는 공개되어 있지 않다. 

소스코드가 공개되어 취약점과 위험성이 있는 판단 할 수 있는 여부가 오픈소스의 강점 중 하나라고 생각한다.

기본 apt-get 으로 관리되고 있는 오픈소스 소프트웨어들은 대부분 'src' 에 따라 소스코드 저장을 따로 불러 올 수 있으며 대부분 공개 되어 있다.

하지만 그런데도 불구 하고 왜 캐노니컬은 apt-get 보다 snapcraft 를 더 강조하고 있는 중일까?

그 첫번째는 apt-get 이 부딛힌 한계인 '의존성 문제' 때문이다.

특히 의존성 패키지 설치 문제가 하위 배포판에서 만들어진 소프트웨어가 상위 배포판에서 문제가 발생 하거나 리빌드 된 배포판에서 문제가 많이 발생 한다.

두번째는 모든 리눅스 배포판에 대한 패키징 서비스 통합 욕구가 있다. 

이것은 캐노니컬이 중점적으로 보여주고 있는 마케팅이며 대부분의 리눅스 배포판에 snapcraft 를 설치 할 것을 권고 하고 있는 상황이다. 

하지만 snap은 위에서도 봤듯이 간편한 설치와 의존성 호환성을 자랑하지만 시스템 호한성 문제가 있으며 보안에도 문제가 있는 것으로 밝혀 졌다. 

다음 포스팅에서 snapcraft의 보안 문제에 대해 다뤄볼 예정이다.

+ Recent posts