Linux 배포판의 가장 큰 장점은 패키지 관리 프레임워크에 있습니다. 이러한 프레임워크는 몇 가지 명령어만 구현하여 소프트웨어 설치를 자동화할 수 있으므로 효율적이고 간소화된 프로세스를 촉진합니다.

Snap은 종속성 관리 기능 측면에서 칭찬할 만한 특성을 자랑하지만, 패키지가 상당히 크고 상당한 저장 공간을 필요로 하는 경우가 많다는 점은 주목할 가치가 있습니다. 하지만 다행히도 Linux에서 Snap 패키지를 제거하는 것은 비교적 간단합니다.

스냅 패키지가 부피가 큰 이유는 무엇인가요?

소프트웨어 종속성 관리는 소프트웨어가 효과적으로 작동하기 위해 다른 패키지나 라이브러리에 종속되어 있는 상황을 의미하기 때문에 역사적으로 Linux 패키지 관리자의 취약점으로 입증되어 왔습니다.

스냅은 애플리케이션 소프트웨어와 필요한 종속성을 모두 ‘스냅’이라고 하는 단일 엔티티 내에 패키징하여 Linux에서 종속성을 관리하는 방법을 혁신적으로 개선했습니다.

모든 종속 요소와 기본 소프트웨어를 하나의 패키지로 통합하면 APT 및 Pacman과 같은 다른 패키지 관리자와 비교할 때 더 많은 소프트웨어가 생성됩니다.

Snap 패키지의 크기가 커지는 원인 중 하나는 소프트웨어 업그레이드 후 동일한 소프트웨어의 이전 반복으로 롤백하는 관행입니다. 이 경우 Linux 컴퓨터에서 프로그램의 현재 버전과 이전 버전을 모두 보존해야 하므로 스냅에는 상당한 양의 저장 공간이 필요합니다.

귀중한 하드 드라이브 공간을 확보하기 위해 사용자는 Snap 패키지 파일을 정리하고 최적화하는 조치를 취하는 것이 좋습니다. 여기에는 불필요한 종속성이나 사용하지 않는 라이브러리를 제거하고 현재 시스템 요구 사항과의 호환성을 보장하기 위해 정기적으로 소프트웨어를 업데이트하는 것이 포함될 수 있습니다. 이러한 관행을 채택함으로써 개인은 간소화되고 효율적인 컴퓨팅 환경을 유지하면서 리소스를 절약할 수 있습니다.

롤백 패키지 제거

Snap 패키지의 주목할 만한 특징 중 하나는 Snap을 통해 설치한 소프트웨어 패키지의 이전 반복으로 쉽게 롤백할 수 있다는 것입니다. 이 기능은 새 버전으로 업데이트할 때 이전에 설치된 소프트웨어를 보존함으로써 이루어집니다.

설치된 모든 Snap 패키지의 포괄적인 인벤토리와 해당 롤백 버전을 컴파일하려면 다음 지시어를 실행하세요.

snap list --all

앞서 언급한 출력에 따르면 특정 패키지가 중복으로 나열된 것을 알 수 있습니다.예를 들어, 정식 라이브 패치 패키지는 비활성 상태와 활성 상태로 모두 나타납니다. 전자의 반복은 해당 패키지의 이전에 활용된 버전으로 되돌아갈 수 있지만 현재 사용되지 않은 상태로 남아 기능적 목적 없이 저장 공간을 차지합니다.

이 글도 확인해 보세요:  32비트 아키텍처를 여전히 지원하는 8가지 Linux 배포판

앞서 언급한 방법론은 “정식 라이브 패치” 소프트웨어 패키지의 개정 번호(Rev)를 활용하여 더 이상 사용되지 않거나 비활성화된 반복을 제거하는 것을 포함합니다. 구체적으로, 이 패키지의 비활성화된 버전을 제거하기 위해 해당 개정판 번호는 229이며 실행할 적절한 명령은 아래와 같습니다.

sudo snap remove canonical-livepatch --revision=229

사용하지 않는 스냅 패키지 제거

주기적으로 다음 명령을 사용하여 컴퓨터에 설치된 모든 소프트웨어 패키지의 포괄적인 인벤토리를 컴파일하는 것이 좋습니다:

sudo snap list

생성된 설치된 패키지 목록에서 불필요한 패키지를 식별하고 다음 명령을 사용하여 제거합니다:

sudo snap remove package_name

du 명령을 사용하여 패키지가 사용하는 디스크 공간의 양을 주기적으로 평가합니다. 스냅 패키지는 주로 사용자의 홈 디렉터리 내 각 스냅 폴더에 보관됩니다.

du -h ~/snap

사용하지 않는 패키지 종속성 제거

스냅은 종속성 관리에 능숙하지만, 종속성을 과도하게 설치하여 패키지 스토리지가 예상치를 초과하여 소비되는 상황이 발생하면 어려움을 겪을 수 있습니다.

