NFS and october update

hi, i’m having big problems with the latest update: the nfs server is not working and i can’t access the shared files on the kodi client. I have already tried to reinstall the nfs server but it doesn’t work, it doesn’t even detect it locally. I have already reinstalled the June version from sd and everything worked, once I updated nothing yet.

I have always followed this guide.

Trying installing any package give me this error:

osmc@osmc:~$ sudo apt-get install mysql-server
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package mysql-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package ‘mysql-server’ has no installation candidate

Now i’m trying to share my library with mysql. In my osmc app is all right but i still can’t update my library.

To get a better understanding of the problem you are experiencing we need more information from you. The best way to get this information is for you to upload logs that demonstrate your problem. You can learn more about how to submit a useful support request here.

Depending on the used skin you have to set the settings-level to standard or higher, in summary:

  • enable debug logging at settings->system->logging

  • reboot the OSMC device twice(!)

  • reproduce the issue

  • upload the log set (all configs and logs!) either using the Log Uploader method within the My OSMC menu in the GUI or the ssh method invoking command grab-logs -A

  • publish the provided URL from the log set upload, here

Thanks for your understanding. We hope that we can help you get up and running again shortly.

OSMC skin screenshot:

1 Like

Ok, soon i’ll upload it, but i still don’t know how to reproduce the issue. I can try to install a package but i don’t know how to demonstrate nfs problem…

here the log

Second part of your question first. mysql-server was dropped in Debian Buster; you’ll now need to specify mariadb-server.

WRT NFS, could you clarify what you’re doing? You have Kodi-based NFS pointing to a server on IP address 192.168.1.188

	<source>
		<name>Film</name>
		<path pathversion="1">nfs://192.168.1.188/mnt/hdd/Film/</path>
		<allowsharing>true</allowsharing>
	</source>

yet the IP address of your Vero4K is also 192.168.1.188 and /mnt/hdd is a locally mounted disk:

UUID=2817e69c-e962-4c20-be15-bad65facd28d /mnt/hdd ext4 defaults,noatime,nofail,x-systemd.mount-timeout=30 0 0

So where does NFS fit into the picture?

my nfs server is vero 4k with ip 192.168.1.188, /mnt/hdd is the point of mount of my external hard disk with movies, series etc… i’ve used mysql in osmc app, but i’ve tried installing from apt-get because it wasn’t workong. On my xbox with kodi as client i’ve always shared my library with nfs and mysql for watched status.
Nfs is in sources.xml, I make it point to the local server for the library, because it was giving me synchronization problems between server and client. I don’t know if anything has changed with this version, but I started with a raspberry a few years ago and then with vero 4k, I’ve never had all these problems …

In your first post you said

i can’t access the shared files on the kodi client

Since you seem to have (at least) two Kodi clients – one on the Xbox and another on the Vero4K – are they both unable to access the NFS share?

On the Vero4K, what’s the result of running showmount -e 192.168.1.188 ?

One vero 4k as a server, one xbox with kodi as a client. The server point to himself with nfs like in “localhost”
It always worked for me!

osmc@osmc:~$ showmount -e 192.168.1.188
Export list for 192.168.1.188:
/mnt/hdd 192.168.1.0/24
osmc@osmc:~$

Showmount looks fine. The log shows what seem to be two successful connections to your NFS shares:

Oct 24 17:49:41 osmc rpc.mountd[427]: authenticated mount request from 192.168.1.188:621 for /mnt/hdd (/mnt/hdd)
...
Oct 24 17:51:06 osmc rpc.mountd[427]: authenticated mount request from 192.168.1.181:715 for /mnt/hdd (/mnt/hdd)

Can you provide an example of it failing on the Vero4K?

.188 is vero 4k, .181 is xbox with kodi. With Xbox I can see the hdd by nfs in media-video because i’ve added in sources.xml, but i can’t see it in file browser. I try adding sources but he can’t see any nfs.
The same is in vero 4k
And when i enable mysql i can’t update my library

So what’s the right way to set up nfs? Because I managed to install the October version from micro sd, which used to not work, but with the guide I attached before it still does not work

You seem to have two different problems:

MySQL: As already mentioned, you’ll need to install mariadb-server.

