Ole Rasmussen's picture

How do I upgrade Jellyfin on the Turnkey Mediaserver.

APT is returning the error "The following packages have been kept back: jellyfin"

Jellyfin for Android TV requires Jellyfin server version 10.6 +. 
The versioin on Turnkey Mediaserver is only version 10.2.2

 

Ole.

Forum: 
Jeremy Davis's picture

Did you try explicitly installing it? I.e.:

apt update
apt install jellyfin

If for some reason that still doesn't work, please share the full output of both commands.

Ole Rasmussen's picture

 

Hey there.

Here is the complete output of "apt update" and "apt install jellyfin"

 

root@media ~# apt update

Hit:1 http://security.debian.org stretch/updates InRelease

Ign:2 http://deb.debian.org/debian stretch InRelease                           

Hit:3 http://deb.debian.org/debian stretch Release                             

Ign:5 http://archive.turnkeylinux.org/debian stretch-security InRelease        

Ign:6 http://archive.turnkeylinux.org/debian stretch InRelease

Hit:7 http://archive.turnkeylinux.org/debian stretch-security Release

Hit:9 https://repo.jellyfin.org/debian stretch InRelease                       

Hit:10 http://archive.turnkeylinux.org/debian stretch Release                  

Reading package lists... Done

Building dependency tree       

Reading state information... Done

1 package can be upgraded. Run 'apt list --upgradable' to see it.

 

root@media ~# apt list --upgradable

Listing... Done

jellyfin/unknown 10.6.4-1 amd64 [upgradable from: 10.2.2-1]

N: There is 1 additional version. Please use the '-a' switch to see it

root@media ~# apt list --upgradable -a

Listing... Done

jellyfin/unknown 10.6.4-1 amd64 [upgradable from: 10.2.2-1]

jellyfin/now 10.2.2-1 amd64 [installed,upgradable to: 10.6.4-1]

 

root@media ~# apt install jellyfin

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:

 jellyfin : Depends: jellyfin-server (>= 10.6.4-0) but it is not going to be installed

E: Unable to correct problems, you have held broken packages.

 

 

Jeremy Davis's picture

So from what you've posted, it looks like it needs to install a new package, "jellyfin-server" but it's refusing to automagically install it. Hopefully it should be install-able so please try manually installing it:

apt install jellyfin-server jellyfin

If that still doesn't work, then please post the full output of the above command, plus also give me the out put of this:

apt policy jellyfin jellyfin-server

FWIW, it looks like you are running "Stretch" (TurnKey v15.x was based on Debian Stretch). I still have a few things to try, but if we keep hitting walls, then I suspect that you may need to upgrade your base OS. If this is a VM of some sort, then migrating your data to a fresh new (latest v16.0) VM may be the best method. Alternatively, you can upgrade the current OS (as hinted above, under the hood TurnKey is based on Debian).

You will need to consider upgrading at some point, but let's cross that bridge if/when we get to it for now ("Stretch" is supported with security updates by Debian LTS until June 2022)...

Ole Rasmussen's picture

I tryed a fresh install of Mediaserver from an ISO downloaded from the Turnkey website.
Same problem. Maby you should update the applyance ;-)

 

root@media ~# apt install jellyfin-server jellyfin

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:

 jellyfin-server : Depends: jellyfin-ffmpeg (>= 4.2.1-2) but 4.0.3-3-deb9 is to be installed

E: Unable to correct problems, you have held broken packages.

 

root@media ~# apt install jellyfin-ffmpeg

Reading package lists... Done

Building dependency tree       

Reading state information... Done

jellyfin-ffmpeg is already the newest version (4.0.3-3-deb9).

0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

 

root@media ~# apt policy jellyfin jellyfin-server

jellyfin:

  Installed: 10.2.2-1

  Candidate: 10.6.4-1

  Version table:

     10.6.4-1 500

         10 https://repo.jellyfin.org/debian stretch/main amd64 Packages

 *** 10.2.2-1 100

        100 /var/lib/dpkg/status

jellyfin-server:

  Installed: (none)

  Candidate: 10.6.4-1

  Version table:

     10.6.4-1 10

         10 https://repo.jellyfin.org/debian stretch/main amd64 Packages

 

 

 

 

Jeremy Davis's picture

Thanks for the heads up. My bad...!

The last batch of updated v16.0 appliances (including Mediaserver) was finalised late last week. I did do a blog post announcement on Monday but I got interrupted when doing the updates and it wasn't until your prompt that I realised that I had neglected to finish the job (updating links and uploading changelogs). Oops...!

So if you go to the Mediaserver page now, you should see v16.0 download links. As per the update notes that one ships with Jellyfin v10.6.4.

So you'll be better off with that new appliance! It should "just work" OOTB! :) Please lte me know if that's not the case...


For completeness though I'll provide some more info re the issue you've hit.

The issue is that the latest version of Jellyfin requires a newer version of the 'jellyfin-ffmpeg' package than what is available for Debian 9/Stretch. So the only solution appears to be to move to a Debian 10/Buster based system.

I would still recommend migrating your existing data to the new appliance. However, I understand that for some users that may not be so simple (e.g. a bare metal install). Or a user may just not wish to migrate data and would prefer to do an OS upgrade. I won't go into details here, but it is well worth noting that under the hood, TurnKey is Debian based (v15.x - Debian 9/Stretch; v16.x - Debian 10/Buster). So a Debian "in place" OS upgrade is still possible. Please note that this is a non-trivial process and I'm not going to cover that here.

