Backing Up My Laptop With Exoscale Object Storage

So I somehow filled my laptop’s M.2 SSD, my external USB drives are full and possibly failing too, this is a wake up call that I need to do better with my backup plans.

First I had to free up some space just to be able to work on it. I was lucky that I technically did have about 4 GB of free space. (It might have been less, unfortunately I didn’t make a note of it) So the first thing I did was find files I could replace from elsewhere or otherwise no longer needed (for me this was all the Linux ISO’s I keep in ~/ISO/ I just had to make sure I didn’t delete my Windows one too)

Now I booted up a USB Drive with Ubuntu 20.10 on it and then proceeded to mount my drive. (This might be as simple as a mouse click for some, I use disk encryption so for me it was a little more involved.)
I mounted it to /tmp/laptop for the purposes of this post. You may need to change this to reflect your setup.

Now I need to install some tools for all this, along with my GPG public key

sudo apt install s3cmd duplicity python3-boto python3-azure-storage pcscd scdaemon gnupg2 pv

gpg --keyserver keyserver.ubuntu.com --recv-keys FC5BFC514D82D7B443C2DCD4A068289733EAAA5F

sudo gpg --keyserver keyserver.ubuntu.com --recv-keys FC5BFC514D82D7B443C2DCD4A068289733EAAA5F

I also need to set the trust level for this key, in order to avoid issues later on.
Since I know this is my own key, I’m going to tell it 5 = I trust ultimately.

gpg --edit-key FC5BFC514D82D7B443C2DCD4A068289733EAAA5F
gpg> trust
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 
5

I need to do this again as root (using sudo) for duplicity too.

Now I didn’t start with duplicity, which was likely a mistake on my part.
I started with trying to make a tarball file but storing the file on the same disk, deleting files as I went couldn’t help some large files I had (server backups, virtual machine images and such) I piped it thru pv to give me some idea of progress & then compressed it with xz & encrypted it with GPG (setting it to encrypt it to the key on my yubikey)

sudo tar --remove-files -c /tmp/laptop/ |pv| xz -9 | gpg -r FC5BFC514D82D7B443C2DCD4A068289733EAAA5F -e | s3cmd put - s3://bucket-id/2020-01-25_Laptop.tar.xz.gpg

If we need to decrypt this later on, we’d run.

s3cmd get s3://bucket-id/2020-01-25_Laptop.tar.xz.gpg - | gpg -d | xz -d | tar -xv

At this stage I had everything backed up and I decided to also reinstall Ubuntu 20.10 onto my laptop. I bought a new external drive as well so I’d have a local copy and a remote one. I also installed the same dependencies listed above. I copy the whole system minus some directories we don’t need if we’re doing a recovery. (If you choose to alter this, know that duplicity tends to freak out over the weirdness in /proc )
First is the command to Exoscale & second is to the new external drive.

sudo duplicity --s3-use-new-style --encrypt-key FC5BFC514D82D7B443C2DCD4A068289733EAAA5F --exclude /media --exclude /run --exclude /mnt --exclude /tmp --exclude /proc --exclude /dev --exclude /sys / s3://sos-ch-dk-2.exo.io/bucket-id/MSI-Laptop

sudo duplicity --encrypt-key FC5BFC514D82D7B443C2DCD4A068289733EAAA5F --exclude /media --exclude /run --exclude /mnt --exclude /tmp --exclude /proc --exclude /dev --exclude /sys / file:///path/to/external/drive/MSI-Laptop

The best part of doing this right after a re-installation is duplicity supports incremental backups, so as I add my music collection back & configure my vpn & dns settings and work my way to filling my drive again (I hope not) duplicity will make incremental backups every few hours.

Now all that remains is trying to backup the old external drives before they fail and cause data loss (I might already be too late, unfortunately)

Update: Something I overlooked in the decryption section. My GPG keys are on the Yubikey, but when I plugged the yubikey into the live cd to decrypt one of the backups it appeared the private keys were missing. I spent a bit trying to make sense of this, and stumbled into the answer.

