this post was submitted on 13 Nov 2023
18 points (90.9% liked)

Selfhosted

39262 readers
404 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
18
submitted 10 months ago* (last edited 10 months ago) by [email protected] to c/[email protected]
 

I need help understanding what the community’s recommendation is for how to save my files across two pcs without having to manually cut and paste or setting up a NAS.

My situation is that I have a Linux server running Opensuse pulling down media through an Arr stack setup. It only has .5 TB available but I have a Windows PC with 3 TB available. I would like to know if there’s a way that I can seamlessly direct my Linux server to save onto my windows PC without me having to manually copy and paste.

Let’s say I initiate a download of a .75TB file on my Linux server, can I just have it save directly to my available 3TB windows PC? And then be also able to tell an app like Jellyfin to read it from there?

Long term I was thinking that I would set up a separate NAS but I don’t want to do that for a few months. I want to stabilize my current setup before adding another machine.

Am I crazy to think that I can save files to my windows computer from my Linux server? I have tried to look into different things. I started going down the route with samba, but it seems to only show files to my windows PC but not actually save them there directly from Linux. I’ve looked into FTP/SCP but I don’t know a good guide or if would do what I need. I am struggling understanding the networking portion of this, so let me know if I am wrong.

As a secondary question, if I had a NAS, could I also point some of that free 3TB from the windows pc to be used as part of the NAS?

Edit: I struggled a lot with this and ultimately got scared away from it for the connectivity reasons mentioned below. I ended up figuring out how to mount an external drive using fstab. This should meet my short term goals. Thanks all!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 23 points 10 months ago* (last edited 10 months ago) (1 children)

Enable file sharing over the network in windows, create a directory on the 3TB drive, and right click the folder in Windows and select Share. It will broadcast as an SMB share over the network, and you can use it's UNC path to access it from Linux.

In linux type $ mount -t cifs //YOURWINDOWSSHARE /mn and it will mount it as a network drive in linux that you can direct files to.

[–] [email protected] 1 points 10 months ago (4 children)

Thank you. I am attempting this today. I seem to be struggling with this. I typed in $ sudo mount -t cifs //HOME/sharedmain /mn

HOME is my pc and sharedmain is the folder I created and shared with everyone.

When I run it I get: Couldn’t chdir to /mn: no such file or directory.

I’ve googled a couple of these terms but I’m not getting any cleaner answers.

[–] [email protected] 5 points 10 months ago (1 children)

Try using the IP address instead of the NETBIOS name, it's usually more reliable that way. Also the error you are getting is because the /mn folder needs to be created beforehand (the mount command doesn't create the mount point for you). Also make sure you have the cifs package installed for your distro. Hope this helps :)

[–] [email protected] 2 points 10 months ago (4 children)

Ok thanks. I have created /mn, but now it prompts for a password for root@//192.168.69.69/sharedmain

But I didn’t set a password

[–] [email protected] 2 points 10 months ago

I'd just create a generic file share username and password locally in windows and use that from linux. It's better to have some sort of credentials for your share anyway

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago)

Windows expects to see a user account from it's own domain. Without specifying a username/password in the mount command, there's no credentials for windows to use to allow access to the share.

"Everyone" in the context of a Windows share is every user account in it's domain (which is the local user database on a Windows machine not on a domain).

https://unix.stackexchange.com/questions/436178/how-to-use-a-credential-file-when-mounting-a-samba-share-using-mount-command

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago)

It's using the current user "root" as a login user for the share. You can specify a different share user using following command:

mkdir /mnt/cifs
mount -t cifs //server-name/share-name /mnt/cifs -o username=shareuser,password=sharepassword,domain=nixcraft
mount -t cifs //192.168.101.100/sales /mnt/cifs -o username=shareuser,password=sharepassword,domain=nixcraft

Try specifying a user that does exist on your Windows machine. Not quite sure if it will work without a password, but you can try.

https://www.cyberciti.biz/faq/linux-mount-cifs-windows-share/

[–] [email protected] 1 points 10 months ago

Don't use root@

Btw if there is no password for the smb share, then leave all password attempts blank.

[–] [email protected] 3 points 10 months ago* (last edited 10 months ago) (1 children)

I assume your PC is at home and the server at the datacenter. If you actually try to this you’ll most likely end up with broken files and I/O errors because your home's internet connection might fail, drop or whatever... and you'll have to deal with port forwarding and the fact that is a very bad idea to expose SMB to the internet.

[–] [email protected] 2 points 10 months ago (1 children)

Well it’s just a tiny Linux server I made in my house, it stays within my network.

[–] [email protected] 1 points 10 months ago* (last edited 10 months ago)

You can follow the other recommendation about mounting SMB shares under Linux or eventually setup an SSH server on Windows and use SSHFS to mount it on the Linux machine.

SSH is usually faster than SMB however both of them will have issues, what if the network goes down the windows machine sleeps, reboots, crashes or someone steps on a network cable etc? You are better by avoiding those kinds of setups all together. It is very likely that the connection will drop and the Linux machine will have trouble writing on the mount causing errors and screwing the files. Those setups won't also translate unix permissions and other details very well and might create other issues for you.

[–] [email protected] 3 points 10 months ago

Make sure the dir you are mounting to exists. If it doesn’t, create it with:

mkdir /mn

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago)

Does /mn exist? You can't mount to a non-existent folder.