config Files beim Aktualisieren vor dem Überschreiben schützen

H

holgerw

Guest
Hallo,

ich möchte gerne eine von mir modifizierte Datei /usr/local/share/config/kdm/Xsetup vor dem Überschreiben schützen, bei einer Aktualisierung von KDE4 Teilen wird diese Datei vermutlich durch eine neue ersetzt.

Gibt es unter FreeBSD eine Möglichkeit, bei pkg gezielt Dateien vor dem Überschreiben auszuklammern? Also so ähnlich, wie bei Arch in der /etc/pacman.conf
Code:
NoUpgrade = /usr/share/config/kdm/Xsetup

Viele Grüße,
Holger
 
Da stellt sich mir die Frage: Warum willst du das machen? Ich würde in diesem Fall vielleicht einfach das entsprechende Paket nicht aktualisieren.

Frage an dich: Was steht da und kann das nicht vielleicht an eine andere Stelle geschrieben werden?

Prinzipiell kam ich auch schon öfter an diese Stelle und habe mich gefragt wie man das machen sollte. Ich würde die Packages immer machen lassen, so dass man den aktuellsten Stand bekommt. Kann man da nicht vielleicht eine Datei inkludieren?
 
Hallo,

danke für Eure Hinweise. Den Tipp von Rob kann ich ja mal testen, mal schauen, ob pkg das anmeckert :)
Frage an dich: Was steht da und kann das nicht vielleicht an eine andere Stelle geschrieben werden?
In der /usr/local/share/config/kdm/Xsetup steht der Eintrag
Code:
setxkbmap de
, sonst ist das Tastaturlayout beim KDM auf Englisch, vgl. auch: ttps://www.bsdforen.de/threads/freebsd-auf-dem-desktop-von-einem-einsteiger-f%C3%BCr-einsteiger-innen.32670/page-4#post-283723
Hättest Du da eine andere elegantere Idee?

Man kann natürlich auch die modifizierte Datei zusätzlich woanders hin kopieren, mit einem Skript beim Reboot beide Checksums überprüfen lassen und ggf. die manuell angepasste Datei wieder auf die Standarddatei des aktuellen Paketes drüberkopieren.

Dass ich holds auf Pakete setzen kann, weiß ich ja, aber ich möchte die gar nicht setzen, sondern es geht hier nur um eine Datei.

Viele Grüße,
Holger
 
Ja:

Code:
Section "InputClass"
    Identifier      "Keyboard defaults"
    Driver          "keyboard"
    MatchIsKeyboard "on"
    Option          "XkbLayout" "de"
    Option          "XkbVariant" "nodeadkeys"
EndSection

In die "/usr/local/etc/X11/xorg.conf.d/input.conf
 
Generell könnte es auch eine gute Idee sein, deine Konfigurationsverzeichnisse (/etc /usr/local/...) mit einer Versionsverwaltung auszustatten.

Hat den Vorteil du kannst zurückrollen wohin du willst und kannst auch sonst die Vorteile nutzen. Nimm zum Beispiel GIT.

Gruß
Markus
 
die meisten Konfigurationsdateien werden ja nicht so einfach überschrieben. Dort, wo man Änderungen am "System" vornimmt, ist das eine andere Sache. Um da mit einem Beispiel zu kommen: fbpanel kennt unter FreeBSD offenbar nur einen Ort, wo nur die eine Datei logo.png ausgewertet wird umd das "Start-Logo" darzustellen. In GNU/Linux nahm die Konfiguration von fbpanel auch komplette Pfade an, so dass mein eigenes logo irgendwo an einem geschützten Ort liegen konnte. Bei FreeBSD funktioniert das nicht und ich habe deshalb das fbpanel-logo durch mein eigenes ersetzt. Dies wird nun bei jedem reinstall oder update immer wieder überschrieben und es gibt kaum eine andere Möglichkeit, als das immer wieder zurück zu kopieren. Die eigentliche Konfiguration wird aber nie überschrieben oder zurück gesetzt.
Oder die xorg.conf wäre ein anderes Beispiel. Nur, weil ein neuer Xserver kommt, wird nicht automatisch die Konfiguration überschrieben.