gpg --card-status

I ran this to get some output for debugging, and it happened to also wake up the yubikey and show GPG that it had the private keys we need.

New Years Resolution Month 1

I was hoping to have a little more to share for this week’s post. This week I got a little distracted with some major happenings in the news cycle and I’m also waiting for a few packages to arrive in order to write a few how-to articles.

I originally said that I would write once a week, I’m beginning to think that might have been either too ambitious or putting quantity over quality. I’m waiting for some parts to come in before I start working on some how-to articles. I’ve decided once a month is a better minimum, I can always go beyond that but my track record is barely twice a year right now.

I’m working on upgrading my ham license in order to get some privileges on HF. I’m not sure when I will be able to get on the air though, between the small apartment space and the cost of HF gear. It is slowly getting easier however with radios like the icom ic-7100 and the KX2 on the market. I hope that I can by Field Day, we’ll see. There’s too many goals already, I don’t need to add more for my hobbies too.

Look forward to a new style on the site in the coming months too!

Happy New Year 2021!

Since my last post I’ve been working, learning more about Splunk and starting on some plans for after Covid-19 and my current IEC permit. I’ve got some drafts that need more work before I can post them, I’m hoping to have new content weekly as one of my new years resolutions.

As I try to really reflect on this year, I notice all the changes I’ve gone through. I Went from working two jobs to just one and somehow being better off due to that. My visa application was accepted, then all the fun of figuring out how best to get a job and move started, a pandemic making that even more challenging. I feel for the LDR couples that are still separated during this crisis.

I’ve been working in my current role for four months now, which is starting to feel like stability again. I’d been nervous and not wanting to believe that anything could really be stable right now so this really is a major milestone.

See you all next year!

Moved to Halifax, NS

Greetings Everyone

About a week ago I moved to Halifax, NS. I still have a week to go on quarantine, it certainly was a weird experience due to Covid-19. The borders are still closed to nonessential travel, but I had a job offer & related paperwork from Immigration (I’ll explain this in more detail later on. The job didn’t have to be “essential” now, if it’s serving the Canadian economy it’s essential enough in my case) My last trip was the end of February (roughly two weeks before Covid-19 led to the current border closures and airline policies) so I definitely got a great before and after look at this.

I arrived at the Knoxville Airport at 6AM with two footlockers. These were the maximum size for checked bags. I was worried about the weight limit, I was just under the limit. I think this was normal pre-Covid too, I had to go the ticketing counter to get my boarding passes too, since they checked that I had a valid passport here. Due to Covid-19 they wanted to know my reason for travel and see supporting documentation as well. I showed my Letter of Introduction & off I go.

I’m not used to the crowds at the TSA checkpoint but it seemed otherwise normal, maybe even a bit more relaxed actually. I’m used to going through security at smaller airports or during quiet windows between the crowds too & can’t say I’ve personally had a bad experience. (How much of this is luck I don’t know) I kept a travel kit and a container of hand sanitizer separate (TSA is allowing Hand Sanitizer up to 12oz in addition to the 3 1 1 rule for liquids) and everything else was rather normal. The TSA agents were wearing masks and face shields, and only wanted my mask off for ID comparison and back on.

I went to my gate for my flight to Chicago, IL’s O’Hare Airport. I saw everyone wearing masks except for one or two people who’d remove it in between sips of coffee. I knew the United policy was to wear a mask from ticketing counter all the way to baggage claim, but I don’t think I heard any announcements or anything until boarding.

I wouldn’t know it yet but in a city making news for having one of the highest rates of infection, this airport had the highest compliance of mask policy I’d see during my trip. Chicago I kept hearing “Wear a mask or face a fine” over the PA system but everyone had to eat and drink too. Toronto I spent a large amount of time at the Maple Leaf Lounge, I think this was the first day they had opened since Covid-19 started. No buffet, every seat spaced well out and an app for ordering your hot food to further encourage distancing. I did see a lot of masks at the gate closer to boarding time in Toronto.

