Update (09/01/2020): Here is a link to the RPM. Note that this is not officially sponsored or supported by AWS, and it may cause your system to burst into flames.
On November 29th, 2019, AWS announced a new WorkSpaces client (3.0) that included a new UI and support for installation in Ubuntu. I have been eagerly awaiting the launch of the WorkSpaces client, and was disappointed that it was only available for install via APT (Ubuntu’s Advanced Packaging Tool), so a few months after the launch (been busy), I’m finally getting around to attempting to install it on Fedora. Considering the Amazon Linux versions use YUM, I’m surprised AWS doesn’t have a repository to enable native installs via YUM.
Trying a hack to install the .deb file directly
- Visit https://clients.amazonworkspaces.com/ and click “Install” under Linux
- Redirect to https://clients.amazonworkspaces.com/linux-install.html
- Install APT
me ~ sudo yum install -y apt
...
Installed:
apt-0.5.15lorg3.95-38.git522.fc31.x86_64 fedora-package-config-apt-16.00-15.fc31.noarch Complete!
- Import the GPG key manually
me ~ wget -q -O - https://workspaces-client-linux-public-key.s3-us-west-2.amazonaws.com/ADB332E7.asc | sudo gpg --import
gpg: key BEB35010ADB332E7: public key "Amazon WorkSpaces Master Key" imported
gpg: key A90BEB6A5CD8866F: public key "Amazon WorkSpaces RPM Signing Key" imported
gpg: Total number processed: 2
gpg: imported: 2
gpg: no ultimately trusted keys found
Curiousity/observation: checking the config at /etc/apt/apt.conf.d/default.conf, the GPG KeysPath setting is /etc/pki/rpm-gpg. I checked there and the above command didn’t seem to work… so, another path. Leaving it there for posterity though.
Next try seems to have worked:
me ~ wget -q https://workspaces-client-linux-public-key.s3-us-west-2.amazonaws.com/ADB332E7.asc && sudo rpm --import ADB332E7.asc && rm ADB332E7.asc
me ~ rpm -qa gpg-pubkey* | grep -i adb33 gpg-pubkey-adb332e7-59dd39ce
- Finally we can move on to adding the sources.list.d entry
echo "deb [arch=amd64] https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/amazon-workspaces-clients.list
Ok so that didn’t work after trying the next step (sudo apt-get update). I’m getting frustrated by now.
me ~ sudo apt-get update
E: Type 'deb' is not known in on line 1 in source list
/etc/apt/sources.list.d/amazon-workspaces-clients.list
Giving up on APT in Fedora for now
Ok so I give up on trying to install the .deb file directly. Time to attempt to grab it and convert it to an RPM file.
- Try to find the .deb file to convert it to RPM.
- Attempt to list all packages in a specific repository using apt. Remember why you prefer YUM/DNF instead, because there is no simple way to do this the first time if you’re not on Ubuntu.
me ~ apt-get list
E: Invalid operation list
me ~ man apt-get
me ~ apt-
apt-cache apt-cdrom apt-config apt-get apt-shell
me ~ dpkg
dpkg dpkg-divert dpkg-name dpkg-split
dpkg-architecture dpkg-genbuildinfo dpkg-parsechangelog dpkg-statoverride
dpkg-buildflags dpkg-genchanges dpkg-query dpkg-trigger
dpkg-buildpackage dpkg-gencontrol dpkg-scanpackages dpkg-vendor
dpkg-checkbuilddeps dpkg-gensymbols dpkg-scansources
dpkg-deb dpkg-maintscript-helper dpkg-shlibdeps
dpkg-distaddfile dpkg-mergechangelogs dpkg-source
mmoldva ~ dpkg-query
dpkg-query: error: need an action option
Use --help for help about querying packages.
me ~ dpkg -l
sh: pager: command not found
dpkg-query: error: showing package list on pager subprocess returned error
exit status 127
me ~ sudo dpkg -l
sh: pager: command not found
dpkg-query: error: showing package list on pager subprocess returned error
exit status 127
me ~ sudo apt-get update
E: Type 'deb' is not known in on line 1 in source list
/etc/apt/sources.list.d/amazon-workspaces-clients.list
me ~ vi /etc/apt/sources.list.d/amazon-workspaces-clients.list
me ~ sudo vi /etc/apt/sources.list.d/amazon-workspaces-clients.list
me ~ sudo apt-get update
E: Unknown vendor ID 'arch=amd64' in line 1 of source list
/etc/apt/sources.list.d/amazon-workspaces-clients.list
me ~ sudo vi /etc/apt/sources.list.d/amazon-workspaces-clients.list
me ~ sudo apt-get update
E: Type 'deb' is not known in on line 1 in source list /etc/apt/sources.list.d/amazon-workspaces-clients.list
- 30 minutes have now passed. I’m beginning to wonder whether this is worth my time.
- Reconsider my life choices.
- Spend another 12 minutes setting user agent to what apt-get uses, attempting different URLs, and only getting AccessDenied errors from the CloudFront URL in the file from sources.list.d above
- Remember I set up an Ubuntu system for my 7 year old son… hmmmmm… and 5 minutes, I have the link to the .deb file.
me ~ curl https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_3.0.1.234_amd64.deb -O
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 24.0M 100 24.0M 0 0 8865k 0 0:00:02 0:00:02 --:--:-- 8861k
- Now let’s convert that to RPM (I’m hoping this works, thinking I’ll need to just extract it and see what’s next). I already had “alien” installed to convert DEB files to RPM. but if you don’t, you’ll have to “sudo dnf install alien” at this point.
mmoldva ~ sudo alien -r workspacesclient_3.0.1.234_amd64.deb
workspacesclient-3.0.1.234-2.x86_64.rpm generated
No errors, that must be good, right? Let’s try and install it…
mmoldva ~ sudo dnf install ./workspacesclient-3.0.1.234-2.x86_64.rpm
…
Running transaction test
Error: Transaction test error:
file / from install of workspacesclient-3.0.1.234-2.x86_64 conflicts with file from package filesystem-3.12-2.fc31.x86_64
If it doesn’t fit, push harder
I’ve decided I have better things to do, so if for some reason this doesn’t work, I’m going a different direction. This is an hour I’ll never get back.
mmoldva ~ sudo rpm -ivh --force ./workspacesclient-3.0.1.234-2.x86_64.rpm
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:workspacesclient-3.0.1.234-2 ################################# [100%]
Poring through the installed files as part of that, there are a bunch of DLLs in there. Why?
Oh well, I’ve located the binary and it has launched… next test is whether it actually works, and the performance of it… now to fetch my WorkSpaces registration code.
Found the WorkSpaces code, don’t remember my password, password reset option doesn’t work (this last part is unique to our internal WorkSpaces instances, most customers wouldn’t have an issue here, I don’t think).
That’s all for now. I think I could use a drink (of a Starbucks Mocha, that is).
Got my mocha after taking the dog to the vet, and attempted to login again. It worked this time! I’ve never been so happy to log in to Windows. Not because it’s Windows, but because this was a long, frustrating journey.
Hopefully, this helps someone else avoid the frustration.
Now back to work! (And leave everything to “us”).
Andres
Hey, really nice work! You lasted an hour, but I guess you got so much fun.
Did you share your RPM in any public place? So we may just download that file and go directly to the mocha step, although I would prefer an espresso.
Matt
Hey there, thanks for reading my blog. I forgot sometimes that it’s public since I don’t get many comments (except spam).
I’ll update the post shortly with a link to the RPM. The package is several months old now, but it would be a fun project to implement something in AWS that could… check for new releases, run a CodeBuild job when a new release is available, and then post it somewhere for download. Maybe one day I’ll do that if there is enough demand.
Also, I have to mention the WorkSpaces RPM I’m posting is of my own creation and not officially supported by AWS. Even so, I hope it helps!