Niedawno napotkałem błąd w skrypcie, w którym próbowałem wykonać następujące czynności:
yum -y install another_package.x86_64 some_package.x86_64 && run_my_script
Skrypt działał dobrze na nowszym CentOS, ale kiedy próbowałem go uruchomić na Cent OS 5, some_package.x86_64
nie był dostępny. Ale zamiast błędu i zatrzymania yum
właśnie wydrukowałem wiadomość:
No package some_package.x86_64 available.
Jak mogę wymusić yum
błąd w takich sytuacjach (który IMO powinien być domyślny), aby moje skrypty były bardziej niezawodne?
yum
szczęśliwie powraca0
w tym przypadku. Mój skrypt już sprawdza wartość zwracaną przed kontynuowaniem. Zauważ&&
?Odpowiedzi:
Jak już zauważyłeś, zachowanie to zmieniło się między RHEL 5 i 6 (zobacz https://bugzilla.redhat.com/show_bug.cgi?id=736694, aby uzyskać dyskusję). Z tego linku sprawdzenie kodu powrotu
yum info <pkg>
powinno pozwolić na przerwanie skryptu zgodnie z wymaganiami. Coś jak:źródło
W Bug 1274211 zostało to naprawione w wersji yum-3.4.3-133.el7. Musisz jednak włączyć tryb ścisły.
Najłatwiejszym sposobem na zrobienie tego do celów skryptowych jest użycie przełącznika wiersza poleceń:
Możesz jednak ustawić go jako opcję konfiguracji w
yum.conf
:źródło