When I was at my gate, an earlier flight to Toronto was boarding. I ran into a passenger also was going from Knoxville to Halifax with her dog, United was wanting to see more specific documentation for her trip (From what I heard she was covered under the current Family Reunification rules) I left for lunch at McDonald’s afraid for my own boarding now, I didn’t find out if she was allowed to continue her trip or not. In the end I showed the same Letter of Introduction to United and had my first temperature check of the day. (A requirement of the Government of Canada)

On the plane we’re handed a declaration form for customs to fill out. After we landed and left the plane we were asked (politely told?) to fill out a Covid-19 Contact/Quarantine form in the hallway heading towards Customs. I filled out the form and was allowed to skip this line & head to a different line for Customs & Immigration.  First I went to an electronic kiosk, inserted my passport and customs declaration form into the kiosk and answered a few questions. Then I went to a Customs officer who took a glance at my Passport, Letter of Introduction, Job Offer and Travel Insurance and sent me on to the Immigration line. Up to this point everything was as quick and normal as the last trip, just waiting and a minute or two of talking.

I knew when my flight landed but I didn’t have the presence of mind to be keeping track of how long each step took until this point. There was so many people (I think I came in with a batch of mid-day flights, not just my own) and took a peak at my watch. It took me somewhere between an hour and a half to two hours to get through this line and up to the counter (with new sneeze guards installed) and I can’t remember being asked at any stage to remove my mask here (I assume I was and it just felt normal by this point, I’d been up for 14 hours by this point too.)

I spoke with a really nice CBSA Officer, handed her my Passport, Letter of Introduction, Job Offer and Travel Insurance. I was asked if my old address was still my permanent residence (I was at first a little shocked that she knew my previous home was in Cleveland, TN before remembering my Letter of Intent had a Unique Client Identifier and an application number. I had my address in my application & they could have a record form my previous trips too)

I said I moved out of that apartment for this job here. I was asked if I had a permanent address in Canada, I felt a little nervous (I always am, just something about knowing your travel plans are at the mercy of someone else affects my nerves. Airlines, Customs or whomever.) And said “I guess my Girlfriend’s, I’ll be in the 2nd bedroom during quarantine” Next I know I’m reading my new work permit, checking for errors and off to baggage claim.

After getting my two footlockers and putting them on a free cart (thanks CIBC) I turned in the kiosk paper from earlier to the final CBSA official and then went to check my bags again, this time with Air Canada (I bought a separate ticket for this flight to get a longer layover in Toronto, just in case. Glad I did. However if it was all on the same ticket, I wouldn’t have had to do this. Air Canada would have just taken them from Customs to the plane.)

It was cool how they automated baggage check here. I placed the baggage tag on the handle myself, set it on a conveyor belt that weighed it & used a laser sensor to measure it. Off I go to the Maple Leaf Lounge for dinner and…..My final flight is delayed. It was really nice of Air Canada to hold the flight for everyone to make it, I’m not sure exactly how much we were delayed. I think it was an hour and a half, I napped through the takeoff I was so tired. (Napping with a mask on isn’t easy, I put my fleece over my face as an extra covering and to keep the light out too)

Finally landed in Halifax, NS and off to baggage claim. At baggage claim I had to fill out another quarantine/contact form, this time for Nova Scotia (Anyone coming from outside the “Atlantic Bubble” has to quarantine for two weeks under provincial law, including fellow Canadians from Quebec and points further west) Turned in the form, showed my passport and a taxi ride later home. 

Lunch is for the birds.

I’m halfway through quarantine, Spending a lot of time outside on the balcony and even having a lunch guest the other day. I can’t wait to walk along the waterfront boardwalk, but alas I will be waiting another week…..

Elizabeth Rumpff Gibbens

Editor’s Note: This was originally on my old blog, which I’ve phased out as I launched this blog. However there’s some content I wanted to move over here and preserve.

This isn’t quite what I had in mind for my second post, however it might be one of the most important pieces of writing I will ever do. A year ago today was the passing of my Grandmother. I still miss her and decided I should do something to remember her today.

