한 배포판에서 다른 배포판으로 설치된 패키지 및 설정을 어떻게 전송합니까?


15

나는 몇 달 동안 VirtualBox를 통해 Linux 시스템에 대해 배우고 Linux 시스템에 대해 연구 해 왔으며 기본 OS로 만들고 하드 드라이브에 설치하기로 결정했습니다. HDD에 직접 설치할 때 가져와야 할 많은 파일, 패키지 및 설정 (예 : .bashrc 변경)이 있는데 어떻게해야합니까? 또한 비슷한 데비안 또는 RPM으로 전환하기로 결정하면 우분투를 실행 중입니다 .RHEL 기반 배포판이 동일한 프로세스입니까? 있다면 어떤 점을 고려해야합니까?


우분투는 데비안 파생물입니다. 모든 데비안 파생어는 패키지에서 모두 같은 이름, 패키지 관리, 구성 등을 가지며 매우 유사하기 때문에 매우 유사합니다. 그러나 Fedora, CentOS 등과 같은 Red Hat 배포판은 기본적으로 동일한 소프트웨어이지만 패키지 관리와 관련하여 그다지 유사하지 않습니다. 하지만 대부분 데비안 제품군의 OS에서 RH 제품군의 OS로 설정 / 구성 등을 복사 할 수 있어야합니다.
Faheem Mitha

답변:


31

패키지 관리는 배포판의 주요 차별화 요소 중 하나입니다. 관련이없는 배포 간에는 자동으로 작업을 수행 할 수 없습니다. 다른 배포판은 소프트웨어를 다른 패키지 세트로 분류하고 다른 이름을 사용합니다.

동일한 버전의 동일한 분배를 실행하는 시스템간에 설치된 패키지 목록을 재생하여 유사한 설치를 수행 할 수 있습니다. apt데비안 및 파생어 (Ubuntu, Mint 등)와 같은을 사용하는 시스템 에서는을 사용하십시오 apt-clone. 한 데비안 시스템에서 다른 데비안 시스템으로 설치된 패키지 선택 물을 어떻게 복제합니까?를 참조하십시오 . 정확한 명령은 (Debian Wheezy) 입니다. 간단히 말해서, 오래된 머신에서 :

sudo apt-get install apt-clone
apt-clone clone foo

foo.apt-clone.tar.gz새 머신으로 복사 하고 실행

sudo apt-get install apt-clone
sudo apt-clone restore foo.apt-clone.tar.gz

apt-clone데비안과 우분투와 같은 관련 배포판 사이에서 작동 할 수 있습니다. restore-new-distro그 대신에 사용하십시오 restore. 실패하면 and과 함께 수동 방법 을 사용하고 apt가 충족 될 때까지 패키지 목록을 사용하십시오.dpkg --get-selectionsapt-mark

자체 설정의 경우 더 간단 합니다. 홈 디렉토리에서 도트 파일 을 복사하면 됩니다. 일반적으로 시스템 전체가 아닌 계정의 하드웨어와 관련이없는 것을 구성하십시오. 이를 통해 다른 컴퓨터로 쉽게 복사 할 수 있습니다.


아래의 두 번째 답변에 대한 이점은 느린 인터넷을 건너 뛰고 더 빠른 USB 3을 사용할 수 있기 때문에이 방법이 더 빠릅니다. 다른 장점들도 있을까요 ???
WinEunuuchs2Unix

@ WinEunuuchs2Unix 패키지 목록은 몇 킬로바이트에 불과합니다. 인터넷을 통해 전송하는 것은 USB 동글을 찾는 것보다 시간이 덜 걸리며, USB 동글을 마운트하거나 복사 할 파일을 선택하는 것은 물론입니다.
Gilles 'SO- 악마 그만해

@ Gilles 바보 나. 나는 foo.apt-clone.tar.gz모든 바이너리가 압축 된 타르볼 이라고 생각했다 . 단순히 설치된 패키지 목록이라는 것을 몰랐습니다. 보류 버전 번호도 포함되어 있습니까?
WinEunuuchs2Unix

