<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>8204</bug_id>
          
          <creation_ts>2005-10-12 18:07:43 +0400</creation_ts>
          <short_desc>librpm не смотрит на окружение $TMPDIR</short_desc>
          <delta_ts>2005-10-14 14:31:37 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>librpm</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vadim Gusev">kopilo4ka</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>arseny</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
    
    <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>31768</commentid>
    <comment_count>0</comment_count>
    <who name="Vadim Gusev">kopilo4ka</who>
    <bug_when>2005-10-12 18:07:43 +0400</bug_when>
    <thetext>apt-get игнорирует переменные окружения для временных файлов, пользователь   
root. Причем pam0_mktemp тоже не используется походу.     
 
# rpm -q apt pam0_mktemp 
apt-0.5.15cnc6-alt16 
pam0_mktemp-1.0.1-alt1 
# echo $TMP $TMPDIR 
/var/tmp /var/tmp 
  
Запускаем &apos;apt-get check&apos;, по strace получаем:    
open(&quot;/root/tmp/BDB05030&quot;, O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = 8    
..    
pwrite64(8, &quot;\0\0\0\0\1\0\0\0X\0\0\0\0\0\0\0\0\0\0\0\2\0\340\3\2\3\360&quot;...,  
1024, 90112) = -1 ENOSPC (No space left on device) 
write(2, &quot;rpmdb: &quot;, 7rpmdb: )                  = 7 
write(2, &quot;write: 0x80c6ab0, 1024: No space&quot;..., 47write: 0x80c6ab0, 1024: No 
space left on device) = 47 
 
Спасло только 
# ls -ald /root/tmp 
lrwxrwxrwx  1 root root 13 Окт 12 18:08 /root/tmp -&gt; /var/tmp/root</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31769</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2005-10-12 18:25:32 +0400</bug_when>
    <thetext>Это делает не apt, а librpm.

По умолчанию у обычного пользователя
$ rpm --showrc |fgrep &apos; _tmppath&apos;
-14: _tmppath   %{_var}/tmp

По умолчанию у пользователя root
# rpm --showrc |fgrep &apos; _tmppath&apos;
-14: _tmppath   %homedir/tmp

В качестве workaround&apos;а сделайте один раз
# echo &quot;%_tmppath $TMPDIR&quot; &gt;&gt;~/.rpmmacros

Использование $TMPDIR в качестве значения %_tmppath по умолчанию чревато
неприятностями.

Если вы убеждены, что поведение по умолчанию неправильное, открывайте багу
снова, обсудим.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31873</commentid>
    <comment_count>2</comment_count>
    <who name="Vadim Gusev">kopilo4ka</who>
    <bug_when>2005-10-14 14:31:34 +0400</bug_when>
    <thetext>Соглашусь. Кстати по умолчанию у меня у всех: 
_tmppath   %{_var}/tmp 
это если почистить ~/.rpmmacros 
# cat /etc/altlinux-release 
ALT Linux Sisyphus (20051007) </thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>