She had told me that I should write my adventures down, I’ve been doing that off and on over the past few years. Some might become blog posts, or stay private in my moleskin notebook or elsewhere. I’ve tried to take that to heart even more since her passing.

Anna had a love that could warm up anyone, I remember once she mailed a letter to the Sergeant of my local Salvation Army. I still don’t know what was in this letter, the only thing I know is Anna wouldn’t have required my Sergeant to have ever told me about it. I remember when she told me anyway and calling Anna shortly afterwards, surprised and ecstatic about what had happened. Her one letter, written just because had made our day.

One of the most difficult years of my life had to be when I was in my first boarding school. It wasn’t your typical boarding school either, calling family was a rare treat for me. Most of my correspondence was by handwritten letters, which if you’ve seen my handwriting you’ll know it wasn’t much either.

I have grown to really appreciate that school, unfortunately, it is in hindsight. Just because I appreciate it now does not nullify how difficult it was for me at that time. It was clear my 13th birthday was about to be extremely different from any before it, Anna had mailed at least two dozen cookies from her local bakery and that made for a week of calm in an otherwise chaotic time.

I think it was after my 13th birthday, while still at this school. I had a moment that was rather discouraging, I don’t remember anything about what caused it anymore. I recall praying in my mind, not in a sense of belief at that moment.

Rather it was like begging. “If there’s a god out there, or anything that can get me out of this please!” After doing this I think I wrote a letter asking for a bible from her, I’m a little fuzzy on that. I remember speaking to her within a day or two & she asked me, if I wanted a bible. (I’m guessing she was double checking my bad handwriting, or perhaps was a little surprised by this.) The speed of that bible arriving to me, it was as if she had mailed it before I had made that prayer.

I’m skimping on proofreading here, I couldn’t even get through the first paragraph without crying. I included her original obituary & one of her favorite hymns, On Eagle’s Wings. Rest in Peace Anna! We all miss you!

Obituary of Elizabeth Gibbens

Gibbens, Elizabeth Rumpff (“Betty”)

Irondequoit: November 13, 2016 at the age of 96. Predeceased by her father, Col. Roy R. Rumpff; mother, Edith White Rumpff; sisters, Jean Rumpff Meagher and Christine Rumpff Arfman; infant son, Roy Rumpff Gibbens and her beloved husband, Captain William H. Gibbens. Survived by: daughter, Susan Gibbens; son, William Gibbens (Susan Kim); grandsons, Zachariah and Jeremiah Gibbens; niece, Patricia Meagher Hattala; nephew, John Roy Meagher (Janet); great niece, Suzanne Hattala Wasilewski (Marc); great nephews, Christopher Hattala and Patrick Meagher; and great grandnephew and “her sunshine” John Robert Wasilewski. A lifelong resident of Irondequoit, she graduated from Rochester General Hospital’s School of Nursing in 1941. She joined the Army Nurse Corps in July 1942 and proudly served with the 19th General Hospital as an Operating Room nurse in Louisiana, England, and France. She married William Gibbens of Cochise, Arizona in 1943. He was in the 28th Infantry Division. They returned to States in September 1945, he returned to the Army in 1948 and was killed in action in Korea in September 1950. She returned to nursing at RGH Outpatient Department in 1965 and retired as nurse manager of OPD in 1988. An active member of St. Mark’s and St. John’s Episcopal Church, she served on the Altar Guild for over 50 years. A “best friend” to family and many friends, she will be missed. Her family very much appreciates all the comfort and support she, and we, received from the staffs at the Transitional Care Unit and the Leo Center for Caring (VNS and St. Ann’s Community).

No prior visitation. Friends are invited to meet the family WEDNESDAY 11:30 am at ST. ANNS HOME CHAPEL for her funeral service. Interment Riverside Cemetery. In lieu of flowers, memorials may be directed to St. Mark’s and St. John’s Episcopal Church, 1245 Culver Road, Rochester, NY 14609 or to Leo Center for Caring, 1500 Portland Ave., Rochester, NY 14621.