웹사이트 검색

Linux의 Snap에 대한 초보자 가이드 - 1부


지난 몇 년 동안 Linux 커뮤니티는 Linux 시스템의 패키지 관리 영역, 특히 범용 또는 교차 배포 소프트웨어 패키징 및 배포와 관련하여 놀라운 발전을 이루었습니다. 이러한 발전 중 하나는 인기 있는 Ubuntu Linux 제조업체인 Canonical에서 개발한 Snap 패키지 형식입니다.

스냅 패키지란 무엇입니까?

스냅은 모든 주요 Linux 배포판에서 실행되도록 모든 종속성과 함께 패키지된 교차 배포판이며 종속성이 없으며 설치하기 쉬운 애플리케이션입니다. 단일 빌드에서 스냅(애플리케이션)은 데스크톱, 클라우드 및 IoT에서 지원되는 모든 Linux 배포판에서 실행됩니다. 지원되는 배포판에는 Ubuntu, Debian, Fedora, Arch Linux, Manjaro 및 CentOS/RHEL이 포함됩니다.

스냅은 안전합니다. 전체 시스템을 손상시키지 않도록 제한되고 샌드박스 처리됩니다. 이들은 서로 다른 제한 수준(기본 시스템 및 서로 간의 격리 정도)에서 실행됩니다. 더욱 주목할 만한 점은 모든 스냅에는 스냅의 요구 사항을 기반으로 스냅 작성자가 신중하게 선택한 인터페이스가 있어 네트워크 액세스, 데스크톱 액세스 등과 같이 해당 범위 밖의 특정 시스템 리소스에 대한 액세스를 제공한다는 것입니다.

스냅 생태계의 또 다른 중요한 개념은 채널입니다. 채널은 어떤 스냅 릴리스가 설치되고 업데이트를 추적할지 결정하며 트랙, 위험 수준 및 분기로 구성되고 세분화됩니다.

스냅 패키지 관리 시스템의 주요 구성 요소는 다음과 같습니다.

  • snapd – Linux 시스템에서 스냅을 관리하고 유지하는 백그라운드 서비스입니다.
  • 스냅 – 스냅을 설치 및 제거하고 스냅 생태계에서 다른 많은 작업을 수행하는 데 사용되는 애플리케이션 패키지 형식과 명령줄 인터페이스 도구입니다.
  • snapcraft – 스냅 구축을 위한 프레임워크이자 강력한 명령줄 도구입니다.
  • 스냅 스토어 - 개발자가 스냅을 공유하고 Linux 사용자가 스냅을 검색하고 설치할 수 있는 장소입니다.

게다가 스냅도 자동으로 업데이트됩니다. 업데이트가 발생하는 시기와 방법을 구성할 수 있습니다. 기본적으로 snapd 데몬은 하루에 최대 4번 업데이트를 확인합니다. 각 업데이트 확인을 새로 고침이라고 합니다. 새로 고침을 수동으로 시작할 수도 있습니다.

Linux에 Snapd를 설치하는 방법

위에서 설명한 대로 snapd 데몬은 제한 정책을 구현하고 스냅을 허용하는 인터페이스를 제어하여 Linux 시스템에서 snap 환경을 관리하고 유지하는 백그라운드 서비스입니다. 특정 시스템 리소스에 액세스합니다. 또한 snap 명령을 제공하고 기타 다양한 용도로 사용됩니다.

시스템에 snapd 패키지를 설치하려면 Linux 배포판에 적합한 명령을 실행하세요.

------------ [On Debian and Ubuntu] ------------ 
sudo apt update 
sudo apt install snapd

------------ [On Fedora Linux] ------------
dnf install snapd			

------------ [On CentOS and RHEL] ------------
yum install epel-release 
yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
sudo zypper --gpg-auto-import-keys refresh
sudo zypper dup --from snappy
sudo zypper install snapd

------------ [On Manjaro Linux] ------------
pacman -S snapd

------------ [On Arch Linux] ------------
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

시스템에 snapd를 설치한 후 다음과 같이 systemctl 명령을 사용하여 기본 snap 통신 소켓을 관리하는 systemd 장치를 활성화합니다.

Ubuntu 및 그 파생 버전에서는 패키지 설치 프로그램에 의해 자동으로 실행되어야 합니다.

sudo systemctl enable --now snapd.socket

snapd.socket이 실행되고 있지 않으면 snap 명령을 실행할 수 없습니다. 다음 명령을 실행하여 활성화되어 있고 시스템 부팅 시 자동으로 시작되도록 활성화되어 있는지 확인하세요.

sudo systemctl is-active snapd.socket
sudo systemctl status snapd.socket
sudo systemctl is-enabled snapd.socket

다음으로, 다음과 같이 /var/lib/snapd/snap/snap 사이에 심볼릭 링크를 생성하여 클래식 스냅 지원을 활성화합니다.

sudo ln -s /var/lib/snapd/snap /snap

