Ian, I instrumented diskimage_builder/lib/img-functions and dropped into a shell in the run_in_target() function.
I was able to positively confirm that env did in fact exist in /usr/bin/env and that is in fact one of the elements being added to path.
See below from a brief debug session.
dib-run-parts Sat Jun 24 06:20:36 EDT 2017 --------------------- END PROFILING --------------------- + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/common-functions:run_d:239 : check_break after-extra-data bash + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/common-functions:check_break:123 : egrep -e '(,|^)after-extra-data(,|$)' -q + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/common-functions:check_break:123 : echo '' + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/disk-image-create:main:303 : run_d_in_target pre-install + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:77 : check_element + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/common-functions:check_element:134 : '[' -d /tmp/dib_build.P474LCge/hooks ']' + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:80 : '[' -d /tmp/dib_build.P474LCge/hooks/pre-install.d ']' + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:81 : sudo mkdir /tmp/dib_build.P474LCge/mnt/tmp/in_target.d + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:82 : sudo mount --bind /tmp/dib_build.P474LCge/hooks /tmp/dib_build.P474LCge/mnt/tmp/in_target.d + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:88 : sudo cp /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/dib-run-parts /tmp/dib_build.P474LCge/mnt/tmp/in_target.d + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:89 : sudo mount -o remount,ro,bind /tmp/dib_build.P474LCge/hooks /tmp/dib_build.P474LCge/mnt/tmp/in_target.d + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:90 : check_break before-pre-install run_in_target bash + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/common-functions:check_break:123 : egrep -e '(,|^)before-pre-install(,|$)' -q + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/common-functions:check_break:123 : echo '' + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:91 : '[' -z '' ']' + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:91 : in_target_arg=run_in_target + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:92 : trap 'check_break after-error run_in_target bash' ERR + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_d_in_target:95 : run_in_target /tmp/in_target.d/dib-run-parts /tmp/in_target.d/pre-install.d + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_in_target:61 : cmd='/tmp/in_target.d/dib-run-parts /tmp/in_target.d/pre-install.d' + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_in_target:63 : ORIG_HOME=/home/amrith + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_in_target:64 : export HOME=/root + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_in_target:64 : HOME=/root + /usr/local/lib/python2.7/dist-packages/diskimage_builder/lib/img-functions:run_in_target:70 : bash To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details.
bash: /root/.bashrc: Permission denied amrith@amrith-virtual-machine:/home/amrith/images$ echo $TMP_MOUNT_PATH /tmp/dib_build.P474LCge/mnt amrith@amrith-virtual-machine:/home/amrith/images$ sudo -s root@amrith-virtual-machine:/home/amrith/images# cd /tmp/dib_build.P474LCge/mnt root@amrith-virtual-machine:/tmp/dib_build.P474LCge/mnt# find . -name env ./usr/bin/env root@amrith-virtual-machine:/tmp/dib_build.P474LCge/mnt#
Ian, I instrumented diskimage_ builder/ lib/img- functions and dropped into a shell in the run_in_target() function.
I was able to positively confirm that env did in fact exist in /usr/bin/env and that is in fact one of the elements being added to path.
See below from a brief debug session.
dib-run-parts Sat Jun 24 06:20:36 EDT 2017 ------- ------- ------- END PROFILING ------- ------- ------- lib/python2. 7/dist- packages/ diskimage_ builder/ lib/common- functions: run_d:239 : check_break after-extra-data bash lib/python2. 7/dist- packages/ diskimage_ builder/ lib/common- functions: check_break: 123 : egrep -e '(,|^)after- extra-data( ,|$)' -q lib/python2. 7/dist- packages/ diskimage_ builder/ lib/common- functions: check_break: 123 : echo '' lib/python2. 7/dist- packages/ diskimage_ builder/ lib/disk- image-create: main:303 : run_d_in_target pre-install lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 77 : check_element lib/python2. 7/dist- packages/ diskimage_ builder/ lib/common- functions: check_element: 134 : '[' -d /tmp/dib_ build.P474LCge/ hooks ']' lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 80 : '[' -d /tmp/dib_ build.P474LCge/ hooks/pre- install. d ']' lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 81 : sudo mkdir /tmp/dib_ build.P474LCge/ mnt/tmp/ in_target. d lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 82 : sudo mount --bind /tmp/dib_ build.P474LCge/ hooks /tmp/dib_ build.P474LCge/ mnt/tmp/ in_target. d lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 88 : sudo cp /usr/local/ lib/python2. 7/dist- packages/ diskimage_ builder/ lib/dib- run-parts /tmp/dib_ build.P474LCge/ mnt/tmp/ in_target. d lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 89 : sudo mount -o remount,ro,bind /tmp/dib_ build.P474LCge/ hooks /tmp/dib_ build.P474LCge/ mnt/tmp/ in_target. d lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 90 : check_break before-pre-install run_in_target bash lib/python2. 7/dist- packages/ diskimage_ builder/ lib/common- functions: check_break: 123 : egrep -e '(,|^)before- pre-install( ,|$)' -q lib/python2. 7/dist- packages/ diskimage_ builder/ lib/common- functions: check_break: 123 : echo '' lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 91 : '[' -z '' ']' lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 91 : in_target_ arg=run_ in_target lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 92 : trap 'check_break after-error run_in_target bash' ERR lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_d_in_ target: 95 : run_in_target /tmp/in_ target. d/dib-run- parts /tmp/in_ target. d/pre-install. d lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_in_ target: 61 : cmd='/tmp/ in_target. d/dib-run- parts /tmp/in_ target. d/pre-install. d' lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_in_ target: 63 : ORIG_HOME= /home/amrith lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_in_ target: 64 : export HOME=/root lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_in_ target: 64 : HOME=/root lib/python2. 7/dist- packages/ diskimage_ builder/ lib/img- functions: run_in_ target: 70 : bash
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
+ /usr/local/
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
bash: /root/.bashrc: Permission denied amrith- virtual- machine: /home/amrith/ images$ echo $TMP_MOUNT_PATH build.P474LCge/ mnt amrith- virtual- machine: /home/amrith/ images$ sudo -s virtual- machine: /home/amrith/ images# cd /tmp/dib_ build.P474LCge/ mnt virtual- machine: /tmp/dib_ build.P474LCge/ mnt# find . -name env virtual- machine: /tmp/dib_ build.P474LCge/ mnt#
amrith@
/tmp/dib_
amrith@
root@amrith-
root@amrith-
./usr/bin/env
root@amrith-