웹사이트 검색

2023년 최고의 Linux용 유니버설 패키지 관리자 3개


Linux 시스템의 패키지 관리 또는 소프트웨어 설치는 특히 초보자(새로운 Linux 사용자)에게는 매우 혼란스러울 수 있습니다. 다양한 Linux 배포판은 서로 다른 기존 패키지 관리 시스템을 사용하기 때문입니다. 대부분의 경우 가장 혼란스러운 부분은 패키지 종속성 해결/관리입니다.

예를 들어 UbuntuLinux Mint와 같은 Debian 기반 배포판은 dpkg 패키지 관리 시스템을 통해 관리되는 .deb 패키지를 활용합니다.

반면 CentOS Stream, Rocky LinuxAlmaLinux와 같은 RHEL 기반 배포판은 .rpm을 사용합니다. rpm 패키지 관리 시스템을 사용하여 관리되는 패키지입니다.

지난 몇 년 동안 Linux 생태계의 패키지 관리 및 배포는 범용 또는 교차 배포 패키지 관리 도구가 등장한 이후로 이전과 동일하지 않았습니다.

이러한 도구를 사용하면 개발자는 단일 빌드에서 여러 Linux 배포판용 소프트웨어나 애플리케이션을 패키징할 수 있으므로 사용자는 지원되는 여러 배포판에 동일한 패키지를 쉽게 설치할 수 있습니다.

이 기사에서는 Linux용 상위 3가지 오픈 소스 범용 또는 교차 배포 패키지 관리 시스템을 검토합니다.

1. Snap – 범용 패키지 형식

Snap은 Ubuntu Linux 제조업체인 Canonical에서 개발한 인기 있는 오픈 소스 애플리케이션/패키지 형식 및 패키지 관리 시스템입니다. 이제 Ubuntu, Debian, Fedora, Arch Linux, Manjaro 를 포함한 여러 Linux 배포판에서 스냅을 지원합니다. 및 CentOS/RHEL.

쉬운 설치 및 업데이트

스냅 애플리케이션은 스냅을 지원하는 모든 Linux 배포판에서 자동 업데이트(애플리케이션은 항상 최신 상태임)를 통해 쉽게 설치할 수 있도록 모든 종속성(종속성 없음)과 함께 번들로 제공되는 교차 배포 애플리케이션입니다. 스냅은 데스크탑, 서버, 클라우드 또는 IoT(사물인터넷)에서 실행될 수 있습니다.

애플리케이션을 생성하거나 스냅하려면 프레임워크이자 스냅 구축을 위한 강력한 명령줄 도구인 Snapcraft를 사용합니다. Linux에서 스냅을 설치하고 사용하려면 Linux 시스템이 .snap 파일과 작동할 수 있도록 하는 백그라운드 서비스인 snapd(또는 snappy 데몬)를 설치해야 합니다. 실제 스냅 설치는 스냅 명령줄 도구를 사용하여 수행됩니다.

보안 및 격리

스냅은 제한(다양하고 구성 가능한 제한 수준) 하에서 실행되기 때문에 기본적으로 스냅은 안전합니다. 중요한 것은 해당 범위 외부의 시스템 리소스에 액세스해야 하는 스냅은 스냅의 요구 사항에 따라 스냅 작성자가 신중하게 선택한 "인터페이스"를 사용한다는 것입니다. 이를 통해 기본 운영 체제의 안정성과 유연성을 손상시키지 않고 애플리케이션을 실행할 수 있습니다.

또한 스냅 패키지 관리 시스템은 채널(트랙, 위험 수준 및 분기로 구성되고 세분화됨)이라는 개념을 사용하여 어떤 스냅 릴리스가 설치되고 업데이트를 추적하는지 결정합니다. 스냅은 수동으로 관리할 수 있는 프로세스인 자동 업데이트도 가능합니다.

스냅을 찾아서 설치하려면 스냅 스토어(개발자가 스냅을 공유할 수 있는 장소)에서 검색하거나 다음 가이드를 사용하여 자세한 내용을 읽어보세요.

2. Flatpak - 배포 간 호환성

Flatpak은 Linux 배포판에 데스크톱 애플리케이션을 배포하기 위한 잘 알려진 오픈 소스 프레임워크입니다. 독립 커뮤니티에서 개발한 Flatpak을 사용하면 단일 애플리케이션 빌드를 거의 모든 Linux 배포판에 설치하고 실행할 수 있습니다.

Fedora, Ubuntu, RHEL, CentOS, OpenSUSE 를 포함하여 총 25개 배포판을 지원합니다. 및 Arch Linux이며 Raspberry Pi에서도 실행됩니다.

Flatpak의 런타임은 애플리케이션이 활용할 수 있는 공통 라이브러리 플랫폼을 제공합니다. 그러나 종속성을 완전히 제어하는 것이 매우 쉬워지며 라이브러리를 애플리케이션의 일부로 묶을 수 있습니다.

