여러 컴퓨터에서 효율적으로 apt를 관리하려면 어떻게해야합니까?


11

꼭두각시를 사용하여 약 30 대의 Ubuntu 서버를 관리합니다. 패키지를 최신 상태로 유지하는 방법으로 cron-apt 및 apticron에 대한 많은 참조를 보았지만 프로세스를 중앙에서 관리하는 방법을 찾을 수 없었습니다. cront-apt / apticron을 사용하면 여전히 각 호스트에 로그인 aptitude update하여 업데이트를 수행해야합니다. 코어 패키지가 업데이트 될 때마다 30 대의 컴퓨터 모두에서 검토 알림을 언급 할 필요는 없습니다.

더 좋은 방법이 있어야합니다. 어떤 제안?

답변:


3

풍경 이 당신에게 흥미로울 수 있습니다. 이것은 대규모 우분투 배포를 관리하기위한 "공식적인"관리 도구이며, Canonical은 아마도 사용 비용을 매우 높이고 싶어 할 것입니다.

재 편집 :

첫째, 면책 조항; 데비안이나 우분투에는 미러링을 사용하지 않았으므로 소프트웨어에 익숙하지 않습니다.

둘째, apt-mirror는 해결책이 "너무 무겁다"고 생각합니다. 사과합니다. 원래 아이디어는 업데이트를 배포 할 별도의 테스트 컴퓨터 (또는 테스트 환경, 아마도 가상 컴퓨터?)가 있다는 것입니다. 업데이트 성능에 만족하면 패키지를 "배포"미러로 가져 오거나 넣습니다 (공식 소스의 로컬 미러와 배포하려는 업데이트의 보조 미러가 있음). 그런 다음 원격 시스템은 사전 설정된 시간에 업데이트를 실행하고이를 "배포"미러에서 각 시스템으로 가져옵니다.

apt-get update && apt-get upgrade --quiet --assume-yes

불행히도, 세부 사항을 읽기 시작했을 때, apt-mirror당신이 따르는 패키지뿐만 아니라 모든 종류의 것들을 끌어낼 것 같습니다 . 개념에 장점이 있지만이 아이디어를 포기할 것입니다.


풍경이 재미있어 보인다. 좀 더 자세히 살펴 봐야합니다. 로컬 apt 미러를 실행하면 (현재하고 있음) 보류중인 업데이트를 승인 / 검토하는 데 어떻게 도움이되는지 잘 모르겠습니다. 당신은 그것을 명확히 할 수 있습니까?
Insyte

14

동료가 "터미널 기반 원격 패키지 업데이트 관리자"인 apt-dater를 발견하고 간략하게 살펴 보았습니다.

curses 기반 인터페이스를 사용하여 모든 호스트 또는 호스트 그룹 등의 업데이트를 관리합니다. 발생할 수있는 오류 등 전체 apt 세션의 로깅을 지원합니다.

관리 대상 머신에서 ssh 및 sudo에 의존합니다.

참조 http://www.ibh.de/apt-dater/를

그것을 직접 사용하지 않았으므로 보증 할 수는 없지만 찾고있는 것과 비슷하게 들립니다.


이것은 매우 유망한 것으로 보입니다. Insyte, 나는이 답변을 제 자신보다 추천 할 것입니다. 내가 설명한 모든 단계를 수행 할 수는 있지만, 시간을 투자하여 매우 빠른 설정을하고 인생을 살아갈 수 있을까요? @Jeff, +1은 좋은 제안입니다.
Avery Payne

4

이미 Puppet을 사용하고 있기 때문에이를 수행하는 가장 쉬운 방법은 변경 제어 / 추적을 위해 가장 좋은 방법은 꼭두각시 매니페스트에 설치하려는 패키지의 원하는 버전을 지정하는 것입니다. 보안 공지 사항 목록을 주시하고 사용하는 항목이 발견되면 Puppet을 업데이트하여 "이 새 버전의이 패키지를 설치하십시오"라고 말합니다. 매니페스트에서 개정 관리를 사용한다고 가정하면 "정책"이 ​​변경된시기를 알 수 있으며 Puppet의 보고서는 실제로 변경된시기를 정확하게 표시하므로 이후의 로그 이벤트와 쉽게 연관시킬 수 있습니다.


이것은 우리가하는 일과 거의 같습니다. 꼭두각시 패키지 유형은 모든 서버가 모든 패키지를 설치하게하므로 사용하지 않습니다. 대신 서버에 패키지 이름과 버전으로 파일을 작성한 다음 스크립트를 사용하여 파일을 실행하고 설치되어 있는지 확인한 다음 설치를 시도합니다. 두 번째 부분은 apticron 이메일이 포함 된 내 메일 폴더를 읽고 매니페스트 파일을 업데이트하고 다시 작성해야하는 모든 패키지를 가져 오는 스크립트입니다. 이 방법이 아직 얼마나 잘 작동하는지는 확실하지 않습니다.
David Pashley

2
Puppet 패키지 유형이 모든 컴퓨터에 모든 패키지를 설치하는 이유는 무엇입니까? 각 패키지의 스탠자를 관련 클래스 또는 정의 된 유형에 배치하므로 해당 시스템에만 설치됩니다. 버전 목록을 하나의 파일로 중앙 집중화하려면 큰 가상 자원 목록을 가지고 필요한 경우이를 실현하십시오.
womble

2

clusterssh (apt-get install clusterssh)를 살펴보십시오.

$ cssh 서버 1 서버 2 서버 3 ...


1
이것은 실제로 10.9.3에서 여전히 작동합니다. 그것을 사용하는 것은 재미있었습니다
Jonathan S. Fisher

1

이전에 그것에 대해 실제로 생각하지 않고 내 첫 번째 아이디어는 특히 이미 시험 경험이있는 경우 avery가 제안한 것과 비슷합니다.

기본적으로 프로덕션 시스템은 로컬 리포지토리에서 자동으로 업그레이드하도록 설정하고 테스트 환경을 실행 한 최신 버전으로 업그레이드 한 후에 만이 리포지토리를 업데이트합니다.

Apticron은 확장 성이 좋지 않고 아주 작은 환경에서 실행되도록 설계되었지만 몇 가지 좋은 점이 있습니다.

  • 목록을 보낼뿐만 아니라 패키지를 업그레이드하기위한 변경 로그도 보냅니다.
  • 변경 로그를 얻기 위해 패키지를 다운로드하므로 업그레이드 할 때 다운로드 할 때까지 기다릴 필요가 없습니다.

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