긴 기술 문서에서, 이케 도허티 (Solus와 같은 프로젝트를 주도하고 Clear Linux에 기여한 것으로 알려짐) AerynOS의 철학과 아키텍처를 간략하게 설명합니다.이 새로운 프로젝트는 인프라가 코드로 동작하는 시대에 운영 체제가 어떻게 작동해야 하는지 다시 생각해 보는 것을 목표로 합니다.
그리고 Linux 생태계의 또 다른 배포판이 아닌, AerynOS는 현대 운영체제를 근본적으로 재구성한 것으로 표현됩니다.
유통에서 인프라까지
에리노스 질문에서 태어났다 성나게 하는: "운영체제가 현대적 인프라처럼 동작한다면 어떨까요?". 답은 기존 배포판의 기존 규칙을 끌어내지 않고 기존 시스템을 변형하지 않고 처음부터 구축된 플랫폼입니다. AerynOS는 깔끔한 기반에서 시작하여 이전 경험을 활용하고 일관성, 가역성 및 구조적 단순성을 보장하기 위해 급진적인 아키텍처 결정을 내립니다.
Ikey Doherty는 그의 기사에서 다음과 같이 언급합니다. 가장 눈에 띄는 결정 중 하나는 LLVM 툴체인 채택입니다. 기존 GNU 대신 libc++와 compiler-rt를 기본적으로 사용합니다. 이런 선택은 단순히 스타일적 선호도 때문만이 아니라 전략적인 이유도 있습니다. 더 뛰어난 진단 성능과 더 큰 휴대성을 위해. 이러한 업그레이드에도 불구하고 AerynOS는 glibc를 표준 라이브러리로 계속 사용하고 있으며, 멀티스레드 부하와 까다로운 애플리케이션에서 탁월한 성능을 발휘하는 musl 대신 glibc를 선택하고 있습니다.
이 외에도 다음과 같은 사항이 언급되어 있습니다. AerynOS의 핵심 개념 중 하나는 "무상태"입니다.: 어떤 패키지도 /usr 외부에 파일을 설치할 수 없습니다. 이러한 엄격한 구분은 사용자 공간(/etc, /var)과 시스템 공간을 분리하여 병합 충돌을 제거하고 깔끔한 업그레이드를 용이하게 합니다. Clear Linux에서 유래된 이 아이디어는 합리적인 기본값을 적용하고 보다 유연한 시스템이 종종 도입하는 불필요한 복잡성을 피하는 것을 목표로 합니다.
원자적 및 가역적 업데이트
에리노스 Moss라는 완전히 새로운 패키지 관리 시스템을 사용합니다. 원자적 거래를 수행합니다. 각 업데이트는 중복 제거된 저장소의 하드 링크를 사용하여 새로운 /usr 트리를 만들고, renameat2()를 사용하여 현재 트리와 원자적으로 교체됩니다. 이 메커니즘은 업데이트가 완전히 완료되거나 전혀 적용되지 않도록 보장하여 중간 상태를 방지합니다.
부츠 관리 역시 전통을 깨뜨린다. blsforme 및 disks-rs와 같은 도구 덕분에 AerynOS 슈퍼블록을 직접 읽어서 커널 명령줄을 동적으로 생성합니다. 파일 시스템의 root=가 필요 없게 되었습니다. 또한 각 코어는 해당 트랜잭션에 연결되어 있어 부팅 메뉴에서 시스템을 롤백하고 ESP 손실이 발생할 경우 부팅 환경을 처음부터 다시 구축할 수 있습니다.
.stone 형식: 소프트웨어를 패키징하는 새로운 방식
또 다른 핵심 구성 요소는 .stone 형식, 최신 바이너리 패키지 버전 독립성과 높은 효율성을 염두에 두고 설계되었습니다. 각 .stone 파일에는 다음이 포함됩니다.
- 패키지 파일의 중복 제거된 콘텐츠
- 해시 인덱스(XXH128, Blake3로 마이그레이션 계획)
- 대상 파일 시스템의 맵
- 이름, 버전, 기능 등의 유형화된 메타데이터
파일을 직접 설치하는 대신, .stone은 콘텐츠 주소 지정 저장소에 저장됩니다. (CAS)이며 거래의 일부로 컴파일됩니다. 이런 접근 방식은 성능을 향상시킬 뿐만 아니라, 변경 사항을 쉽게 되돌릴 수도 있게 해줍니다.
패키지 관리 시스템은 기존의 필수 모델을 따르지 않습니다. 개발자들은 직접 설치 명령이 "해결하는 것보다 더 많은 버그를 발생시킨다"고 생각합니다. 대신 각 트랜잭션은 새로운 시스템 그래프를 생성하여 Nix나 Gentoo와 유사한 미래의 선언적 모델을 위한 길을 열어줍니다. 여기서는 변경 명령을 실행하는 대신 시스템의 원하는 상태를 설명합니다.
AerynOS는 변경 불가능한가요?
이는 종종 변경 불가능한 시스템으로 묘사되지만, 개발자들은 이것이 엄밀히 말하면 사실이 아니라고 명확히 밝혔습니다. 시스템은 읽기 전용 액세스를 차단하지 않습니다.그리고 트랜잭션이 /usr 트리를 대체하는 동안, 완전한 불변성은 아직 구현되지 않았습니다. 장기적인 목표는 overlayfs와 erofs와 같은 기술을 활용해 재부팅 없이 이를 달성하는 것입니다.
AerynOS는 알파 단계이기는 하지만 이미 ISO를 제공하고, GNOME을 지원하며, Steam, NVIDIA, Flatpak과 호환되고, 안정성과 성능을 칭찬하는 실제 사용자도 있습니다. 이 시스템은 아직 발전 중이기는 하지만 실제 상황에서 테스트할 만큼 충분히 잘 작동합니다.
출처 : https://aerynos.com