Redhat 계열 사용 중인 개발자/시스템 관리자분들께 질문
글쓰기가 어렵네요. ;;;
기본적으로는 수요 혹은 사용 양태 조사입니다.
보통 레드햇 계열(Fedora, Redhat Enterprise, Centos, Oracle Linux 기타 등등)은 yum으로 이미 배포하는 회사/조직에서 빌드한 바이너리를 인스톨하는 것으로 알고 있습니다. 예컨대 yum install -y gcc 라고 하면, 저장소에 있는, 이미 빌드된 gcc를 받아다가 시스템 적절한 위치에 카피하고 설정만 해주는 것으로 압니다. 빌드는 그 배포하는 회사/조직의 빌드 머신에서 이뤄지구요.
이렇게 되면 machine-independent한 최적화는 잘 되어 있긴 해서 성능 차이가 크게 나지는 않지만, machine-dependent한 최적화 (예컨대 -march=corei7-avx)를 넣을 수는 없어서 성능 손해가 있기는 있을 것이구요.
첫째, yum으로 RPM을 그냥 설치하는 것 이외의 방식으로 핵심 소프트웨어를 새로 설정, 빌드해서 설치하시는 경우가 꽤 있으신가요? 예컨대 웹 서비스 공급이 목적인 경우에 emacs 같은 거야 yum으로 설치하시겠지만, 웹 서버 자체나 php 같은 것을 yum으로 바이너리 설치 하는 이외의 방법으로 설치하는 경우가 꽤 있으신 편인가요?
둘째, 만약 있다면, source RPM을 받아 고쳐서 설치하시나요, 아니면 source tarball (e.g. tar.bz2 같은 거)을 받아 cmake나 configure, make, make install 같은 걸로 설치하시는지요?
감사합니다.
보통 needs 가 있다면 별도의 repository
보통 needs 가 있다면 별도의 repository 를 구성하기는 합니다만, dual core cpu 가 나온 이후로 -march=corei7-avx 와 같은 옵션을 줘야 할 정도의 needs 가 있었던 적이 없는 것 같습니다. 그렇기 때문에 이런 옵션을 줘야할 경우는 그냥 예외적인 상황으로 가도 될 것 같습니다.
정리하면, machine-dependent한 최적화가 필요할 정도의 상황이 그렇게 일반적이지는 않을 것 같다는 의미이며, 필요하다면 저의 경우에는 별도의 repository 구성을 하여 package로 관리를 합니다.
소스 컴파일은 이력 관리가 되지 않아서, package로 빌드해서 관리를 합니다.
감사합니다.
대체로 저도 비슷하게 생각합니다. 다만 machine-dependent한 최적화가 yum install 유사한 명령어로 이루어진다면, 사용자가 고마워할까 아닐까 이따금 생각해 보는 정도네요.
댓글 달기