여러 컴퓨터간에 apt-get 설치 동기화


11

여러 PC간에 설치 및 제거를 동기화하는 방법이 있습니까?

Dropbox를 사용하는 것이 좋습니다. 파일을 동기화하기 위해 이미 사용하고 있기 때문입니다.

나는 별칭의 생각 apt-get installapt-get remove명령 파일 (설치 하나, 삭제 하나)와 파일의 모든 항목을 읽고 각각의 명령을 실행 다른 명령에 저장 매개 변수를 그. 이것이 현실적인 접근입니까?

답변:


7

꼭두각시 를 사용하여 설치할 패키지를 지정하는 구성 파일을 만들 수 있으며, 꼭두각시 서버 대신 Dropbox를 사용하여 컴퓨터간에 꼭두각시 구성을 동기화하고 주기적으로 꼭두각시를 실행하고 구성 변경을 구현하는 크론 작업을 수행 할 수 있습니다.


이것은 적은 수의 기계에 좋은 아이디어입니다. 더 큰 환경에서는 꼭두각시 마스터가 있어야합니다. 내가 일하는 곳에서는 꼭두각시로 수천 대의 컴퓨터를 관리합니다.
Ed Manet

9

더 나은 방법이 있는지는 모르겠지만 (아마도있을 것입니다) 필요한 규모에 따라 기계의 일부에 적성의 검색 기능을 사용할 수 있습니다. 패턴과 일치하는 패키지를 검색 할 수 있습니다. 따라서 aptitude search '~i'설치된 모든 패키지를 제공합니다

하지만 한 걸음 더 나아가 야합니다. 패키지 관리자는 사용자가 직접 요청한 패키지와 다른 패키지로 인해 가져온 패키지를 알고 싶어합니다. 그 정보가 없으면 못생긴 일이 발생할 수 있습니다. 따라서 검색 패턴을 확장하여 자동으로 설치되지 않은 패키지를 선택할 수 있습니다.aptitude search '!~M ~i'

검색 기능은 Aptitude 's reference manual에 자세히 설명되어 있습니다 .

이제 설치할 패키지 목록이 있습니다. 패키지 이름 만있는 목록을 가져 오려면 -F '% p'와 같이 -F 플래그를 해당 명령에 전달 하여 출력 형식을 지정할 수 있습니다 .


예를 들어 , 머신 1 에서이를 실행할 수 있습니다 .

aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh

그런 다음 새로 만든 복사 aptshell.sh를 통해 파일을 컴퓨터 2 과와에이 명령을 사용 기계 2 가 실행하기 :

sudo sh aptshell.sh

그런 다음 원래 머신 2 를 새 머신 1로 , 원래 머신 1 을 새 머신 2 로 사용 하여 프로세스를 반복하십시오 . 이제 각 컴퓨터에는 이전에 다른 패키지에만 있던 모든 패키지가 있습니다.


버전 1을 포함하는 것이 좋을 것입니다. 예를 들어 시스템 1은 버전을 보류했을 수 있습니다. 예를 들어 시스템 2는이를 반영해야합니다.
Rondo

예를 들어, 적성 -F "% c % p % V"-사용 불가능 열 검색 '! ~ M ~ i'| awk -F "" '{print "apt-get -y install"$ 2 "="$ 3}'> aptshell.sh
Rondo

2

이것은 오래된 질문이지만 아무도 말하지 않았으므로 dpkg와 cron으로 무언가를 할 수 있습니다. dpkg의 get-selections 및 set-selections 명령으로 영리한 작업을 수행하는 cron 작업을 설정하십시오.

dpkg --set-selections < ~/Dropbox/selections.dpkg


dpkg --get-selections > ~/Dropbox/selections.dpkg

이것은 제안 된 솔루션이 아니며, 어느 컴퓨터에서든 변경할 때마다 selections.dpkg가 업데이트되도록하는 방법을 찾아야합니다.


2

Ubuntu Software Center에는 여러 컴퓨터간에 설치된 패키지를 동기화하는 기능이 있습니다. 패키지 저장을 위해 Ubuntu One 계정을 사용합니다. File > Sync Between Computers...우분투 원 계정을 선택 하고 로그인하십시오.

Ubuntu Software Center와 패키지 동기화

현재 기능이 제한되어 있습니다 (예 : 기본 패키지 만 지원함 ppa). 설치할 패키지를 수동으로 선택해야합니다 (긍정적 인 기능이라고 볼 수 있음). 자세한 지침은 이 기사를 참조 하십시오 .


-2

Dropbox를 사용하여 패키지 설치를 동기화 할 수 없습니다.

시냅틱은 패키지 다운로드 목록을 저장할 수있는 방법이 있지만, "이번에 다운로드하려는 패키지"보다는 "설치된 모든 것"의 경우를 처리 할 수 ​​있을지 모르겠습니다.


-1 가정이 잘못 되었기 때문에이 질문에는 설치 / 제거 목록을 사용하여 현실적인 구현이 있는지 묻는 질문 설명 드롭 박스가 동기화 목록을 교환하는 데 사용되는 매체에 불과하다는 것을 구현하는 프로세스가 설명되어 있습니다.
João Pinto
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.