Если я следующую команду на мой исполняемый файл под названием «версия», составленную на Fedora Core 11, я получаю этот выходЧто такое поле номера версии в выводе команды Linux File
версию файла
версия: ELF 32-битный LSB исполняемым, Intel 80386, версия 1 (SYSV), динамически связаны (использует общие LIBS), для GNU/Linux 2.6.18, не раздели
Что значение 2.6 .18 номер к концу, и это любое использование в этом отличая клиентов, какую версию какого-то программного обеспечения они должны скачать?
Из того, что я смотрел до сих пор, это число, безусловно, не
- Версия ядра
- Libc версия
- Все, что делать с lsb_release
I 'd хотел бы получить простой идентификатор, чтобы позволить клиентам узнать, какую двоичную версию они должны скачать, что они в идеале должны были бы идентифицировать, набрав команду (например, uname -a, хотя это очевидно а не в этом случае).
Благодаря
Благодарности - так эффективна, минимальную версию ядра, которая имеет бинарную совместимость с исполняемым файлом? Сначала я отказался от версии ядра, поскольку программа для пользовательского пространства «зависит» (например, вывод ldd) на libc.so, но я вижу ссылку там. –
Можно так сказать. Реальная правда немного более тонкая: не каждая версия ядра приносит новые syscalls, а в обычных программах вы используете обходчики syscall из libc. Таким образом, цифры не жестко закодированы в самой программе, а в libc. Но если ядро придумало новый syscall, ваша программа зависит от него, вы не сможете выполнить эту программу на более старом ядре ... –
Да - это то, о чем я думал - в качестве пользовательской программы мне все равно, Ядро - только libc. Но, конечно же, libc должен заботиться о ядре, поскольку он мостирует пространство пользователя с ядром.Итак, действительно, число - это версия ядра, с которой был скомпилирован libc, который исходит от поставщика (Fedora в этом случае). Спасибо за ваше время –