Debian 8 не использует последнее ядро ​​

sort "$f1"

не работает для значений $f1, которые начинаются с -или здесь, для случая sort, некоторые из которых начинаются с +(, могут иметь серьезные последствия для файла с именем -o/etc/passwd, например ).

sort -- "$f1"

(где --сигнализирует об окончании опций )устраняет большинство этих проблем, но по-прежнему не работает для файла с именем -(, который sortвместо этого интерпретирует значение своего стандартного ввода ).

sort < "$f1"

Нет таких проблем.

Здесь оболочка открывает файл. Это также означает, что если файл не может быть открыт, вы также получите потенциально более полезное сообщение об ошибке (, например, большинство оболочек укажут номер строки в сценарии ), а сообщение об ошибке будет последовательным, если вы используете перенаправления, где это возможно, для открытия файлов.

И в

sort < "$f1" > out

(в отличие от sort -- "$f1" > out), если "$f1"не может быть открыт, outне будет создан/усечен и sortдаже не будет запущен.

Чтобы устранить некоторую возможную путаницу (после комментариев ниже ), это не мешает команде mmap()открывать файл или lseek()проникать внутрь него (, а не то, что sortделает либо )при условии, что сам файл доступен для поиска. Единственное отличие состоит в том, что файл открывается раньше и с файловым дескриптором 0 оболочкой, а не позже командой, возможно, с другим файловым дескриптором. Команда по-прежнему может искать/ммапить этот fd 0 по своему усмотрению. Это не следует путать с cat file | cmd, где на этот раз cmdstdin является конвейером, который нельзя преобразовать/поискать.

1
18.08.2020, 14:50
2 ответа

Просматривая содержимое /boot, вы можете увидеть, какой загрузчик используется, а затем настроить его для загрузки нужного вам ядра.

2
18.03.2021, 23:11

Используемое ядро ​​зависит исключительно от вашего загрузчика. Выяснил что это такое и настроил на загрузку нужной версии ядра.

1
18.03.2021, 23:11

Теги

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