내 컴퓨터에 있는 백업 파일에 대한 복구 테스트를 하고 있습니다. 별 생각 없이 폴더 rsync
안의 모든 파일을 /etc
백업 파일로 교체했습니다. 그러다가 두 컴퓨터의 비밀번호와 사용자 이름이 다르기 때문에 이렇게 하면 안 된다는 것을 깨달았습니다.
다시 시작한 후 컴퓨터가 부팅할 수 없는 상태가 되어 처음부터 다시 설치해야 할 수도 있습니다. 이제 내 문제는 폴더의 파일이 동일한 운영 체제의 /etc
각 컴퓨터마다 고유하다는 것입니다. 이렇게 하면 rsync
나중에 백업에서 복원할 때 이러한 파일을 제외하도록 세부적으로 조정할 수 있습니다 .
답변1
두 시스템 간에 절대적으로 달라야 하고 다시 생성해야 하는 파일은 거의 없습니다.클론:
- CPU 이름
/etc/hostname
. - SSH 호스트 키:
/etc/ssh_host_*_key*
또는/etc/ssh/ssh_host_*_key*
유사한 위치. - 무작위 시드:
/var/lib/urandom/random-seed
또는/var/lib/random-seed
유사한 위치. (/var/lib/systemd/random-seed
systemd를 사용하는 시스템에서)
동일한 기계가 여러 대 있다면 다른 모든 것은 아마도 동일할 것입니다.
일부 파일은 하드웨어가 다른 컴퓨터에서 다른 경우가 많습니다.
/etc/fstab
디스크 파티션이 다른 경우 ,/etc/crypttab
및/etc/mdadm.conf
부트로더 구성 파일(있는 경우/etc
- 일부 배포판에서는 해당 파일을 넣습니다)./boot
/etc/X11/xorg.conf
, 있는 경우 시스템에 다른 그래픽 카드가 있습니다./etc/modules
/etc/modprobe.conf
, 및 에서/etc/modprobe.d/
로드되거나 블랙리스트에 추가될 모듈입니다/etc/modutils/
.
또한 일부 네트워크 구성을 변경해야 할 수도 있습니다. 특히 다음과 같습니다.
- 고정 IP 주소가 있는 경우 각 시스템의 IP 주소는 다양해야 합니다. IP 구성의 위치는 배포판에 따라 다릅니다(예:
/etc/network/interfaces
Debian,/etc/sysconfig/network
Red Hat). /etc/hosts
일반적으로 호스트 이름을 포함합니다.- 메일 구성에는 일반적으로 호스트 이름( check )이 포함됩니다
/etc/mailname
.
/etc
폴더의 전체 목적은 /etc
각 컴퓨터에서 사용자 정의할 수 있는 파일을 저장하는 것이기 때문에 "폴더(...)의 파일은 각 컴퓨터마다 고유합니다."에 대한 보편적인 대답은 없습니다. 예를 들어, 서로 다른 컴퓨터에 서로 다른 계정이 있는 경우 당연히 계정 데이터베이스를 공유할 수 없습니다. 계정 데이터베이스를 공유하고 싶다면 결국 동일한 계정을 갖게 될 것입니다.
일반적으로 /etc
동일한 소프트웨어 구성(동일한 소프트웨어 설치, 동일한 계정 등)을 가진 컴퓨터 그룹이 없으면 기본 공유를 시도하지 마십시오. 공유하는 경우 /etc
위에서 언급한 대로 공유를 방지하기 위해 일부 파일을 블랙리스트에 추가해야 합니다.
컴퓨터의 구성이 다른 경우 동기화 항목을 허용 목록에 추가하세요. 에서와 같이 파일을 /etc
다른 컴퓨터에서 다르게 처리합니다 /var
. 모든 곳에 적용하기로 결정한 내용만 동기화하세요.
동기화를 관리할 수 있는 한 가지 방법은 시스템별 파일을 다른 디렉토리(예 /local/etc
: /etc/fstab -> ../local/etc/fstab
다른 위치에 있습니다. 또는 반대로 특정 시스템 파일만 유지하고 /etc
모든 일반 파일은 다른 곳에 보관합니다. 그러나 일반적인 배포판은 이를 잘 수용하지 않습니다.
분명히 한 시스템의 시스템 구성 복구를 다른 시스템에서 현장 테스트할 수는 없습니다. 백업 복원을 테스트하려면 하드웨어 구성(특히 유사한 디스크 레이아웃)을 적절하게 시뮬레이션하는 가상 머신을 시작하십시오.