Почему в выводе команды free -h используются разные разделители цифр при запуске cron?

# cat /mnt/disk/proc/mounts
rootfs / rootfs rw 0 0
/dev/root / jffs2 rw 0 0
/proc /mnt/disk/proc proc rw 0 0
/sys /mnt/disk/sys sysfs rw 0 0
/dev/mmcblk0p0 /mnt/disk ext2 rw,errors=continue 0 0

umount /dev: Invalid argument

mount: mounting /dev/ on /mnt/disk/dev failed: No such file or directory

По адресу /dev не смонтирована файловая система, поэтому вы не можете ее размонтировать или переместить. Вот что означают эти сообщения об ошибках. (Возможно, busybox mount использует более общие сообщения об ошибках, чем его тяжеловесный аналог).


Если в целевом /dev/ не будет нужных вам узлов устройств, надеемся, у вас там есть MAKEDEV, который вы можете использовать.

Если вы попытаетесь скопировать их с оригинального /dev/ с помощью cp -a, есть риск, что UID не совпадут с целевыми rootfs, и, следовательно, разрешения не будут работать так, как нужно для не-root пользователей. (Менее безопасно или "настолько безопасно, что не работает").

2
06.03.2017, 03:57
2 ответа

Ваши настройки локали отличаются в вашей оболочке и в вашем cronjob. Вы можете проверить это, выполнив locale в обеих установках, и вы можете изменить настройки локали вашего cronjob, установив соответствующие переменные (LC_ALL - это молоток, если вам не нужно быть тонким; смотрите locale(7) для деталей).

6
27.01.2020, 21:52

Ответы, связанные с установкой локали, верны. Но есть и другое решение: не используйте флаг -h.

Когда вы указываете free -h (или, эквивалентно, free --human), вы запрашиваете человекочитаемый формат вывода, который не обязательно легко разбирается компьютером. Если вы используете формат вывода по умолчанию, он будет разборчивым и независимым от локали.

1
27.01.2020, 21:52

Теги

Похожие вопросы