시스템에 설치된 snapd 및 snap 명령줄 도구의 버전을 확인하려면 다음 명령을 실행하세요.

snap version 

Linux에 스냅을 설치하는 방법

snap 명령을 사용하면 스냅을 설치, 구성, 새로 고침 및 제거하고 더 큰 스냅 생태계와 상호 작용할 수 있습니다.

스냅을 설치하기 전에 스냅 스토어에 스냅이 있는지 확인할 수 있습니다. 예를 들어 애플리케이션이 '채팅 서버' 또는 '미디어 플레이어' 카테고리에 속하는 경우 다음 명령을 실행하여 검색할 수 있으며, 그러면 스토어에 쿼리됩니다. stable 채널에서 사용 가능한 패키지에 대해

snap find "chat servers"
snap find "media players"

예를 들어 Rocketchat-server와 같은 스냅에 대한 자세한 정보를 표시하려면 해당 이름이나 경로를 지정하면 됩니다. 이름은 스냅 저장소와 설치된 스냅 모두에서 검색됩니다.

snap info rocketchat-server

시스템에 snap(예: rocketchat-server)을 설치하려면 다음 명령을 실행하세요. 옵션이 제공되지 않으면 엄격한 보안 제한을 통해 "stable" 채널을 추적하는 스냅이 설치됩니다.

sudo snap install rocketchat-server

를 사용하여 edge, beta 또는 candidate 등의 다른 채널에서 설치하도록 선택할 수 있습니다. --edge, --beta 또는 --candidate 옵션이 각각 있습니다. 또는 --channel 옵션을 사용하고 설치하려는 채널을 지정하세요.

sudo snap install --edge rocketchat-server        
sudo snap install --beta rocketchat-server
sudo snap install --candidate rocketchat-server

Linux에서 스냅 관리

이번 섹션에서는 Linux 시스템에서 스냅을 관리하는 방법을 알아봅니다.

설치된 스냅 보기

시스템에 설치된 스냅의 요약을 표시하려면 다음 명령을 사용하십시오.

snap list

사용 중인 스냅의 현재 버전을 나열하려면 해당 이름을 지정하세요. --all 옵션을 추가하여 사용 가능한 모든 개정판을 나열할 수도 있습니다.

snap list mailspring
OR
snap list --all mailspring

스냅 업데이트 및 되돌리기

다음과 같이 지정된 스냅을 업데이트하거나 스냅이 지정되지 않은 경우 시스템의 모든 스냅을 업데이트할 수 있습니다. 새로 고침 명령은 스냅이 추적하는 채널을 확인하고 사용 가능한 경우 최신 버전의 스냅을 다운로드하여 설치합니다.

sudo snap refresh mailspring
OR
sudo snap refresh		#update all snaps on the local system

앱을 새 버전으로 업데이트한 후 revert 명령을 사용하여 이전에 사용했던 버전으로 되돌릴 수 있습니다. 소프트웨어와 관련된 데이터도 되돌려집니다.

sudo snap revert mailspring

이제 mailspring의 모든 개정판을 확인하면 최신 개정판이 비활성화되고 이전에 사용된 개정판이 이제 활성화됩니다.

snap list --all mailspring

스냅 비활성화/활성화 및 제거

스냅을 사용하지 않으려면 비활성화할 수 있습니다. 비활성화되면 스냅의 바이너리와 서비스를 더 이상 사용할 수 없지만 모든 데이터는 그대로 유지됩니다.

sudo snap disable mailspring

스냅을 다시 사용해야 하는 경우 다시 활성화할 수 있습니다.

sudo snap enable mailspring

시스템에서 스냅을 완전히 제거하려면 remove 명령을 사용하세요. 기본적으로 모든 스냅 개정은 제거됩니다.

sudo snap remove mailspring

특정 개정판을 제거하려면 다음과 같이 --revision 옵션을 사용하십시오.

sudo snap remove  --revision=482 mailspring

스냅을 제거하면 해당 데이터(예: 내부 사용자, 시스템 및 구성 데이터)가 snapd(버전 2.39 이상)에 저장된다는 점에 유의하는 것이 중요합니다. 스냅샷으로 저장되며 31일 동안 시스템에 저장됩니다. 31일 이내에 스냅을 다시 설치하는 경우 데이터를 복원할 수 있습니다.

결론

스냅은 모든 Linux 배포판에 소프트웨어를 쉽게 설치할 수 있는 방법을 제공하므로 Linux 커뮤니티에서 점점 더 인기를 얻고 있습니다. 이 가이드에서는 Linux에서 스냅을 설치하고 사용하는 방법을 보여주었습니다. snapd 설치, snap 설치, 설치된 스냅 보기, 스냅 업데이트 및 되돌리기, 스냅 비활성화/활성화 및 제거 방법을 다루었습니다.

질문을 하거나 아래 피드백 양식을 통해 문의하실 수 있습니다. 이 가이드의 다음 부분에서는 Linux에서 스냅(명령, 별칭, 서비스 및 스냅샷) 관리에 대해 설명합니다.