Moving to a New Mac: What’s Left to Do After Migration?

I have just moved from my trusty old Mac Pro 5,1 (nearly 10 years old) to a shiny new 2020 iMac. My biggest concern was getting Office 2011 to install within Parallels (as detailed in another thread), but it’s now working. My biggest problem turned out to be getting everything upgraded from 10.12 Sierra to 10.15 Catalina; permissions seemed to be the biggest stumbling block. I had to resort for the first time ever to engaging a Mac consultant to iron out everything for me; Migration Assistant transferred everything across, but any hope of getting the new iMac to work were dashed by multiple and continuous error messages about permissions and iCloud.
It’s all working now. I suspect that the there were two main impediments; one was the new T2 chip’s insistence on ensuring that everything was ridgey-didge (as it should), but the other was Little Snitch, which effectively blocked all access to the Internet. I still have it turned off as I wait for Objective Development to get back to me with a diagnosis.

1 Like

I have a folder named dotfiles/ in iCloud Drive which contains all the dot files supposed to be in your home directory. I then make a symbolic link for each of them to my home directory. And magically all my dot files are in the cloud and in my home directory, syncing across devices etc…
–e.

1 Like

I’m surprised you could do that. I had a dotfiles directory in Dropbox with a shell script to create the symbolic links in my $HOME directory. But, I knew where that Dropbox folder lived ($HOME/Dropbox), so it was easy to make the symbolic links. I’m not 100% sure where my iCloud directory lives, and it’s format. I know Pathfinder had difficulties with the iCloud directory, and is one of the reasons I stopped using it.

I would never ever use Dropbox and iCloud for my data. As tertiary place for saving data that I don’t really need. But not as primary storage.

Both Dropbox and iCloud are way too slow for larger files. They tend to not do well with files that don’t conform to open, edit, save. For instance, for my development software there is warning against using Dropbox. I had a customer whose database was eaten by iCloud.

The last time I checked Dropbox supported a really old unicode version (1999/2000ish). If you have files with odd filenames (my app can write files with emojis from emails subjects) then the files aren’t uploaded.

After BS killed my old laptop I had to reinstall many apps. No, I don’t like using the castrated stuff from the AppStore. And the incident told me - again - that I need at least 2 backups. Somehow, the backup from Acronis did run, but it didn’t save any files. I was told that this was “unusual”. Sigh…

That can be risky, but I assume you’re only doing this for the dotfiles that you have hand-edited (e.g. .profile, .chsrc, .emacs, etc.)

If you try to sync files that are auto-generated by apps, then that could create problems. Especially if the content is machine-specific. Fortunately, there are not many such files on a Mac (unlike a Linux system, where there are quite a lot).

A post was merged into an existing topic: Catalina, I wish I’d never installed it

I like using GNU Stow for that. The file structure is a little tricky to get right, but you can just run a single command and set up the link.

Did you use the migration feature in Setup Assistant too? I’m intrigued that some people have so much data in iCloud/Dropbox/whatever that it doesn’t seem necessary to use Setup Assistant’s migration when moving to a new Mac. I’d think there would be so much stuff in ~/Library, for instance, that it would be worth migrating no matter what.

Oh, good point. One thing I didn’t mention is that I’m keeping the old iMac (it’s running Big Sur beta at the moment) so I didn’t need to deauthorize anything. If I’d been getting rid of it, that would definitely have been an issue.

Let’s keep this on the topic of post-migration tasks for a new Mac.

Yes, you’re right. You do it only for your dot files.
–e.

It’s easy: you can open a Finder window on the iCloud dotfile/ folder, and then you drag the folder icon to the terminal. magically, this giges you the exact unix path to the folder.
–e.

1 Like

You and I upgraded at about the same time, @ace, but my new iMac is the 2019 version, coming from a late-2012.

The biggest issue for me was the sheer number of permissions requests. Because my documents are in Dropbox, that was no problem at all. My work was coming from High Sierra, so I actually gained some superpowers by having current and better versions of Final Cut Pro X and its friends.

With my older, still-operating iMac connected to the network, I think the Migration Assistant did everything it could be expected to do in bringing over applications. 32-bit apps are dead, as expected. But the pain of re-registering apps was minimal, and because I’m a “trial-er” and have beta-tested for several developers I found apps that had become figurative wallpaper. Migrating gave me the opportunity to clean out my Applications folder.

In my experience, the Migration Assistant seems to work better than I have any right to expect, and it usually surprises me with how little pain it causes.

2 Likes

Yes, but I had a shell script that backs up and sets up the symbolic links for me. It ran every time I logged out. This way, I didn’t have to worry if I missed one of something happened.

The iCloud directory isn’t a known location via the terminal app and shell scripting. You might find it, but there’s no guarantee it’ll be there next release.

I didn’t migrate during Setup Assistant, but I used Migration Assistant later to set up the other users’ accounts and bring their data over. It also transferred the contents of /usr/local, which I would have likely forgotten about (until I tried to use LaTeX).

I had Migration Assistant copy my account too because I didn’t feel like going through ~/Library to copy stuff over. In hindsight, I think I should’ve just done it by hand. I’ve done that in the past, and there’s just not that much stuff that needs to come over. I just worry I’ll forget something. Other than what’s in ~/Library, the only other data to transfer was the music library.

Using Migration Assistant caused a slight complication. It moved the already present data to a deleted user folder, which turned out not to be so simple to delete because of something in ~/Library/VoiceTrigger. To get rid of it, I had to disable System Integrity Protection temporarily.

Using Migration Assistant caused a slight complication. It moved the already present data to a deleted user folder,…

For a long time, I have set up new machines via migration from its predecessor (usually a clone of the predecessor’s boot drive). Normally, I use the version of Migration embedded in Setup Assistant. However, if that fails, or if I want to first get the machine running and then bring over my stuff, I make sure that the adminstrative user I use for the initial setup is NOT one of users that I will migrate. That keeps me from having conflicts when I eventually use Migration Assistant.

1 Like

A post was split to a new topic: Lesser known backup apps that are worth a look

I’m not sure I’ve ever used Migration assistant, mostly because I do clean installs. With development and testing, it’s useful to have a clean slate every so often. I also frequently will install developer/beta or older releases to test something, or even keep an old piece of hardware working (like my Scansnap S510).

For years I had a simple text document where I’d keep track of various things I’d want setup/installed on a new Mac, but I rarely updated when quickly downloading a new tool in the middle of a project. So it was never perfect. Now I use the following steps/tools I use to setup a new macOS install, and some of this will be useful even after using migration assistant. Note much of this is done through the terminal, but it can be automated in a simple script if desired.

  1. Install dotfiles in the home directory. If you don’t know what dotfiles are, you probably don’t have to worry about this. There’s no perfect way to do this, many developers use GitHub, but any cloud storage could be made to work and copy them to where they should be.
  2. Install Xcode, these days that’s through the App Store.
  3. Install homebrew
Install Homebrew from the command line
# Check for Homebrew to be present, install if it's missing
if test ! $(which brew); then
    echo "Installing homebrew..."
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
  1. Install packages from homebrew Tip: you can list installed packages on an old machine with “brew list”, but that also lists any dependencies required. “brew leaves” returns the packages with no other dependencies, so should be the list of things you choose to install.
Install homebrew packages script
# Update homebrew recipes
brew update

PACKAGES=(
    bash
    python
    dnsmasq
    exiftool
    ffmpeg
    go
    hub
    hugo
    imagemagick
    libdvdcss
    ncurses
    pyqt
    ruby
    sourcery
    telnet
    wget
)

echo "Installing packages..."
brew install ${PACKAGES[@]}
    
echo "Cleaning up..."
brew cleanup
  1. Install 3rd party apps not from App Store. This used to be a very manual process, but homebrew comes to the rescue here too. homebrew supports pre-compiled apps in what they call “Casks”. Apps such as BBEdit, 1Password, Slack, Sketch, Chrome, Firefox, GraphicsConverter etc are all available. See homebrew-cask — Homebrew Formulae for a full list. The following shell script code will install all the listed apps automatically (my example will seem developer tool heavy, but note there are more “mainstream” apps as well):
Install 3rd party apps via homebrew Casks script
CASKS=(
    iterm2
    pycharm-ce
    visual-studio-code
    1password
    bbedit
    macdown
    vlc
    google-chrome
    firefox
    sequel-pro
    private-internet-access
    carbon-copy-cloner
    docker
    sublime-text
    sketch
    tower
    postman
    atom
    github
    graphicconverter
    kindle
    plex
    transmission-remote-gui
)

echo "Installing cask apps..."
brew cask install ${CASKS[@]}
  1. Install apps from the Mac App Store. This can be done by looking in the Mac App Store Purchased section under your account. But again it can be automated thanks to a little open source utility and a small amount of prep. GitHub - mas-cli/mas: Mac App Store command line interface
  • Tip: searching through the mas CLI can be hit or miss, but the ID required to download or update a program can be easily found by copying the link from in the store and finding the ID in the URL.
Install apps from Mac App Store script
APPS=(
    497799835   # Xcode
    409203825   # Numbers
    409201541   # Pages
    409183694   # Keynote
    1303222628  # Paprika
    904280696   # Things3
    816042486   # Compare Folders
    640199958   # Apple Developer App
    768053424   # Gapplin
    421879749   # RESTed
    #    425264550   # Black Magic Speed Test
    #    413489665   # Cogs
)

echo "Installing Mac App Store apps..."
mas install ${APPS[@]}
  1. Update System Preferences Use the CLI defaults to setup preferences for a clean install or a new account to match my preferences. A great references is available here, and a very thorough listing of many settings was created by Mathias Bynens. For example my favorite: disabling “Natural” scrolling can be done with one line:
Update System Preferences from command line
# System Preferences > Trackpad > Scoll & Zoom > Scroll Direction: Natural
defaults write "Apple Global Domain" com.apple.swipescrolldirection -bool false
  1. Misc
  • Dock - There’s even a free CLI utility to manage dock icons. So if you don’t like the defaults that Apple puts in the dock, you can quickly remove them and put your own icons where you want them.
  • DNS/Web/etc - usually anything you’ve done on the command line will need to be moved. I use dnsmasq for local web development, so anything like that.

That all sounds like a lot, and that’s where a very simple shell script can come in. I’m lazy, so again I freely admit I stole most of the work for what I use from others on the web. A clearly written one was posted earlier this year here.

By combining the scripts listed above, you can create one script that will do just the steps you want, and quickly get a clean install back to feeling like your own computer. And of course, there’s already people that have written fully controllable scripts to do all of these steps.

Note this won’t move any application preferences, but that’s where Migration Assistant should be very adept, especially as Apple changes application preference locations over the years.

2 Likes

Like a couple others here, I’m surprised there’s people who basically have all their docs on iCloud or Dropbox. Like @beatrixwillius I only use those for convenience and perhaps redundancy, never as sole storage location. To me the most important consequence of that is I have to ensure rock solid backups. I use TM, but I never want to rely on just one safety net so I also clone with SD to a set of rotating drives both at work (back when I was still allowed to get on campus without a hazmat suit :wink: ) and at home.

Like @adam I use MA when I switch Macs, usually from an up-to-date clone rather than the old Mac itself. I have a whole list of things I have to go through after this process. Some of it is probably because I’m being overly specific (not to say anal) about how exactly I want my Mac set up, other steps I know from experience are absolutely required because MA won’t preserve everything. I’ve been refining that list over the years as my use and services change. It’s quite long and it can easily take up to a day to work through. To me having everything set up exactly as I want it on my new Mac makes it worthwhile, YMMV of course.

Truthfully, I have this nagging suspicion that I probably would be well off one of these days starting from scratch and manually restoring specific items. I’ve been migrating since almost the dawn of OS X and I bet there’s a bunch of crud in there that should be cleaned out. OTOH I also know that I have all kinds of stuff scattered in various places (some of it I probably wouldn’t even know how to install anymore) and even if I knew what I was looking for, I’m not sure I’d find it and be able to set it up again, that’s especially true for work stuff that stems from the Linux world and I somehow managed to make from source (or rather hack from source) way back when. I simply dread the colossal amount of work it would take to migrate by hand until I reach the point where my new Mac works and feels like my old Mac. And yes, I am very specific about how I set it up. Probably something that would require some professional attention. :wink:

For fun, here’s an excerpt. I tried to remove too specific code/settings that’s meaningless to people who don’t use it.

  • name new mac, rename old mac
  • de-authorize old mac from itunes, authorize on new mac
  • allow booting from external drives
  • enable startup chime
  • add new mac to APExtreme
  • check FileVault on
  • check screensaver and corners
  • install X11
  • install MacTeX/TeXLive
  • re-install Java, check Proceedo
  • check all fonts
  • re-install Office
  • re-install Xcode / dev tools
  • download command line tools
  • check OPA / wine / …
  • check stuff in /sw, /usr/local/…, fink, LaTeX, etc.
  • check homebrew stuff, gcc, wine, OPA, LaTeX, etc.
  • install automake, autoconf
  • re-build entire Tracy3 suite, check f77 and f90 compiles
  • re-install VPN
  • check Photos (PhotoStream?)
  • set up new time machine backups
  • set up printers (or check still there)
  • get new fixed ip from IT, update .ssh/config
2 Likes

“I have to admit that I don’t notice much of a performance improvement over the old one”

You’ve probably saved me dollars. Or least I won’t worry about a new iMac for a few years.

I’ve also enjoyed the discussion of migrating methods.

@tidbits22, I can second Adam’s experience going from a 2013 13" MBP (maxed out back then) to the top of the line 2020 13" MBP. While there are more (and faster) cores, better graphics, and benchmarks show a clear 2-fold increase, in everyday use I notice hardly a difference at all. Obviously, the 2013 MBP already had a SSD otherwise I’m quite sure it would have been a very different experience. The upshot for owners of older Mac is that in many cases just swapping in faster storage (if you can) will let you benefit from a significant improvement without spending ~$3k on a brand new Mac.

1 Like

A post was split to a new topic: Recovering from a Mojave downgrade