rsync "Operación no permitida"


9

Estoy tratando de hacer una simple rsync a un disco duro USB, el comando es

rsync -az --modify-window=2 /home /mnt/exthd/tmp/

Estoy ejecutando esto como root.

pero recibo muchos errores que parecen estar relacionados con permisos insuficientes:

rsync: chown "/mnt/exthd/tmp/home/someuser" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_logout" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_profile" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bashrc" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bash_logout" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bash_profile" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bashrc" failed: Operation not permitted (1)
rsync: symlink "/mnt/exthd/tmp/home/guest/fred2" -> "fred" failed: Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1042) [sender=3.0.7]

Esta es la versión 3.0.7. He intentado usar la opción --super sin ningún efecto. ¿Algunas ideas?


¿Cuál es el sistema de archivos en el disco USB?
Caleb

¿El disco externo está formateado como FAT (32)? Eso no funcionaría ya que FAT no conoce los atributos de propiedad del archivo.
Sven

@Caleb Supongo que es FAT, aunque ¿cómo lo digo?
Tim el encantador

Correr mount | grep /mnt/exthddebería decirte.
Caleb

@Caleb se dice vfat
Tim the Enchanter

Respuestas:


14

El sistema de archivos FAT (que el montaje de Linux llama vfat) no puede almacenar algunos de los datos de permiso y propiedad que se almacenan sobre sus archivos en el lado de Linux.

Sus opciones parecen ser:

  • Formatee el disco con ext3 / 4 o algún otro sistema de archivos que admita estos atributos. Creo que incluso NTFS haría el trabajo si está compartiendo con Windows.
  • Almacene esas propiedades adicionales usando la --fake-superopción para que rsync escriba xattrs en el archivo en lugar de usar los atributos del sistema de archivos
  • Ignore el error, esas propiedades simplemente se perderán.
  • Envuelva su conjunto de datos en un archivo tar y coloque el archivo tar en el sistema FAT. Todos los atributos se mantienen y estarán presentes si alguna vez lo extrae.

--fake-super tampoco funciona, aunque el error cambia de Operación no permitida (1) a Operación no admitida (95)
Tim the Enchanter

Hm. Puede usar --no-ownerpara no intentar configurar el propietario para que coincida. (FAT no tiene propiedad del propietario) y posible --no-permstambién.
Caleb

gracias por su ayuda, realmente bueno, todavía no funciona aunque el error ha cambiado nuevamente, cada línea de error ahora tiene rsync: failed to write xattr user.rsync.%statal principio.
Tim el encantador

3

Rsync está intentando una operación (chown y enlace simbólico) que el sistema de archivos no permite o no puede realizar. Supongo que su HD externo tiene un sistema de archivos FAT.

Si desea hacer una copia de seguridad adecuada, es posible que desee utilizar tar.


1
O un sistema de archivos decente.
womble

FAT es más como un repositorio de archivos, no un sistema de archivos. :-)
Janne Pikkarainen

Personalmente, odio rsync. He visto demasiados errores de diferentes tipos cuando lo uso para copiar archivos y directorios de mi MAC a un recurso compartido de red en mi enrutador que usa el sistema de archivos NFS. También tuve que volver a formatear esa unidad varias veces porque rsync creó archivos que estaban bloqueados y no podían eliminarse. La razón por la que seguí intentando usar rsync vs cp fue porque admite filtros de exclusión y se supone que es más rápido. Al final, escribí un par de clases Java muy simples: Copy.java y CopyJob.java, que es un Runnable para admitir subprocesos múltiples y soporte adicional para filtros ... :)
jrobertsz66
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.