Jestem trochę nowicjuszem w Arch Linux i wciąż przyzwyczajam się do niektórych jego paradygmatów. Pochodzę z wielu nawyków z innej dystrybucji, która była nieco bardziej uporządkowana i pod pewnymi względami przewidywalna.
Jedną rzeczą, którą chciałbym zrobić z kilkoma systemami¹, jest umożliwienie zadania cron wykonywania automatycznych aktualizacji wszystkich pakietów systemowych. Wydaje się, że byłoby to dość łatwe, z wyjątkiem tego, że chcę też od systemu znaczących informacji zwrotnych, które mówią mi, jak sprawy potoczyły się nie tak gadatliwie, że w końcu ignoruję to, dopóki nie odkryję, że system działa.
- Pełna wydajność
pacman
jest niepotrzebna. Nie obchodzi mnie, jak długo trwało pobieranie lub czy trwa aktualizacja 46 z 53. - W przeważającej części nie dbam o sukcesy.
- Dbam o błędy. Jeśli aktualizacja się nie powiedzie, chcę o tym wiedzieć, a wszelkie konkretne komunikaty o błędach powinny zostać załatane.
Dbam o „powiadomienia” wydawane podczas instalacji. Na przykład dzisiejsza aktualizacja systemowa powiedziała:
:: coredumps are no longer sent to the journal by default. To re-enable: echo >/etc/sysctl.d/50-coredump.conf \ "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"
Lub system plików wytworzył to:
warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew
Ta ostatnia kategoria faktycznie skłoniła mnie do zadania tego pytania, ponieważ wydaje się, że są one bardzo niespójne w całym zestawie pakietów. Niektóre z nich wydają się być generowane przez
post_upgrade()
, inne przezinstall()
, itp. Czasami są zapisywane na stdout, czasem na stderr. Format wiadomości jest bardzo zróżnicowany: czasami cały blok jest w jakiś sposób poprzedzany wcięciem, innym razem jest tylko ciąg echa.
Chcę wiedzieć o rzeczach, które mogą wymagać mojej interwencji w systemie, ale nie przeszkadzają mi inaczej. Czy istnieje narzędzie, które inteligentnie zarządza tymi danymi i upraszcza administrację systemem? Czy jest jakiś sposób, aby uzyskać wynik generowany przez pakiety oddzielnie od procesu pacman instalującego je? Czy też sam jestem w stanie napisać parser, który odfiltruje łagodne elementy z dziennika instalacji?
¹ Zanim przejdziesz do końca, jakie to głupie, pamiętaj, że jestem wystarczająco inteligentny, aby nie robić tego na serwerach produkcyjnych i nie bez pełnych kopii zapasowych systemu opartych na migawkach, które ułatwiłyby odzyskiwanie w razie katastrofy.
yaourt
tagu, zarówno z twojego pytania, jak i twojego modelu koncepcyjnego: próba zrobienia tego z oficjalnymi repozytoriami będzie wystarczająco trudna, dodanie losowych pakietów z AUR do miksu sprawi, że będzie on quixotic ...checkupdates
i używanie-Syu
raz dziennie jest dość trywialnym zadaniem; Nie widzę żadnej rzeczywistej korzyści dla całej pracy, którą pociąga za sobą twoja propozycja.Odpowiedzi:
Chcę być jasne zarówno dla ciebie, jak i każdej innej osoby, która może spotkać ten wątek. To, co chcesz zrobić, nie jest możliwe. Arch nie ukrywa, że oczekuje od ciebie administrowania systemem. Część tej odpowiedzialności jest obecna w cyklu aktualizacji.
Teraz są etapy procesu aktualizacji, które można zautomatyzować w sposób odpowiedzialny, ale nigdy nie będzie to zautomatyzowane
-Syu
. Musisz tylko być przy aktualizacji.Możesz na przykład skonfigurować
cron
zadanie, które pobiera pakiety, które muszą zostać zainstalowane (ale nie instaluje ich). Poniżej znajduje się fragmentpacman
dokumentacji:Następnie możesz skonfigurować
cron
zadanie do uruchomieniasudo pacman -Syuw
. Nie jestem zbytnio zaznajomiona zcron
jej zdolnościami do planowania. Jeśli jednak jest on w stanie uruchomić zadanie tylko po spełnieniu określonego warunku (na przykład komenda zwracająca określoną wartość), wówczas uruchamianie pobierania nowych pakietów w razie potrzeby byłoby dość trywialne.Wyobrażam sobie
checkupdates | wc -l
na przykład wykonanie czeku . Jeśli zwróci dowolną liczbę powyżej zera, możesz uruchomić pobieranie. Ponownie jednak nie zastąpi to uruchomienia-Syu
i gotowości do poradzenia sobie z aktualizacją.Na ostatnią część pytania, gdzie uzyskać wyniki tego, co wydarzyło się podczas aktualizacji, szukasz
/var/log/pacman.log
. Zawiera wszystkie informacje o błędach, które mogą Cię zainteresować.Istnieje narzędzie, które ma uczynić
pacman
nieco bardziej przyjaznym dla nieznanych użytkowników. Jeśli się nie mylę, zapewnia również powiadomienie o wiadomościach, jeśli powinna istnieć aktualizacja wymagająca ręcznej interwencji.To narzędzie może na krótki czas uprościć ci życie, ale nigdy nie zastąpi rozsądnego i starannego śledzenia list mailingowych.
źródło
pacman
być możliwe. Robienie tego zyaourt
nie jest możliwe.yaourt
faktycznie wykonuje nieco lepszą robotę, niżpacman
, jak myślę, masz na myśli, że jego domyślna konfiguracja jako niewiele więcej niż pomocnik aur prawie na pewno zrujnowałby rzeczy na dłuższą metę. Jest jednak wyjątkowo konfigurowalny i można go bardzo skutecznie utrzymywać drzewa źródłowe. Zarównoyaourt
ipacman
tylko owinąćalpm
.yaourt
zawijaniepacman
i niektóre dodatkowealpm
funkcje ipacman
zawijaniealpm
. W każdym razie jednak sięyaourt
wydłużapacman
.-Syuw
jest potencjalnie dość niebezpieczny. Ma możliwość tworzenia częściowych aktualizacji, jeśli aktualizacje nie zostaną zastosowane, a oprogramowanie zostanie później zainstalowane-S
.Jest stary skrypt, który wykonuje naprawdę dobrą robotę; nazywa się to safepac .
EDYCJA: Ten skrypt jest nadal dostępny na github tutaj: https://github.com/bencahill/binfiles/blob/master/safepac
Należy pamiętać, że potrzebujesz działającej konfiguracji poczty, ponieważ ten skrypt wysyła również podsumowanie poczty (z pełnym dziennikiem?) Oraz z istotnymi częściami aktualizacji:
Skrypt jest stary, ale pomysł jest dobry i prawdopodobnie nadal działa z niewielką aktualizacją, jeśli w ogóle.
źródło
Korzystam z własnej nieuleczalności, żeby prowadzić
yaourt
crona.źródło
yaourt
przez wiele lat. To było dobre narzędzie, ale rzeczy, które zbudowano w celu „zawinięcia”, zmieniły kształt i robi kilka rzeczy całkiem źle. W tym momencie jest to tak problematyczne, że autorzy narzędzia powiedzieli, że nawet nie używają go sami. Jeśli chcesz mieć pomocnika AUR, sugeruję wypróbowanie jednego z aktywnie utrzymywanych. Zmieniłemyay
się i jestem całkiem szczęśliwy.yay
dla mnie.