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

  1. Visit https://clients.amazonworkspaces.com/ and click “Install” under Linux
  2. Redirect to https://clients.amazonworkspaces.com/linux-install.html
  3. 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!

  4. 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
  5. 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.

  1. Try to find the .deb file to convert it to RPM.
  2. 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
  3. 30 minutes have now passed. I’m beginning to wonder whether this is worth my time.
  4. Reconsider my life choices.
  5. 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
  6. 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
  7. 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

My current mental state, as of 13:00 Eastern Time on March 5th, 2020

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”).