Ядра CentOS/RHEL 5 — это не просто vanilla 2.6.18; они содержат бесчисленное количество бэкпортов функций и исправлений ошибок из более новых ядер. Они привязаны к определенному номеру версии ядра для обеспечения совместимости с ABI.
Конечно, вы можете загрузить и собрать более новое ядро 2.6 , но в нем будут отсутствовать все дополнительные функции, поставляемые с ядром CentOS/RHEL, что может вызвать другие проблемы совместимости с остальной частью системы.
Предлагаю следующее:
В конце концов, @steve прав. CentOS 5 — это EOL, и правильный путь вперед — это обновление. Если ядро 2.6.18 -419 не содержит исправлений ошибок, о которых вы беспокоитесь, я утверждаю, что то, что вас просят сделать, неразумно.
printf
ksh93 понимает ваш формат ввода, поэтому вы можете использовать:
end=$(printf '%(%s)T' "2019.09.02 06:43:34")
start=$(printf '%(%s)T' "2019.09.02 06:40:28")
printf '%d\n' "$((1567421014-1567420828))"
или в более общем виде:
seconds=$(printf '%(%s)T' "$date $time")
Преобразование разницы в секундах в чч :мм :сс:
printf '%d hours, %d minutes, and %d seconds\n' "$((diff / 3600))" "$(( (diff % 3600) / 60))" "$((diff % 60))"