Strona 1 z 1

[Python] Sprawdzanie dostępności aktualizacji w systemie

: 24 lutego 2014, 12:06
autor: buker999
Mam taką małą zagwozdkę. Pisze programik w pythonie do kompleksowego sprawdzania systemu. Zacząłem się zastanawiać jak mogę sprawdzić czy są dostępne aktualizacje.
Jedyny pomysł jaki mam to z poziomy skryptu wykonać

Kod: Zaznacz cały

apt-get update && apt-get upgrade
A potem parsować output. Może ktoś już robił coś podobne i zna bardziej elegancki sposób.

: 24 lutego 2014, 13:26
autor: dedito
Proponuję małą modyfikację:

Kod: Zaznacz cały

apt-get update && apt-get -u upgrade

: 24 lutego 2014, 13:37
autor: LordRuthwen

: 24 lutego 2014, 13:39
autor: buker999
Już na to wpadłem flagę -u. Jeszcze dołożyłem -s żeby skrypt nie czekał na 'y'. Bo skrypt ma tylko sprawdzić. Tylko myślę jak to sparsować żeby zawsze było udane bez różnicy w jakim języku jest system. Co do apticron zaraz go sobie przeanalizuje.

: 24 lutego 2014, 14:13
autor: dedito
np.

Kod: Zaznacz cały

sudo apt-get -u upgrade | tail -n1 | awk '{print $1}'
Wtedy wynik 0 będzie oznaczać brak aktualizacji.

Musiałbyś sprawdzić czy w przypadku aktualizacji wynik też będzie w ostatniej linii.

: 24 lutego 2014, 14:29
autor: buker999
Nie mogę użyć samego -u, bo skrypt czeka na odpowiedz na pytanie czy robić upa. Oczywiście w przypadku jak są jakieś aktualizacje. Myślałem o zliczaniu wierszy. Bo przy braku aktualizacji zawsze są 4 a jak jakieś są to jest ich więcej.

: 24 lutego 2014, 15:10
autor: dedito
Jak dla mnie, temat się komplikuje zbytnio przy tym wymaganiu niezależności od języka systemu. Gdybyś się ograniczył do jednego lub kilku języków to byłoby prościej.

: 26 lutego 2014, 20:40
autor: lessmian2
Jest już do tego biblioteka w pythonie: http://apt.alioth.debian.org/python-apt ... index.html