Arquivo /etc/profile [RESOLVIDO]

1. Arquivo /etc/profile [RESOLVIDO]

Bruno De Carvalho Santos
bruno5646

(usa Debian)

Enviado em 28/06/2018 - 00:12h

Pessoal, podem me dar uma ajuda?
Estou tentando instalar o openJDK no meu Lfs-8.2 porém após baixar e instalar em /opt, eu tento executar o comando javac e tenho a saida de "comando não encontrado", com isso eu abri o link e fiz as configurações do capitulo "The Bash Shell Startup Files" em meu sistema, com isso o java, javac e tudo mais funcionou porém, agora não consigo logar em nenhum usuário do sistema mais, só consigo logar como root no KDE, não aparece nenhum erro, o sistema só volta para a tela de login novamente. Mexendo nos arquivos do sistema, notei que se eu deletar o arquivo /etc/profile eu consigo acessar novamente os usuários porém, as configurações do capitulo "The Bash Shell Startup Files" deixam de funcionar e o java para de funcionar novamente.
Alguém ja passou por isso ou sabe me dar um help?
Grato


  


2. MELHOR RESPOSTA

edps
edps

(usa Slackware)

Enviado em 28/06/2018 - 19:17h

Não precisa mexer nesse arquivo, o faça no .bashrc, Tome como exemplo a melhor resposta desse post:

https://www.vivaolinux.com.br/topico/Shell-Script/Onde-colocar-o-Shell-Script-winetricks

E adicione o diretório onde está o executável, seja ele /opt/bin ou outro qualquer.

Após alterar reinicie sua sessão ou abra outra janela de terminal.

Se estivesse em casa lhe passaria um exemplo melhor.


EDIT:

Ou VC pode criar um link simbólico apontando para /usr/bin ou outro diretório que esteja em seu $PATH:

# ln -sv caminho-do-executavel /usr/bin/executável




3. Re: Arquivo /etc/profile [RESOLVIDO]

Alberto Federman Neto.
albfneto

(usa Sabayon)

Enviado em 28/06/2018 - 17:01h

vc guardou seu arquivo /etc/profile? se sim, poste aqui a saída de:

$ cat /etc/profile 

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, openSUSE, Mageia e OpenMandriva.


4. Re: Arquivo /etc/profile [RESOLVIDO]

Bruno De Carvalho Santos
bruno5646

(usa Debian)

Enviado em 28/06/2018 - 17:29h

Opa, obrigado pelo retorno. O arquivo /etc/profile que estou tentando inserir é esse.

# Begin /etc/profile
# by Bruno Santos

# System wide environment variables and startup programs.

# System wide aliases and functions should go in /etc/bashrc. Personal
# environment variables and startup programs should go into
# ~/.bash_profile. Personal aliases and functions should go into
# ~/.bashrc.

# Functions to help us manage paths. Second argument is the name of the
# path variable to be modified (default: PATH)
pathremove () {
local IFS=':'
local NEWPATH
local DIR
local PATHVARIABLE=${2:-PATH}
for DIR in ${!PATHVARIABLE} ; do
if [ "$DIR" != "$1" ] ; then
NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
fi
done
export $PATHVARIABLE="$NEWPATH"
}

pathprepend () {
pathremove $1 $2
local PATHVARIABLE=${2:-PATH}
export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}"
}

pathappend () {
pathremove $1 $2
local PATHVARIABLE=${2:-PATH}
export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
}

export -f pathremove pathprepend pathappend

# Set the initial path
export PATH=/bin:/usr/bin

if [ $EUID -eq 0 ] ; then
pathappend /sbin:/usr/sbin
unset HISTFILE
fi

# Setup some environment variables.
export HISTSIZE=1000
export HISTIGNORE="&:[bf]g:exit"

# Set some defaults for graphical systems
export XDG_DATA_DIRS=${XDG_DATA_DIRS:-/usr/share/}
export XDG_CONFIG_DIRS=${XDG_CONFIG_DIRS:-/etc/xdg/}
export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/tmp/xdg-$USER}

