Saya menggunakan tar -xvf
perintah dan sedang mengambil jalur eksplisit. Namun, jalannya penuh.
Contoh:
tar -xvf 13.2.tar
Itu mengambil jalur /mnt
folder. The /
folder penuh.
Bagaimana saya bisa tar file dengan jalur implisit?
Saya menggunakan tar -xvf
perintah dan sedang mengambil jalur eksplisit. Namun, jalannya penuh.
Contoh:
tar -xvf 13.2.tar
Itu mengambil jalur /mnt
folder. The /
folder penuh.
Bagaimana saya bisa tar file dengan jalur implisit?
Jawaban:
Biasanya tar
memerlukan opsi --absolute-names
atau --absolute-paths
untuk mempertahankan bagian root '/'
saat membuat arsip. Bahkan jika Anda memaksanya dengan cara itu, ekstrak juga melewatkan yang terdepan '/'
.
Namun, jika Anda memiliki arsip dengan pemimpin '/'
dan Anda tidak melewatkannya saat mengekstraksi, jawaban NoahD harus bekerja dalam formulir ini,
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
Saya pikir pax
tidak menangani file terkompresi, jadi Anda harus mem-pipe setelah di-decompress pax
.
Itu akan seperti ini (dengan asumsi Anda memiliki arsip yang di-gzip)
gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v
Saya menemukan halaman wiki ini di Google sekarang.
Perbedaan antara menggunakan kanonik (alias eksplisit) dan relatif (apa yang Anda sebut implisit) adalah apakah Anda menggunakan a /
di awal.
Misalnya, jika direktori kerja saat ini adalah /usr/home/bob
, perintah berikut memiliki efek yang persis sama
tar -xvf foo.tar * tar -xvf ./foo.tar * tar -xvf ./foo.tar ./* tar -xvf /usr/home/bob/foo.tar * tar -xvf / usr/home/bob/foo.tar ./* tar -xvf / usr/home/bob/foo.tar / usr / home / bob / *
Tapi saya curiga ini bukan pertanyaan Anda. Sepertinya Anda perlu menentukan penggunaan disk, dan mencari direktori yang tidak lengkap. Ini bisa dilakukan dengan df
perintah.
df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig
Dan Anda dapat menggunakan mount
untuk menunjukkan kepada Anda sistem file apa yang dipasang pada perangkat apa.
Untuk membuat file tar dengan jalur relatif,
cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir
Untuk membongkar tar ke direktori tertentu selain dari direktori kerja saat ini, gunakan sakelar -C (huruf besar C).
Jika Anda ingin menghapus file dengan nama path absolut di dalamnya ke titik selain root, Anda mungkin perlu mengacaukannya chroot(1)
.