LinuxForum.Fans
Тема

Замена /tmp на /home/<username>/tmp

Автор: Macumazan 11 сообщений 2009 просмотров
#182276

Какие есть варианты реализовать сабж в bash?
В bash env. ничего подходящего не этот счет не вижу

text
$_                         $BASH_VERSION              $FLTK_DOCDIR               $HISTFILE                  $LESS                      $OSTYPE                    $SECONDS                   $WINDOWPATH
$BASH                      $COLORTERM                 $GCC_SPECS                 $HISTFILESIZE              $LESSOPEN                  $PAGER                     $SESSION_MANAGER           $XAUTHORITY
$BASH_ALIASES              $COLUMNS                   $GDK_USE_XFT               $HISTSIZE                  $LINENO                    $PATH                      $SHELL                     $XDG_CONFIG_DIRS
$BASH_ARGC                 $COMP_WORDBREAKS           $GDM_LANG                  $HOME                      $LINES                     $PIPESTATUS                $SHELLOPTS                 $XDG_DATA_DIRS
$BASH_ARGV                 $CONFIG_PROTECT            $GDMSESSION                $HOSTNAME                  $LOGNAME                   $PPID                      $SHLVL                     $XDG_MENU_PREFIX
$BASH_CMDS                 $CONFIG_PROTECT_MASK       $GDM_XSERVER_LOCATION      $HOSTTYPE                  $LS_COLORS                 $PRELINK_PATH_MASK         $SSH_AGENT_PID             $XDG_SESSION_COOKIE
$BASH_COMMAND              $CVS_RSH                   $GNOME_DESKTOP_SESSION_ID  $IFS                       $MACHTYPE                  $PROMPT_COMMAND            $SSH_AUTH_SOCK             
$BASH_LINENO               $DBUS_SESSION_BUS_ADDRESS  $GNOME_KEYRING_CONTROL     $INFOPATH                  $MAILCHECK                 $PS1                       $TERM                      
$BASHOPTS                  $DESKTOP_SESSION           $GNOME_KEYRING_PID         $JAVAC                     $MANPATH                   $PS2                       $UID                       
$BASHPID                   $DIRSTACK                  $GPG_AGENT_INFO            $JAVA_HOME                 $OPENGL_PROFILE            $PS4                       $USER                      
$BASH_SOURCE               $DISPLAY                   $GROUPS                    $JDK_HOME                  $OPTERR                    $PWD                       $USERNAME                  
$BASH_SUBSHELL             $EDITOR                    $GSETTINGS_BACKEND         $LANG                      $OPTIND                    $QT_PLUGIN_PATH            $VBOX_APP_HOME             
$BASH_VERSINFO             $EUID                      $HISTCMD                   $LC_MESSAGES               $ORBIT_SOCKETDIR           $RANDOM                    $WINDOWID       

Различные гугловарианты не помогли.

#182277

пишите зачем, а не выспрашивайте непонятный вариант решения, который вы себе выдумали...

#182301

Чего не понятного-то?
Перефразирую лично для вас. Надо , что бы все приложения от username, использующие /tmp директорию, использовали ее по расположению в /home/<username>/tmp? Угу?

#182307

переопределите $TMPDIR, но это действует не на все программы/скрипты...
а после первого поста казалось, что вам нужно смонтировать с -o bind или создать где-то симлинк...

#182312

rm -rf /tmp
mkdir ~/tmp
ln -s ~/tmp /tmp

#182393
Macumazan написал:
Перефразирую лично для вас. Надо , что бы все приложения от username, использующие /tmp директорию, использовали ее по расположению в /home/<username>/tmp? Угу?

это зависит от программеров. я, например, использую команду mktemp, а она, в свою очередь, использует $TMPDIR. потому мои скрипты могут работать с любым временным каталогом.
однако, программер может думать и иначе. Например Slackbuild'ы обычно используют $TMP.

#182394
Writer написал:
rm -rf /tmp
mkdir ~/tmp
ln -s ~/tmp /tmp

"хороший" совет...
ещё можно посоветовать поставить венду - эффект примерно тот-же.

#182415
drBatty написал:
"хороший" совет...
ещё можно посоветовать поставить венду - эффект примерно тот-же.

Во всяком случае этот метод работает.

#182427
Writer написал:
Во всяком случае этот метод работает.

во всяком случае не стОит хвастаться своими кривыми руками. Как вы сейчас.
я понимаю, можно гвозди головой забивать, ну и что?

Очень не рекомендуется мешать файлы разных пользователей. Где угодно, кроме специальных общедоступных каталогов, например /tmp/. А вы сам /tmp/ уничтожили. Оно конечно будет работать, но не со всеми программами - некоторые просто откажутся, некоторые будут работать таким образом, что злоумышленник с лёгкость их сломает. Дело конечно ваше, но зачем другим-то такое советовать? :(

И как вы понять не можете, что если у вас что-то сейчас работает, то это вовсе не гарантирует того, что это будет работать у всех и всегда?

Macumazan написал:
В bash env. ничего подходящего не этот счет не вижу

маны надо читать.

TMPDIR If set, Bash uses its value as the name of a directory in which Bash creates temporary files for the shell's
use.

а не придумывать свои оригинальные костыли, как Writer...

#182428

Writer, да. линукс - дебильная система, если не читать документацию. Для вас, и прочих.

#182673

Спасибо, с $TMPDIR сработало.

Войдите или зарегистрируйтесь, чтобы ответить.