Thema geschlossen
Ergebnis 1 bis 5 von 5

Thema: (Gelöst) conf file nach online update ersetzt?

  1. #1
    Newbie
    Registriert seit
    07.05.2010
    Beiträge
    3

    Standard (Gelöst) conf file nach online update ersetzt?

    Hallo,

    bin neu hier und absoluter newbie was das bauen von RPMs betrifft.
    Möglich bin ich auch hier falsch gelandet. Also bitte nicht verhauen

    Da ich mich in deployment und RPM-Bau einarbeiten soll, habe ich mit einen kleinen Paket den cntlm
    angefangen. HIer ging es um die cntlm.conf so zu bearbeiten, dass diese später nach der Verteilung und install nicht mehr von den Admin oder user angepasst werden muss.

    Zuerst besorgte ich mir das src.rpm bei SuSE repo, (cntlm-0.35.1-2.2.src.rpm) dann etpacken/installieren etc.
    Code:
    # rpm -i cntlm-0.35.1-2.2.src.rpm
    
    in etwa wie im HowTo von Rain_Maker hier. Dann die unter /usr/src/packages/SOURCES/cntlm-0.35.1/doc/cntlm.conf bearbeitet, ein diff um patch file zu erstellen durchgefürt und das spec file bearbeitet. Dabei ersetzte ich im spec file
    Code:
    Patch: %{name}-0.35.1-config.patch
    
    durch -meinconfig.patch
    Der build verlief erfolgreich und ich erhielt ein neues RPM, das auch nach der installation funktionierte.
    Allerdings nach einem online Update wurde die cntlm.conf durch das Standard ersetzt.
    Was habe ich da falsch gemacht? Bin ein wenig

    LG und vielen Dank im Voraus
    Gregor

  2. #2
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,458

    Standard AW: conf file nach online update ersetzt?

    Befrage mal die Suchmaschine Deines geringsten Mißtrauens nach "RPM Macros", besonders nach dem Macro "%config".


    //Edit:

    http://www.linux-club.de/viewtopic.php?f=62&t=109425

    => Bitte Querverweise setzen oder ich werde hier schliessen (siehe Forenregeln).

    Außerdem haben die Leser des Linux-Club auch ein Recht darauf hier eventuell gefundene/erarbeitete Lösungen/Ansätze zu erfahren.
    Geändert von Rain_Maker (07.05.2010 um 21:57 Uhr)
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.2.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

  3. #3
    Newbie
    Registriert seit
    07.05.2010
    Beiträge
    3

    Standard AW: conf file nach online update ersetzt?

    ps: SORRY Klar... Asche auf mein Haupt!

    Meinst Du etwa dieses:
    <snip>
    %files
    %config(noreplace) %{_sysconfdir}/%{name}.conf
    <snapp>

    Bedeutet das, dass nach der Installation meines Paketes das conf file durch ein Update nicht angefasst wird?
    Oder, dass wenn mein Paket zum Update benutzt wird, die bereits bestehende conf files nicht überschreibt?

    Gruß

  4. #4
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,458

    Standard AW: conf file nach online update ersetzt?

    Nein, ganz so einfach ist es dann doch wohl nicht.

    Dieses "noreplace" bedeutet AFAIK so viel wie "Ersetze die Datei nicht, wenn sie _nachträglich_ (vom Benutzer) verändert wurde".

    (Würde auch gut zu dem Verhalten passen, welches ich bei ein paar entsprechenden Paketen beobachten konnte.)

    Dies ist natürlich so nicht der Fall, denn durch den Patch wird sie vor der Installation schon verändert, RPM erkennt beim Update "Datei wurde seit Installation nicht verändert" und überschreibt sie _richtigerweise_, denn sonst wäre "noreplace" eine sehr gefährliche Option, die es einem unmöglich machen würde Fehler in Konfigurationsdateien zu beheben, das wäre also ziemlich dumm.

    Soviel ich weiß, überprüft RPM Checksummen der installierten Dateien und entscheidet so, ob eine Datei verändert wurde oder nicht, ein einfaches "touch" in %post würde also nicht reichen.

    Trotzdem könnte man damit etwas basteln, z.B. daß man in %post eine weitere Zeile mit einem Kommentar an besagte Datei anfügt, danach sollte RPM diese Datei als "vom Nutzer verändert" anerkennen und nicht mehr anfassen.

    Das impliziert natürlich auch, daß Ihr Euch dann im weiteren Verlauf trotzdem immer noch selbst um die vom Distributor bereitgestellten Updates kümmern müsst und diese zumindest bei jedem Update überprüfen solltet, ob sich etwas an der dort mitgelieferten Konfigurationsdatei verändert hat, so etwas wie "install and forget" ist nicht.

    Greetz,

    RM
    Geändert von Rain_Maker (10.05.2010 um 12:30 Uhr) Grund: Typos + Ergänzungen
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.2.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

  5. #5
    Newbie
    Registriert seit
    07.05.2010
    Beiträge
    3

    Standard AW: conf file nach online update ersetzt?

    Vielen Dank für Deine Antwort.

    Ich probierte Dein Vorschlag aus und hängte ein # an das .conf file an.
    Also in %post den Ausgabekanal (stdout) in die Datei umlenken.... Das war's

    So wie ich das jetzt verstehe, bleibt das Programm von Updates nicht ganz verschont.
    (gut so) Wenn dann in dem Update RPM in %files das %config(noreplace) vorhanden ist
    und in Repos etwas "neueres" als das installierte sein sollte, so würde der Beschreibung nach hier das conf file
    in .rpmnew gespeichert und das Original .conf unverändert bleiben?

    Ich habe ein Update danach durchgeführt. Ohne Veränderung. D.h. conf file blieb wie gewollt unverändert,
    aber das .rpmnew wurde auch nicht erstellt.

    Wie auch immer, Dein Vorschlag war genau die Lösung *freu*

    LG
    Gregor

Thema geschlossen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 02.07.2009, 17:39
  2. Update php4.2 auf php5 -httpd.conf-
    Von MrGTI im Forum Webserver
    Antworten: 2
    Letzter Beitrag: 23.11.2006, 15:46
  3. Antworten: 11
    Letzter Beitrag: 17.11.2006, 21:32
  4. (Gelöst) Problem beim Online-Update mit Yast
    Von Kernelman im Forum SuSE System installieren
    Antworten: 14
    Letzter Beitrag: 04.08.2006, 23:24
  5. (Gelöst) VHCS 2.4.7.1 Can not open the vhcs2.conf config file
    Von Thommy im Forum Serverdienste-Probleme
    Antworten: 11
    Letzter Beitrag: 28.02.2006, 20:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87