Почему Ethernet всегда работает "из коробки", а Wi-Fi не (в тех или иных случаях )?

Вы должны использовать реализацию GNU date, где это 20200101101010интерпретируется как 2020010110-10-10T00:00:00местное время.

-d— это нестандартная -опция date, поддерживаемая только несколькими реализациями и теми, где она поддерживается, если вообще нужно вводить дату (, как в GNU, busybox или ast -открыть's date; BSD dateиспользует -rи -vвместо ), это делается по-разному в разных реализациях.

ast-openи busybox dateпозволяют указать формат ввода (busybox с -D, ast -open с -p), хотя и не со смещением, насколько мне известно. Однако вы можете удалить 5 минут, преобразовав сначала в эпоху, удалить 300 секунд и преобразовать обратно в свой формат.

В июле 2019 года было предложение добавить что-то похожее на GNU date, но оно еще не выпущено (по состоянию на 2020 год -01 -21 ).

В частности, с GNU dateвы можете сначала преобразовать ввод($aaa)в формат, который он распознает, как в синтаксическом подходе @RakeshShewale ksh93.

Другим вариантом является использование оболочки zsh, которая имеет встроенную функцию анализа и форматирования временных меток -и позволяет избежать необходимости полагаться на не -переносимое поведениеdate:

zmodload zsh/datetime || exit
format=%Y%m%d%H%M%S min=60

aaa=20200101101010

strftime -r -s bbb -- "$format" "$aaa" || exit
strftime    -s bbb -- "$format" "$((bbb - 5 * min))"
print -r -- "$bbb"

Вы можете адаптировать $formatпо мере необходимости для других форматов, но обратите внимание, что не все директивы формата, поддерживаемые strftime()(, вызываются strftimeбез отметок времени -rдо формата ). strptime()(, вызванный strftime -rдля разбора временных меток ). Проверьте man 3 strftimeи man 3 strptimeв вашей системе.

0
13.03.2021, 18:06
2 ответа

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

Ethernet-адаптеры, с другой стороны, обычно не требуют такой загрузки встроенного ПО и поэтому могут использоваться как -. Есть несколько адаптеров Ethernet, для которых это не так, и их так же сложно использовать, как и адаптеры Wi-Fi.

Что касается аппаратного разнообразия, я подозреваю, что на стороне Ethernet столько же, сколько и на стороне Wi-Fi. Но адаптеры Ethernet, как правило, включают свои драйверы в ядро, в то время как некоторые адаптеры Wi-Fi полагаются на один из -из -древовидных драйверов, что еще больше усложняет ситуацию, :драйверы должны быть созданы для используемого ядра, а в безопасные загрузочные среды, подписанные поверх этого...

(Некоторые дистрибутивы делают исключения для бинарных прошивок; см., например, позицию Fedora по этому вопросу .)

3
18.03.2021, 22:25

Не существует простого и легкого ответа на вопрос, почему драйверы Ethernet более надежны в Linux, чем драйверы Wi-Fi -, но есть несколько причин.

  • Многие серверы используют карты Ethernet, а серверы Linux гораздо более распространены, чем настольные компьютеры и ноутбуки Linux. Крупные компании отказались бы покупать серверы с Ethernet-адаптерами марки А, если бы у марки А были некачественные драйверы в ядре, и марка А потеряла бы много денег.
  • Стандарты Ethernet меняются не так часто, как Wi -Fi, который постоянно добавляет новые функции безопасности и новые скорости, поэтому срок службы чипа адаптера больше, поэтому проще устранить все ошибки в драйвере. и требуется разработать меньше драйверов.
  • Ethernet-адаптеры обычно работают только с драйвером и не требуют прошивки. Разработка и обслуживание встроенного ПО — это затраты. Поскольку прошивка обычно может управлять картой Wi -Fi таким образом, чтобы нарушать соответствие нормативным требованиям (и, следовательно, закону ), она обычно является частной, и поэтому труднее делиться разработкой с открытым исходным кодом. сообщества или распространять его как дистрибутив.
1
18.03.2021, 22:25

Теги

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