NFS: You originally wrote “the nfs server is not working and i can’t access the shared files on the kodi client”. Now you seem to say that it is a problem with the Kodi file browser – which could be a problem introduced in Kodi 18.8. Unfortunately, I can’t test this right now so can anyone else confirm that the Kodi file browser doesn’t work with Kodi-based NFS mounts?

This is the pattern I usually use for the configuration, with the October version nfs, video database and bluetooth audio do not work. I hope there is someone else to confirm or am I just out of luck … I solved it by installing the June version, I will try to update again.

** NFS **

OSMC as a server
To share files on your OSMC device with other devices proceed as follows. You can use NFS, SMB or UPnP. If sharing a USB drive or other removable media it first needs to be mounted in the filesystem. OSMC automatically mounts removable devices under the /media directory and automatically shares them if you have installed the SMB server (see below).

To share using NFS you need to install the nfs server:

sudo apt-get update
sudo apt-get install nfs-kernel-server
For NFS do not rely on the built-in automount which mounts removable drives under /media. Instead, add a line in fstab to mount the drive under /mnt so that its location and shared name is predictable. First make a directory under /mnt. Lets call it mySharedDrive.

sudo mkdir /mnt/mySharedDrive

Type blkid at the command prompt to get the UUID of the partition you want to mount. You will see something like this:

/dev/sda3: LABEL=“OSMCsystem” UUID=“db216be0-6d8e-45b6-97ad-0fd806e961dc” TYPE=“ext4”

Then edit file /etc/fstab (sudo nano /etc/fstab) and add a line to it like this

UUID=db216be0-6d8e-45b6-97ad-0fd806e961dc /mnt/mySharedDrive ext4 defaults,noatime,nofail,x-systemd.mount-timeout=30 0 0

but using the value of UUID for your partition.

Mount it with sudo mount -a

Use nano again to make a file /etc/exports which will contain lines like this:

/mnt/mySharedDrive 192.168.1.0/24(sync,no_subtree_check)

and then type sudo exportfs -a

In the example, the drive mounted at /mnt/mySharedDrive is shared with any device on the 192.168.1.x subnet. Access will be read-only by default.

** Bluetooth audio **

sudo apt-get update
sudo apt-get install a2dp-app-osmc

** MySQL DB **

$sudo apt-get update && sudo apt-get dist-upgrade to ensure that you have the very latest iteration of Raspbian.
$sudo apt-get install mysql-server to install MYSQL Server.
To configure MySQL to listen for connections from network hosts, $sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf and change the bind-address directive to the server’s IP address:
from: bind-address = 127.0.0.1
to: bind-address = 192.168.0.5
Note: Replace 192.168.0.5 with the appropriate address.
Note: To allow both local and remote access (i.e. from both the MySQL host to itself and also from other clients), either comment out the bind-address using a hash (#) to disable it, or use bind-address = 0.0.0.0 to open it completely.
Restart your MySQL server: sudo service mysql restart
Get into the MySQL command line utility: sudo mysql
Enter the following commands:
Type in: CREATE USER ‘osmc’ IDENTIFIED BY ‘osmc’; and press return
Type in: GRANT ALL ON . TO ‘osmc’; and press return
Type in: flush privileges; and press return
Close out the command line tool with \q

Hi, I suggest you to change the type of connection in the /etc/exports file from sync to async, it will be faster.

I’ll try, thx!

This is only true when writing files. async only helps when writing, and has the potential for data corruption. It will have little to no effect when reading.

Hi @bmillham,

It is true the async option has no benefits when reading but if our friend wants to copy or move some data into that share it will speed-up a lot! It is also true that it can lead to a potential data loss if the NFS server crashes before the I/O request gets to disk.

You would have to be doing lots of writing for async to really help. I can rip a UHD movie to a NFS mounted drive, and it takes the same amount of time to write the ~60G that ripping to a local drive takes.

For most people on a home network, async would not be useful.

Also, I know that using UDP can speed up NFS, but I experimented with that a few months ago and found again that for home use, the difference wasn’t worth changing from TCP.

Did you read this part?

2 Likes

I read it and that’s not the problem, with nfs I’m just going to read the files. To change smb usage from Windows, and with this configuration I never had any problems, now I still have the June version and everything is fine.