Ed Carp's picture

I attempted to install TKLBAM on Linux Mint 20.3 (Una), with the following line from the FAQ:

<quote>

wget -O - -q \
> https://raw.github.com/turnkeylinux/tklbam/master/contrib/ez-apt-install.sh \
> | PACKAGE=tklbam /bin/bash
+ apt-key adv --keyserver pgpkeys.mit.edu --recv-keys A16EB94D

</quote>

It returned the following error:

<quote>

W: GPG error: http://archive.turnkeylinux.org/debian bullseye Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 06320D6CBA57F60C
E: The repository 'http://archive.turnkeylinux.org/debian bullseye Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
</quote>

Forum: 
Jeremy Davis's picture

Hi Ed. Things have changed a bit since we wrote that script and it hasn't been maintained. The keys are stored differently and each release now has it's own key.

I have just updated the script so that it should now work. Unfortunately, you'll need to remove what it's already done. That should be as simple as running this:

rm /etc/apt/sources.list.d/archive.turnkeylinux.org.list

If that doesn't work for some reason and gives an error, can you please give me the output of:

grep -r 'archive.turnkeylinux.org' /etc/apt/sources.list.d/

Assuming that the above goes ok. Then please try again. Until my pull request is merged you'll need to pull my copy of the updated script:

wget -O - -q \
https://raw.githubusercontent.com/JedMeister/tklbam/set-up-tklbam-repo/contrib/ez-apt-install.sh \
| PACKAGE=tklbam /bin/bash

(Has been merged into TurnKey repo now, please use below URL instead now).

wget -O - -q \
https://raw.githubusercontent.com/turnkeylinux/tklbam/master/contrib/ez-apt-install.sh \
| PACKAGE=tklbam /bin/bash

Please let me know how you go.

Ed Carp's picture

Results:

/bin/bash: line 49: syntax error near unexpected token `elif'
/bin/bash: line 49: `elif [[ "$APT_KEY_URL" == *.gpg ]]'
 

Jeremy Davis's picture

Sorry my bad. That's what happens when you rush and don't test properly. I've fixed the bug you reported and pushed the update back to GitHub. Please retry and it should hopefully work properly now.

[edit] I've just merged that script into the main TurnKey repo now, so have updated the URL in the previous post.

Ed Carp's picture

What the...?

The following packages have unmet dependencies:
 tklbam : Depends: pycurl-wrapper (>= 1.2) but it is not going to be installed
          Depends: pycurl-wrapper (< 2.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
 

Jeremy Davis's picture

I wonder if Ubuntu repos already include a "pycurl-wrapper" package?

You could check like this:

apt policy pycurl-wrapper

Regardless, you could just try manually installing it:

apt install pycurl-wrapper

Then retry installing tklbam.

Please be sure to read the apt output to see what (if any) packages might be removed. If there is another 'pycurl-wrapper' package on Ubuntu already, and you have it installed, then there may be fallout from removing it. E.g. other applications that depend on it may be uninstalled and/or not work properly. Please be careful.

If the above still doesn't work, you could try explicitly installing the version in the TurnKey repos:

apt install pycurl-wrapper=1.3.1 --allow-downgrades

(This line is much more likely to remove things - so the warning I note above applies particularly here). If that last line above still fails, please retry but this time add the '--allow-change-held-packages' switch too.

Do not hesitate to ask if you have further concerns or questions and I'll post back. Worst case scenario, if you continue to have issues, I'll try to carve out some time later in the week to launch an Ubuntu VM and test myself.

Ed Carp's picture

pycurl-wrapper : Depends: python-pycurl but it is not going to be installed

So...

root@HP-Laptop-14-dq0052dx:~# apt install pycurl-wrapper python-pycurl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python-pycurl : Depends: libcurl3-gnutls (>= 7.74.0) but 7.68.0-1ubuntu2.13 is to be installed
E: Unable to correct problems, you have held broken packages.
 

Really? Hmmm...

root@HP-Laptop-14-dq0052dx:~# apt install libcurl3-gnutls
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libcurl3-gnutls is already the newest version (7.68.0-1ubuntu2.13).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 

Jeremy Davis's picture

From the output you've posted, it looks like it depends on a newer version of libcurl3-gnutls than is available in Ubuntu. :(

I've just had a quick look though and it appears that I just updated that to what is in Debian Bullseye (current stable) when I did the latest builds for Bullseye. I'll need to check but I suspect that it may actually work ok with an older version of that library. I'll try to have a look ASAP but I'm a bit under the pump today. Hopefully early next week.

Sorry that it's so painful...

Jeremy Davis's picture

I had hoped that a quick hack might have worked, but alas I had to rebuild from source specifically for Ubuntu. I haven't actually tested on Mint 20.3/Una but I have tested on Ubuntu Focal/20.04 (the basis of 20.3). It appears to work ok there, so fingers crossed it will work ok for you too!

I've published a "release" over on GitHub with instructions how to install it, but I'll post them below here too, to save you a click. Hopefully it should get you from where you are now, to installed and usable TKLBAM (you'll need to assign a profile - but otherwise ready to use).

package=python-pycurl_7.43.0.2-2+turnkey0+13+gfa15990_amd64.deb
release=7.43.0.2-2%2Bturnkey0%2Bubuntu0
base=https://github.com/turnkeylinux/python-pycurl/releases/download
wget -O $package $base/$release/$package
apt-get install -y ./$package
apt-get install -y tklbam
Ed Carp's picture

Thanks for all your work on this! I've got it installed, and will test this weekend.

The standard Linux Mint versions are based on Ubuntu - would the LMDE versions based on Debian be any easier to install?

Jeremy Davis's picture

You're most welcome Ed. I've actually opened an issue to improve Ubuntu installation. The effort required by us isn't actually that big, we just need to do it (and keep maintaining it).

I haven't tested extensively, but I did confirm that it does initialise ok. I didn't set a profile or test creating or restoring a backup, but fingers crossed, hopefully it should work ok.

Good luck with it but please do not hesitate to report back if you encounter more issues.

As to your question, yes it should "just work" on a Debian based system. Whilst Ubuntu is Debian based (just like TurnKey), unlike TurnKey, Ubuntu don't just use the binary packages direct from Debian (like TurnKey does). Ubuntu only imports the Debian source code and builds it's own binary packages. Whilst many are more-or-less identical to their Debian counterparts, for a number of packages, they maintain their own patchsets. So some specific packages (e.g the kernel) can be completely different in Ubuntu compared to the source version of Debian.

Also, Ubuntu is taken from a snapshot of Debian unstable. For example, Ubuntu 20.04 is a snapshot of what became Debian Bullseye. Because it was taken before Bullseye was "stable", the versions are a bit older (than what ended up in Bullseye). A lot of the time, that doesn't actually matter, but occasionally (as it did this time) it does.

TL:DR - yes using a (directly) Debian based distro, then TKLBAM install should "just work". On Ubuntu based distros, you will need me to provide a specifically compiled version of the 'python-pycurl' package.

Add new comment