One apt to rule them all

Zdarza się, że mamy więcej niż jednego czy dwa hosty do zarządzania. Zdarza się, że wykonując aktualizację na desktopie zapomnimy o innych hostach. Albo, po prostu chcemy sobie uprościć aktualizacje i nie musieć się ręcznie logować w kilka(naście, -dziesiąt) miejsc.

Jest przyjemne, konsolowe narzędzie, które ułatwi takie zadanie. Chodzi o apt-dater, czyli narzędzie do automatycznej aktualizacji wielu hostów, działające w ncurses. Działa z pochodnymi Debiana, ale również z systemami wykorzystującymi managery pakietów rug czy yum. Zasada działania jest prosta i nieco podobna do rozwiązań typu clusterssh. Na systemie docelowym dodajemy (dla pochodnych Debiana) użytkownika, który ma dodane w /etc/sudoers:

user ALL=NOPASSWD: /usr/bin/apt-get, /usr/bin/aptitude

Dodatkowo należy umożliwić temu użytkownikowi logowanie po kluczach (pamiętamy o używaniu kluczy z hasłem!) z maszyny, z której będziemy zarządzać. No i oczywiście skonfigurować hosty, którymi apt-dater będzie zarządzać. Domyślna konfiguracja znajduje się w plikach w katalogu:

$XDG_CONFIG_HOME/apt-dater/

Definiujemy tam grupy hostów, użytkowników na poszczególnych systemach, hosty (IP lub FQDN) oraz port. Przykładowa zawartość pliku hosts.conf:

[GRUPA1]
Hosts=localhost;pi@mojeraspberry:222

[GRUPA2]
Hosts=user1@serwer.www;user2@serwer.db:222;user3@serwer.poczty:222

[GRUPA3]
Hosts=user1@kolejny.serwer,user1@kolejny.serwer2

Jednym przyciśnięciem klawisza można wywołać aktualizację listy pakietów lub instalację aktualizacji w całej grupie hostów lub na pojedynczym hoście. Oczywiście jest możliwość podłączenia się do wybranego hosta i dokładnego sprawdzenia sytuacji.

Korzystanie nie jest oczywiste – trzeba się chwilę pobawić i przywyknąć. Nie podoba mi się też wykorzystanie aptitude, którego nie trawię i który AFAIK korzysta z innego algorytmu ustalania zależności, niż apt-get[1]. Wolałbym wajig albo gołego apt-get. Domyślnie wykorzystywany jest apt-get, ale można zmienić go na aptitude w pliku /etc/apt-dater-host.conf. Niemniej rozwiązanie jest ciekawe i mało znane, więc informuję i polecam wypróbowanie. A nuż komuś się spodoba. Ja używam pół na pół – czasem aktualizacje przy pomocy apt-dater, czasem po prostu aktualizuję tradycyjnym wajig daily-upgrade.

PS Dzięki K. za informację o tym programie.

[1] Z tego powodu kiedyś był zalecany przy aktualizacji wersji Debiana. Od jakiegoś czasu zalecany jest apt-get.

UPDATE: Poprawione błędy w nazwach plików, dodana informacja o wyborze programu używanego do aktualizacji.

6 odpowiedzi na “One apt to rule them all”

  1. Jako laik polegający w dużej mierze na obserwacji stwierdzam, że aptitude pobiera zależności, a apt-get nie, i dla początkujących userów aptitude nie jest taki zły. Ja korzystam z aptitude i jak dotąd nic mi się w systemie złego nie wydarzyło. Aczkolwiek nie zarządzam żadnym poważnym serwerem, a tym bardziej wieloma naraz ;o)

  2. Zdecydowanie nie masz racji. Apt-get jak najbardziej pobiera zależności (i robi to poprawnie). Aptitude oczywiście też je pobiera. Po prostu był okres, gdzie aptitude lepiej sobie radził przy dist-upgrade. Od jakiegoś czasu zalecany jest jednak apt-get.

  3. @rop Nie korzystam z Ubuntu, ale wg mojej wiedzy instalacja jest identyczna (korzystam z najnowszej wersji 0.9.0). Szczególnie porównując z przytoczonym przez Ciebie artykułem (dzięki za linka, nie znałem, choć blog mam – pewnie od niedawna – w RSS) nie widzę różnic. W Debianie też jest możliwość wyboru, czy korzystać ma z apt-get czy aptitude (domyślnie jest ten pierwszy).

    Wpis raczej miał zasygnalizować, że takie rozwiązanie w ogóle istnieje i przybliżyć podstawową konfigurację, niż być gotowym kompletnym przewodnikiem.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *