Thinking Outside The (Linux) Box
My washing machine has a leaky valve, it has had this problem for a while now. It comes and goes. Sometimes I hear it dripping water into the tank, sometimes I don’t. Now, some folks would run to call a service technician, or the more “DIY-minded” might attempt to replace the offending valve themselves. I, on the other hand, am content to let it drip until it finally fails completely which could be next week or five years from now. The drips of water are caught by the tank and are not being wasted or turning into an annoying puddle on the floor, so why worry myself about it? Every time I start a new load of clothes, which is quite frequently because I am doing laundry for three kids and two adults around here, the little bit of collected leak water is mixed with fresh and does its intended duty washing the clothes. I’m fine with that.
So, what does this have to do with Linux or computers in general? It illustrates an important truth about technology and that is that it is not and never will be perfect. Anyone who wants to use any technology to make life easier or to accomplish a task must be prepared to live with imperfection and learn how to work around it. If you can’t handle that concept then you will find yourself very frustrated. Sometimes a little analytical thinking and judicious application of pragmatic logic are necessary to get the most from a complex system. Anyone not prepared to roll with the changes is doomed to failure. The Linux ecosystem is vast and developers are constantly working to find new ways to get things done, deprecating the old and embracing the new. It will never be perfect, it will never be one-size-fits-all. The number of choices are dizzying and that is a good thing because it gives you options to deal with these little imperfections and stumbling blocks as the present themselves.
Case in point: Me, December 27, 2015, at 10 :00 am. I’m trying to figure out why my Samba network isn’t showing any shared folders. My Christmas gift to myself and the family was a switch to a new ISP that offers much faster and more reliable Internet service. The technician had come the day before and installed a shinny new modem/router and all had gone quite well. I was able to get all the devices connected and I configured the router to do my bidding with a minimum of effort. All was good in “Linuxland” until I tried to open a network folder only to find that they were not there. Samba could see the machines but not the shares. Now what?
I double checked everything in my Samba server’s config files and I couldn’t find anything out of place. I decided to give the ISP’s tech support number a call and see what I could get from them. To my surprise, I got a hold of a real person and then I was stunned to find out that they were quite prepared to walk me through setting up Samba! The last time I changed ISPs was in 2012 and those turkeys didn’t have a clue what Linux was, let alone Samba. Nick, the tech on the phone, was very nice and stayed with me for about an hour as we tried different things. Still, no joy. I couldn’t get the Samba server to show its goods on the network. As a matter of fact, I never found out what was wrong and I don’t care if I ever do. With the help of Nick, I found a much better solution to my file sharing needs. I ended up uninstalling the Samba server entirely. I don’t need it anymore.
At the end of our call, Nick offered to send me a link to the service manual for the Ubee modem/router and I gladly accepted. I said I would give it a look and call back if I had any more questions. Turns out that this router offers an on-board Network Attached Storage (NAS) option and all I had to do was plug in an external hard drive to get it going. I grabbed my ext4 formatted 500 GB USB drive and plugged it in. The router recognized it and immediately started sharing it over the network. Yes, it really does pay to read the instructions, fellas! With a little configuration in the router’s setup screens, I was able to share a folder that would do exactly the same thing my Samba server had done. This drive also holds backups of all my data so I setup the ability to read those folders too. I can sync data to any device that can see the network. I used to use “sneaker net” to take this drive to each machine and sync files manually. Now I can use Grsync to greatly automate the process. Cool, huh? I’m still exploring the possibilities offered by a NAS. I am considering setting up a Media Server over the network. That option is also embedded in the Ubee router. We’ll see.
One huge advantage here is the fact that I don’t have to have any one of my machines up and running to be able to share files. The router is a continuous duty and manages the USB hard drive nicely, putting it to sleep when it’s idle and waking it up when called upon by the network. The system is “set it and forget it.”
All in all, this is a much more efficient way of handling backups and file sharing. The thing is, I probably would have just kept doing things the old way if Samba hadn’t stopped working. I’m glad Samba broke. I learned a lot and found a better way of doing things. Another thing to take away from this experience is the fact that Linux is not the server room nerd operating system at all anymore. It’s flat out mainstream! My router runs on Linux and is totally Linux-ready. I didn’t have to “trick” it into working with my network at all.
I think 2016 is going to be a wonderful year for Linux. We’re going to see lots of new ways of doing things come along. Be careful not to get too hung up on notions of perfection and be ready to learn some new things to make it work for you. We will all still have to put up with a few “drops” now and then but that’s the nature of the beast and it’s also part of what makes Linux so intriguing to use. There are always better solutions coming along and problems are really just opportunities to go find them.