yum - Überprüfen Sie, ob das Paket bereits installiert ist

7

Wenn ich dort starte, yum install <X>wo <X>bereits installiert wurde, wird der yumVorgang mit dem Rückgabestatus 1 beendet und "Fehler: Nichts zu tun" ausgegeben.

Gibt es eine Möglichkeit, zu testen, ob das Paket bereits vorhanden ist, abgesehen davon, dass in der Ausgabe nach dieser Zeichenfolge gesucht wird (was für mein Skript sehr wackelig erscheint)? Natürlich weiß yum, ob es bereits existiert oder nicht, da es diesen Fehler auslöst, aber wie kann ich auf dieses Wissen zugreifen?

Um dies hinzuzufügen, werden einige der Pakete über URLs und nicht über Paketnamen heruntergeladen, sodass die Überprüfung yum list installednicht funktioniert.

AmadeusDrZaius
quelle
1
yumweiß durch Abfragen der RPM-Datenbank. zum Beispiel
Bratchley
@Bratchley Gibt es eine Möglichkeit, diesen Namen von einer Paket-URL zu erhalten?
AmadeusDrZaius
Sie sollten in der Lage sein, rpmeine vollständige URL zu dem RPM anzugeben, an dem Sie interessiert sind. Beispiel, das Ihnen den Paketnamen gibt. Ein Hinweis wäre, dass es wgetintern verwendet wird, aber Fehler stillschweigend zu unterdrücken scheint.
Bratchley
@taliezin, das in etwa dem entspricht, rpm -qa packageNameaußer dass es so gedruckt wird, dass es wie eine yumAusgabe aussieht .
Bratchley
@Bratchley, sorry, ich habe den Link später gesehen, aber ich habe ihn gelöscht.
Taliezin

Antworten:

7

Verwenden Sie in Ihrem Skript rpm -q packagename:

if  rpm -q  vim-enhanced
then
  ...
else
  ...
fi
JJoao
quelle
Danke, das hat gut funktioniert. Ich musste manuell mit dem Paketnamen für Pakete herumspielen, die über URLs abgerufen wurden, aber ansonsten lief es reibungslos.
AmadeusDrZaius
1
Ich bin froh, dass es funktioniert hat. Manchmal können Paketnamen schwierig sein. Ich wünschte, die Paketnamen
wären
4

Du kannst es versuchen:

#yum list installed | grep tmux
tmux.x86_64                      1.9a-5.fc21        @updates                    

oder:

#yum list installed tmux
Loaded plugins: langpacks
Installed Packages
tmux.x86_64                                                               1.9a-5.fc21                                                               @updates

Ohne dass grepSie einige zusätzliche Zeilen erhalten, können beide Ausgaben jedoch je nach Bedarf durch einen Texteditor geleitet werden.

petry
quelle
Der Nachteil bei dieser Lösung ist, dass es hängen bleibt, wenn die Liste irgendwo riesig ist
mebada