¿Por qué una actualización del sistema tarda tanto si hay archivos en '/ usr / local'?

1

Mi reciente actualización a Yosemite (de Mavericks) tomó aproximadamente 6 horas, casi todo el cual se usó para procesar el contenido de /usr/local (por ejemplo, TeX, etc.).

¿Qué está haciendo el proceso de actualización con estos archivos que lleva tanto tiempo? ¿Podría acelerar futuras actualizaciones simplemente haciendo una copia de seguridad de estos archivos, borrando el directorio y copiándolos manualmente después de la actualización, o el proceso de actualización está haciendo algo crítico con ellos?

    
pregunta orome 22.10.2014 - 03:07

1 respuesta

1

El problema solo es grave si tiene mucho de archivos en /usr/local ; unos cientos de archivos no son un problema. Tiene que haber muchos miles de archivos. La razón, según a esta publicación , es:

  

Parte de la actualización implica mover / usr / local fuera del camino. El proceso de volver a mover esos archivos después de la actualización se realiza un archivo a la vez y parece muy lento.

Continúa recomendando eliminar cualquier elemento de sus instalaciones de Homebrew que no sea necesario actualmente con el par de comandos brew remove; brew cleanup . También puede dejarlo de lado, temporalmente, nombrarlo como /usr/local.mine y luego devolverlo después de la actualización, aunque esto puede hacer que trabajar con su Mac sea un poco problemático si, por ejemplo, ha cambiado su shell predeterminado para su la cuenta será el zsh proporcionado por Homebrew o algo por el estilo.

Personalmente opté por limpiar mis instalaciones de Homebrew. También eliminé completamente los demonios instalados en Homebrew (MySQL, PostgreSQL y Redis) y los apagué. Son fáciles de recuperar una vez finalizada la instalación. Al final, solo tenía un puñado de paquetes Homebrew instalados que eran muy importantes para mí y el tiempo de instalación no era tan malo, aproximadamente 2 horas en un viejo iMac.

Por supuesto, también puedes borrar todo y comenzar de nuevo. Primero guarda todo lo que tienes instalado:

brew list | sed s/\s+/\n/g | tee my-brew-packages.txt

Y ahora elimínalos todos con:

cat ~/my-brew-packages.txt | xargs brew remove --force
brew cleanup --force

Y para volver a instalar las cosas después de que hayas actualizado:

cat ~/my-brew-packages.txt | xargs brew install
    
respondido por el Ian C. 22.10.2014 - 03:45

Lea otras preguntas en las etiquetas