Может ли кто-нибудь указать на список видимых изменений API в ядре Linux для каждой версии?
И список, в каких дистрибутивах используется каждая из этих функций API?
Таким образом, мы можем сказать, будет ли данный дистрибутив работать на данном ядре хоста, без месяцев тщательного тестирования для выявления редких сбоев.
Например, мы хотим попробовать Fedora 32 внутри контейнера, на хосте, ядро которого составляет 3,10. Это будет работать? Этот список должен дать быстрый способ проверить.
Другими словами, дистрибутив Fedora 32 был написан в контексте ядра 5.4. Это означает, что есть большая вероятность, что некоторые из двоичных файлов в дистрибутиве Fedora 32 зависят от хотя бы одного из изменений API, которые были сделаны между ядром 3.10 и ядром 5.4. Но потребуется много тестов, чтобы определить, что ломается. Такой список будет большим подспорьем.
Спасибо.
PS Здесь обсуждаются изменения в API ядра с течением времени с сайта RedHat: https://www.redhat.com/en/blog/architecting-containers-part-1-why-understanding-user-space-vs-kernel-space-matters
docker run -t -i rhel6-base man syscalls
SYSCALLS(2) Linux Programmer’s Manual SYSCALLS(2)
NAME
syscalls - Linux system calls
SYNOPSIS
Linux system calls.
DESCRIPTION
The system call is the fundamental interface between an application and the kernel.
System call Kernel Notes
------------------------------------------------------------------------------
_llseek(2) 1.2
_newselect(2)
_sysctl(2)
accept(2)
accept4(2) 2.6.28
access(2)
acct(2)
add_key(2) 2.6.11
adjtimex(2)
afs_syscall(2) Not implemented
alarm(2)
alloc_hugepages(2) 2.5.36 Removed in 2.5.44
bdflush(2) Deprecated (does nothing) since 2.6
bind(2)
break(2) Not implemented
brk(2)
cacheflush(2) 1.2 Not on i386
Обратите внимание на страницу руководства, что некоторые системные вызовы были добавлены и удалены в разных версиях ядра. Время от времени добавляются новые системные вызовы, а старые системные вызовы не рекомендуются; это следует учитывать, думая о жизненном цикле вашей контейнерной инфраструктуры и приложений, которые будут в ней работать.