# Setup a red prompt for root and a green one for users.
NORMAL="\[\e[0m\]"
RED="\[\e[1;31m\]"
GREEN="\[\e[1;32m\]"
if [[ $EUID == 0 ]] ; then
PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
else
PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
fi

for script in /etc/profile.d/*.sh ; do
if [ -r $script ] ; then
. $script
fi
done

unset script RED GREEN NORMAL

# End /etc/profile


Junto com os outros scripts desse link:
http://www.linuxfromscratch.org/blfs/view/stable/postlfs/profile.html


5. Muito obrigado edps

Bruno De Carvalho Santos
bruno5646

(usa Debian)

Enviado em 29/06/2018 - 13:05h

Cara sem palavras.
Muito obrigado, me ajudou muito, sua dica não resolveu esse meu problema como já me ajudou a adiantar duas outras coisas de uma maneira muito mais fácil.
Mais uma vez, obrigado pela dica... funcionou 330% aqui.

Para fins de documentação, abaixo estou deixando meu arquivo .bashrc para que outros usuário que estejam na mesma situação consigam resolver seu problema. Os passos abaixo foram feitos após a instalação do OpenJDK.
Não criei o arquivo /etc/profile nesse procedimento.
meu arquivo .bashrc ficou assim:
# Begin ~/.bashrc
# Written for BLFS-8.2
# by Bruno Santos

# Personal aliases and functions.

# Personal environment variables and startup programs should go in
# ~/.bash_profile. System wide environment variables and startup
# programs are in /etc/profile. System wide aliases and functions are
# in /etc/bashrc.

export PATH=:/usr/sbin:/opt/jdk/bin:/sbin:$PATH

if [ -d "$HOME/bin" ]; then
PATH="$HOME/bin:$PATH"
fi

# Set up user specific i18n variables
export LANG=pt_BR.utf8

# End ~/.bashrc


Após criar esse arquivo (.bashrc) na pasta home do root, criei a pasta /etc/skel e copiei esse arquivo para la.
Depois criei mais três arquivos para a pasta home do root: .bash_profile e .profile, após criados, copiei ambos para pasta /etc/skel.
Segue abaixo o conteudos dos dois arquivos

.bash_profile
# Begin ~/.bash_profile
# Written for Beyond Linux From Scratch
# by James Robertson <[email protected]>
# updated by Bruce Dubbs <[email protected]>

# Personal environment variables and startup programs.

# Personal aliases and functions should go in ~/.bashrc. System wide
# environment variables and startup programs are in /etc/profile.
# System wide aliases and functions are in /etc/bashrc.

if [ -f "$HOME/.bashrc" ] ; then
source $HOME/.bashrc
fi

if [ -d "$HOME/bin" ] ; then
pathprepend $HOME/bin
fi

# Having . in the PATH is dangerous
#if [ $EUID -gt 99 ]; then
# pathappend .
#fi

# End ~/.bash_profile


.profile
# Begin ~/.profile
# Personal environment variables and startup programs.

if [ -d "$HOME/bin" ] ; then
pathprepend $HOME/bin
fi

# Set up user specific i18n variables
#export LANG=<ll>_<CC>.<charmap><@modifiers>

# End ~/.profile


Reiniciei a maquina e tudo feito.
Para criar novos usuarios utilizo o comando # useradd -m [usuario] que com o parametro "-m" o sistema já cria uma pasta para o usuário com todos os arquivos de configuração de /etc/skel

Abraço a todos.


6. Re: Arquivo /etc/profile [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 29/06/2018 - 15:28h

bruno5646 escreveu:

Cara sem palavras.
Muito obrigado, me ajudou muito, sua dica não resolveu esse meu problema como já me ajudou a adiantar duas outras coisas de uma maneira muito mais fácil.
Mais uma vez, obrigado pela dica... funcionou 330% aqui.

Para fins de documentação, abaixo estou deixando meu arquivo .bashrc para que outros usuário que estejam na mesma situação consigam resolver seu problema. Os passos abaixo foram feitos após a instalação do OpenJDK.
Não criei o arquivo /etc/profile nesse procedimento.
meu arquivo .bashrc ficou assim:
# Begin ~/.bashrc
# Written for BLFS-8.2
# by Bruno Santos

# Personal aliases and functions.

# Personal environment variables and startup programs should go in
# ~/.bash_profile. System wide environment variables and startup
# programs are in /etc/profile. System wide aliases and functions are
# in /etc/bashrc.

export PATH=:/usr/sbin:/opt/jdk/bin:/sbin:$PATH

if [ -d "$HOME/bin" ]; then
PATH="$HOME/bin:$PATH"
fi

# Set up user specific i18n variables
export LANG=pt_BR.utf8

# End ~/.bashrc


Após criar esse arquivo (.bashrc) na pasta home do root, criei a pasta /etc/skel e copiei esse arquivo para la.
Depois criei mais três arquivos para a pasta home do root: .bash_profile e .profile, após criados, copiei ambos para pasta /etc/skel.
Segue abaixo o conteudos dos dois arquivos

.bash_profile
# Begin ~/.bash_profile
# Written for Beyond Linux From Scratch
# by James Robertson <[email protected]>
# updated by Bruce Dubbs <[email protected]>

# Personal environment variables and startup programs.

# Personal aliases and functions should go in ~/.bashrc. System wide
# environment variables and startup programs are in /etc/profile.
# System wide aliases and functions are in /etc/bashrc.

if [ -f "$HOME/.bashrc" ] ; then
source $HOME/.bashrc
fi

if [ -d "$HOME/bin" ] ; then
pathprepend $HOME/bin
fi

# Having . in the PATH is dangerous
#if [ $EUID -gt 99 ]; then
# pathappend .
#fi

# End ~/.bash_profile


.profile
# Begin ~/.profile
# Personal environment variables and startup programs.

if [ -d "$HOME/bin" ] ; then
pathprepend $HOME/bin
fi

# Set up user specific i18n variables
#export LANG=<ll>_<CC>.<charmap><@modifiers>

# End ~/.profile


Reiniciei a maquina e tudo feito.
Para criar novos usuarios utilizo o comando # useradd -m [usuario] que com o parametro "-m" o sistema já cria uma pasta para o usuário com todos os arquivos de configuração de /etc/skel

Abraço a todos.


Aproveite e se puder faça uma dica sobre isso, assim ajudará outros.


7. Re: Arquivo /etc/profile [RESOLVIDO]

Bruno De Carvalho Santos
bruno5646

(usa Debian)

Enviado em 01/07/2018 - 18:03h

Gostaria de fazer algo mais detalhado para que outras pessoas não passem por isso, porém meu tempo é bem escasso, tenho vários projetos e estudos, para ter uma noção, as mensagens de tópico digitei tudo me meu horário de almoço kkk
Mas quando minha vida der uma estabilizada, pretendo colocar uns passos a passos da minha documentação aqui.

Abraço


8. Re: Arquivo /etc/profile [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 01/07/2018 - 19:02h

bruno5646 escreveu:

Gostaria de fazer algo mais detalhado para que outras pessoas não passem por isso, porém meu tempo é bem escasso, tenho vários projetos e estudos, para ter uma noção, as mensagens de tópico digitei tudo me meu horário de almoço kkk
Mas quando minha vida der uma estabilizada, pretendo colocar uns passos a passos da minha documentação aqui.

Abraço


Tranquilo.

Agora que estou em casa, posso demonstrar um exemplo mais encorpado por causa do JAVA, QT, texi2html, etc:

# $PATH.
export PATH=:/sbin:/usr/sbin:/usr/lib/qt/bin:/usr/lib64/java/bin:/usr/lib64/java/jre/bin:/usr/lib64/qt/bin:/usr/lib64/qt5/bin:/usr/share/texmf/bin:$PATH

if [ -d "$HOME/bin" ]; then
PATH="$HOME/bin:$PATH"
fi

# Language environment.
export LANG=pt_BR.UTF-8


O texi2html posso pular, passando o comando abaixo antes de compilar o FFMPEG no Slackware (acho que só nele é que preciso disso):

export PATH=$PATH:"/usr/share/texmf/bin" 


Em todo caso, bons estudos!