여러 프로젝트에 대한 시스템을 구성하는 방법은 무엇입니까? [폐쇄]

여러 프로젝트에 대한 시스템을 구성하는 방법은 무엇입니까? [폐쇄]

여러 시스템 설정을 관리하는 방법을 찾고 있습니다. 예를 들어, 프로젝트 작업을 시작하면 일부 소프트웨어와 해당 종속성을 설치해야 할 수도 있습니다. 이 프로젝트가 완료되면 시스템을 이전 상태로 복원할 수 있기를 바랍니다.

내 이상적인 상황은 git이 있지만 전체 시스템에 대해 분기하고, 실험하고, 어느 시점으로든 되돌릴 수 있는 것과 같습니다.

이것을 달성할 수 있는 방법이 있나요? LVM 스냅샷 사용을 고려해 보았는데, 이것이 좋은 생각입니까?

답변1

TL,DR 사용가상 상자스냅 사진.

가상 머신 스냅샷은 이러한 요구에 가장 일반적으로 사용됩니다. 주된 이유는 단순성입니다. 최악의 경우 데이터 루트가 쓸 수 있는 모든 데이터가 0이 됩니다. 12GB 이상의 RAM과 8TB의 디스크 공간을 갖춘 최신 개발 상자가 있는 경우 5~10개의 테스트 환경을 동시에 실행하고 800개의 스냅샷을 저장할 수 있는데 이는 충분합니다.

반면, 테스트가 비교적 온화하다면, 액션 로그만 유지하고( apt install x y z && mkdir project0) 실행 취소( apt purge x y z && rm -r project0)하거나, 다른 프로젝트에 방해가 되지 않는 경우에는 유지하는 것이 일반적인 옵션입니다.

brtfs는 백업 서버에 스냅샷 차이점을 효과적으로 제공할 수 있으므로 흥미로운 선택입니다. 단점은 조금 더 복잡하고 안정성이 훨씬 떨어진다는 것입니다.

다른 많은 옵션이 있습니다(git/lvm/rsync/rdiffbackup/zfs/컨테이너/etc ), 단점도 있습니다(예: 추가 시간/공간 또는 덜 견고함). 결국 양질의 개발자 시간이 가장 많이 찾는 상품이므로 계획 및 환경 설정에 소비하는 시간이 줄어들수록 생산성을 높이는 데 더 많은 시간을 투자할 수 있습니다. 따라서 두 가지 간단한 옵션 중 하나로 시작하고 시간 낭비가 보일 때만 더 복잡한 솔루션을 탐색하십시오.

관련 정보