기술

Shelly 3.0, C#에서 Zig로 전환 — Arch Linux 패키지 관리자가 이제 .NET 없이 실행된다

Adrian Kessler

Shelly는 Arch Linux에서 가장 널리 사용되는 그래픽 패키지 관리자로, 이제 실행 시 관리형 런타임을 부팅하지 않는다. 버전 3.0은 전체 애플리케이션을 Zig로 재구축했다. Zig는 네이티브 머신 코드로 직접 컴파일되는 시스템 프로그래밍 언어로, 첫 출시 이후 이 도구를 구동해 온 C# 코드베이스를 대체했다.

실질적인 차이는 시작 시 드러난다. 이전에는 Shelly가 아무 작업을 하기 전에 .NET 런타임을 로드해야 했지만, 3.0 바이너리는 직접 실행된다. 메모리 사용량도 함께 줄어든다. 네이티브 바이너리는 가비지 컬렉터나 가상 머신을 탑재하지 않으므로, 창이 나타나는 순간부터 애플리케이션이 더 적은 RAM을 사용한다.

이번 재작성에는 오랫동안 요청되어 온 기능들도 함께 제공된다. 재설계된 데스크톱 인터페이스는 이제 패키지 탐색을 위한 그리드 및 목록 보기를 제공하며, 설치를 확정하기 전에 빌드 스크립트를 살펴볼 수 있는 AUR PKGBUILD 미리보기도 지원한다. 명령줄 버전은 이제 공식 저장소, AUR, AppImages, Flatpaks를 한 번에 검색한다. 따라서 하나의 질의로 특정 애플리케이션에 대해 패키징 방식과 관계없이 사용 가능한 모든 항목을 반환한다.

Zig만이 이번 릴리스에서 주목받는 메모리 안전 언어는 아니다. CachyOS는 또한 커널 수준에서 하드웨어 구성을 관리하는 데몬을 C++에서 Rust로 재작성했으며, 시스템 트레이 업데이트 알리미를 Rust 기반으로 전환했다. 두 언어는 서로 다른 역할을 수행한다. Zig는 사용자 대면 애플리케이션 계층을 담당하고, Rust는 커널 경계에서의 안정성이 최우선인 백그라운드 서비스를 담당한다.

한 가지 한계를 짚고 넘어가자면, CachyOS는 성능에 최적화된 Arch Linux 포크로, 충성도 높지만 상대적으로 작은 사용자 기반을 가지고 있다. Shelly 3.0은 표준 Arch Linux 저장소에 포함되어 있지 않으며, Debian, Fedora, Ubuntu 등 주류 배포판 사용자에게는 영향을 미치지 않는다. Arch 커뮤니티 외부에서의 의미는 즉각적인 실질적 변화라기보다는 하나의 신호에 가깝다. Shelly는 Bun과 TigerBeetle을 포함한 소수의 프로덕션 애플리케이션 목록에 합류하여, 이제 실제 사용자에게 Zig를 제공한다.

Zig는 시스템 수준 작업에서 C와 C++의 실용적인 대안으로 주목받고 있다. Rust와 달리 복잡한 소유권 타입 시스템이 필요하지 않아 기존 C 코드베이스를 이식하기가 더 간단하다. 대신 컴파일러가 강제하는 안전 보장은 더 적다. Shelly 팀의 경우, 프로젝트 규모를 고려할 때 전체 원본 C# 코드베이스를 Rust로 대체하는 것이 훨씬 더 어려웠을 것이다.

2026년 8월 ISO는 CachyOS 다운로드 미러에서 제공된다. 기존 사용자는 표준 pacman 시스템 업그레이드로 즉시 업데이트할 수 있다. 핫픽스인 Shelly 3.0.1은 주요 릴리스 이틀 후에 출시되어 초기에 보고된 엣지 케이스를 해결했으며, 이는 새로운 코드베이스의 적극적인 유지보수를 시사한다.

태그: , , , , ,

토론

댓글 0개가 있습니다.