Hacker News new | ask | show | jobs
by dade_ 1394 days ago
Once I figured it out, over 20 years ago, I’ve found it trivial since. Though not as simple as sharing on Windows.

A friend of mine has been trying to learning Linux this month, and he came to me frustrated, losing his mind. A whole day going all over the place on the Internet, obviously following tutorials he didn’t understand, and installing who knows what, and I asked, did you install SAMBA? He asked, what’s that? However the package was installed and I explained smb.conf file and SMB user.

The problem is people are lazy and don’t want to look stupid. So they will spend days searching the web, reading through the endless ‘blind leading the blind’ user forums (Ubuntu comes to mind), instead of RTFM. And won’t ask someone for help until they have wrapped their brain into a frustrated knot.

9 comments

The other thing that is worth saying is that TFM of RTFM fame is usually really quite good, but also really quite large. I read all of nmap's documentation as a teenager and learnt a lot about networking. I'm sure 99% of the time all I need is -sS -O, and sometimes -P, but I'm very happy with the knowledge/time rato. It's a wonderful, huge tool and I know that if I need to use a bit more functionality I can do do.

A lot of the shitty guides do the equivalent of saying "nmap? Just run sudo nmap -sS HOSTNAME to do a port scan!", but spread out across ten pages of SEO crap. It's not exactly wrong, but it's not exactly helpful either. The trouble is, of course, that now if you Google "how to do a port scan Linux" you get that guide, rather than the manual that explains in detail why it's a hard problem and a bunch of ways and subtleties about doing it. Fast forward ten years and anything other than -sS looks weird.

Samba is the same, but somehow, infinitely more complex in detail and, because the tools have different names, less searchable. Want to mount and active directory share? You probably need kinit and to know the word "Kerberos". Browse other shares? Smbtree. Make them persistent together and mount on boot? That's another silly, overly detailed guide. And each one of these guides comes with its own lack of detailed understanding by the authors, focus on ads and SEO, and further obscures the fact that the original FM covers all of this in detail, but it's long and complicated, because, well, it's complicated!

I personally think that open source projects would do well to maintain a cookbook FAQ of "here is a set of common usages of this tool". Many man pages do, with one liners, but anything more complex tends to be hidden. It would be great if those who understand the complex subtleties involved write a definitive way to do things, rather than expecting everyone to read all of TFM all the time -- and I equally realise that, as someone who makes complex software to do complex things, half the time you really would rather your users RTFM you spent so long writing at any rate...

Don't lead people to believe manuals/manpages are good, complete or readable. I often fine that coming up with an option line that does what I want requires more study than is presented in the manual. A quick forum search will probably be a much better starting point.

Also, I recall that reading though a Samba config file (it's been a decade, maybe it's gotten better) while instructive, is nearly equivalent to reading a novella. Sure I can configure domains and users, but I don't need any of that.

A mandatory half pager trying to setup a typical newbie use case would be a huge improvement for most manuals that I have seen.

Manuals are written by the people who know the software better than anyone else. But that knowledge comes at a price of being completely unable to shift their perspective to that of someone coming in with fresh eyes.

Documentation needs two parts, a reference written by the authors and a tutorial written by someone with no prior experience with the software going though their process learning it from scratch.

I remember doing something like this on Ubuntu recently. All I needed to do was right click a folder, hit properties, then share. Samba wasn't installed so there was a prompt that says "required software not installed, want to install it?" and after hitting yes and giving it my password it just worked.

I don't know if Ubuntu 22.04 changed this process or if your friend is using a less user friendly distro but I found this to be one of the easier things to do in Linux. You don't need to bother with smb.conf or whatever if your software ecosystem has built in SMB integrations (like they should, if they target the non-technically minded).

I do know that recent GNOME installs come with built in remote desktop over RDP which is a godsent. xrdp works great once you get it working but to do that you should be prepared to take the three hour deep dive into display/windows manager terminology, internals, and configuration files unless you're running a minimalist DE.

Really, common distros should have a button in the installer that says "install the software packages I'll probably need" to install all of this stuff and not rely on the user knowing what arbitrarily named packages they need. Let the purists disable that stuff if they want to, but let the normal people start out with a desktop that Just Works.

> reading through the endless ‘blind leading the blind’ user forums (Ubuntu comes to mind)

The first party Ubuntu tutorials are especially bad... It seems like for things like SAMBA and NFS they are at least 10 years out of date. Arch Linux and RHEL docs are a lot more reliable, even if you have to figure out the the Debian/Ubuntu ways to do things when they've diverged

Absolutely seen this on more than one occasion. Makes me glad that I was fortunate enough to have had a really exceptionally awesome early grade-school teacher instill in us the statement that "the only truly stupid question is the one you don't ask when you really need an answer".
A few hours or trial and error can save you minutes of reading the manual.
Assuming the documentation is up to date, we'll written, and easy to follow.

Of course I'm more of a tinker, so I'll mess with something first intentionally before going to the manual. What you get stuck on is what teaches you what part of the manual is most important for you.

> The problem is people are lazy

doesn't describe

> they will spend days searching the web, reading through the endless ‘blind leading the blind’ user forums

as for "instead of RTFM" you have to know where and what to read

RTFM is my superpower. "How did you possibly do ____ with complicated technology ____?!" -- "Well, I read the manual."
Idk, I've been using Linux and Mac since the early 00s, and I've recently been running into a bunch of mysterious issues accessing SMB shares from a Windows 11 server.

I have docker clients on the linux boxes that use the samba share for storage. Eventually I figured out that didn't work well with sqlite files, so I mapped those to local folders instead. But there are still issues with permissions when the linux clients reboot. I usually have to shut down docker, unmount the share, and re-mount with `sudo mount -a`.

Fwiw, this is my fstab line below. I think the network is up when the fstab gets mounted, because there are files visible in the /media/data tree - it just sometimes needs to be unmounted and remounted for everything to work correctly. Haven't found anything in the logs.

    //server/data /media/data cifs 
 nofail,rw,vers=3.0,credentials=/path/to/smbcredentials,uid=1000,gid=1000
I don't know as much about Windows, and the Windows server is not mine, otherwise I would get rid of that junk.
Well, found some logging indicating it was an issue with op-locks, so I turned those off on the server and hoping that helps