많은 오류.... version mismatch: libgl1-mesa-dri, libmirprotobuf3, xserver-xorg-legacy, libgbm1, libmirclient9, xserver-common, libxatracker2, gnome-software, libmircommon7, libwayland-client0, mesa-vdpau-drivers, adobe-flash-properties-gtk, libwayland-server0, xserver-xorg-core, conky-all, libgles2-mesa, libmircore1, libosmesa6, x11proto-core-dev, dkms, libgl1-mesa-glx, adobe-flashplugin, libegl1-mesa, gnome-software-common, libglapi-mesa, libwayland-cursor0, ubuntu-software, libwayland-egl1-mesa Note that you can use --with-dpkg-repack to include those packges in the clone file.
WinEunuuchs2Unix

@ WinEunuuchs2Unix apt-clone에는 보류 패키지를 포함하여 모든 dpkg 상태가 포함되어 있다고 생각합니다. 전체 설치를 복제하려는 경우 완전히 다른 문제입니다. apt-clone의 요점은 시스템 1과 시스템 2 사이보다 시스템 2와 패키지 미러 사이에 더 많은 대역폭이 있거나 컴퓨터 2를 설정하는 동안 컴퓨터 1을 너무 바쁘게 유지하고 싶지는 않습니다. Apt-clone은 소스 시스템의 모든 패키지 버전을 설치할 수있을 때 가장 잘 작동합니다.
Gilles 'SO- 악마 그만해

10

데비안 가족 안에 머무르고 있다면 매우 쉽게 옮길 수 있습니다. 현재 설치된 패키지를 나열하고 파일로 저장 한 다음 해당 파일을 읽고 다시 설치하십시오.

  1. 설치된 패키지를 파일에 저장하십시오 installed.

    dpkg -l | grep ^ii | awk '{print $2}' > installed
    
  2. 새로 설치된 데비안 기반 배포판에 저장된 패키지를 설치하십시오 :

    sudo apt-get install $(cat installed)
    

또는 GUI 도구를 사용할 수도 있습니다. 민트에는 다음과 같은 멋진 것이 있습니다 mintbackup.

mintbackup 스크린 샷

그런 다음 새 설치에서

mintbackup의 다른 스크린 샷


겠습니까 dpkg --get-selections | awk '$2 == "install" {print $1}' > instlpkg동등? 또한 RHEL / Fedora / CentOS에서 yum install alien을 사용하는 방법은 무엇입니까?
Sergiy Kolodyazhnyy

1
선택 사항을 재현하거나 자동으로 설치된 패키지 목록을 재현하지 마십시오. 현재 apt-clone자동화되어 있습니다. 참조 unix.stackexchange.com/questions/191662/...
질 'SO-정지되는 악'

보류 된 패키지도 복사하는 것이 도움이됩니다. 즉 Conky 1.9는 Conky 1.10이 문제를 일으키지 않도록 개최됩니다. 대답의 일부는 AskUbuntu 스레드에 있습니다.
WinEunuuchs2Unix

1
이 답변은 최상위 투표 답변보다 빠르며 apt-clone위와 같은 많은 오류 메시지가 없습니다 . 위의 의견에 게시 된 오류의 1/3.
WinEunuuchs2Unix

멋지지만 우분투 18.04에서 mintbackup을 사용할 수 있습니까?
WebComer

1

설정은 일반적으로에 저장됩니다 /etc/. etckeeper 는 편리 할 수 ​​있습니다. 그것의 주요 목적은 /etc/git 저장소 로 바꾸는 것이지만, 내가 잘 이해하면 복사하고 싶지 않은 부분을 필터링합니다. 따라서에 익숙한 경우 변경 사항을 새 설치에 병합 git하는 etckeeper데 사용 하는 것이 좋습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.