Arsip tar tidak akan dibuka - “Path berisi '..'”

8

Nama file 2014-12-12 04-00-01.tar. Saya menjalankan perintah:

tar xvf 2014-12-12\ 04-00-01.tar

Outputnya adalah banyak garis bentuk:

x ../server/: Path contains '..'

Dan kemudian beberapa bentuk:

tar: copyfile unpack (../server/logs/.DS_Store) failed: No such file or directory

Tampaknya saya tidak terlalu berhati-hati ketika menulis skrip cadangan. Bagaimana saya bisa membongkar file?

Thom Smith
sumber

Jawaban:

11

Anda ingin menambahkan bendera P(atau -P) ke baris perintah Anda. Dari halaman manual:

-P Pertahankan nama path. Secara default , nama path absolut (yang dimulai dengan karakter / memiliki slash utama dihapus baik saat membuat arsip dan mengekstraksi dari mereka. Juga, tar akan menolak untuk mengekstraksi entri arsip yang berisi nama pathnya .. atau yang direktori targetnya akan diubah oleh sebuah symlink. Opsi ini menekan perilaku ini.

Coba tar Pxvf 2014-12-12\ 04-00-01.tar. Perhatikan bahwa Anda akan memerlukan akses tulis ke direktori induk dari direktori yang berfungsi di mana Anda menjalankan perintah.

Zackse
sumber
Itu berhasil!
Thom Smith
0

Kamu bisa mencoba:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir

LDC3
sumber
tar: could not chdir to '--./dir'
Thom Smith
Aneh. Coba tar xvf 2014-12-12\ 04-00-01.tar -C --dirsaja.
LDC3
Apa arti dari tanda hubung ganda?
Xen2050
Ada dalam file man, saya pikir itu menunjukkan bahwa huruf-huruf yang mengikuti adalah bagian dari perintah karena Anda dapat memilikitar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3