Похоже, вы пытаетесь извлечь содержимое tar-шара в каталог /media/asd/LinuxABC/
?
Если это так, вы должны использовать tar вот так:
/Downloads$ sudo tar -C /media/asd/LinuxABC/ -xvzf elasticsearch-7.5.1-linux-x86_64.tar.gz
В приведенной выше команде -C
указывает tar перейти в каталог. Затем -xvzf
указывает tar извлечь указанный файл.
Команда, которую вы использовали, указывает tar
искать файл/media/asd/LinuxABC
внутри tar-шара и извлекать его.
Также переключатель t
отображает содержимое tar ball без извлечения. Если вы пытаетесь извлечь tar-шар вместо вывода его содержимого, вам не следует использовать этот переключатель.
Вы должны использовать переключатель x
вместо t
.
Or should I expect a patch to only apply if the number of leading directories is the same for the +++ and ---?
Да, man patch
упоминает, что:
If the recipient is supposed to use the -pN option, do not send output
that looks like this:
diff -Naur v2.0.29/prog/README prog/README
--- v2.0.29/prog/README Mon Mar 10 15:13:12 1997
+++ prog/README Mon Mar 17 14:58:22 1997
because the two file names have different numbers of slashes, and dif‐
ferent versions of patch interpret the file names differently. To
avoid confusion, send output that looks like this instead:
diff -Naur v2.0.29/prog/README v2.0.30/prog/README
--- v2.0.29/prog/README Mon Mar 10 15:13:12 1997
+++ v2.0.30/prog/README Mon Mar 17 14:58:22 1997
Здесь вы можете нормализовать патч и применить его вот так:
sed 's,--- /home/user/foo/,--- /data/myproj/project/version/foo/,' orig.patch | patch <other_patch_options>