Der GNU/Linux-Thread

Dein Thema passt in keines der anderen Freizeit-Foren? Kein Problem, schreib es einfach in diesen Bereich.
Benutzeravatar
oldfield2283
Liebt es sich mitzuteilen
Beiträge: 935
Registriert: 21 Jul 2021 07:23
Geschlecht: männlich

Re: Der GNU/Linux-Thread

Beitrag von oldfield2283 »

Don Rosa hat geschrieben: 02 Jan 2024 18:10 How to set environment variables in linux
Nunja, zumindestens war der Link mal Anlaß sowas mit der /etc/profile.d zu versuchen was im Prinzip auch klappt. Jetzt werden die Systemvariablen sauber aufgelöst und ich kann sie per Progi lesen.
Aus einem anderen Link habe ich einfach mal das dpkg build probiert ganz einfach mit einem echo hallo Script und siehe da, ich kann es bauen das Paket und beim Installieren macht es all das was ich will - Berechtigungen, Version, wieder Löschen usw, Da ich an den Pfad nicht selbst rankomme, hatte ich die glorreiche Idee mir in die /usr/local/bin einfach symbolische Links zu legen und voila, fertig ist das Projekt äh Paket.

Nur einen kleinen Schönheitsfehler. Mein /home/oldfield kann ich auf die Weise nicht bestücken - wenn ich das dpkg richtig verstanden habe, kann/muß ich vorher eine 1:1 Kopie anlegen und naja gut woher soll ich denn wissen, welcher Username dann bei der Installation verwendet wird. Ausweg wäre ein Kopier-Script während des Install-Prozesses aber dazu muß ich wohl erstmal noch forschen vielleicht die postinst-Datei oder weiß das jemand?
777
Benutzeravatar
Obelix
Keiner schreibt schneller
Beiträge: 2469
Registriert: 23 Aug 2019 17:10
Geschlecht: männlich
AB-Status: Hardcore AB
Ich bin ...: nur an Frauen interessiert.
Wohnort: München

Re: Der GNU/Linux-Thread

Beitrag von Obelix »

oldfield2283 hat geschrieben: 02 Jan 2024 14:28 Ich schreibe

Code: Alles auswählen

ABC="$HOME/Dokumente/abc"
(...)
Der Witz daran ist, wenn ich es in der Konsole mache oder in die bashrc reinschreibe, dann wird es manchmal aufgelöst
aber ich sehe es mit meinem Anwendungsprogramm nicht mehr, die Variable ABC gibt es nicht.
Schreibe ich es in die /etc/environment, kann ich es sehen aber es wird nicht aufgelöst.
Eine /etc/environment wird ziemlich früh beim Systemstart ausgeführt, d.h. noch bevor du dich mit einem User angemeldet hast. Das bedeutet, dass zu diesem Zeitpunkt die Variable $HOME noch gar nicht definiert ist und somit nicht aufgelöst werden kann. Wenn du unbedingt eine Variable mit benutzerspezifischem Inhalt brauchst, dann kannst du sie frühestens im Login-Skript des Benutzers setzen.
''Life's a happy song, when there's someone by your side to sing along.'' - The Muppets
Benutzeravatar
oldfield2283
Liebt es sich mitzuteilen
Beiträge: 935
Registriert: 21 Jul 2021 07:23
Geschlecht: männlich

Re: Der GNU/Linux-Thread

Beitrag von oldfield2283 »

Danke Obelix das löst das Rätsel. Mittlerweile habe ich mich ja in die profile.d mit eingehängt, was für mich ein guter Kompromiss ist. Mein fast fertiges dpkg schreibt da einfach ein member rein.
Den im vorigen Post genannten Schönheitsfehler kriege ich hoffentlich noch hin
777
Benutzeravatar
oldfield2283
Liebt es sich mitzuteilen
Beiträge: 935
Registriert: 21 Jul 2021 07:23
Geschlecht: männlich

Re: Der GNU/Linux-Thread

Beitrag von oldfield2283 »

Ich preise den Erfinder des dpkg und vor allem denjenigen, der bedacht hat, daß wenn das Ding als root läuft, man doch vielleicht auch mal den Initiator des Ganzen braucht und so freundlich war, den zu hinterlegen

Meine postinst Datei:

Code: Alles auswählen

cp -r /usr/local/bin/zitadell /home/$SUDO_USER/Dokumente/zitadell22
chown $SUDO_USER:$SUDO_USER /home/$SUDO_USER/Dokumente/zitadell22
Halleluja
777