Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[help] modificare il path di root e di user
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Sat Oct 28, 2006 12:01 pm    Post subject: [help] modificare il path di root e di user Reply with quote

salve sono nuovo del forum e ho appena istallato gentoo 2006.1. Qualche problemino qua e la, ma devo dire che molti la paventavano + del dovuto. Non sono esperto, ma molte cose funzionano o sono riuscito a farle funzionare.
Ma veniamo al topic: ho bisogno di modificare il PATH in modo che la modifica si rifletta sia su root che sugli altri utenti. Ho letto sulla guida il discorso sulla dir /etc/env.d ma non ho capito quale sarebbe il file che contiene il PATH di base. Per capirci mi serve di aggiungere il . (dir corrente) nel path in modo da far partire gli script sh che creo senza bisogno del ./ .
Help me plz
tnx
_________________
emh... scusa... ma tu ce lo hai google su quel computer???
Back to top
View user's profile Send private message
MeMyselfAndI
l33t
l33t


Joined: 15 Nov 2005
Posts: 784
Location: Between the monitor and the chair

PostPosted: Sat Oct 28, 2006 12:14 pm    Post subject: Reply with quote

credo che basti aggiungere un file e settare la varibile path con le aggiunte che vuoi fare; ci pensera' poi env-update a fare il merge di tutte le variabili che trova li dentro.
Back to top
View user's profile Send private message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Sat Oct 28, 2006 12:35 pm    Post subject: Reply with quote

gia' fatto, funziona per gli utenti ma non per root...
_________________
emh... scusa... ma tu ce lo hai google su quel computer???
Back to top
View user's profile Send private message
Luca89
Advocate
Advocate


Joined: 27 Apr 2005
Posts: 2107
Location: Agrigento (Italy)

PostPosted: Sat Oct 28, 2006 12:41 pm    Post subject: Reply with quote

sanzo77 wrote:
gia' fatto, funziona per gli utenti ma non per root...