Dass man den setxkbmap de überhaupt braucht und dann auch noch an dieser Stelle, ist für mich durchaus merkwürdig. Ich kann mich nicht erinnern, dass ich jemals einen solchen Aufruf gebraucht hätte und arbeite ja schon lange immer mit DE und bis vor einigen Monaten auch mit KDM.
 
Moin !

Das Tastaturproblem besteht ! Nicht nur bei
FreeBSD , auch bei diversen Linuxen !
Den meisten fällt es wahrscheinlich nicht
auf , weil Sie kein z oder y in Ihren Usernamen bzw. Passwörtern haben ?

Aber das ist nicht nur bei kdm so , auch
Slim , GDM , lightdm usw. kommt es häufiger vor !

Gruss
 
Ja:
Code:
Section "InputClass"
    Identifier      "Keyboard defaults"
    Driver          "keyboard"
    MatchIsKeyboard "on"
    Option          "XkbLayout" "de"
    Option          "XkbVariant" "nodeadkeys"
EndSection
In die "/usr/local/etc/X11/xorg.conf.d/input.conf
Hallo @lme,

danke, das funktioniert auch, die Arch-Lösung ist ein anderer Weg und hier offenbar etwas ungünstiger wegen Überschreibungsgefahr bei Aktualisierungen von KDE4.

Viele Grüße,
Holger
 
Hi !

@pit234a

statt meterlange Ergüsse über lang bekannte Dinge beizubringen , selbst
mal testen !

Bringe doch mal SLIM die deutsche Tastatur bei !


Die von Ime gebrachte Lösung ist die erste die wirklich brauchbar zu sein
scheint !

Das ganze gefrickel in der xorg.conf scheint wenige DE`s oder Apps zu
interessieren !

Gruss
 
Hi !

@pit234a

statt meterlange Ergüsse über lang bekannte Dinge beizubringen , selbst
mal testen !

Bringe doch mal SLIM die deutsche Tastatur bei !


Die von Ime gebrachte Lösung ist die erste die wirklich brauchbar zu sein
scheint !

Das ganze gefrickel in der xorg.conf scheint wenige DE`s oder Apps zu
interessieren !

Gruss
kurz kann ich nicht. sorry.
Aber, IME hatte seinen Beitrag veröffentlicht, ohne dass ich das mitbekommen hatte.
Dass eine Konfiguration in der xorg.conf wichtig ist, hatte ich meiner Ansicht nach ebenfalls schon erklärt (evtl in einem anderen Thread). Ich teste nicht für andere Leute alles aus, was denen gefällt. SLIM brauche ich nicht, XDM geht bei mir und KDM ging bei mir auch und ich hatte immer eine xorg.conf genutzt und dort das keyboard gesetzt. Die Lösung, die zuvor diskutiert wurde mit setxkbmap de macht nichts anderes, als die Konfiguration auch. Es ist nur ein adhoc-Kommando und keine Konfiguration.
Die Lösung von IME ist eine xorg-Konfiguration und sie ist gleichwertig und gleichbedeutend mit einem Eintrag in der xorg.conf. Beide stellen das Tastatur-Layout für den X-Server ein. Andere Anwendungen interessieren sich nicht dafür, sie nutzen das, was der X-Server macht.
Und das wird konfiguriert und steht auch so, wie IME das gezeigt hat, im Handbuch.
Zum Vergleich kopiere ich mal einen Auszug aus meiner xorg.conf, den ich bei entsprechenden Diskussionen aber schon häufig vorgeführt hatte:
Code:
Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "de"
    Option         "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
entscheidend ist "XkbLayout" "de" und was ich da stehen habe, ist eben, was ich möchte und IME hat andere Vorstellungen. Ich nutze deadkeys und "Windows-Tasten" und ich möchte den X-Server mit dem altbekannten Befehl beenden können, worauf IME scheinbar keinen Wert legt.

Wenn ich nicht gründlich daneben liege, muss der entsprechende Eintrag in der xorg.conf genau das gleiche bewirken, wie in der separaten Sektions-Konfiguration, die FreeBSD ja heute laut Handbuch empfiehlt.
Weshalb ich immer noch lieber eine xorg.conf benutze, habe ich auch irgendwo beschrieben.
Beide Möglichkeiten sind gleich im Funktionsumfang und der Art der Konfiguration und da ist nicht das eine mehr Gefrickel als das Andere, sogar die Syntax ist gleich.
 
