leobrigassi / time-capsule-proxy

Access Time Capsule share from Linux with kernel 5.15 and above
GNU General Public License v3.0
7 stars 0 forks source link

script fails to mount vm when running mount-timecapsule-proxy.sh #3

Closed FaabsD closed 2 months ago

FaabsD commented 2 months ago

After running the initial setup when i try to run the mount-timecapsule-proxy.sh script i get the following error:

mount: /srv/tc-proxy: cannot mount //127.0.0.1/tc-proxy read-only. dmesg(1) may have more information after failed mount system call.

Any suggestions on how to fix this?

side note there are no errors during the initial setup and my airport timecapsule does get mounted on the vm (checked it by connecting to the vm with the vm-ssh.sh script)

Running the script on Ubuntu 24.04 x86_64

leobrigassi commented 2 months ago

Hi, could be a number of things. I'm working on a versions 2.0 to address some of these issues with an auto-heal function. I'll let you know in a few days when it's going to be available to test.

However in your case, as it was working when you installed, I would start with restarting the service with:

./vm-restart.sh

In some cases a system reboot can also solve some fuzzy system issues.

In general I suggest to keep the usage of the time capsule mount on the low side. It's not really powerful. Works great as Media location for Plex or Jellyfin but will not work as a working directory for Radarr and similar.

leobrigassi commented 2 months ago

Hi did you resolve? you can try this beta version which has a more detailed logging system too.

Note that:

Install script: wget -O - https://github.com/leobrigassi/time_capsule_proxy/raw/v2.0.0/tcproxy 2>/dev/null | bash; ./.tcproxy

FaabsD commented 2 months ago

Hi, sorry, I haven't tried until now, but I still can't get it to work. So I just tried the beta version using the command you provided, but this gives me the following output:

wget -O - https://github.com/leobrigaswget -O - https://github.com/leobrigassi/time_capsule_proxy/raw/v2.0.0/tcproxy 2>/dev/null | bash; ./.tcproxy main: line 578: : No such file or directory main: line 579: : No such file or directory bash: ./.tcproxy: No such file or directory

Do I need to run the command at a certain location?

leobrigassi commented 2 months ago

The link you posted is messed up so difficult to say 😉

Anyway give it a try with both the main installer and the beta.

Run the code below before to make sure the mount is completely unmounted.

sudo umount -f /srv/tc-proxy

Make sure you have an empty directory after that.

What kind of system are you using? In which folder did you run/install the script from? Do you access your time-capsule / AirPort Extreme with username / password or only password? You do have sudo rights on your machine?

FaabsD commented 2 months ago

It tried to do a clean installation with both the main and beta installs on the main installer the initial issue still occurs,

on the beta it seems my terminal messed up the url for some reason (i use Warp) so i tried running it with the default terminal app which does run but it gives me the following error qemu not detected. sudo apt install qemu-system-x86 qemu-kvm please install and try again.

qemu-system-x86 is instalkled see the follwing output from when i run the suggested command

sudo apt install qemu-system-x86 qemu-kvm Reading package lists... Done Building dependency tree... Done Reading state information... Done Note, selecting 'qemu-system-x86' instead of 'qemu-kvm' qemu-system-x86 is already the newest version (1:8.2.2+ds-0ubuntu1). 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

i also did unmount /srv/tc-proxy before retrying

to answer your questions

What kind of system are you using? I am using this on Ubuntu 24.04 LTS Screenshot from 2024-08-15 21-45-41 In which folder did you run/install the script from? I am running this script from my home folder Do you access your time-capsule / AirPort Extreme with username / password or only password? I access my Timecapsule using username & password You do have sudo rights on your machine? Yes

leobrigassi commented 2 months ago

Looks like progress ;)

Ubuntu 24.04 is still a bit buggy but should not be a problem. Do run the script from the standard terminal.

The correct command is: sudo umount -f /srv/tc-proxy

However I've updated the script. Give a try to the new beta and let me know. Now the qemu check should not block you.

FaabsD commented 2 months ago

Thanks, I will try it later today (I don't have access to my PC right now) and get back to this thread with the results.

FaabsD commented 2 months ago

I just tried running the beta script and I can confirm that it works for me now, so this issue can be closed. One note, though not an issue, the script only prompted me for my time capsule IP address, username and password whereas the main script also prompts for the folder name you want to mount.

leobrigassi commented 2 months ago

Excellent. Happy to hear this.

The disk drive information is not needed when a username is present. Cheers!

FaabsD commented 2 months ago

Hi a question, you said that the disk/folder name is not needed when the username is present. So what if I want to mount the Data folder? If I leave username and password empty, the script only gives a password is required message and aborts.

leobrigassi commented 2 months ago

I've looked into it a bit more and it turns out that when the device is protected either by device password or disk password then a "Shared" folder will be present in the "Data" disk root folder. However if the device is protected by accounts, each user has its own folder "User" but can eventually also mount a second drive which now takes the name of the disk. So if you have kept the original settings this will be the Shared folder described before but named "Data" which is the name of the disk.

It changes a bit the overall mounting logic which now requires 2 different mounts for accounts, but I might be able to push out an update to address this issue later tonight for you to test ;)

leobrigassi commented 2 months ago

Hi I've merged the change directly into the main branch. Let me know if you have any more issues.

wget -O - https://github.com/leobrigassi/time_capsule_proxy/raw/main/tcproxy 2>/dev/null | bash; ./.tcproxy

FaabsD commented 2 months ago

Hi, sorry for not responding earlier, but thanks for the update it works for me, the reason I asked was because i wanted to mount the data folder on my homeserver for jellyfin.

leobrigassi commented 2 months ago

Sure no worries. By the way I pushed earlier v2.1.0 with better account support and a small GUI for inputs. Would appreciate if you could give it a try and tell me if it works well for you as it's specifically tailored to improve the various mounts for account protected devices. If you want to revert to previous versions you can always use the install of a previous release version.

In my experience you just want to keep it to the use you mention. Dumping on it lots of media and then reading from it with Jellyfin or Plex works best. But if you start using it as a working directory then it will run into issues quickly. Avoid pointing directly to it the likes of radarr sonarr etc..