Flatpak은 사용하기 쉬운 빌드 도구와 함께 제공되며 개발자가 애플리케이션을 빌드하고 테스트할 수 있는 일관된 환경(기기 전반에 걸쳐 동일하고 사용자가 이미 가지고 있는 것과 유사)을 제공합니다.

보안 강화를 위한 샌드박싱

Flatpak은 각 앱을 샌드박스에 넣어 모든 것을 안전하게 만듭니다. 이렇게 하면 앱이 메인 시스템이나 다른 앱을 망칠 수 없습니다. 확실하지 않은 소스의 앱을 다룰 때 매우 편리합니다.

사용자 및 개발자 친화적

Flatpak의 유용한 측면은 개발자가 아직 출시하지 않은 버전을 포함하여 동일한 배포판의 다른 버전에서 동일한 Flatpak을 실행할 수 있는 향후 호환성입니다. 또한 새로운 버전의 Linux 배포판과도 계속해서 호환되도록 노력하고 있습니다.

개발자라면 모든 배포판에 애플리케이션을 배포하기 위한 중앙 집중식 서비스인 Flathub를 통해 Linux 사용자에게 애플리케이션을 제공할 수 있습니다.

3. AppImage: 휴대용 대안

AppImage는 개발자가 모든 주요 Linux 데스크탑 배포판에서 실행되는 애플리케이션을 한 번 패키징할 수 있는 오픈 소스 패키지 형식이기도 합니다. AppImage를 사용하면 이전 패키지 형식과 달리 패키지를 설치할 필요가 없습니다. 사용하려는 애플리케이션을 다운로드하고 실행 가능하게 만든 후 실행하면 됩니다. 매우 간단합니다. 대부분의 32비트 및 64비트 Linux 데스크탑을 지원합니다.

설치가 필요하지 않습니다

AppImage를 사용하면 아무것도 설치할 필요가 없습니다. 시스템을 변경하지 않고도 이러한 패키지를 USB 드라이브에 넣고 공유하고 앱을 실행할 수 있습니다. 이는 휴대용 Linux 및 라이브 시스템에 적합합니다.

폭넓은 호환성

AppImage에는 많은 장점이 있습니다. 개발자의 경우 Linux 배포판 및 사용자가 실행 중인 버전에 관계없이 가능한 한 많은 사용자에게 접근할 수 있습니다. 사용자의 경우 모든 AppImage가 모든 종속성과 함께 번들로 제공되므로 애플리케이션 종속성에 대해 걱정할 필요가 없습니다(앱 하나=파일 하나). AppImage를 사용하면 새로운 버전의 애플리케이션을 시험해 보는 것도 쉽습니다.

다수의 데스크탑 시스템을 지원하고 일반적으로 사용자가 시스템을 손상시킬 수 있는 응용 프로그램을 설치하지 못하도록 차단하는 시스템 관리자의 경우 더 이상 걱정할 필요가 없습니다. AppImage를 사용하면 사용자가 앱을 실행하기 위해 앱을 설치할 필요가 없으므로 시스템이 그대로 유지됩니다.

세 가지 제품 비교: Snap, Flatpak 및 AppImage

다음은 세 가지 범용 패키지 관리자를 비교한 것입니다.

Feature Snap Flatpak AppImage
Package format Self-contained, compressed file Self-contained, compressed file Single executable file
Sandboxing Yes (by default) No (by default) No
Automatic updates Yes Optional No
Installation Requires snapd daemon Requires Flatpak runtime Does not require installation
Root privileges Requires root privileges to install Does not require root privileges to install Does not require root privileges to run

어떤 패키지 관리자를 선택해야 합니까?

자동 업데이트 기능을 갖춘 안전하고 사용하기 쉬운 패키지 관리자를 찾고 있다면 Snap이 좋은 선택입니다. 모든 유형의 애플리케이션을 패키징하는 데 사용할 수 있는 보다 유연한 패키지 관리자를 찾고 있다면 Flatpak이 좋은 선택입니다. 설치나 루트 권한이 필요하지 않은 패키지 관리자를 찾고 있다면 AppImage가 좋은 선택입니다.

세 가지 패키지 관리자 모두 아직 개발 중이므로 일부 버그나 누락된 기능이 있을 수 있다는 점을 알아두는 것도 중요합니다. 그러나 모두 적극적으로 유지 관리되고 정기적으로 업데이트됩니다.

결론

범용 또는 교차 배포 패키지 형식은 Linux 생태계에서 소프트웨어를 구축하고 배포하기 위한 차세대 기술입니다. 그러나 전통적인 패키지 관리 시스템은 여전히 그 자리를 지키고 있습니다.

당신의 생각은 무엇입니까? 댓글 섹션을 통해 공유해 주세요.