필요한 앱이있는 하나의 컴퓨터 설정이 있고 새 Ubuntu 상자에 같은 것을 설치하고 싶습니다.
설치된 모든 앱을 나열하는 스크립트가있어 상자를 구분하여 누락 된 항목을 추가 할 수 있습니까?
미리 감사드립니다, Chris
Pjz에서 언급 한 dpkg 트릭과 마찬가지로 etckeeper ( tutorial )-/ etc/*를 버전 제어하에 두는 앱을 살펴볼 수도 있습니다. 변경 사항을 쉽게 찾고 다른 서버에 복제 할 수 있습니다.
또한 pjz의 방법으로 생성 된 목록보다 짧은 목록의 경우 다음을 사용할 수 있습니다.
$ deborphan -a --no-show-section > /tmp/mypackagelist
그러면 종속성으로 필요한 다른 모든 패키지를 설치할 패키지 목록이 제공됩니다. 실제로 목록을 살펴보고 싶은 경우 유용 할 수 있습니다. (dpkg --get-selections는 loooong 목록을 생성합니다). 또한 목록은 줄 바꿈을 추가하고 '#'으로 항목을 주석 처리 할 수있을만큼 짧습니다. 그런 다음 추가 패키지를 설치할 때 할 수 있습니다.
$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y
이렇게하면 일부 시스템에만 설치하려는 패키지가있는 경우 패키지 목록에서 패키지를 모두 삭제할 필요가 없습니다.
dpkg --get-selections >/tmp/mypackagelist
트릭을해야합니다. 그런 다음 새 컴퓨터의 /etc/apt/sources.list에 이전 항목과 동일한 항목 집합이 있는지 확인한 후 mypackagelist를 새 컴퓨터에 복사하고 다음을 수행합니다.
cat mypackagelist | xargs apt-get -y install
그리고 당신은 잘 가야합니다.
Dpkg --get-selections 줄은 때때로/etc/dir에 넣을 수있는 좋은 정보입니다. 즉,/bin/및/usr/bin/등을 백업 할 필요가 없음을 의미합니다. 시스템에있는 패키지.
더 나은 dpkg 명령은 [original machine] 일 수 있습니다.
dpkg --get-selections | grep -v deinstall > packages_list
그런 다음 [새 컴퓨터를 설치할 때; packages_list 전송 후]
Sudo dpkg --set-selections < packages_list
Sudo apt-get -u dselect-upgrade
Ubuntu 포럼에는 좋은 답변
포럼 토론의 추가 링크 :
ReMasterSys라는 도구가 있습니다. http://geekconnection.org/remastersys/ 참조
나는 그것이 사용되기를 바랍니다.
FSArchiver 를 사용하여 시스템을 복제하는 것은 완벽하게 허용됩니다. 그렇지 않으면 여기에 유용한 명령 쌍이 있습니다.이 중 전반부는 백업 크론에 추가 할 수도 있습니다.
debconf-get-selections
debconf-set-selections
~
aptitude-create-state-bundle
aptitude-run-state-bundle --unpack
~
dpkg --get-selections
dpkg --clear-selections; dpkg --set-selections
복제해야하는 위치는/etc 및/var입니다. 위의 명령은/var에있는 몇 개의 파일을 직접 조작하고 debconf를 통해 간접적으로/etc에있는 일부 conf 파일을 조작합니다. 하위 트리를 복제하고 aptitude를 실행하면 동일한 효과를 얻을 수 있습니다.
CLI 팬이 아닌 경우 (정말 그래야하지만) Synaptic 패키지 관리자를 사용하여 설치된 패키지의 이미지를 저장하고 해당 파일 (다시 Synaptic을 통해)을 사용하여 새 시스템을로드 할 수 있습니다. 파일/저장 표시 옵션 아래에 "전체 상태 저장"이라는 확인란이 있습니다.
dd
를 사용하여 시스템을 복제하지 않는 이유는 무엇입니까?
나는 Docker 이 작업을 지금 수행하는 방법이라고 생각합니다. Dockerfile에서 요구 사항을 정의합니다. 그런 다음 모든 Docker 호스트에서 실행할 수 있습니다.