Perché un aggiornamento del sistema richiede così tanto tempo se ci sono file in "/ usr / local"?

1

Il mio recente upgrade a Yosemite (da Mavericks) è durato circa 6 ore, quasi tutto il tempo impiegato per elaborare il contenuto di /usr/local (ad es. TeX, ecc.).

Che cosa sta facendo il processo di aggiornamento con questi file che impiegano così tanto tempo? Posso accelerare gli aggiornamenti futuri semplicemente eseguendo il backup di questi file, cancellando la directory e copiandoli manualmente dopo l'aggiornamento, oppure il processo di aggiornamento sta facendo qualcosa di critico con loro?

    
posta orome 22.10.2014 - 03:07
fonte

1 risposta

1

Il problema si verifica solo se hai molti di file in /usr/local - alcune centinaia di file non sono un problema. Devono essere molte migliaia di file. Il motivo, secondo a questo post , è:

Part of the upgrade involves moving /usr/local out of the way. The process of moving those files back after the upgrade is done one file at a time and seems very slow.

Continua a raccomandare di rimuovere qualsiasi cosa dalle installazioni di Homebrew che non è attualmente necessaria con la coppia di comandi brew remove; brew cleanup . Puoi anche spostarlo, temporaneamente, nominandolo qualcosa come /usr/local.mine e quindi spostarlo indietro dopo l'aggiornamento, anche se questo può rendere leggermente problematico il lavoro con il tuo Mac se, ad esempio, hai cambiato la shell predefinita per la tua account per essere il zsh fornito da Homebrew o qualcosa del genere.

Personalmente ho deciso di ripulire le mie installazioni Homebrew. Ho anche rimosso completamente tutti i daemon installati in Homebrew (MySQL, PostgreSQL e Redis) e li ho chiusi. Sono abbastanza facili da tornare dopo aver completato l'installazione. Alla fine ho avuto solo una manciata di pacchetti Homebrew installati che erano molto essenziali per me e il tempo di installazione non era poi così male - circa 2 ore su un vecchio iMac.

Ovviamente puoi anche cancellare tutto e ricominciare da capo. Prima salva tutto ciò che hai installato:

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

E ora rimuovili tutti con:

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

E per reinstallare le cose dopo l'aggiornamento:

cat ~/my-brew-packages.txt | xargs brew install
    
risposta data 22.10.2014 - 03:45
fonte

Leggi altre domande sui tag