다른 Linux 시스템에 다시 설치하기 위해 모든 소프트웨어를 파일로 백업하는 방법은 무엇입니까?

다른 Linux 시스템에 다시 설치하기 위해 모든 소프트웨어를 파일로 백업하는 방법은 무엇입니까?

TitaniumBackup을 사용하여 루팅된 Android에서 앱과 데이터를 백업하는 것처럼 모든 프로그램, 소프트웨어, 심지어 라이브러리와 해당 데이터까지 Linux 시스템에 백업할 수 있는 방법이 있습니까? 현재 모든 프로그램을 파일로 백업하고 다른 Linux 시스템에서 다시 활성화하고 싶습니다.

답변1

UNIX 유형 시스템의 시스템 파일 백업은 일반적으로 파일별로 수행되지 않습니다.

시스템을 새 하드웨어로 마이그레이션하려는 경우 라이브 이미지(예: knoppix)를 사용하여 기존 컴퓨터를 부팅한 다음 dd하드 드라이브 파티션의 이미지를 원격 컴퓨터 또는 네트워크의 외부 하드 드라이브에 생성하면 됩니다. 그런 다음 새 컴퓨터에서 라이브 이미지를 부팅하고 dd디스크 이미지를 새 파티션에 쓸 수 있습니다. 새 시스템은 기존 시스템과 동일한 구성을 갖게 되므로 기존 시스템을 유지하면서 시스템을 "복제"하려는 경우 호스트 이름 및 고정 IP 주소와 같은 일부 구성 설정을 변경해야 합니다. 두 시스템을 동시에 사용하려면 사용하는 소프트웨어에 따라 약간의 변경이 필요할 수도 있습니다.

시스템을 완전히 복제하는 것이 원하지 않고 새 시스템이 이전 시스템과 동일한 Linux 배포판인 경우 패키지 관리자를 사용하여 설치된 소프트웨어 목록을 가져옵니다. 그러면 새 시스템의 패키지 관리자는 이 목록을 사용하여 모든 소프트웨어와 라이브러리를 설치할 수 있습니다. 그런 다음 기존 시스템의 데이터 및 구성 파일을 새 시스템에 복사하면 됩니다.다음은 다양한 배포에 대한 이 프로세스를 설명하는 URL입니다.

패키지 관리자를 사용하여 설치되지 않은 소프트웨어는 수동으로 복사해야 합니다. 이 경우 scp또는 rsync당신이 찾고 있는 도구일 뿐입니다. 이러한 소프트웨어는 일반적 /opt으로 (이전 "레거시" 소프트웨어의 경우) 또는 에 설치됩니다 /usr/local/. 이 방법으로 전체 시스템을 복제할 수 있지만 중요한 항목을 놓치면 문제가 발생합니다(따라서 처음 두 가지 방법을 언급한 이유가 무엇입니까). Debian 기반 배포판에서는 모든 중요한 파일이 다음 폴더 에 포함되어야 합니다: /bin, /etc, /home, /lib, /lib64, /lib32, /opt(비어 있지 않은 경우), /root, /srv, /sbin및 . 라이브 이미지에서 부팅하여 이 작업을 수행하는 것도 좋은 생각입니다. 이렇게 하면 파일을 복사하는 동안(특히 에서) 파일이 수정되지 않도록 할 수 있습니다. 이것은 다음과 같습니다:/usr/var/var/log

rsync --progress -a -r /bin /etc /home /lib /lib64 /lib32 /opt /root /srv /sbin /usr /var [email protected]:/

관련 정보