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?

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.


Itu berhasil!
Thom Smith

0

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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.