Существует много вариаций в синтаксисе tar
команда. Значения по умолчанию tar GNU к чтению архива на входе stdandard и к записи архива к стандартному выводу, но многого другого значения по умолчанию версий к накопителю на магнитной ленте. Передайте f
флаг (с или без тире — я думаю, что версии BSD поддерживают любого) с аргументом -
указать на stdin или stdout.
Если Вы хотите использовать другую (de) программу сжатия, не говорить tar
сжимать, и передавать по каналу в (de) программу сжатия явно.
Для переименования файла используйте -s
опция, если Ваша версия tar
поддержки это (это подобно -s
опция pax
и к --transform
опция tar GNU).
ssh root@remote 'cd /my/path && bsdtar cf - -s '/big_file\.txt$/hello.txt/' big_file.txt | pbzip2' | pbzip2 -d | tar xf -
Если Вы только копируете единственный файл, нет никакого смысла в использовании tar, если Вы оба не хотите сохранить метаданные и хотеть использовать пользовательскую программу сжатия.
scp -C -p root@remote:/my/path/hello.txt big_file.txt
Первый - это EIINVAL (стандартная ошибка POSIX C) перевернута. Если вам любопытно, это от линии 4218 в [SRC] /druvers/usb/core/hub.chub
(v. 3.19):
4217 if (udev->state != USB_STATE_DEFAULT)
4218 return -EINVAL;
Другой из HUB_PORT_INIT ()
Функция в том же файле.
Эти виды сообщений об ошибках действительно не предназначены для обеспечения большей информации для конечных пользователей, чем то, что там («HUB не удалось включить устройство»), однако. Они используются в отладке, возможно, в том числе, если вы должны были подать сообщение об ошибке.
Если вы надеялись на документацию, которая подробно объяснит проблему, я думаю, что вы не повезли. Часть причины это, возможно, может быть не точнее, подробное объяснение, которое может быть предоставлено. Некоторые вещи могут потерпеть неудачу то же самое с диапазоном неопределенных потенциальных причин.
Происхождение кода ошибки можно найти в исходном коде рассматриваемого узла.
например, grep -A 1 -m 1 22 /usr/src/linux-source-4.3/drivers/usb/host/xhci. h
#define PORT_PLC (1 << 22)
/* port configure error change - port failed to configure its link partner */
Значение некоторых кодов ошибок вы найдете в /usr/src/linux-source-$yourKernel/Documentation/usb/error-codes.txt
например,
-EINVAL a) Invalid transfer type specified (or not supported)
b) Invalid or unsupported periodic transfer interval
c) ISO: attempted to change transfer interval
d) ISO: number_of_packets is < 0
e) various other cases
(а также) ISO-безумие, если это произойдет: Выйдите из системы и идите домой
Для 61 ошибки:... /usr/src/linux-headers-4.3.0-0.bpo.1-common/include/uapi/asm-generic/errno.h
#define ENODATA 61 /* No data available */
Программа errno
(, часть пакета moreutils
), преобразует номера ошибок в соответствующие имена:
$ errno 61
ENODATA 61 No data available