Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:
linux-vdso.so.1 => (0x00007fffac983000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)
И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа будет сообщать «Нет такого файла или каталога», даже если сама программа существует.
Редактировать: более вероятно, проблема в этом случае.
Вы выполняете:
sudo chroot $dir janitor.out
Это приведет к тому, что chroot будет искать [ f7] в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, необходимо префикс janitor.out с косой чертой:
sudo chroot $dir /janitor.out