[linux - ubuntu - hoary] Как устанавливать переменные окружения?!
не верю
приводи примеры, что прописал, и что не сработало
---
...Я работаю антинаучным аферистом...
octopus:/home/octopus # cat /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1
# and Bourne compatible shells (bash(1 ksh(1 ash(1 ...).
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
else
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games"
fi
if [ "$PS1" ]; then
if [ "$BASH" ]; then
PS1='\\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
#
#Java related stuff
#
export ANT_HOME=/user/local/java/ant
export JAVA_HOME=/usr/local/java/jdk
export MAVEN_HOME=/usr/local/java/maven
export JBOSS_HOME=/usr/local/java/jboss
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin
umask 022
имеем в итоге
octopus:/home/octopus # set | grep -i java
octopus:/home/octopus # set | grep -i maven
octopus:/home/octopus # set | grep -i ant
octopus:/home/octopus # set | grep -i jboss
octopus:/home/octopus # set | grep -i path
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
под обычными юзерами ситуация такая же, даж еще хуже, потому как есть такое:
octopus:~$ cat .bash_profile
# ~/.bash_profile: executed by bash(1) for login shells.
# 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/login.defs
#umask 022
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi
#
#Java related stuff
#
export ANT_HOME=/user/local/java/ant
export JAVA_HOME=/usr/local/java/jdk
export MAVEN_HOME=/usr/local/java/maven
export JBOSS_HOME=/usr/local/java/jboss
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin
octopus:~$
а результаты с set | grep такие же
а ты ребутался вообще?
типа того. только что холодный ребут не делал. и reboot писал, и иксы рестартил, и шелл новый запускал, и колеса пинал, и двери открыва-закрывал, и даже под капот заглядывал! не помогает...
возможно, какой-нибудь display manager виноват, что bash не считает себя login shell
это в предположении, что после редактирования конфига пользователь перелогинился
P.S. у меня в debian по крайней мере .bash_profile отлично работает, как бы я иначе жил?
Это так в линуксе принято делать после изменения profile?
$ head -10 /etc/X11/Xsession
#!/bin/sh --login
#
# /etc/X11/Xsession
#
# global Xsession file -- used by display managers and xinit (startx)
# $Id: Xsession 2186 2005-02-11 07:11:05Z branden $
source $HOME/.bash_profile
да женька педросян по тебе плачет
>Это так в линуксе принято делать после изменения profile?
Блин, ну если больше ничего не помогает, то и так пробуют... а вообще - реальное скоцтво такие дистрибутивы выпускать! (извините, наболело).
Пользуясь терминологией Глебиуса официально заявляю:
if(!this_stuff_works_by_friday){
linux_users--;
freebsd_users++;
}
> возможно, какой-нибудь display manager виноват, что bash не считает себя login shell
Во-во, если он bash открывает в каком-нибудь gnome-terminal, то это interactive shell, но не login shell
man bash:и .bash_profile не используется.
INVOCATION
...
When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists.
...
:Во-первых, маны вроде и в FreeBSD надо читать, так что тебе это не поможет, а во-вторых как ты джаву пускать под FreeBSD будешь?
if(!this_stuff_works_by_friday){
linux_users--;
freebsd_users++;
}
как ты джаву пускать под FreeBSD будешь?А как она пускается под линухом?
Фрю все равно поставлю, попробую по крайней мере, потому что там хотя бы все стандартно и нет такого понятия как "другой дистрибутив".
Относительно кривости рук - расскажи мне, какой радиус искривления должен быть у обладателя рук, который в дистрибе убунту придумал и реализовал следующее - ранлевелы со 2го по 5ый _абсолютно_ идентичны по стартующим сервисам и по умолчанию используется второй ранлевел?
Относительно java мной здесь был получен ответ, что 1.5.0, который я использую, работает под ней вполне даже ничего. Будет если плохо работать - вернусь обратно.
Что касается манов - их читать вообще нужно. Другой вопрос, что я, в свое время (году эдак в 97) почитав маны и inittab про ранлевелы был убежден, что иксы принято грузить в 5ом ранлевеле, а а 2ой это вообще networkless ранлевел. И на всех дистрах до убунты так было (RH 6.1-9.0, FC 1,3, Mandrake,Gentoo). Почему в убунте должно быть не так - не понимаю. Объяснит может кто?
а почему бы нет, сам себе как хочешь, так и настраиваешь, я вот себе сделал на 3-м уровне m, на 4 kdm, а на 2 - консоль, и поправил соответствующие конфиги, чтоб только нужные для каждого случая службы запускались
Фрю все равно поставлю, попробую по крайней мере, потому что там хотя бы все стандартно и нет такого понятия как "другой дистрибутив".Уже есть! DragonFlyBSD! Ха-ха!
Относительно кривости рук - расскажи мне, какой радиус искривления должен быть у обладателя рук, который в дистрибе убунту придумал и реализовал следующее - ранлевелы со 2го по 5ый _абсолютно_ идентичны по стартующим сервисам и по умолчанию используется второй ранлевел?Так как ранлевелы сами по себе - уже хуйня, то сделать их идентичными очень разумный ход. Первый шаг к их изничтожению. Наверное такое влияние на Debian оказало изучение FreeBSD, ведь они пытаются сделать GNU дистрибутив FreeBSD.
Так как ранлевелы сами по себе - уже хуйня"Хуйня у тебя в штанах", как говорили у меня в школе... А ранлевелы - вполне себе удобная вещь. Хотя ее реализация с помощью директорий и симлинков - не очень удобна. Поэтому я ее и заменил на нечто подобное:
STOP_COMMON="startup sysklogd cups mountnfs portmapd ntp sshd smb sendsignals mountfs modules packetw swap localnet"
STOP[0]="$STOP_COMMON halt"
START[0]=""
STOP[1]="sysklogd"
START[1]=""
STOP[2]=""
START[2]="sysklogd cups"
#nfs="portmapd mountnfs"
STOP[3]=""
START[3]="sysklogd network inet iptables $nfs ntp sshd smb alsasound xfs russian cups startup cron"
STOP[4]=""
START[4]="sysklogd"
STOP[5]=""
START[5]="${START[3]} mdm"
STOP[6]="$STOP_COMMON reboot"
START[6]=""
STOP[7]=""
START[7]="mountvfs udev modules sysctl hdparm splash loadkeys checkfs mountfs cleanfs setclock localnet"
:Идём на java.sun.com и видим, что под FreeBSD джаву скачать не предлагают. То ли её из портов ставят, то ли нет её.
А как она пускается под линухом?
То ли её из портов ставят, то ли нет её.Не понимаешь ты всего удобства портов
> а а 2ой это вообще networkless ранлевел. И на всех дистрах до убунты так было (RH 6.1-9.0, FC 1,3, Mandrake,Gentoo).
Эти соглашения - красношляпная традиция.
В Ubuntu традиция дебиановская, где настройка ранлевелов делегирована
администратору, а стандартная конфигурация различает лишь single user и multi user.
В *BSD нет даже inittab, как живут админы этих недостистем, с трудом представляю:
я был в шоке, когда обнаружил недостаток, и меня целый вечер отпаивали пивом.
DJ Бернштайн, например, был вынужден изобрести отдельную систему
костылей и подпорок, чтобы получить аналог недостающей функциональности.
А что такое inittab?
Просто офигеть какая разница между третьими уровнями с пущеной
какой-нибудь службой и с ней же, но остановленой.
---
...Я работаю антинаучным аферистом...
А потому в операционных системах его нет.
---
...Я работаю антинаучным аферистом...
Сдаётся мне, эти соглашения раньше красной шляпы появились, в коммерческих юниксах.
---
...Я работаю антинаучным аферистом...
Про сантехнику пока ничего не знаю. Знаю про AIX и HP-UX.
Это сантехника от Ибеме и Хепе.
---
...Я работаю антинаучным аферистом...
Оставить комментарий
puare
Сабж. В /etc/profile, ~/.bashrc и иже с ними писать не предлагать - не работает это. В ман баш не посылать, потому как там написано про вышеупомянутые файлы.Оффтоп: а в Debian основная политика вообще все по-своему переделать? Конф. файлы, номера ранлевелов и прочее имеется ввиду.