В контейнере с i586 t6/branch (rpm-4.0.4-alt100.27, также воспроизводится на alt100.24 и alt100.40) поймано следующее: 0 cheusov>sudo apt-get install perl-podlators Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: perl-Encode perl-Pod-Escapes perl-Pod-Parser perl-Pod-Simple perl-Term-ANSIColor perl-Term-Cap The following NEW packages will be installed: perl-Encode perl-Pod-Escapes perl-Pod-Parser perl-Pod-Simple perl-Term-ANSIColor perl-Term-Cap perl-podlators 0 upgraded, 7 newly installed, 0 removed and 0 not upgraded. Need to get 391kB of archives. After unpacking 1459kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 ftp://ftp.linux.kiev.ua i586/classic perl-Encode 2.42-alt1 [139kB] Get:2 ftp://ftp.linux.kiev.ua noarch/classic perl-Pod-Escapes 1.04-alt3 [9343B] Get:3 ftp://ftp.linux.kiev.ua noarch/classic perl-Pod-Simple 3.16-alt1 [102kB] Get:4 ftp://ftp.linux.kiev.ua noarch/classic perl-Term-ANSIColor 3.00-alt1 [16.6kB] Get:5 ftp://ftp.linux.kiev.ua noarch/classic perl-Term-Cap 1.12-alt1 [10.1kB] Get:6 ftp://ftp.linux.kiev.ua noarch/classic perl-podlators 2.4.0-alt1 [52.1kB] Get:7 ftp://ftp.linux.kiev.ua noarch/classic perl-Pod-Parser 1.38-alt1 [62.0kB] Fetched 391kB in 0s (822kB/s) Committing changes... Preparing... ##################################################### [100%] 1: perl-Encode ##################################################### [ 14%] 2: perl-Term-Cap ##################################################### [ 28%] 3: perl-Term-ANSIColor ##################################################### [ 42%] 4: perl-Pod-Escapes ##################################################### [ 57%] 5: perl-Pod-Simple ##################################################### [ 71%] 6: perl-Pod-Parser ##################################################### [ 85%] 7: perl-podlators ##################################################### [100%] Running /usr/lib/rpm/posttrans-filetriggers Done. rpmdb: /root/RPMtmp: No such file or directory rpmdb: unable to create temporary backing file rpmdb: /root/RPMtmp: No such file or directory rpmdb: unable to create temporary backing file rpmdb: /root/RPMtmp: No such file or directory rpmdb: unable to create temporary backing file rpmdb: /root/RPMtmp: No such file or directory rpmdb: unable to create temporary backing file rpmdb: /root/RPMtmp: No such file or directory rpmdb: unable to create temporary backing file [...в цикле с некоторой задержкой...] Под рутом имени vzctl enter либо sudo -s _не_ воспроизводится. Фрагмент вывода strace `pidof apt-get`: stat64("/root/RPMtmp", 0xbfc580e0) = -1 ENOENT (No such file or directory) write(2, "rpmdb", 5) = 5 write(2, ": ", 2) = 2 write(2, "/root/RPMtmp", 12) = 12 write(2, ": No such file or directory", 27) = 27 write(2, "\n", 1) = 1 write(2, "rpmdb", 5) = 5 write(2, ": ", 2) = 2 write(2, "unable to create temporary backi"..., 39) = 39 write(2, "\n", 1) = 1 stat64("/root/RPMtmp", 0xbfc580e0) = -1 ENOENT (No such file or directory) $SHELL == bash
Виноват, отвлёкся на днях и забыл отписаться по второму туру. В ~/.rpmmacros пользователя оказались следующие настройки: %_topdir %homedir/RPMtop %_tmppath %homedir/RPMtmp <cheusov> Я где-то взял инструкуцию по сборке пакетов в 2009-м и по ней все делал Непонятны две вещи (переформулировал багу сообразно IMHO более релевантной): 1) почему posttrans-filetriggers или кто-то выше не проверяет наличие и доступность на запись %_tmppath (с предупреждением и фолбэком на $TMPDIR, $TMP, /tmp); 2) что надо сделать, чтобы настройки одного пользователя не оказывали такого влияния на работу от имени другого пользователя (сходу в голову приходит разве что сверка EUID с UID перед зачитыванием ~/.rpmmacros).
(In reply to comment #1) > Непонятны две вещи (переформулировал багу сообразно IMHO более релевантной): > 1) почему posttrans-filetriggers или кто-то выше не проверяет наличие и > доступность на запись %_tmppath (с предупреждением и фолбэком на $TMPDIR, $TMP, > /tmp); В код не смотрел, но, наверное, rpm просто доверяет сисадмину в этом вопросе. > 2) что надо сделать, чтобы настройки одного пользователя не оказывали такого > влияния на работу от имени другого пользователя (сходу в голову приходит разве > что сверка EUID с UID перед зачитыванием ~/.rpmmacros). Не использовать su без -l и sudo без env_reset+always_set_home.
tracked at https://bugs.launchpad.net/rpm/+bug/911019
BTW подобное ловится и на обычном hsh у пользователя, которому ещё не создали удалённый из etcskel ~/tmp вручную.
На это продолжают напарываться пользователи: http://forum.russ2.com/index.php?s=&showtopic=3500&view=findpost&p=47148
Сегодня сам её поймал на текущем сизифе. И как с этим бороться?