소프트웨어 종속성을 정밀하게 제어하기 위해서는 배포자가 널리 사용하는 패키지 관리자를 활용하는 것이 필요합니다. 과도한 패키지를 제거하려면 다음 지시어를 사용할 수 있습니다:

이 분석에서는 앞서 언급한 데비안 기반 운영 체제를 고려했습니다. 데비안 기반 배포판에서는 아래 명령을 실행하세요. 우분투도 데비안 기반 배포판이죠.

sudo apt autoremove

“RHEL”은 기업 및 조직에서 널리 사용되고 존경받는 오픈 소스 운영 체제인 Red Hat Enterprise Linux를 의미합니다. 리눅스 커널을 기반으로 하며 패키지 관리를 위해 레드햇 패키지 관리자(RPM)를 사용합니다. 가장 인기 있는 기능으로는 안정성이 있습니다. 레드햇은 아래 명령을 실행합니다.

sudo dnf autoremove

아치 기반 Linux 배포판의 소프트웨어 설치 과정은 명령줄 인터페이스와 그래픽 사용자 인터페이스가 없기 때문에 신규 사용자에게는 어려울 수 있습니다. 그러나 일단 설치되면 이러한 배포판은 시스템에 대한 높은 수준의 사용자 지정 및 제어 기능을 제공할 뿐만 아니라 새로운 기능 개발에 기여하고 지원을 제공하는 대규모 개발자 및 사용자 커뮤니티에 대한 액세스를 제공합니다.

sudo pacman -Rns $(pacman -Qdtq)

이전 지침은 배포에 따라 종속성 그래프를 생성하고 시스템에 필수적이지 않은 패키지를 제거합니다.

이 글도 확인해 보세요:  deb-get 사용 방법: DEB 패키지를 위한 APT와 유사한 패키지 관리자

가능하면 다른 패키지 관리자 사용

Snap 패키지가 편리함과 사용 편의성을 제공한다는 것은 널리 알려져 있지만, 저장 용량이 제한된 사용자의 경우 APT, Pacman 또는 DNF와 같은 대체 패키지 관리자를 사용하는 것이 더 현명한 방법일 수 있습니다.

`sudo snap remove ` 명령을 사용하여 패키지를 제거한 후 APT 또는 사용자가 선호하는 패키지 관리자를 통해 새로 설치하려면 다음 단계를 따르세요: 1. sudo snap remove ` 명령을 사용하여 시스템에서 패키지를 제거합니다. 2. 적절한 설치 지침을 사용하여 APT를 통해 또는 사용자가 선택한 패키지 관리자를 사용하여 패키지를 다시 설치합니다.

데비안 기반 Linux 배포판에서 패키지의 설치 프로세스는 패키지의 종속성 가져오기, 패키지가 호스팅되는 리포지토리를 시스템의 소스 목록에 추가하기, apt 또는 dnf 명령을 사용하여 패키지 자체 설치하기 등 여러 단계로 요약할 수 있습니다. 이러한 명령은 시스템에 아직 없는 필요한 패키지를 자동으로 다운로드하여 설치하므로 최적의 성능을 위해 필요한 모든 구성 요소를 최신 상태로 유지할 수 있습니다.

sudo apt install package_name

입력 후 Enter 키를 눌러 Red Hat Enterprise Linux에서 후속 명령을 실행합니다.

sudo dnf install package_name

Arch 기반 Linux 배포판에서 무선 네트워크에 액세스하려면 다음 단계를 활용하세요:

sudo pacman -S package_name

특정 소프트웨어 패키지는 Snap 패키지 형태로만 제공되므로 기본 패키지 관리자를 사용하는지 여부에 관계없이 설치 시 Snap이 활용됩니다. 예를 들어 우분투의 Firefox 웹 브라우저를 예로 들면, APT를 사용하기로 선택하더라도 Firefox Snap 패키지는 계속 설치됩니다.

스냅 패키지는 훌륭하지만 부피가 큽니다!

스냅 패키지는 더 큰 크기에도 불구하고 향상된 종속성 관리 및 강화된 보안 기능 등 여러 가지 이점을 제공합니다. 또한 이러한 패키지는 널리 사용되는 다양한 Linux 배포판과 호환됩니다.

By 박준영

업계에서 7년간 경력을 쌓은 숙련된 iOS 개발자인 박준영님은 원활하고 매끄러운 사용자 경험을 만드는 데 전념하고 있습니다. 애플(Apple) 생태계에 능숙한 준영님은 획기적인 솔루션을 통해 지속적으로 기술 혁신의 한계를 뛰어넘고 있습니다. 소프트웨어 엔지니어링에 대한 탄탄한 지식과 세심한 접근 방식은 독자에게 실용적이면서도 세련된 콘텐츠를 제공하는 데 기여합니다.