Я решил эту проблему с помощью:
cd /home/foo && tar czf ~/backup.tar.gz.
Таким образом, вы не пытаетесь вводить абсолютные пути в tar-архив в первую очередь. Если вы хотите распаковать его в корень файловой системы, просто
cd / && tar xzf backupt.tar.gz
после передачи.
Хорошо, после нескольких исследований я нашел выход. Во-первых, используйте udevadm monitor
перед подключением и подключением. Вот результат:
KERNEL[126.555200] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2 (usb)
KERNEL[126.555888] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
KERNEL[126.556508] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.1 (usb)
KERNEL[126.557829] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.2 (usb)
KERNEL[126.558188] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.3 (usb)
KERNEL[126.558548] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2 (usb)
KERNEL[129.399848] add /module/snd_seq_dummy (module)
UDEV [129.406959] add /module/snd_seq_dummy (module)
UDEV [129.493966] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2 (usb)
UDEV [129.501782] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.2 (usb)
UDEV [129.505609] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.3 (usb)
KERNEL[129.508606] add /module/snd_rawmidi (module)
UDEV [129.510396] add /module/snd_rawmidi (module)
KERNEL[129.513459] add /module/snd_usbmidi_lib (module)
UDEV [129.515605] add /module/snd_usbmidi_lib (module)
KERNEL[129.516631] add /module/snd_hwdep (module)
UDEV [129.518617] add /module/snd_hwdep (module)
KERNEL[129.535977] add /module/snd_usb_audio (module)
UDEV [129.537881] add /module/snd_usb_audio (module)
KERNEL[129.538452] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.1 (usb)
KERNEL[129.538547] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1 (sound)
KERNEL[129.539135] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/midiC1D0 (sound)
KERNEL[129.539260] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/seq-midi-1-0 (snd_seq)
KERNEL[129.539985] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/controlC1 (sound)
KERNEL[129.541172] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
UDEV [129.541345] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.1 (usb)
KERNEL[129.541428] add /bus/usb/drivers/snd-usb-audio (drivers)
UDEV [129.542776] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
UDEV [129.542917] add /bus/usb/drivers/snd-usb-audio (drivers)
KERNEL[129.549489] add /module/snd_seq_midi_event (module)
UDEV [129.551648] add /module/snd_seq_midi_event (module)
KERNEL[129.552118] add /module/snd_seq_midi (module)
KERNEL[129.552213] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/seq-midi-1-0 (snd_seq)
KERNEL[129.552288] add /bus/snd_seq/drivers/snd_seq_midi (drivers)
UDEV [129.554430] add /module/snd_seq_midi (module)
UDEV [129.554572] add /bus/snd_seq/drivers/snd_seq_midi (drivers)
UDEV [129.561871] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2 (usb)
UDEV [129.564936] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.1 (usb)
UDEV [129.566125] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1 (sound)
UDEV [129.568261] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/seq-midi-1-0 (snd_seq)
UDEV [129.570243] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/midiC1D0 (sound)
KERNEL[129.573057] change /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1 (sound)
UDEV [129.607147] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/controlC1 (sound)
UDEV [129.609881] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
UDEV [129.611644] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/seq-midi-1-0 (snd_seq)
UDEV [129.618931] change /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1 (sound)
Заметив последнюю строку UDEV [129.611644] bind /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/seq-midi-1-0 (snd_seq)
, я подключил MIDI-клавиатуру USB и сделал:
devadm info -a /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2\:1.0/sound/card1/seq-midi-1-0/> /tmp/udev`
Среди выходов есть в первых строках:
looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1/seq-midi-1-0':
KERNEL=="seq-midi-1-0"
SUBSYSTEM=="snd_seq"
DRIVER=="snd_seq_midi"
looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card1':
KERNELS=="card1"
SUBSYSTEMS=="sound"
DRIVERS==""
ATTRS{number}=="1"
ATTRS{id}=="Impulse"
looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0':
KERNELS=="1-1.2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="snd-usb-audio"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{bInterfaceSubClass}=="01"
ATTRS{interface}=="Novation Impulse"
ATTRS{bInterfaceNumber}=="00"
ATTRS{supports_autosuspend}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{authorized}=="1"
ATTRS{bNumEndpoints}=="00"
ATTRS{bInterfaceClass}=="01"
Интересная информация: SUBSYSTEM
и DRIVERS
. Поэтому я изменил правило udev на:
ACTION=="bind", SUBSYSTEM=="snd_seq", DRIVERS=="snd-usb-audio", RUN+="/bin/su -c /home/pi/piano_connect - pi"
ACTION=="remove", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1235", ATTRS{idProduct}=="001a", RUN+="/usr/bin/aconnect -x"
Здесь я изменил ДЕЙСТВИЕ на «привязать» из-за первой команды(udevadm monitor
)и сопоставил с SUBSYSTEM
и DRIVERS
вместо идентификаторов продукта. И это работает как шарм! Надеюсь, это помогло.:)