5 ms·
Noone I know does this.
by gt2 9y ago
Noone I know does this.
- gmac 9y agoMy understanding was that recent versions of Mac OS have an upgrade process that works a bit like this anyway — i.e., behind the scenes it's doing a fresh install, then copying your files back across. But I could be wrong.
- falsedan 9y ago> behind the scenes it's doing a fresh install, then copying your files back across Are you thinking of the reformatting to APFS? That's kind of done like this. Aside from this, the OS upgrade is the same as it always is: install the new system-level packages over the existing files & reboot.
- pohl 9y agoThe migration from HFS to APFS does not move your files at all. It leaves the files exactly where they are on the disk. Instead of moving the files, it writes new the new APFS metadata onto unused areas of your disk. When it's done with that, it changes the superblock header to point to the new APFS metadata. Then it marks the old HFS metadata as blank space. Your files are not moved or copied. By doing it this way, they make the dangerous part of the process as small as possible. They actually did a dry-run to collect success/failure metrics before APFS was released to iOS devices: https://www.macobserver.com/analysis/apple-dry-run-apfs-prior-ios-10-3/ https://www.macobserver.com/analysis/apple-dry-run-apfs-prio...
- falsedan 9y ago> Your files are not moved or copied. :extremely pedantic voice: ITYM your data is not moved. Your inodes are. :normal voice: thank you for taking the time to explain clearly this in more detail.
- coldtea 9y agoI do this every 1-2 major OS releases. Copying from backup gives you a cool total defrag for system and user files, and cleans up all the BS that has accumulated (config files, stuff no longer need, use, etc). I have a script that installs all my settings, brew packages, etc, even App Store apps, from external backup disk -- I'm up and running in 2-3 hours after the base install.
- tushar-r 9y agoAny chance you have this script on GitHub/somewhere public?
- memco 9y agoYou can take a look at mine: https://github.com/memco/dotfiles https://github.com/memco/dotfiles. A number of other people have theirs online as well. Review default preferences and the brewfile before you run install.sh. Not updated for 10.13 yet, but most of it should remain unchanged. Having your config setup this way will save you a lot of hassle if you do find yourself having to rebuild your system. Took me about a week after having to rebuild the first time it happened and now I know it won't take more than a few hours at worst.
- tushar-r 9y agoThanks!
- coldtea 9y agoI don't have it polished enough for that, but the gist (no pun intended) is: I keep all my documents in a single folder called ~/AAA (so it lists on top) with subfolders like /WORK, /PHOTOS /CODE (e.g. /CODE/GO), /MUSIC etc, so I can just rsync that and be totally backuped. Inside ~/AAA I also have a folder called SYSTEM_FILES, where I keep stuff like bashrc, vim directory etc. My ~/.bashrc etc are just symlinks to ~/AAA/SYSTEM_FILES/bashrc. So I start with a script that rsyncs the AAA folder from the backup disk to ~ on the Mac, and then creates the appropriate symlinks for .bashrc, .vimrc etc. Now all my documents are on my Mac and I have a working shell. Then the script does: # install brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # a number of brew related installs brew install rsync brew install mercurial brew install watchman brew install binutils .. # some brew-driven font installs brew tap caskroom/fonts brew cask install font-roboto-mono .. # install various linter-related stuff for my ST3 brew install -g node sudo npm install -g eslint sudo npm install -g eslint-plugin-import sudo npm install -g eslint-plugin-react sudo npm install -g babel-eslint pip install flake8 pip install requests .. # install various big packages from casks brew cask install vagrant # install mas -- a mac app store cli client brew install mas # use a wrapper script that extracts mas ids from the apps I want ~/mas_install.py Pixelmator ~/mas_install.py Skitch ~/mas_install.py Evernote ... # use a shell script to copy .bashrc and co # create symbolic links etc ~/prepare_environment.sh # configure the Mac with various "defaults" options defaults write NSGlobalDomain AppleShowAllExtensions -bool false ... # finally the script sets up Mail.app, copies my Sublime Text packages to the ~/Library/Application Support etc.
- davidcollantes 9y agoEveryone I know does. I do install afresh each time.