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.