glibc
имеет настраивать названную опцию --enable-kernel
это позволяет Вам указать минимальную поддерживаемую версию ядра. Когда объектные файлы связаны с этим сборка glibc, компоновщик добавляет раздел SHT_NOTE к получающемуся названному исполняемому файлу .note.ABI-tag
это включает ту минимальную версию ядра. Точный формат определяется в LSB, и file
знает для поиска того раздела и как интерпретировать его.
Причина, которой Ваш конкретный glibc был создан для требования 2.6.9, зависит от того, кто создал его. Это - то же в моей системе (хинду); в комментарии в glibc ebuild говорится, что он указывает 2.6.9, потому что это - минимум, требуемый для NPTL, таким образом, это вероятно общий выбор. Другой, который, кажется, подходит, 2.4.1, потому что это был минимум, требуемый для LinuxThreads, пакет, используемый перед NPTL
Указатель события истории !!
заменяется последней командой в Вашей истории. Bash сначала распечатывает команду, как это будет выполняться, затем выполняет его.
Пример:
$ foo
foo: command not found
$ !!
foo # command to be executed
foo: command not found # result of execution
В Вашем случае:
$ echo !
!
$ echo !!
echo echo ! # command to be executed
echo ! # result of execution
$ echo !!!
echo echo echo !! # command to be executed
echo echo !! # result of execution
Обратите внимание, что команда с указателем события не вставляется в историю, как введено. Сначала указатель события расширен, и затем команда вводится в историю. Именно поэтому в третьей команде (echo !!!
), указатель события не заменяется echo !!
(введенная вторая команда), но echo echo !
(расширенная вторая команда).
Вот последняя команда снова с замененной выделенной частью:
$ echo (!!)!
echo (echo echo !)! # command to be executed
echo echo !! # result of execution
Если Вы используете !!
то, что этим заменяет последняя команда в оболочке, таким образом, первая строка для проявления замены echo echo !
и второй является выводом echo !