Ole Rasmussen's picture

Just installed the new v. 16 (Buster) of the mediaserver and ran into one little problem.

When it's time to install GRUB it wants to install it in /dev/mapper and not in /dev/sda so it throws an error. Other than that everything went fine :-)

One question:

Will it be OK to use tklbam to make a backup og the old "Stretch" applyance and restore it to "Buster"

 

/Ole

Jeremy Davis's picture

Is this a VM running on VMware? We've had a few reports of grub weirdness with VMware installs (and I was able to reproduce on VMware Player - it appears to be a grub bug, but I can't reproduce it on any other platform?!).

You could use TKLBAM to migrate and it should work fine. By my understanding there were some significant DB changes between the Jellyfin versions, so if you get any errors, it may be worth reinstalling Jellyfin if that occurs. It may not be required, but the reinstall process should force the DB to be upgraded. I.e.:

apt install --reinstall jelyfin

The other thing is that often users have tons of media and by default TKLBAM will upload your backup to AWS S3 and then download it again to restore. So unless you actually want to back up all your media (personally, I don't care that much about mine; I exclude the actual media files and just backup the config) you might find a combo of TKLBAM and direct copy might be better/faster?

Out of interest, I've been running the Mediaserver appliance at home myself for quite a while now (I haven't moved to the Buster one yet, but will soon). The way that I do it, is have all my media on a separate volume (actually, I have it on separate physical drives) and just remove it from the old VM and attach to the new VM. I have had to rescan my media once or twice (one was the move from Emby to Jellyfin, the other I don't recall why). It does take a while, but I only do it every few years so it's not that big a deal IMO.

Ole Rasmussen's picture

Just notised that in the "/var/lib/tklbam/profile/dirindex.conf" file, in the #mediaserver section, you still have the "/var/lib/emby" folder !!
Shouldn't that be "/var/lib/jellyfin"?

 

/Ole

Jeremy Davis's picture

IIRC when we first moved to Jellyfin it was still using /var/lib/emby (Jellyfin is a fork of Emby). However, I suspect that as they have now rewritten lots of it that it now uses /var/lib/jellyfin as you note and I missed that when updating the app for v16.0.

I don't have a copy of the recent Mediaserver appliance handy just now. Can you confirm 100% that it's no longer using /var/lib/emby and is definitely using /var/lib/jellyfin?

Also if it is using /var/lib/jellyfin then you can workaround that by manually adding an permanent override, like this:

echo "/var/lib/jellyfin" >> /etc/tklbam/overrides

I've added this as a new issue (with a link back to this thread) too.

Ole Rasmussen's picture

I keep finding isues :-)

I've installed a new mediaserver (v16) and copied some music albums to it. Everything seems to be ok but I can't download any metadate from the internet, like TheAudioDB.

The server is fine running a APT Update, so there is internet connection.
 

/Ole

 

Ole Rasmussen's picture

Downloading of metadate works for movies but NOT for music :/

Jeremy Davis's picture

I could be wrong, but it sounds to me like you've hit a limitation of Jellyfin (which they inherited from Emby - the software it was originally forked from).

Movie and TV series metadata is worked out from the name of the file (and files need to be named in one of a few different ways for that to work). Jellyfin then downloads further metadata from online sources to provide additional info.

But music appears to work differently. AFAIK Jellyfin primarily gets it's information about music files from the metadata tags within the music files themselves (I think that the way it's sorted in the filesystem might have some influence, but I don't recall now...). It then uses the tag metadata information to download further data. So my guess is that your music files aren't appropriately tagged so Jellyfin can't tell what they are.

It's been ages since I first set it up (I use Jellyfin myself at home, although I was using Emby when I first set all that up) but I recall that I needed to go through all my music library and fix all the metadata tags (aka "mp3tags") before it all worked nicely.

I just did a quick google and here are a couple of links that might help?

If you're unclear and need more assistance, then it's probably worth posting on the Jellyfin support forums (or on their subreddit) to get the details direct from the Jellyfin community. They'll know much more about the details of Jellyfin usage than me. Plus they also have other contact methods if you prefer.

If you post elsewhere about this issue, please cross post a link here so others can follow your trail. If someone trying to help you needs more info about how we set things up please ask. Also, if you get a clear answer/method to resolve your issue, it'd be excellent if you could post back so others will be able to find it easy. Also if there's something that we could do to improve our appliance, please post back about that too.

Ole Rasmussen's picture

It turns out it was me who ohit a limitation :-)
You have to enable the plugins that do the audio search ;)

Everything is working now as it should.

In regards to the backup, then there isen't any "/var/lib/emby" folder anymorejust the "/var/lib/jellyfin" folder. In the Jellyfin dashboard it only points to that folder.

 

/Ole

Jeremy Davis's picture

Ah ok, thanks for that.

So I've fixed the TKLBAM profile, but as I noted in the issue the fix won't be applied until next release. In the meantime as I noted above, you can add the directory to the overrides. However, what I didn't note was that it's probably also worth excluding some directories too! If you follow the workaround that I noted on in a comment on the issue that will exclude a couple of dirs too. If you've already done what I noted above, you could just manually add the last 2 lines (note the leading '-' makes TKLBAM exclude the noted directory).

Calceus's picture

Try to reinstall,

Estuardo Canar's picture

apt install jellyfin-ffmpeg apt autopurge apt install --reinstall jelyfin apt install jellyfin-server jellyfin  

Add new comment