Saltar al contenido

Actualizar un solo archivo en un tar comprimido

Solución:

Bueno, encontré la respuesta.

No puedes usar tar -u con un archivo comprimido. Entonces, la solución que utilicé fue la siguiente. Tenga en cuenta que moví el z.jar archivo a una carpeta que creé en el directorio actual llamado application/x/y para este propósito.

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

Cuando hice un tar -tf application.tar (después de la actualización, antes del gzip) se mostró correctamente.

Si el archivo que desea actualizar es un archivo de texto. Entonces puedes usar vim editor directamente para abrir el tarball que contiene el archivo y abrirlo, como abrir una carpeta usando el editor vim. Luego modifique el archivo y guárdelo y salga.

Sin embargo, si el archivo es binario. No tengo ni idea de la solución.

en mi caso, tuve que eliminar el archivo y luego agregar el nuevo archivo con los siguientes pasos:

mi archivo tar

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

y solo quería modificar / actualizar foo.json archivo sin extraer y volver a crear todo el archivo tar file.tar, Aquí están los comandos:

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

archivo comprimido:

si es un archivo comprimido, como file.tar.gz, necesitará extraer el archivo tar del archivo comprimido (en este ejemplo gzip) usando gunzip file.tar.gz que creará para ti el archivo tar file.tar. entonces podrás hacer el encima pasos.

en el fin deberías comprimir el archivo tar de nuevo usando gzip file.tar que creará para usted un archivo comprimido con el nombre file.tar.gz

subdirectorios:

para manejar subdirectorios, deberá mantener la misma estructura también en el sistema de archivos:

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.jsonfile.tar
tar -uf file.tar dir/zoo.json

ver la estructura del archivo:

usando el less comando, puede ver la estructura del archivo:

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

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *