yum update, wie man das RPM-Paket aktualisierbar macht


7

Benötigen Sie einen Link oder ein Tutorial, wie ein RPM-Paket funktioniert yum UPDATE. Ich habe es und arbeite bereits mit yum INSTALLund yum ERASE, aber gibt es irgendwo Informationen darüber, wie das RPM-Paket bei der Verwendung funktioniert yum UPDATE(welcher Code muss hinzugefügt werden, in welchen Dateien usw.)?

Danke vielmals


2
Einige Handbücher sind für einige RPM-basierte Distributionen im Internet verfügbar. Beispiel: Fedora-Projekt: http://docs.fedoraproject.org/en-US/Fedora/14/html/Software_Management_Guide/Uso_del_comando_yum.html CentOS: http://wiki.centos.org/PackageManagement/Yum
Octávio Filipe Gonçalves

Antworten:


6

Das einzige, was Sie tun müssen, damit es funktioniert, ist sicherzustellen, dass die Versionsnummer oder Versionsnummer für dieselbe Version in der .spec-Datei höher ist als die aktuell installierte Version. Wenn es dann zu Ihrem Repo hinzugefügt wird und a ausgeführt createrepowird, nimmt yum es auf und aktualisiert es


Was passiert mit Dateien, die nach der Installation geändert werden, z. B. Konfigurationsdateien, die bei der Installation geliefert werden? werden sie überschrieben?
b0x0rz

3
hängt davon ab, wie die Spezifikationsdatei geschrieben wird, wenn sie %config(noreplace)zum Festlegen der Konfiguration in der Drehzahl verwendet wird. Sie wird bei einem Update nicht überschrieben. Die Drehzahl aus dem Update erhält eine Erweiterung des Dateinamens. Ich denke, es ist wie file.rpmnew
Mike

Ich konnte es noch nicht ausprobieren, andere Aufgaben hatten Vorrang, diese Aufgabe stieg ein wenig ab. Ich habe nicht vergessen. Allerdings werden wir normalerweise die gleiche Version haben, aber die Revision wird anders sein, so dass dies eine weitere Variable in der Mischung ist;)
b0x0rz

1
revsion ist das gleiche wie release es ist die Nummer nach dem - also wäre es package-version-release.arch.rpm
Mike

1
Ja, es ist, da es keine Installation ist
Mike

4

Die Antwort ist nicht so einfach wie das Festhalten einer Drehzahl mit einer neueren Revision im Repo.

Auf der Serverseite und auf der Clientseite sind einige Dinge zu tun.

Serverseite

  1. Kopieren Sie die Drehzahl zum Repo
  2. cd / path / to / repo (nehmen wir an / var / www / html / repo)
  3. sudo createrepo --update . Dadurch wird die Datenbank des Repos aktualisiert, um das neue RPM einzuschließen
  4. sudo chmod -R ugo+rX /var/www/html/repo/ Dadurch wird die neue Drehzahl sichtbar

Client-Seite

  1. sudo yum clean all Dadurch werden alle zwischengespeicherten Informationen zum Repo entfernt.
  2. sudo yum info rpmname Sie sollten jetzt sehen, dass die neueste RPM-Version verfügbar ist.
  3. sudo yum -y update rpmname Sie sollten aktualisiert werden.

Ich war sehr frustriert über all die Antworten (hier, dort und überall), die all diese Details beschönigten. Jeder, der ein Repo mit Updates erstellt, wird es testen. Der Test läuft folgendermaßen ab:

Serverseite, Fügen Sie dem Repository ein neues RPM hinzu, führen Sie createrepo aus, ändern Sie die Berechtigungen auf der Clientseite, und installieren Sie den RPM-Namen. Benutzer: "Cool, es hat funktioniert. Jetzt versuchen wir es und aktualisieren."

Serverseite, RPM mit neuerer Version hinzufügen, createrepo ausführen, Berechtigungen ändern Client-Seite, yum -y Upgrade-RPM-Name, "Keine Pakete für Update markiert" Benutzer, "Was zum # ?! @ Ich habe gerade alle Anweisungen befolgt, die ich auf der Web und das hat nicht funktioniert! "

Auf der Clientseite speichert yum Informationen zum Repository, einschließlich der neuesten verfügbaren Version. Wenn der Client das nächste Mal einen updateoder einen infoBefehl ausführt, kehrt yum nicht zum Internet zurück und überprüft das Repository. Yum wird die zwischengespeicherte Version des Repos verwenden.


Das ist die richtige Antwort.
LuizSignorelli

1
Teil 1, Schritt 3 sollte "sudo createrepo --update." sein, nicht "suod"
Steve Goodman

3

Wenn die RPM-Version größer als die installierte Version ist, wird sie aktualisiert.


Was passiert mit Dateien, die nach der Installation geändert werden, z. B. Konfigurationsdateien, die bei der Installation geliefert werden? werden sie überschrieben?
b0x0rz

1
Es hängt davon ab, wie die RPM geschrieben ist, aber gut verhaltene RPMs beeinträchtigen Ihre Konfiguration nicht. Die neue Konfigurationsdatei wird normalerweise als geschrieben somefile.conf.rpmnew. Wenn es eine signifikante Aktualisierung / Änderung gibt, die dazu führt, dass das Paket Ihre Konfiguration überschreibt, wird Ihre Konfiguration als gesichert somefile.conf.rpmsave.
Aaron Copley

Danke für die Info. Ich kann es aber erst morgen versuchen: P wird dich wissen lassen, wie es geht. Danke vielmals. wahrscheinlich muss ich etwas tun, damit die Konfigurationsdateien
unverändert

Gibt es hierzu Neuigkeiten?
Aaron Copley

Entschuldigung, konnte es nicht versuchen, andere Aufgaben hatten Vorrang, diese Aufgabe wurde ein wenig verbannt. Ich habe nicht vergessen. Allerdings werden wir normalerweise die gleiche Version haben, aber die Revision wird anders sein, so dass dies eine weitere Variable in der Mischung ist;)
b0x0rz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.