@pit234a

pibbe di pabbe di bub

Versuche mal mit deiner xorg.conf , SLIM die deutsche Tastatur beizubringen !


Poste dein ergebnis ...

und nicht nur bibe di babe di bub !

Gruss
 
Hallo @pit234a,

kurz kann ich nicht. sorry.
um keine Missverständnisse aufkommen zu lassen: Als jemand, der sich schon lange mit systematischer Philosophie befasst und große Affinität zu Hegels Philosophie hat, habe ich keine Schwierigkeiten mit sogenannten Kontextualisten, die auch bei speziellen Fragestellungen oftmals größere Zusammenhänge ausbreiten, das ist zwar manchmal etwas mühsam für Beteiligte, ich habe aber schon so manches interessante Detail von Dir erfahren, was mir dann an anderer Stelle geholfen hat.
Aber meines Erachtens gehört auch dazu, zu schauen, ob bestimmte Dinge, die bezogen auf eigene Anforderungen klappen, eventuell bei Leuten mit anderen Anforderungen nicht funktionieren.
XDM geht bei mir und KDM ging bei mir auch und ich hatte immer eine xorg.conf genutzt und dort das keyboard gesetzt.
Da ist schon die Frage spannend: Heißt das "Ging bei mir", dass Du deutsches Tastaturlayout in KDM hattest, oder aber - wie es bei mir auch war - dass Du das amerikanische Tastaturlayout gar nicht bemerkt hast, weil Du beim Nutzernamen und Passwort bestimmte Buchstaben und Zeichen wie z, y oder - nicht verwendet hast?
Dass eine Konfiguration in der xorg.conf wichtig ist, hatte ich meiner Ansicht nach ebenfalls schon erklärt (evtl in einem anderen Thread). Ich teste nicht für andere Leute alles aus, was denen gefällt.
Das ist ja auch okay, aber vielleicht gefällt anderen Leuten ja etwas, was dann mit Deinem Ansatz nicht funktioniert :)
Zum Vergleich kopiere ich mal einen Auszug aus meiner xorg.conf, den ich bei entsprechenden Diskussionen aber schon häufig vorgeführt hatte: ....
entscheidend ist "XkbLayout" "de" und was ich da stehen habe, ist eben, was ich möchte und IME hat andere Vorstellungen.
Nein, entscheidend ist auch ein klitzekleiner Unterschied, den Du vielleicht übersehen hast. Bei @lme heißt es nämlich InputClass", bei Dir "InputDevice". Und da ich schon aus Neugier auch gerne Dinge teste, die andere Leute bei ihren System-Konfigurationen verwenden, habe ich Deinen Code einfach mal an Stelle von @lme's Vorschlag in die /usr/local/etc/X11/xorg.con.d/input.conf gepackt. Und da habe ich wieder amerikanisches Tastaturlayout in KDM.

Beide Möglichkeiten sind gleich im Funktionsumfang und der Art der Konfiguration und da ist nicht das eine mehr Gefrickel als das Andere, sogar die Syntax ist gleich.
Nein, das ist sie offenbar nicht. Und nun bitte ich Dich noch um folgendes: Poste doch mal Deine komplette xorg.conf, ich würde sie gerne anstelle der seperaten input.conf zum Testen verwenden, vielleicht funktioniert es ja mit dem "InputDevice", wenn man keine seperate config für die Tastatur verwendet, sondern eine komplette xorg.conf. Was die Sektion zum Grafiktreiber angeht, passe ich die natürlich bei Bedarf an meinen Treiber an.

Viele Grüße,
Holger
 
Danke, aber bitte bleibt sachlich und beim Thema. Mancher holt weiter aus und mancher kann viel Gehalt gut komprimieren. Bitte habt Verständnis für andersartige Äußerungsmodi auch wenn es hin und wieder anstrengend sein kann mit einem selbst fremden Modis konfrontiert zu sein. Wie sagt mancher immer so schön. Wem's nicht passt, der kann es ja ignorieren.
 
Heißt das "Ging bei mir"
mit Deutscher Tastatur.
Ich benutze immer auch Passworte mit xyz, so dass ich ein "nicht funktionieren" sofort bemerken kann. Es kam allzu-oft vor, dass ich über solche Kleinigkeiten gestolpert bin, besonders, als ich das Einloggen an entfernten Rechnern über XDMCP noch gerne nutzte. Ein falsch eingestellter X-Server, der nicht bemerkt wird, weil das DE (damals KDE) eine eigene Tastatureinstellung mit sich bringt, die unabhängig vom X-Server läuft.

