Warum nimmst du nicht einfach das Paket deines Betriebssystems und lässt selbiges alles notwendige erledigen?
Den Benutzer im "bin" Verzeichnis enden zu lassen ... na ja, wird funktionieren, ist aber keine geschickte Wahl.
Mein Eintrag für postgres sieht wir folgt aus (/etc/passwd):
a) Ist das vernünftig?Code:postgres:x:108:113:PostgreSQL administrator,,,:/usr/lib/postgresql/8.4/bin:/bin/bash
b) Habe ich DESWEGEN einige für mich unerklärliche Probleme?
c) Wie sieht das bei Euch (und problemlos funktionierendem PG) aus?
PS: Man sieht - ich bin kein Linux-Crack. Aber ich bin lernfähig![]()
Warum nimmst du nicht einfach das Paket deines Betriebssystems und lässt selbiges alles notwendige erledigen?
Den Benutzer im "bin" Verzeichnis enden zu lassen ... na ja, wird funktionieren, ist aber keine geschickte Wahl.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Wenn du es selbst kompiliert hast solltest du es unter /usr/local/.. plazieren, dann wird es auch vom Paketmanager in Ruhe gelassen.
Gruß Uwe
Have a lot of fun!
Na, Ihr seid mir noch Freunde: Kritik ja, aber nicht wie ich's am Besten einrichten soll![]()
Nein, zurück zum Ernst.
1. Wo soll ich den User "postgres" denn SONST landen lassen? In /usr/lib/... ist PG installiert (worden). Soll ich's in passwd leer lassen? Kannst du mir bitte ein Beispiel hinstellen?
2. Nein, ich hab's nicht selbst kompiliert, sondern mittels apt-get installiert. Es ist automatisch in /usr/lib/ gestrandet.
Mühsam finde ich, dass ich (nach "su postgres") für die Utilities immer diese langen Verzeichnisse eingeben muss und nicht einfach "pg_ctl" oder "initdb" eingeben kann. Kann mir vielleicht jemand sagen (Beispiel zeigen), wie ich mir das vereinfachen könnte, OHNE den in passwd von Euch kritisierten Eintrag? Wie gesagt: Ich fahre mit Debian/Linux.
Was mir verdächtig vorkommt, ist die Meldung "Could not change to root" (s. Beispiel):
Code:postgres@nas:/root$ /usr/lib/postgresql/8.4/bin/pg_ctl --help could not change directory to "/root" pg_ctl is a utility to start, stop, restart, reload configuration files, report the status of a PostgreSQL server, or signal a PostgreSQL process. Usage: ...ff...
Fall für Re: could not change directory to "/root" ?
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Super, Andreas! Mit "su - postgres" ist dieses Problem verschwunden. Und wieder habe ich was gelernt
Doch die langen Verzeichnisnamen muss ich noch immer eingeben. Und wie ich passwd am besten einrichte weiss ich auch noch immer nicht. :::-(
Um die langen Pfade wegzukriegen mußt du den Pfad zum Programm der Pfad-Variablen hinzufügen. also etwa so:
export PATH=$PATH:/pfad/zum/programm
Gruß Uwe
Have a lot of fun!
Danke Uwe.
Doch: So viel war mir auch schon klar, doch ich weiss nicht WIE und WO ich das tun soll. Es soll ja automatisch passieren, nach dem Einloggen (also nach "su - postgres").
Ich hab's jetzt mal hingebastelt, indem ich in /etc/profile, unmittelbar vor "export path" dies eingebaut habe (108 = postgres):
Das funktioniert zwar (yipee!), doch ich bin nicht so überzeugt, dass dies der richtige Ort dafür ist.Code:if [ "`id -u`" -eq 108 ]; then PATH="/usr/local/bin:/usr/bin:/bin:/usr/lib/postgresql/8.4/bin:/usr/local/games:/usr/games" fi
OK. Ich zeige hier mal, wie ich das jetzt gemacht habe. Vielleicht haben andere ja eine ähnliche Frage, dann können sie hier eine (EINE) Antwort finden:
1. In /etc/passwd eingetragen/geändert:
2. Dann ein Verzeichnis /home/postgres/ erstellt. Owner und Group = postgres. Mit rwxr-xr-x.Code:postgres:x:108:113:PostgreSQL administrator,,,:/home/postgres:/bin/bash
3. Dort drin eine Datei .profile wie folgt erstellt:
*) Meine speziellen Anpassungen für PG sind rot gekennzeichnet, das Andere ist sozusagen Standard. Die Funktion mypath kann ich nach einem "su - postgres" aufrufen: Sie zeigt mir den gegenwärtigen PATH an; schön lesbar aufbereitet. Nach einem Upgrade kann das hilfreich sein.Code:# /home/postgres/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi # rts 2011-08-05 > PATH="$PATH:/usr/lib/postgresql/8.4/bin" function mypath(){ old=$IFS IFS=: printf "%s\n" $PATH IFS=$old } # rts 2011-08-05 <
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen