Multiple Copies of 1Password - Assumptions/Questions

OceanCity123
OceanCity123
Community Member
edited July 2018 in Mac

Regarding the closed topic of "Multiple Copies of 1Password" which discusses the reasoning behind removing duplicate copies of mini on backup drives, I think I understand the explanations, based on Apple's need to sandbox. I guess I can live with the knowledge that if I need to restore the applications I can do so directly from AgileBits with a simple download, no problem there. And, of course, my data is protected and accessible at any time as well from the AgileBits server as I have a 1PW account. So far so good.

Conditions: I just upgraded 1PW from 7.0.5 to 7.0.7 and was required to delete all 7 (I have auto nightly differential backups to external hard drives each night) of the 1PW mini duplicate copies in order to proceed with the 7.07 upgrade. All went as planned. Now I have 7.0.7 installed locally, and presumably each night, because I deleted all 7 duplicates, one by one each will be copied each night. Still no problem because each "set" of nightly backup copies will be "the same version" and hence I'm not running the risk of launching dissimilar versions of the main application with mini.

I suppose if I wanted to, I could have run a full clone backup just prior to the upgrade and that backup would have contained both the 7.0.5 main application as well as the 7.05 mini, just for good measure, but why bother?

Even if I lost my internal SSD, AND all of my nightly backups and clones, it really would not matter because I can simply download the latest versions of 1PW, the main application and mini, at will from AgileBits download page, right?

Am I missing anything here? Are all of my assumptions and conclusions correct?

Keep up the great work.

John
Ocean City, NJ


1Password Version: 7.0.7
Extension Version: (70007000) AgileBits Store
OS Version: 10.13.5
Sync Type: AgileBits 1PW

«1

Comments

  • @OceanCity123,

    Its the 4th right now, but I'll answer this tomorrow when I get back to work.

  • danco
    danco
    Volunteer Moderator

    Some of this depends o exactly how you backup. It should be possible to backup excluding 1PW, which saves some trouble.

    Yes, you can always download 1PW from AgileBits in the unlikely event that you lost all your copies. However (consider the possibility that your internet is down), if you are not keeping copies of 1PW on the external drives you might want to keep a zipped copy on the externals.

  • OceanCity123
    OceanCity123
    Community Member

    Good advice. Thank you.

    The duplicate copies on the external drive don't seem to be affecting my, unless of course I'm unaware of such problems.

    I normally don't seem to use the "mini" as my go-to first starting point. I'll normally use the application itself to launch into a site.

  • @OceanCity123,

    The issues that occur when multiple copies of 1Password are present is less to do with sandboxing and more to do with how we have to start up the extension helper process. In order for us to be able to have a communication pathway between the various extensions and 1Password we need our extension helper to be reachable via a named XPC service. There are two ways Apple allows this to happen, the first is to install plist files into LaunchAgents/LaunchDaemons folders (pretty undesirable for us to have to maintain those external files, such as when you move the app). The other is to request that our extension helper process be set as a Login Item. Those Login item entries don't show up in the Accounts.prefPane in System Preferences, but are running when you login to the machine.

    The rub is that the job that Apple creates internally to manage that interaction isn't super specific about the path at which it should launch the helper from. It relies on a database that Apple builds on each machine called LaunchServices, and when you have more than one copy of the extension helper it non-deterministically picks one from the ones it finds. It may or may not be the right one, so if you have multiple copies of different versions you can easily end up in a situation where the extension helper terminates because the copy of 1Password trying to connect is the wrong version.

    In the past this was a fatal situation as 1Password 6's brains were all in the helper process and it would prevent you from even running the main application at all. In 1Password 7 all the brains are in the main app so if you find yourself in that situation with 1Password 7 you're at least able to access your data. It would still be frustrating to not be able to use the extensions and do things like open and fill, but at least you still have access to your data.

    So I'd say that the situation is slightly less dire with 1Password 7 than it was with 6.

    The other half of this problem, which is now a problem for 7, is that 1Password 7 is sandboxed. The helper inside of it is also sandboxed. One of the things the helper has always done is verify code signatures of the Browsers that attempt to interact with it. The API we're using to verify code signatures only works from /Applications. The result of that is that if launchd has picked the wrong Extension Helper process to launch you might find that your browser interactions don't work.

  • OceanCity123
    OceanCity123
    Community Member

    Thank you Rudy for your informative explanation. It's a little over my head, but I think I get it.

    Bottom line here for me, it would appear, is that as long as (what I'll call a "set") the main app and the mini are of the same version then there won't be any problems. If however a "set" is changed today, then I reboot tomorrow the "set" could be defeated "if I made any changes" and "if the main app chooses one of the wrong mini duplicates?" Does this make sense. I'm not sure I need to care about this. Do I? Everything seems to work fine. I'm not getting any error messages.

    Sorry to drag this out. I see your point, but I'm not positive it matter to me, however, as you say, if the main app indiscriminately picks the "wrong" mini I could have issues?

    I feel like I'm kicking a dead horse, but don't want to be going through all kinds of convoluted launch/backup workarounds just for this one application, albeit I grasp the issues you can not control because of Apple's structuring.

    Thank you for your patience.

    John

  • danco
    danco
    Volunteer Moderator

    @OceanCity123
    I do understand that you don't want to go through complicated procedures. But if you (or anyone else) is using CarbonCopyCloner or Superduper to make clones, it's really just a couple of easy steps to exclude 1PW from the clone.

    Also (it's discussed in the CarbonCopyCloner manual) the problem can occur with other programs. It's just that the way 1PW works makes it particularly susceptible to this issue.

  • OceanCity123
    OceanCity123
    Community Member

    I use SuperDuper. Do you happen to know the exact path and name(s) of the file(s) that you suggest I block from my nightly backups?

    TIA,
    John

  • The only file that needs to be excluded is the 1Password application itself. It should be named 1Password 7.app and be located in your /Applications folder.

    I hope that helps. Should you have any other questions or concerns, please feel free to ask.

    Ben

  • danco
    danco
    Volunteer Moderator
    edited July 2018

    The SuperDuper manual explains how to create a script that does backup with an item onitted. I can give details if you have trouble.

  • OceanCity123
    OceanCity123
    Community Member

    What about the duplicate copies in Time Machine?
    Is this also a problem?

  • I have not experienced this issue with Time Machine and I assume that is due to the way Time Machine works.

    Ben

  • OceanCity123
    OceanCity123
    Community Member

    Okay. Thank you Ben.
    I'll start looking into how to block SuperDuper from copying the 1Password 7.app files, and delete any that already have been copied to my external nightly backup drives.
    Really appreciate your help.

  • You’re welcome. :)

    Ben

  • OceanCity123
    OceanCity123
    Community Member

    Can't find the procedure to "block" a file from getting copied so I emailed ShirtPocket SuperDuper support for the answer.

    If however you just happen to have the URL or text to answer this question, please post. I will do likewise if you don't.

    There must be hundreds or thousands of folks in my shoes out there.

    Thank you again for your patience and your support.

    John

  • OceanCity123
    OceanCity123
    Community Member

    OMG! This is turning into a full-blown project! There does not appear to be any easy way (other than some kind of a convoluted un-mounting and re-mounting of volumes) to simply exclude the 1Password X.app file. One of my external hard drives is INTENTIONALLY always mounted so that a nightly automatic differential backup can occur. There's no way I'm going to have the time, patience, remember, or desire to go through all of that. In addition, I have numerous external clones that are INTENTIONALLY unmounted (actually unplugged physically in the event of a a surge or lightning strike).

    Nosing around SuperDuper's site, I see that this "duplicate" file issues has been around for quite some time now. Years, in fact.

    Surly 1PW has come up with an easy fix by now? I can't be the only one in this position. Yes, I know "it's not your problem" and of course I'd not be correct in implying that this "is your problem" but as an ardent user of both 1PW and SD for decades I'd think someone, somewhere would have come up with a good work-around for this.

    How about some type of an AppleScript that would simply delete each new copy of 1PW on my clones each night AFTER they are copied? Does such a script exist? If so can you provide a URL or the AppleScript itself? It would be set to run every 24 hours AFTER each nightly differential backup.

    Wow, I'm really at my wits end now after literally spending hours trying to hunt down a simple fix for this seemingly straightforward mix-up that 1PW has in finding it's own "correct" files.

    Lastly, not to kick a dead horse, as long as I'm always running the SAME version of 1PW, can I just forget about having to manually clean up the duplicate copies every day, and just delete the app file copies the next time I UPDATE 1PW?

  • OceanCity123
    OceanCity123
    Community Member

    Okay, just had a crazy idea. You say that 1PW indiscriminately chooses which app file to launch. I understand that, I think. So by clicking on the 1PW icon in my dock I'm assuming that the "full" path is not being specified, therefore it would be understandable that one of the duplicate copies of the app on my external backup clones could end up loading, right?

    So the, how about if I simply launch 1PW from THE FINDER? This way I know for certain what volume 1PW is getting launched from.
    Not my first choice, but would this solve my problem of the "random" volumes coming into play?

  • OceanCity123
    OceanCity123
    Community Member

    Lastly, worse case scenario, can I just leave my backups alone, and never use the "mini" at all, i.e., just use the "main" 1PW application without problems?

  • danco
    danco
    Volunteer Moderator

    The procedure for excluding 1PW from a SuperDuper clone is as follows.

    1. Choose New Copy Script from SD's File menu, and give the script a convenient name.

    2. Go to the Included Scripts tab, click on + to add a script. Choose a suitable script from the Standard Scripts. I chose backup all files.

    3. Go to the Script Commands tab. You will see a list of folders, and you want to choose Applications and then 1PW7 in the Applications. Add it, and the Ignore option will have been chosen for you. Now Close and you will be given the option to Save.

    The process is similar in CarbonCopy Cloner, it may be a touch easier.

  • OceanCity123
    OceanCity123
    Community Member

    Thank you Danco. I will try your SuperDuper Script.

  • OceanCity123
    OceanCity123
    Community Member
    edited July 2018

    Thank you Danco. I think you got me through this taunting and time-consuming process by the skin of my teeth. Your concise instructions were just what the doctor ordered. I created just "one" new custom script to SmartUpdate ALL files EXCEPT the 1Password 7.app file in SuperDuper. I then set up seven (one for each nightly differential backup) scheduled backups using the one script. Lots of work. Lots of time, but in the end, a "clean" installation. I posted a few screenshots on FLICKR at the link below in the hopes that this can be of some help to the next person, and so on. Sorry, they shots are not perfect, but at least with your instructions above may help out. Here's the link:
    https://flic.kr/s/aHsmeJ48a9
    You may want to open it in a NEW window so that you don't look your place.
    All the best,
    John

  • OceanCity123
    OceanCity123
    Community Member
    edited July 2018

    Just wanted to thank everyone for their support during what was a frantic and difficult crisis for me in anticipation of traveling only adding to the pressure. I knew in the end with Dave at the helm, and all of his talented colleagues, associates, and super-users that we'd be able to come up with a "clean" solution.

    My "only" suggestion to AgileBits would be (and maybe I just missed finding it entirely) to make Danco's SuperDuper custom script easier to implement and/or locate some detailed documentation quickly. Once inside SuperDuper, while setting up my custom 1PW script, I noticed that there were already a few "stock" scripts for some other 3rd party applications (such as Backblaze, and others) within SuperDuper's pre-written script folder but nothing for 1PW. Maybe AgileBits and ShirtPocket could get together to set up a pre-written script just for 1PW. I'm fairly well adept at IT work, and have to admit it was a bit of a struggle the first time getting through the SuperDuper custom script process.

    Never would have been able to get SuperDuper to comply without Danco's help. I am an intermediate user. A novice would need much more detailed instructions to complete this task of creating and then implementing the custom script which excludes the 1PW file.

    Also, in addition to creating the new script, all the old scheduled backups have to be deleted, and new ones which use the "custom script" have to be created. In my case 7 deleted, 7 new. One for each day of the week. Fortunately only "one" new custom script is required, regardless of how many times you schedule it. You do however, first have to select the target drive, before your create each scheduled backup so SuperDuper knows what volume to backup to. Very important. Easy to miss or forget to do this tiny part when creating each scheduled backup. In my case I backup to 7 different volumes on one external hard drive that is INTENTIONALLY always connected and automated so that I never forget. In addition I have several external SSD's that I INTENTIONALLY disconnect completely after a full differential clone, in the event of a power surge or lightning strike. I disconnect both the power and data cables on these.

    It would be nice if AgileBits would dedicate a page with screenshots to this. My amateur screen shots are on FLICKR here https://flic.kr/s/aHsmeJ48a9 if they are of any help. I'll leave them up indefinitely.

    All the best,
    John

  • OceanCity123
    OceanCity123
    Community Member

    Although my SuperDuper "custom script" appears to be working, a better solution might be to unmount all 7 of the partitions on my external volume hard drive. It's my understanding that SuperDuper will mount the appropriate partition each night when scheduled, however I've never tested this.

    I may try this alternate approach of unmounting the Volume each night of I can automate it. Any comments of suggestions greatly welcomed.

  • danco
    danco
    Volunteer Moderator

    I agree that unmounting the external partitions is likely to be a better solution.

    I did not want to suggest it because I know some people like to keep such partitions mounted for reasons of their own.

  • I agree that unmounting the external partitions is likely to be a better solution.

    That is what I do with my SuperDuper! backups.

    Ben

  • OceanCity123
    OceanCity123
    Community Member

    Ben, Do you have a way to "automate" unmounting the drive each day after SuperDuper has completed it's backup?

    I am aware of a few possibilities such as terminal commands (but really don't want to get that deep into the weeds unless there's no easier way), and also TinkerToolsSystem at http://www.bresink.com/osx/TinkerToolSys5.html as well as Keyboard Maestro at https://www.keyboardmaestro.com/main/ but don't think they are set up to automate nightly unmounting on a schedule.

    Perhaps you've figured out some kind of a script control from within SuperDuper that can accomplish what I'm after? Now "that" would be the best solution. Clean and Simple.

    If you have a way to automate the unmounting I love to know how you do it. I leave both my iMac Pro and the subject hard drive connected and running 24/7.

    Thank you again for your support.

    John

  • AGAlumB
    AGAlumB
    1Password Alumni

    @OceanCity123: Those are really questions for SuperDuper. It's not something 1Password has control over: it never mounts or unmount drives. Isn't that one of the options when setting up the backup though?

  • OceanCity123
    OceanCity123
    Community Member

    Yes. Your are absolutely correct, and I found in SuperDuper the way to create a custom script and a way to eject the volume, so I'm pretty much good to go. Thank you again for everyone's support.
    John

  • You're very welcome. :)

    Ben

  • OceanCity123
    OceanCity123
    Community Member

    Thank you all again for your tremendous help and support.
    I was successful in creating the Terminal Command script to prevent my external backup volumes from mounting at boot.
    I was also successful in creating scheduled backups using a custom script in SD which excludes the 1PW file and then automatically ejects the corresponding volume.
    So, it was a little bit of a journey, but with all your help I can now have my cake and eat it too!
    A million thanks!
    John

  • AGAlumB
    AGAlumB
    1Password Alumni

    You are most welcome! Indeed, I find scripting to be pretty useful myself. Cheers! :)

This discussion has been closed.