최신 FreeBSD에서 오래된 FreeBSD 빌드 머신을 감옥에 가두기

최신 FreeBSD에서 오래된 FreeBSD 빌드 머신을 감옥에 가두기

우리는 독점 바이너리에 대한 시스템 라이브러리와의 하위 호환성을 유지하고 각각의 모든 FreeBSD 버전에서 빌드하는 것을 방지하기 위해 사용하는 아주 오래된 FreeBSD 빌드 시스템(6.3)을 가지고 있습니다.

질문: 새로운 FreeBSD 11.x를 설치하고 기존 시스템을 감옥에 가두는 것이 기술적으로 가능합니까? 아니면 호환되지 않는 시스템 호출로 인해 문제가 발생합니까?

크기와 관련하여 커널 인터페이스의 일부 변경(아마도 깨졌을 것으로 추정)을 기억하는 것 같습니다 time_t. 기존 syscall에 의존하는 기존 바이너리를 손상시키는 변경 사항이 있습니까? 아니면 (해당하는) 새 syscall에 연결된 새로 빌드/링크된 바이너리에만 영향을 미치나요?

답변1

나는 bhyve가 마지막 휴양지가 아니라 첫 번째 휴양지라고 생각합니다. 빌드 환경을 감옥에 가둔다면 11.x 커널을 사용하여 6.3 세계와 라이브러리에 대해 제품을 테스트하는 것입니다. 그러나 고객은 6.3 world/libs 및 6.3 커널을 실행하게 됩니다.

6.3과 11.x 커널의 차이는 시간이 지나면서 더 커질 것으로 예상됩니다. 이로 인해 테스트 감옥의 11.x 커널은 제대로 작동하지만 고객의 6.3 커널은 제대로 작동하지 않아 고객의 문제 보고서를 재현할 수 없는 상황이 발생할 수 있습니다.

IMO, bhyve는 이 작업에 가장 적합한 도구입니다.

관련 정보