Это зависит: этот вопрос получит различные мнения. Мой опыт показывает, что следование тестированию Debian требует частого вмешательства, чтобы обновления не были заблокированы. Также (нередко) случаются поломки из-за обновлений, включая постоянные проблемы с NFS и обновлениями ядра.
В целом, обновления системы работают лучше, когда у вас есть время на восстановление после случайных сбоев.
Частичный ответ:
Уровень ядра input
представляет собой абстракцию для всех возможных устройств ввода посредством всех возможных транспортных технологий. Клавиатуры PS/2, мыши с последовательным интерфейсом, USB-клавиатуры, кнопки USB-камеры и т. д. — все они в конечном итоге отображаются как устройства ввода. События на этих устройствах доступны через /dev/input/event*
, и вы можете использовать evtest
, чтобы показать их. Добавьте слой поверх этого (, например, X через evdev
или Wayland через libinput
), затем выберите эти события и сделайте их доступными для (графических приложений ).
На другой стороне иерархии большинство этих устройств также имеют файлы устройств, связанные с конкретным транспортом. Важным классом является HID (= Human Interface Device ), это устройства (часто USB ), которые поставляются со стандартизированным дескриптором («дескриптор HID» )для возможностей устройства. Таким образом, само устройство сообщает ядру, является ли оно клавиатурой, мышью, джойстиком и т. д.; какие клавиши или события движения он генерирует, в какой-то степени как его можно настроить и т. д.
HID-устройства также всегда получают /dev/hidraw*
файл, в котором при необходимости можно прочитать необработанное HID-событие (). Обычно, если ядро может понять дескриптор HID, эти события обрабатываются ядром, а затем становятся доступными как события входного уровня -.
Итак, вам нужно читать такие записи системного журнала:
input: Yubico YubiKey OTP+FIDO+CCID as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:1050:0407.006A/input/input93
hid-generic 0003:1050:0407.006A: input,hidraw0: USB HID v1.10 Keyboard [Yubico YubiKey OTP+FIDO+CCID] on usb-0000:00:14.0-1/input0
"Есть интерфейс USB HID класса клавиатура. Ядро понимает этот класс,он получит файл устройства hidraw0
и файл устройства /dev/input/eventX
(, вероятно, X=93 ). Модуль ядра hid-generic
обнаружил это и вызвал input
уровень ядра."
hid-generic 0003:1050:0407.006B: hiddev0,hidraw1: USB HID v1.10 Device [Yubico YubiKey OTP+FIDO+CCID] on usb-0000:00:14.0-1/input
«Существует интерфейс USB HID с классом, который не понимается ядром. Поскольку его нельзя перенаправить на входной уровень, он получит hiddev0
файл устройства для общих событий HID, а также получить файл устройства hidraw1
для необработанных событий HID. Модуль hid-generic
обнаружил это».
Таким образом, в зависимости от того, как вы считаете, у вас есть не три, а два интерфейса HID, каждый с двумя связанными файлами устройств, всего четыре файла устройств, из которых автоматически используется только файл устройства входного -слоя.
Что касается , почему Юбикей делает это именно так, знает только Юбикей. Разумно предположить, что они предоставляют один общий интерфейс, который может быть использован любой ОС (, HID клавиатуры )и один интерфейс для специальной настройки Yubikey, который будет понят только специальным программным обеспечением Yubikey -.