ein klitzekleiner Unterschied, den Du vielleicht übersehen hast. Bei @lme heißt es nämlich InputClass", bei Dir "InputDevice".
Stimmt, habe ich übersehen. Nicht übersehen hatte ich die Zeile mit MatchIsKeyboard "on" und die kann ich mir auch nicht erklären.

Deinen Code einfach mal an Stelle von @lme's Vorschlag in die /usr/local/etc/X11/xorg.con.d/input.conf gepackt. Und da habe ich wieder amerikanisches Tastaturlayout in KDM.
Das hat bei mir auch nie funktioniert. Da scheine ich die neue Methode der Konfiguration falsch zu verstehen und nicht umsetzen zu können. Das ist ein Grund, weshalb ich mich schnell entschied, bei der alten xorg-conf zu bleiben.

Poste doch mal Deine komplette xorg.conf
das tue ich gerne, will aber zuvor noch anmerken, dass ich den Part der Tastatur identisch auch bei Ubuntu verwendet hatte, auf einem vollkommen anderen Rechner mit deshalb sehr unterschiedlicher xorg.conf. Bei Ubuntu hatte ich zunächst auch massive Probleme mit der Tastatureinstellung, angefangen beim LightDM bis hin in die Anwendungen (IBUS Problem). Ubuntu setzt im LightDM und vielen DesktopEnvironments per Default einen Schnell-Umschalter für die Tastatur ein. Weil ich nicht schnell mal eben so an einem Rechner plötzlich eine Tastatur mit neuem Layout anstecke, schon gar nicht an einem Laptop, halte ich diese Umschalter für Unsinn und entferne sie, wo ich nur kann. Danach wurden die Probleme mit US-Layout präsent.
Zurück zur xorg.conf. Du hast bestimmt gelesen dass du eine Default xorg.conf mit X -configure erstellen kannst. Nvidia, was ich nun benutze, hat auch ein eigenes Tool. Solch eine Default benutze ich immer und passe die nur leicht nach meinen Wünschen an und das empfehle ich dir auch für deinen Test. Deshalb steht bei mir auch meist mehr drin, als ich tatsächlich brauche. Selten lösche ich überflüssige Dinge raus, um die Datei übersichtlicher zu halten. Man braucht sie ja höchst selten mal zu editieren.
Wenn du für deinen Test nicht eine solche Deafult erstellen möchtest (was ich aber wirklich sehr empfehlen möchte), sieh dir bitte meine Datei sehr genau an. Ich habe eine Dual-Head-Konfiguration, die vielleicht nicht auf dein Szenario passt.
Code:
cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 310.14  (root@84amd64-default-job-15)  Sun Mar  1 03:12:33 UTC 2015

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection


Section "ServerFlags"
    Option         "AutoAddDevices" "False"
    Option         "AllowEmptyInput" "Off"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "de"
    Option         "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/sysmouse"
    Option         "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Monitor Vendor"
    ModelName      "Monitor Model"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Monitor Vendor"
    ModelName      "Monitor Model"
EndSection

Section "Device"
    Identifier     "Card0"
    Driver         "nvidia"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"

        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
    Identifier     "Card1"
    Driver         "nvidia"
    BusID          "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    SubSection     "Display"
        Viewport    0 0
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Card1"
    Monitor        "Monitor1"
    SubSection     "Display"
        Viewport    0 0
        Depth       24
    EndSubSection
EndSection
 
Stimmt, habe ich übersehen. Nicht übersehen hatte ich die Zeile mit MatchIsKeyboard "on" und die kann ich mir auch nicht erklären.
  • MatchIsPointer, MatchIsKeyboard, MatchIsTouchpad, MatchIsTouchscreen, MatchIsJoystick — Boolean options to specify a type of a device.
[Quelle: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-x-server-config-xorg.conf.html ]

Sprich damit sagst du, dass es sich hier um ein Keyboard handelt. Diese Konfigdateien kannst du ja für Verschiedene Input-Klassen erzeugen.
 
Zurück
Oben