¿Supongo que utilizas Windows? ¿Podría utilizar comillas dobles en lugar de simples?
curl -u admin:geoserver -v -XPUT -H "Content-type: application/zip" \
--data-binary @C:/x/test_data/localfile.zip \
http://localhost:8081/geoserver/rest/workspaces/test_VN/datastores/maisum/file.shp
Creo que el problema es que Windows está ignorando el tipo de contenido, ya que está encerrado entre comillas simples. Por lo tanto, Geoserver no trata el archivo como zip. Desde el Documentación del intérprete de comandos de Windows :
... cualquier argumento que contenga espacios o comience o termine con espacios debe ir entre comillas dobles. Esto es especialmente importante cuando se utilizan nombres largos de archivos y directorios, que con frecuencia contienen uno o más espacios. Si un argumento entre comillas dobles contiene un carácter de comilla doble, la comilla doble debe duplicarse. Por ejemplo, introduzca el argumento "entre comillas" como """entre comillas"" Argumento
~~
Encontré esto en el Lista de correo de Geoserver .
A veces después de repetidas subidas fallidas algunos archivos pueden li en el servidor que causan problemas. Vaya a su GEOSERVER_DATA_DIRECTORY y elimine cualquier archivo persistente del directorio "data". A continuación, inténtelo de nuevo.
Esperemos que esto ayude a resolver tu problema.
~~