per root usa la variabile ROOTPATH (all'interno dei file in /etc/env.d).
_________________
Running Fast!
Back to top
View user's profile Send private message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Sat Oct 28, 2006 12:44 pm    Post subject: Reply with quote

oook grazie mille, lo faccio subito tnx :D

:? :? niente da fare... root non ne vuole sapere...

ma forse ho sbagliato io :
io ho creato un file /etc/env.d/99mine con all'interno:
Code:

PATH="."
ROOTPATH="."


ora se faccio export $ROOTPATH ottengo tutto sto popo' di roba:
Code:

declare -x ANT_HOME="/usr/share/ant-core"
declare -x CLASSPATH="."
declare -x COLORTERM="gnome-terminal"
declare -x CONFIG_PROTECT="/usr/share/X11/xkb /usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config"
declare -x CONFIG_PROTECT_MASK="/etc/java-config/vms/ /etc/env.d/java/ /etc/gconf /etc/terminfo"
declare -x CVS_RSH="ssh"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-8lpcIzGIjs,guid=6b534345509a02c36c504871e9460900"
declare -x DESKTOP_SESSION="gnome"
declare -x DESKTOP_STARTUP_ID=""
declare -x DISPLAY=":0.0"
declare -x EDITOR="/bin/nano"
declare -x GDK_USE_XFT="1"
declare -x GDMSESSION="gnome"
declare -x GDM_XSERVER_LOCATION="local"
declare -x GENERATION="2"
declare -x GNOME_DESKTOP_SESSION_ID="Default"
declare -x GNOME_KEYRING_SOCKET="/tmp/keyring-0jf4jR/socket"
declare -x GTK_RC_FILES="/etc/gtk/gtkrc:/home/sanzo/.gtkrc-1.2-gnome2"
declare -x G_BROKEN_FILENAMES="1"
declare -x G_FILENAME_ENCODING="UTF-8"
declare -x HOME="/root"
declare -x INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info:/usr/share/gcc-data/i686-pc-linux-gnu
/4.1.1/info:/usr/share/info/emacs-21"
declare -x JAVAC="/home/sanzo/.gentoo/java-config-2/current-user-vm/bin/javac"
declare -x JAVA_HOME="/home/sanzo/.gentoo/java-config-2/current-user-vm"
declare -x JDK_HOME="/home/sanzo/.gentoo/java-config-2/current-user-vm"
declare -x KDEDIRS="/usr"
declare -x LESS="-R -M --shift 5"
declare -x LESSOPEN="|lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;
33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:
ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:
*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:
*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;
35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;
35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;
35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;
35:*.xcf=01;35:*.xwd=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;
32:*.doc=00;32:*.flac=01;35:*.mp3=01;35:*.mpc=00;36:*.ogg=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.flac=00;36:*.aac=00;36:"
declare -x MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/man:/
usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man:/opt/blackdown-jdk-1.4.2.03/man:/etc/java-config/system-vm/man/:/usr/qt/3/doc/man"
declare -x OLDPWD
declare -x OPENGL_PROFILE="xorg-x11"
declare -x PAGER="/usr/bin/less"
declare -x PATH="/sbin:/bin:/usr/sbin:/usr/bin"
declare -x PRELINK_PATH_MASK="/usr/lib/gstreamer-0.10"
declare -x PWD="/home/sanzo"
declare -x PYTHONPATH="/usr/lib/portage/pym"
declare -x QMAKESPEC="linux-g++"
declare -x QTDIR="/usr/qt/3"
declare -x SESSION_MANAGER="local/gentoomith:/tmp/.ICE-unix/10430"
declare -x SHELL="/bin/bash"
declare -x SHLVL="2"
declare -x SSH_AGENT_PID="10450"
declare -x SSH_AUTH_SOCK="/tmp/ssh-fozNM10430/agent.10430"
declare -x TERM="xterm"
declare -x USER="root"
declare -x USERNAME="sanzo"
declare -x VMHANDLE="blackdown-jdk-1.4.2"
declare -x WINDOWID="35651665"
declare -x XAUTHORITY="/root/.xauth8NUnpC"


mentre se invece faccio export $PATH da root ottengo :
Code:

bash: export: `/sbin:/bin:/usr/sbin:/usr/bin': not a valid identifier


se lo faccio da user :
Code:


bash: export: `/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/opt/blackdown-jdk-1.4.2.03/bin:
/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/bin:/usr/qt/3/bin:.': not a valid identifier


non riesco a capire a questo punto se forse la variabile ROOTPATH dovrei dichiararla in un altro modo...
_________________
emh... scusa... ma tu ce lo hai google su quel computer???


Last edited by sanzo77 on Sat Oct 28, 2006 3:33 pm; edited 1 time in total
Back to top
View user's profile Send private message
bender86
Guru
Guru


Joined: 18 Mar 2005
Posts: 484

PostPosted: Sat Oct 28, 2006 2:31 pm    Post subject: Reply with quote

sanzo77 wrote:
oook grazie mille, lo faccio subito tnx :D

:? :? niente da fare... root non ne vuole sapere...

ma forse ho sbagliato io :
io ho creato un file /etc/env.d/99mine con all'interno:
Code:

PATH="."
ROOTPATH="."

Forse dovresti mettere
Code:

PATH="${PATH}:."
ROOTPATH="${ROOTPATH}:."
Back to top
View user's profile Send private message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Sat Oct 28, 2006 2:37 pm    Post subject: Reply with quote

umh in teoria no... da quel che ho capito quando si fa env-update si fa un merge di tutti quanti, non c'e' bisogno di concatenare con $PATH
_________________
emh... scusa... ma tu ce lo hai google su quel computer???
Back to top
View user's profile Send private message
syntaxerrormmm
Guru
Guru


Joined: 17 Apr 2005
Posts: 449
Location: Romano di Lombardia - BG - ITALY

PostPosted: Sat Oct 28, 2006 2:39 pm    Post subject: Reply with quote

Scusate, io sarò anche ignorante, ma modificare la path presente in /etc/profile per root e in .bash_profile per gli utenti no?
_________________
"Every rule can be broken, but no rule may be ignored."

Last.fm - Gentoo 2006.1 on:
Acer Aspire 1355LC - suspend2-sources-2.6.18-r3
IBM Thinkpad T30 - suspend2-sources-2.6.19-r3
Back to top
View user's profile Send private message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Sat Oct 28, 2006 2:48 pm    Post subject: Reply with quote

syntaxerrormmm wrote:
Scusate, io sarò anche ignorante, ma modificare la path presente in /etc/profile per root e in .bash_profile per gli utenti no?


ho provato, ho inserito il . in entrambi i rami dell'if (dove testa se l'utente è root o meno), ma niente per root non funziona. A tale proposito non riesco neanche a capire x quale motivo non veda gli alias che sono definiti in fondo a /etc/profile... umh c'è qualcosa di strano
_________________
emh... scusa... ma tu ce lo hai google su quel computer???
Back to top
View user's profile Send private message
Luca89
Advocate
Advocate


Joined: 27 Apr 2005
Posts: 2107
Location: Agrigento (Italy)

PostPosted: Sat Oct 28, 2006 2:57 pm    Post subject: Reply with quote

Per prima cosa sconsiglio di modificare /etc/profile, per aggiungere variabili esiste già la directory /etc/env.d e per aggiungere altre cose (tipo alias) esiste già /etc/profile.d. Detto questo, nei file in /etc/env.d non bisogna preoccuparsi di unire le variabili, per esempio io uso:

Code:
[ ~ ] # cat /etc/env.d/99my
PATH=/home/luca/dev/bin
ROOTPATH=/home/luca/dev/bin
[ ~ ] #


non:

Code:
[ ~ ] # cat /etc/env.d/99my
PATH="${PATH}:/home/luca/dev/bin"
ROOTPATH="${PATH}:/home/luca/dev/bin"
[ ~ ] #


A fare il merge delle variabili ci pensa lo script "env-update", quindi dopo aver fatto una modifica a tali file (etc/env.d) è necessario eseguire:

Code:
# env-update && source /etc/profile


In modo che tutti i cambiamenti vengano applicati alla shell in uso, inoltre segnalo che dipende come viene chiamata la shell, a volte non viene caricato il file /etc/profile, quindi può capitare che non trovate gli alias o le altre cose per questo motivo.

P.S: sanzo77: potresti modificare il tuo post con i vari "declare", ha linee troppo lunghe che rovinano l'impaginazione della pagina, prova a spezzarle.
_________________
Running Fast!
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Sat Oct 28, 2006 3:01 pm    Post subject: Reply with quote

@sanzo77:
fai il sacrosanto favore a tutti di editare il tuo post e inserire qualche rimando a capo.
non credo che la gente abbia tanta voglia di stare a scorrere orizzontalmente tutto il forum per leggere i tuoi messaggi

basterebbe un po' du buon senso, delle volte...
Back to top
View user's profile Send private message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Sat Oct 28, 2006 3:32 pm    Post subject: Reply with quote

avete ragione edito subito. --> FATTO


@Luca89

grazie mille, una volta fatto env-update && source etc etc e' andato tutto a posto. tnx

