▲GN⁺ 2024-04-28 | parent | ★ favorite | on: BSD 사용자의 Alpine Linux 도전기(rubenerd.com)Hacker News 의견 요약: Linux 바이너리는 PIE(Position Independent Executable)로 컴파일되어 보안성이 높음 GLIBC는 힙 구현이 가장 경화되어 있어 이중 해제 등의 힙 취약점에 대한 완화 기능이 더 많음 Alpine은 musl을 사용하므로 GLIBC에 비해 보안성이 떨어짐. 작고 이해하기 쉬운 시스템이 보안에 도움됨 Illumos(OpenSolaris)는 수십년간 리눅스를 사용한 후 모든 것이 더 단순해짐 Solaris 10에서 작동하던 대부분이 약간의 수정으로 현재까지 적용됨 zone은 docker 컨테이너보다 10배 우수하며, ZFS 지원 내장됨 SMF로 서비스 관리. XML로 구성하는 것이 유일한 단점 OmniOS와 SmartOS 서버 사용 경험 공유 BSD 사용자로서 bhyve에서 Alpine을 처음 실행해봄 busybox 기반으로 /bin, /sbin 유틸리티가 분리된 바이너리일 필요가 없어 사용자 공간이 작고 부팅이 빠름 tmux, zsh로 대부분의 유닉스 용도에 충분 많은 apk 설치 필요했지만 전반적으로 최고의 Linux 경험이었음 ZFS 내장되고 bhyve용 virtio 바인딩 지원되면 좋겠음 Void Linux도 BSD 사용자에게 추천. NetBSD 개발자가 만들었고 glibc/musl 버전 있음. runit을 init 시스템으로 사용 xbps-src로 소스에서 패키지 빌드 가능 Alpine에 기본으로 man 페이지가 포함되지 않아 사용을 꺼림 패키지 설치 시 문서를 자동으로 설치하는 옵션이 있는지 궁금함 Docker에서 Alpine 성능 관련 포스트들 있었음. Debian/Ubuntu 사용 권장 Alpine이 느린 이유: Python 속도 저하, Ubuntu 이미지 대비 50% 느림 Alpine 옹호 포스트: Debian과 성능 비교 벤치마크 이 내용이 아직 유효한지 궁금해 함 OpenRC 등이 매력적인 이유 모르겠음. 감독 기반 옵션이 PID 파일 관리보다 낫다고 봄 자동 재시작 안 되는 게 장점이라는 점은 인정 syslog에 크게 의존하는 것도 80년대 기술 여러 도구의 이벤트 순서를 알기 위해 중앙 집중식 뷰 개선 필요성은 동의 Alpine의 장점: Nix 없이 /etc/apk/world 편집 후 apk fix로 선언적 패키지 관리 가능 Slackware는 BSD와 Linux의 절충안. Unix 스럽고 복잡하지 않음. Slackbuilds로 풍부한 포트 트리 제공 musl이 pthread_attr_setaffinity_np 지원 안 해서 PyTorch 등 일부 소프트웨어 실행 불가
Hacker News 의견
요약:
Linux 바이너리는 PIE(Position Independent Executable)로 컴파일되어 보안성이 높음
GLIBC는 힙 구현이 가장 경화되어 있어 이중 해제 등의 힙 취약점에 대한 완화 기능이 더 많음
Alpine은 musl을 사용하므로 GLIBC에 비해 보안성이 떨어짐. 작고 이해하기 쉬운 시스템이 보안에 도움됨
Illumos(OpenSolaris)는 수십년간 리눅스를 사용한 후 모든 것이 더 단순해짐
Solaris 10에서 작동하던 대부분이 약간의 수정으로 현재까지 적용됨
zone은 docker 컨테이너보다 10배 우수하며, ZFS 지원 내장됨
SMF로 서비스 관리. XML로 구성하는 것이 유일한 단점
OmniOS와 SmartOS 서버 사용 경험 공유
BSD 사용자로서 bhyve에서 Alpine을 처음 실행해봄
busybox 기반으로 /bin, /sbin 유틸리티가 분리된 바이너리일 필요가 없어 사용자 공간이 작고 부팅이 빠름
tmux, zsh로 대부분의 유닉스 용도에 충분
많은 apk 설치 필요했지만 전반적으로 최고의 Linux 경험이었음
ZFS 내장되고 bhyve용 virtio 바인딩 지원되면 좋겠음
Void Linux도 BSD 사용자에게 추천. NetBSD 개발자가 만들었고 glibc/musl 버전 있음. runit을 init 시스템으로 사용
xbps-src로 소스에서 패키지 빌드 가능Alpine에 기본으로 man 페이지가 포함되지 않아 사용을 꺼림
패키지 설치 시 문서를 자동으로 설치하는 옵션이 있는지 궁금함
Docker에서 Alpine 성능 관련 포스트들 있었음. Debian/Ubuntu 사용 권장
이 내용이 아직 유효한지 궁금해 함
OpenRC 등이 매력적인 이유 모르겠음. 감독 기반 옵션이 PID 파일 관리보다 낫다고 봄
자동 재시작 안 되는 게 장점이라는 점은 인정
syslog에 크게 의존하는 것도 80년대 기술
여러 도구의 이벤트 순서를 알기 위해 중앙 집중식 뷰 개선 필요성은 동의
Alpine의 장점: Nix 없이 /etc/apk/world 편집 후
apk fix로 선언적 패키지 관리 가능Slackware는 BSD와 Linux의 절충안. Unix 스럽고 복잡하지 않음. Slackbuilds로 풍부한 포트 트리 제공
musl이 pthread_attr_setaffinity_np 지원 안 해서 PyTorch 등 일부 소프트웨어 실행 불가