GNU/Linux >> Belajar Linux >  >> Linux

Memperbarui satu file dalam tar terkompresi

Jika file yang ingin Anda perbarui adalah file teks. Kemudian Anda dapat menggunakan vim editor langsung untuk membuka tarball yang berisi file tersebut dan membukanya, seperti halnya membuka folder menggunakan vim editor. Kemudian ubah file dan simpan dan keluar.

Namun, jika file tersebut adalah biner. Saya tidak tahu tentang solusinya.


Yah, saya menemukan jawabannya.

Anda tidak dapat menggunakan tar -u dengan arsip zip. Jadi solusi yang saya gunakan adalah sebagai berikut. Perhatikan bahwa saya memindahkan z.jar file ke folder yang saya buat di direktori saat ini bernama application/x/y untuk tujuan ini.

gzip -d application.tar.gz
tar -uf application.tar application/x/y/z.jar
gzip application.tar

Ketika saya melakukan tar -tf application.tar (setelah pembaruan, sebelum gzip) muncul dengan benar.


dalam kasus saya, saya harus menghapus file dan kemudian menambahkan file baru dengan langkah-langkah berikut:

file tar saya

file.tar
└── foo.json
└── bar.json
└── dir
    └── zoo.json

dan saya hanya ingin memodifikasi/memperbarui foo.json file tanpa mengekstraksi dan membuat ulang seluruh file tar file.tar , Berikut perintahnya:

tar -x -f file.tar foo.json # extract only foo.json file to my current location
# now modify the file foo.json as you want ...
tar --delete -f file.tar foo.json # delete the foo.json file from the file.tar
tar -uf file.tar foo.json # add the specific file foo.json to file.tar

berkas terkompresi:

jika berupa file terkompresi, seperti file.tar.gz , Anda perlu mengekstrak file tar dari file terkompresi (dalam contoh ini gzip) dengan menggunakan gunzip file.tar.gz yang akan membuatkan Anda file tar file.tar . maka Anda akan dapat melakukan di atas langkah.

di akhir Anda harus mengompres file tar lagi dengan menggunakan gzip file.tar yang akan membuat file terkompresi untuk Anda dengan nama file.tar.gz

sub direktori:

untuk menangani sub direktori Anda harus menjaga struktur yang sama juga di sistem file:

tar -x -f file.tar dir/zoo.json
# now modify the file dir/zoo.json as you want ...
tar --delete -f file.tar dir/zoo.json
tar -uf file.tar dir/zoo.json

lihat struktur file:

dengan menggunakan less perintah, Anda dapat melihat struktur file:

less file.tar

drwxr-xr-x root/root         0 2020-10-18 11:43 foo.json
drwxr-xr-x root/root         0 2020-10-18 11:43 bar.json
drwxr-xr-x root/root         0 2020-10-18 11:43 dir/zoo.json


Linux
  1. Membuka file .tar.gz dengan satu perintah

  2. Menyalin file jarang 1TB

  3. Bagaimana cara RSYNC satu file?

  1. Cara mengekstrak file nama file.tar.gz

  2. Data terkompresi tidak valid--format dilanggar?

  3. tar -C dengan pola file wildcard

  1. Bagaimana cara mengonversi tar.bz2 ke tar.gz?

  2. ekstrak satu file dari file tgz besar

  3. Lanjutkan transfer satu file dengan rsync