edito ancora per aggiungere un nuovo problemino:
ho fatto env-update && source /etc/profile e tutto funziona, pure gli alias (il profile e' rimasto quello di default eh). Ora pero' ogni volta che apro una shell sono nella condizione di prima e se non rido' env-update && source /etc/profile non si risolve. ora provo a riavviare, ma in teoria env-update dovrebbe rendere persistenti le modifiche giusto?
_________________
emh... scusa... ma tu ce lo hai google su quel computer???
Back to top
View user's profile Send private message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Sat Oct 28, 2006 5:41 pm    Post subject: Reply with quote

scusate se insisto, ma il problema persiste :( sono ore che smanetto leggo e provo ma nulla. Dalla guida di gentoo leggo
Quote:
Codice 5: Aggiornare l'ambiente

# env-update && source /etc/profile

Nota: Il comando sopra aggiorna solo le variabili nel terminale corrente e nelle nuove console. Se si sta lavorando in X11 si dovrà digitare source /etc/profile in ogni altro terminale che si aprirà o se si restarterà X così che tutti i nuovi terminali abbiano le nuove variabili. Se si usa un login manager passare a root e digitare /etc/init.d/xdm restart. Saltando questo ultimo comando si dovrà fare il logout e di nuovo il login per X per ottenere i nuovi valori delle variabili.


quindi in teoria io dovrei dare il comando di cui sopra, sloggarmi, riloggarmi e tutto dovrebbe andare... invece cosi' non e'. Qualcuno ha idee in proposito ? Grazie :wink:
_________________
emh... scusa... ma tu ce lo hai google su quel computer???
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Sat Oct 28, 2006 5:58 pm    Post subject: Reply with quote

sanzo77 wrote:
ma in teoria env-update dovrebbe rendere persistenti le modifiche giusto?

più o meno

la questione è che tu stai passando dalla via sbagliata.

perché non cacci le modifiche in bashrc? in quel modo sei certo che verranno applicate a tutti gli utenti (che usano una bash)

OT: io spero che lo scopo per cui stai facendo questo non sia evitare di scrivere ./ prima di lanciare eseguibili nella propia home directory (o dovunque essi siano)
i path sono così da sempre, e si quelli sono calibrati i criteri di sicurezza ed i meccanismi di protezione.
se hai esigenza di avere eseguibili raggiungibili da chiunque, allora devi usare /usr/local/{bin,sbin} e nient'altro. al di fuori di queste directory non si dovrebbe dare nemmeno il permesso di esecuzione
Back to top
View user's profile Send private message
Luca89
Advocate
Advocate


Joined: 27 Apr 2005
Posts: 2107
Location: Agrigento (Italy)

PostPosted: Sat Oct 28, 2006 9:04 pm    Post subject: Reply with quote

sanzo77 wrote:
ma in teoria env-update dovrebbe rendere persistenti le modifiche giusto?

env-update va a generare il file /etc/profile.env che poi viene caricato da /etc/profile
k.gothmog wrote:

più o meno

la questione è che tu stai passando dalla via sbagliata.

perché non cacci le modifiche in bashrc? in quel modo sei certo che verranno applicate a tutti gli utenti (che usano una bash)

perchè? i file in /etc/env.d sono fatti apposta per modificare le variabili d'ambiente
Quote:
quindi in teoria io dovrei dare il comando di cui sopra, sloggarmi, riloggarmi e tutto dovrebbe andare... invece cosi' non e'. Qualcuno ha idee in proposito

Ti ho già detto che in base a che tipo di console lanci a volte non viene caricato /etc/profile, quindi ti consiglio o di settare nel tuo terminale "usa shell di login" oppure metti nel file ~/.bashrc la riga:
Code:
source /etc/profile

In modo che vengano caricate le variabili d'ambiente.
_________________
Running Fast!
Back to top
View user's profile Send private message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Mon Oct 30, 2006 8:24 am    Post subject: Reply with quote

@luca89
il problema è che tale soluzione funziona solo per l'utente che si logga, se fai su e diventi root il profile non viene riletto...
_________________
emh... scusa... ma tu ce lo hai google su quel computer???
Back to top
View user's profile Send private message
Luca89
Advocate
Advocate


Joined: 27 Apr 2005
Posts: 2107
Location: Agrigento (Italy)

PostPosted: Mon Oct 30, 2006 1:11 pm    Post subject: Reply with quote

sanzo77 wrote:
@luca89
il problema è che tale soluzione funziona solo per l'utente che si logga, se fai su e diventi root il profile non viene riletto...

usa:
Code:
$ su -

oppure metti in /root/.bashrc:
Code:
source /etc/profile

_________________
Running Fast!
Back to top
View user's profile Send private message
sanzo77
Apprentice
Apprentice


Joined: 28 Oct 2006
Posts: 168
Location: roma

PostPosted: Mon Oct 30, 2006 1:17 pm    Post subject: Reply with quote

Luca89 wrote:
sanzo77 wrote:
@luca89
il problema è che tale soluzione funziona solo per l'utente che si logga, se fai su e diventi root il profile non viene riletto...

usa:
Code:
$ su -

oppure metti in /root/.bashrc:
Code:
source /etc/profile


non esiste quel file in root e se lo creo non lo legge... faro' su -, magari faccio un alias "su" a "su -"
_________________
emh... scusa... ma tu ce lo hai google su quel computer???
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum