DEV Community

Cover image for Ideation on Mac "Computer" Syncing—Having an Exact Copy of One Mac on Another
Kristiyan-Daniel
Kristiyan-Daniel

Posted on • Updated on

Ideation on Mac "Computer" Syncing—Having an Exact Copy of One Mac on Another

This is an OS feature I’ve been wishing for myself for quite a while, and is definitely important when switching between Macs, as in my own workflow—so I felt the need to write an article as to how to approach this in an alternative manner. I currently have two implementations:

1️⃣ Keep a manual list to track what apps I’ve downloaded, data alterations I’ve made, and even preferences I’ve changed in apps—although this can be time-consuming and you must remember your actions mentally & contextually over time. What I do more specifically is keep a text/“.txt” file uploaded to an iCloud-synced directory (with iCloud enabled in System Preferences + syncing that particular directory/"Desktop and Downloads"); and in one of those same directories, I upload all of the new data changed on my Mac—whether it be in the form of an app (meaning uploading an actual macOS app there and placing it on your other computer), dotfiles/hidden directories as in the home folder (accessible with "⌘ ⇧ ."/Command + Shift + Period), or other databases and information. Although this can again be an undertaking, and requires a fair working knowledge of your OS and system files to an extent.

2️⃣ ⭐ My second, most useful implementation is simply to keep an external backup at all times of my primary Macintosh and boot into Recovery Mode for a new installation and system migration. If doing this on macOS Big Sur or earlier (as Monterey allows system erasure without deleting the OS via System Preferences → "Erase All Content and Settings"), the OS will need to be reinstalled and the volume group deleted if deleting all data, since macOS (from Catalina onwards) houses data in a separate volume within the same partition, and the OS files—which are now cryptographically sealed/unalterable in Big Sur—in another volume in the same partition. Ideally, OS download + reinstallation shouldn't take long with relatively high bandwidth and a fast Internet speed, but if you have terabytes of data like I do, then migrating that over still takes time, even with an SSD with a fast read/write speed as mine and a fast installation of the OS beforehand. Also: on an M1 machine as a MBP, booting into Recovery Mode is not like the Intel Macs' manner of ⌘ ⌥ R on startup—but rather, hold the Touch ID/power button on startup for a few seconds, and from there click "Options" > "Continue" and wipe with disk utility as a fresh restore once a backup is made. Also, it is actually possible to perform a system migration by going into the Migration Assistant stock  app at any point in time when logged in, which will reinitialize your entire home directory/user files and have you set up biometrics (fingerprints in this instance), etc., all while migrating all of your files. (As a side note, there are instances in which registering Touch ID biometrics/fingerprints may cause an error dialog in System Preferences of "Cancelled by Another Authentication"; you can solve this by going to Finder > pressing "⌘ ⇧ L" to visit the Library folder > and deleting the local/on-disk "Keychains" folder—this will resolve this particular error.)

✳️ There are of course details like iLok licenses (if utilizing V.S.T. Plug-Ins and musical software, for example), other software licenses, and more which are important to keep track of (for which my method two above—given it’s a fresh restore of your backup—takes care of since many of these are databases and data files within macOS’s directories, etc.). One of my best solutions is to simply keep organized, which even I realize can be difficult and time-consuming—such as maintaining/keeping track of a note in the Notes app synced to iCloud (can lock it for further protection if needed) and typing out reminders to wipe your licenses when factory-resetting your computer and then restoring from a backup of your currently active/updated computer (updated in terms of having all the changes you’ve made thus far), and so on. There are also options like Backblaze as a system-wide backup (as with a physical Time Machine backup) but in a cloud-storage formulation/as a cloud-storage solution; although it's highly possible that, to have a full replication of your OS across your other Mac including internal directories and DB files, you'll still need a fresh restore, so this needs to be explored further.

✴️ One of the implementations that I found to be best over time until or if such a system-wide capability is implemented is to simply plan for obsolescence on your secondary Mac computer—that is, keep one active Mac up to date and perform as much work as possible on a singular Mac, and plan for eventually having to wipe-and-restore your secondary Mac when you've made a considerable amount of changes (all the while keeping consistent backups of your main Mac). This can be not insignificant to plan for and is not ideal, but on its face is the most complete solution. I myself, once again, do wish such features could be implemented, as I've wished for a number of years, but we will see if the software engineers at Apple eventually add this to their backlog, as I'm certain many—as myself—would truly like to see this integrated into the system functionality (almost parallel in importance to a feature like iCloud, but in a different format) over time.

ℹ️ As a side note, if you're not utilizing N.A.S. or additional storage (I primarily have an 8-terabyte SSD, for example), I have a useful pouch that I attach to the back of my MacBook Pro and house the drive in there, so it moves with the lid—so I don't need to have it sitting to the side, etc.

💭 Ultimately, this is quite a complex topic of discussion in computing, especially as this theoretically involves copying over or syncing every bit of information to be the exact same at all times on the operating system layer on top of a "live filesystem" in such a sense, so to speak, where many complex components of the OS need to function together at any given point in time—meaning that it's not always as acutely simple as copying over a single file to the same location at a single point in time. There can even be platform/hardware discrepancies, such as from iMac to MacBook and vice versa, if you consider copying over certain system settings at one point in time as soon as you make a change on your MacBook, for instance (i.e., consider that you made a customization change on the Touch Bar, such as moving an icon on the Control Strip—syncing those internal system settings to iMac, where there's no Touch Bar to speak of, can be nontrivial, especially with how cryptographically secure the system is). Ergo, syncing system settings, for instance, is one more complex subtask within the realm of this entire topic.

⭐ With all of the above stated, there are, however, also useful technologies and UNIX-based command-line internal system programs/applets such as "rsync" and even software which acts in such a manner—that is, allows cloning and syncing, such as when changes are made on the source, which is then synced to the destination. One example is "Carbon Copy Cloner," which I personally utilize and find to be incredibly powerful, especially with its Task Filter feature (which allows copying over specific nested folders/subfolders, files, and any given specific nested contents of choice rather than just the whole folder—useful when low on storage space)—as well as a host of additional nuanced and advanced, useful features.

🌟 Furthermore, there is quite a critically useful application that I've found for syncing application preferences and consolidating them into a file which can be backed up to the cloud: SyncSettings. While this isn't an all-encompassing solution for syncing every bit or piece/component of your Mac/macOS, it can prove to be quite useful.

💠 My personal recommendation is to utilize SyncSettings with Carbon Copy Cloner—especially if you're not quite familiar or comfortable with command-line tools such as "rsync." This combination can prove to be quite powerful, and virtually all that's left is to manually change System Preferences when making a change on one of your machines/Macintoshes apart from using these applications.

🌎 Final note—here are some helpful articles, some interrelated and some distantly related (but which I'd still like to include in case you're also curious):

"Moving to a new Mac? – How to transfer all your files without any fuss"
"How to create a bootable installer for macOS" — ➡️ Useful for installing a specific version of macOS or, more specifically, downgrading OSes (such as when you downloaded that new, shiny public beta test build but weren't so sure about staying on it, or even found your critical software not functioning anymore [also, always keep backups :)])

This is a deep topic to delve into in terms of file-sharing, cloud-storage solutions, system backups + Time Machine backups/restores, and so much more, but I wanted to write this out in case it's of use to anyone who comes across this.

Hope this helps.

—K-D

Top comments (1)

Collapse
 
lokijohnson profile image
lokijohnson

I am really fascinated with this post. Very helpful! As for me, I was looking for an information how to screenshot on Mac and came across the article here setapp.com . Consequently, I tried their recommendations and I did it! It appeared much easier than I thought. So, if you learn how to use Mac, I sincerely advise you this article. It is a wonderful site and I am truly satisfied.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.