Тестовый debian11 сервер, на котором в виду издевательств на системой как-то оказалось
root@debian:~# which mkdir
/usr/bin/mkdir
root@debian:~# dpkg -S /usr/bin/mkdir
dpkg-query: не найден путь, подходящий под шаблон /usr/bin/mkdir
root@debian:~# dpkg -L coreutils | grep mkdir
/bin/mkdir
/usr/share/man/man1/mkdir.1.gz
root@debian:~# cat /etc/debian_version
11.4
root@debian:~# ls -lha /usr/bin/mkdir
-rwxr-xr-x 1 root root 84K сен 24 2020 /usr/bin/mkdir
root@debian:~# md5sum /usr/bin/mkdir /bin/mkdir
e70b34a37b294e638e63fbff22632a90 /usr/bin/mkdir
e70b34a37b294e638e63fbff22632a90 /bin/mkdir
И продакт сервер
root@h398:~# which mkdir
/bin/mkdir
root@h398:~# dpkg -S /bin/mkdir
coreutils: /bin/mkdir
root@h398:~# dpkg -L coreutils | grep mkdir
/bin/mkdir
/usr/share/man/man1/mkdir.1.gz
root@h398:~# cat /etc/debian_version
11.3
А теперь мне потребовалось сделать /opt/puppetlabs/puppet/bin/gem install ruby-lxc
На тестовом сервере всё ок, а вот на продакт я вижу такую картину
make: /usr/bin/mkdir: No such file or directory
make: *** [Makefile:202: .sitearchdir.-.lxc.time] Error 127
make install failed, exit code 2
Раскопал makefile, да, там явно указано MAKEDIRS = /usr/bin/mkdir -p
Покопался в интернет с похожей ошибкой.
Посмотрел на своей системе(manjaro) $ which mkdir -> /usr/bin/mkdir
Я понимаю, что вроде бы разработчики ожидают что mkdir будет в /usr/bin
и что решение ln -s
напрашивается. Но в debian это не сделано, в ubuntu судя по всему тоже.
Мне интересно правильнее ли будет править makefile под свою систему? Может я отстал от жизни и надо просто apt upgrade
сделать или какой особый пакет доустановить?
PS утащите в talks, если кажется, что там оно более к месту.