How to access a NAS under Linux?
- Posts: 16
- Joined: 1 Aug 2017
I have a PC with Linux Mint 18.3 and I want to use FFS 9.8 to sync parts of my harddisk to a Western Digital NAS (My Book Live). However, in FFS I can't input the target directory for the NAS, I cannot search for a network. But in the Nemo file manager the intended share on the NAS is very well reachable. I can take the intended directory path from the file manager and copy this into the FFS target field, but when I click the Compare button I get an error message that the target directory couldn't be found. Does someone knows a solution?
- Posts: 309
- Joined: 7 Jan 2018
Do you already have a mountpoint on the filesystem for your NAS? I.e., do you have it mounted so you can access it as "/mnt/NAS1/mydirectory"? Or are you using some other string to connect to in Nemo?
- Posts: 16
- Joined: 1 Aug 2017
Thanks for your reaction. I haven't mounted it so far. I just found out that it is possibly a mounting issue. I found the advice to enter a specific command using the Cifs-util Suite. I have to work this out. But when you can help me, you're welcome. I'm no expert in this matter and new to Linux.
- Posts: 309
- Joined: 7 Jan 2018
I come from the Fedora side of the Linux family, so my debian-fu is weak. On Fedora, you need to install cifs-utils package (dnf install cifs-utils) to be able to mount SMB shares as a regular mount point. To see what is currently mounted, in a terminal enter "mount" just by itself. An SMB share will show up as "//nethost1/networkshare1/subfolder on /mnt/networkshare1 type cifs (rw,...)" or similar. But the UNC pathing is key: the double-slashes at the front.
I just checked my Lubuntu 16.04 system, and the package name is still cifs-utils. So run:
I suspect that FreeFileSync will work best if you mount the network share as a regular filesystem. Some applications are network-aware (like Nemo, with the smb:// protocol) but even that still might depend on the cifs-utils package being present. But once you have that, you can mount the share so it looks like it's just another local directory and then use FreeFileSync that way. I recommend "mount SMB on Linux Mint" in a search engine if you still need to finish that part.
I just checked my Lubuntu 16.04 system, and the package name is still cifs-utils. So run:
sudo apt-get update && sudo apt-get install cifs-utils
- Posts: 16
- Joined: 1 Aug 2017
The CIFS-Utils software is already active. For the Public share of my NAS I did the following:
I made a mount point: /mnt/shares/Public.
Then I mounted the share with the command
sudo mount.cifs //192.168.178.17/Public/ /mnt/shares/Public/
(The IP-address is the one of my NAS).
But this gives a mount error(22): Invalid argument. I fond out that this is a very general error message, it just says something is wrong.
I look further.
I contacted Western Digital, but they are not willing to answer Linux questions.
I made a mount point: /mnt/shares/Public.
Then I mounted the share with the command
sudo mount.cifs //192.168.178.17/Public/ /mnt/shares/Public/
(The IP-address is the one of my NAS).
But this gives a mount error(22): Invalid argument. I fond out that this is a very general error message, it just says something is wrong.
I look further.
I contacted Western Digital, but they are not willing to answer Linux questions.
- Posts: 309
- Joined: 7 Jan 2018
Can you share the output of:
mount -v -t cifs //192.168.178.17/Public /mnt/shares/Public
- Posts: 16
- Joined: 1 Aug 2017
On
mount -v -t cifs //192.168.178.17/Public /mnt/shares/Public
I get the following result:
mount: only root can use "--types" option
On
sudo mount -v -t cifs //192.168.178.17/Public /mnt/shares/Public
I get the following result:
mount.cifs kernel mount options: ip=192.168.178.17,unc=\\192.168.178.17\Public,user=root,pass=********
Unable to find suitable address.
Hope you can do something with it.
mount -v -t cifs //192.168.178.17/Public /mnt/shares/Public
I get the following result:
mount: only root can use "--types" option
On
sudo mount -v -t cifs //192.168.178.17/Public /mnt/shares/Public
I get the following result:
mount.cifs kernel mount options: ip=192.168.178.17,unc=\\192.168.178.17\Public,user=root,pass=********
Unable to find suitable address.
Hope you can do something with it.
- Posts: 309
- Joined: 7 Jan 2018
This page shows up in a search result: https://askubuntu.com/questions/108462/mount-unable-to-find-suitable-address. I bet some of those options are worth trying. The main one to try: Try using the netbios name as the share name (i.e., //servername/folder1/folder2/...) and include a -o ip=192.168.178.17. Also, you might need to use a valid username from the CIFS share, and not just "root."
sudo mount -v -t cifs -o ip=192.168.178.17,unc=\\192.168.178.17\Public,user=SAMBAUSER //servername/Public/folder1/folder2 /mnt/shares/Public
- Posts: 16
- Joined: 1 Aug 2017
Dear bgstack15,
Thanks for your ongoing support!
I need some more time for further investigation
You hear from me.
Thanks for your ongoing support!
I need some more time for further investigation
You hear from me.
- Posts: 16
- Joined: 1 Aug 2017
I did many attempts with the mount command, such as:
sudo mount -v -t cifs -o ip=192.168.178.17,unc=\\192.168.178.17\Public,user=SAMBAUSER //MyBookLive/Public /mnt/shares/Public
with the following result:
ip address 192.168.178.17 override specified
mount.cifs: bad UNC (\192.168.178.17Public)
I contacted Western Digital again and now they gave me the following info:
From here I can approach the different shares. Eg. for share Public, this is afp://MyBookLive.local/Public/
However I cannot use this in FFS
I think I have to leave this for a while. Maybe later I have (or a reader has) a good idea!
sudo mount -v -t cifs -o ip=192.168.178.17,unc=\\192.168.178.17\Public,user=SAMBAUSER //MyBookLive/Public /mnt/shares/Public
with the following result:
ip address 192.168.178.17 override specified
mount.cifs: bad UNC (\192.168.178.17Public)
I contacted Western Digital again and now they gave me the following info:
When I approach my NAS in the network via the Nemo file manager, then the path is afp://MyBookLive.local/The My Book Live (my NAS) has a Linux file system and it has been tested in the Windows and Mac environments up to Windows 7 and Mac OS Mountain Lion. It has not been tested in a Linux environment and we cannot recommend or assure its compatibility. The Product Overview lists this information: http://products.wdc.com/library/AAG/ENG/4178-705202.pdf
The following protocols are suppored: CIFS/SMB, NFS, FTP, AFP, and they are the possible ones used to access your device. Please find instructions on how to map the device on Windows in case it can be used as an example: https://support.wdc.com/knowledgebase/answer.aspx?ID=2676&h=2&lang=en
In order to map it, it is necessary to use one of the protocols and include the path to the device, I suppose its IP Address. I wouldn't know which commands were needed.
From here I can approach the different shares. Eg. for share Public, this is afp://MyBookLive.local/Public/
However I cannot use this in FFS
I think I have to leave this for a while. Maybe later I have (or a reader has) a good idea!
- Posts: 309
- Joined: 7 Jan 2018
In bash, you should use single quotes to protect the strings that contain slash \ symbols. If you don't, the slashes will be interpreted as escape characters, so they will "escape" the following character.
Try this:
Without the single quotes, the \\ will be interpreted as a single \, which would definitely not be correct. You're getting closer! Don't put this project on hold just yet.
Try this:
sudo mount -v -t cifs -o 'ip=192.168.178.17,unc=\\192.168.178.17\Public,user=SAMBAUSER' //MyBookLive/Public /mnt/shares/Public
- Posts: 16
- Joined: 1 Aug 2017
See the result
I did it with all the passwords I have available. Can you tell me what this SAMBAUSER is?
Thanks for your encouraging support. Yes I think I'm close, but still not close enough!
~ $ sudo mount -v -t cifs -o 'ip=192.168.178.17,unc=\\192.168.178.17\Public,user=SAMBAUSER' //MyBookLive/Public /mnt/shares/Public
ip address 192.168.178.17 override specified
Password for SAMBAUSER@//MyBookLive/Public: ****************
mount.cifs kernel mount options: ip=192.168.178.17,unc=\\MyBookLive8.17\Public,unc=\\192.168.178.17\Public,user=SAMBAUSER,pass=********
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Thanks for your encouraging support. Yes I think I'm close, but still not close enough!
- Posts: 309
- Joined: 7 Jan 2018
Oh, sorry. The "SAMBAUSER" was supposed to be replaced with whatever user account that has access to the network share. So it could be "admin," or "gcvdberg," or something else. I personally use "public" with one of my generic passwords from the past for all my public (public within my network) network shares.
If you have time, you could read the man page for mount.cifs, as the error suggests. Maybe for whatever reason the Linux Mint mount.cifs doesn't support -o 'unc' or -o 'user'. It could be -o 'username=SOMETHING," but I can't remember all those. To read the manual pages:
If you have time, you could read the man page for mount.cifs, as the error suggests. Maybe for whatever reason the Linux Mint mount.cifs doesn't support -o 'unc' or -o 'user'. It could be -o 'username=SOMETHING," but I can't remember all those. To read the manual pages:
man mount.cifs
- Posts: 16
- Joined: 1 Aug 2017
I'm sorry, but it still doesn´t work. See the following command and result:
I consulted the mount.cifs manual page, but this is not extended enough. On the other hand, when googling for more info I found that the mount command can be very complicated. I think I need some more specialized knowledge. In between I use an ordinary external disk for backup purposes.
Maybe interesting, I found that I can enter the inside of the NAS with a SSH command. Then I can look into the NAS system with a terminal. It's a Debian system.
sudo mount -v -t cifs -o 'ip=192.168.178.17,unc=\\192.168.178.17\Public,user=George' //MyBookLive/Public /mnt/shares/Public
[sudo] wachtwoord voor pc-george:
ip address 192.168.178.17 override specified
Password for George@//MyBookLive/Public: ************
mount.cifs kernel mount options: ip=192.168.178.17,unc=\\MyBookLive8.17\Public,unc=\\192.168.178.17\Public,user=George,pass=********
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Maybe interesting, I found that I can enter the inside of the NAS with a SSH command. Then I can look into the NAS system with a terminal. It's a Debian system.
- Posts: 309
- Joined: 7 Jan 2018
I suspect the mount command is failing because of the duplicate UNC options. It's possible you don't need the UNC option listed at all, because the mount command is going ahead and putting it in the full command it tries to execute.
Or, it's possible the unc path should use forward slash / characters instead of the Windows-style backslash \ characters. Could you try:
The reason I have been unable to guide you more succinctly is because I don't actually use cifs at home anymore. I've got some at work, so maybe I'll check out those configs. But normally I just slap it in /etc/fstab and mount /mnt/directoryname.
Alternatively, to make sure you actually have samba connectivity to the server, you could try using the smbclient tool to help check the options needed to get a valid connection. It might not be useful, but it's out there. I personally have never used it. I always needed to mount filesystems like what you are trying to do.
Have you tried using the nfs connection at all? Here's a probably fstab entry:
Or for the command line:
Or, it's possible the unc path should use forward slash / characters instead of the Windows-style backslash \ characters. Could you try:
sudo mount -v -t cifs -o 'ip=192.168.178.17,user=George' //MyBookLive/Public /mnt/shares/Public
Alternatively, to make sure you actually have samba connectivity to the server, you could try using the smbclient tool to help check the options needed to get a valid connection. It might not be useful, but it's out there. I personally have never used it. I always needed to mount filesystems like what you are trying to do.
Have you tried using the nfs connection at all? Here's a probably fstab entry:
mybooklive:/Public /mnt/shares/Public nfs rw,bg,vers=4,rsize=65536,wsize=65536,hard,intr,proto=tcp,timeo=600,retrans=2
sudo mount -v -t nfs -o 'rw,bg,vers=4,rsize=65536,wsize=65536,hard,intr,proto=tcp,timeo=600,retrans=2' mybooklive:/Public /mnt/shares/Public
- Posts: 16
- Joined: 1 Aug 2017
This is the result for the first command:
How can I try a nfs connection? (Remember, I'm a newbie!)
I put the command
in the /etc/fstab. I understand that this is a kind of permanent mount procedure, isn't it? But it didn't work out.
And this is the result for your last suggestion:
Thanks anyway for your help again.
sudo mount -v -t cifs -o 'ip=192.168.178.17,user=George' //MyBookLive/Public /mnt/shares/Public
[sudo] wachtwoord voor pc-george:
ip address 192.168.178.17 override specified
Password for George@//MyBookLive/Public: ************
mount.cifs kernel mount options: ip=192.168.178.17,unc=\\MyBookLive\Public,user=George,pass=********
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
I put the command
mybooklive:/Public /mnt/shares/Public nfs rw,bg,vers=4,rsize=65536,wsize=65536,hard,intr,proto=tcp,timeo=600,retrans=2
And this is the result for your last suggestion:
sudo mount -v -t nfs -o 'rw,bg,vers=4,rsize=65536,wsize=65536,hard,intr,proto=tcp,timeo=600,retrans=2' mybooklive:/Public /mnt/shares/Public
[sudo] wachtwoord voor pc-george:
mount: wrong fs type, bad option, bad superblock on mybooklive:/Public,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so.
- Posts: 309
- Joined: 7 Jan 2018
Ah, you might need to install package nfs-client or nfs-common. I don't remember the differences between them. I know some distros don't include the nfs packages by default, which confuses me. So, run:
Now, once you insert something in /etc/fstab, you need to run mount -av, but you don't need mount -a for the manual mount command.
But about the cifs command, I checked man 8 mount.cifs (on Ubuntu 16.04) again, and the parameter is username, not user. So you could try that.
sudo apt-get install nfs-common
But about the cifs command, I checked man 8 mount.cifs (on Ubuntu 16.04) again, and the parameter is username, not user. So you could try that.
- Posts: 16
- Joined: 1 Aug 2017
Sorry for the delay. I installed nfs-common, and did again a lot of attempts, but it wasn't successful. I think it's getting to complicated for me now. I must go back to the base and learn all the ins and outs of mounting.
Thank you for all your help.
Thank you for all your help.
- Site Admin
- Posts: 7212
- Joined: 9 Dec 2007
Maybe a little too late, but this command line works for me to mount a Samba share from Ubuntu 18.04:
The stuff marked by "< >" needs to be adapted accordingly and the "<SMB folder>" must be created previously.
Prerequisite is:
Unmount again with:
sudo mount -t cifs -o username=<name on SMB server>,password=<...>,\
gid=1000,uid=1000 \
//<IP of Samba Share>/<share name> ~/Desktop/<SMB folder>
Prerequisite is:
sudo apt-get install cifs-utils
sudo umount ~/Desktop/<SMB folder>
- Posts: 16
- Joined: 1 Aug 2017
Thanks Zenju, you're not too late! I interpreted your suggestion as follows:
Result:
The biggest differences with earlier attempts are the gid and uid options. Can you explain what these are and what 1000 means?
cifs-utils is installed.
sudo mount -t cifs -o username=xxxxx,password=yyyyy, \gid=1000,uid=1000 //192.168.178.17/PCgeorge /mnt/shares/PCgeorge
,: command not found
cifs-utils is installed.
- Site Admin
- Posts: 7212
- Joined: 9 Dec 2007
The " \gid" part in your command line is not correct. "\" followed by a newline will concatenate the following line without any leading whitespace. IOW remove both the space and the "\" before "gid".
"gid=1000,uid=1000" will use your current login user (which I presume is 1000) when evaluating permissions of the mounted files. I believe because of the "sudo" the default is "root".
"gid=1000,uid=1000" will use your current login user (which I presume is 1000) when evaluating permissions of the mounted files. I believe because of the "sudo" the default is "root".
- Posts: 16
- Joined: 1 Aug 2017
Now the command is as follows:
And the result:
Hope you have an idea.
sudo mount -t cifs -o username=xxxxx,password=yyyyy,gid=1000,uid=1000 //192.168.178.17/PCgeorge /mnt/shares/PCgeorge
,gid=1000,uid=1000: no such command (this is my translation from my Dutch version)