“Theory and practice sometimes clash. And when that happens, theory loses.
Every single time.”
― Linus Torvalds
Dropbox used to be the main cloud storage hub of my computing life. Excel sheets, Word docs, and Access Databases were all stored on the cloud folder accessible from all of my diverse platforms: two Windows machines, an Ubuntu laptop, several Android devices, and a Chromebook. But when its Basic plan was reaching its full capacity, I had to either switch to the premium plan or find its replacement service. And one more thing that I didn’t like about the free plan was its limitations on the number of accessible devices that were only restricted to three. For those who use multiple devices for multiple purposes, just like myself, it was a pain in the ass.
I still cringe over the wrong decision I made at that moment – I purchased its annual 2TB plan which cost about 14,400 Yen ($101.03) a year. However, for my photographic hobby and the large number of digital files I use on a daily basis, Dropbox’s offer didn’t meet my criteria at all, especially considering its limited storage options: 2TB or 3TB, and its cost-performances.
It didn’t last long for me to look for other solutions for my external storage needs. The first thing that came up to my mind was NAS (network-attached storage) where their vendors, such as Synology, already installed their own customized OSes on the storage device, and all you need to do is to follow their instructions to enable the OS and do some settings according to your needs to build your own cloud storage. So I could flee from Dropbox’s ridiculous asking price for the subscription. I initially thought maybe this could be the best possible solution to it.
But wait. When I looked closely at their asking prices, it didn’t make financial sense. Most of the default settings of their models come without an inner HDD, for which I had to spend extra money. Additionally, their asking price wasn’t that user-friendly either. And more importantly, since those models come with their vendor’s customized OS which is solely dedicated to handling user’s files and nothing much more, I just thought what if I could build my personal home file server from scratch with my Linux skills?
Then, I found this very interesting Japanese PC manufacturer, called Skynew (not Skynet lol), that has been selling small-sized PCs and shipping them without any OSes, so that users can install whatever OS they want. I purchased a very basic model, which cost about 25000 Yen ($ 175.48).
Having installed Ubuntu Server 20.04 on it, I started to play with the tiny yet powerful machine that would work as my home file server, by setting up its static IP address and installing the necessary software, such as Samba server that allows Windows machines to access Linux platforms. And when facing some unknown issues, I just googled possible solutions or watched some YouTube tutorials to solve the challenges.
Additionally, since the default inner storage of the machine was not big enough to answer my needs, I purchased an affordable Seagate extra HDD and added its whopping 4.3TB storage to its shared folder by partitioning and mounting it (those skills are essential if you want to be a Linux server engineer).
Throughout the process of building up the home server from scratch, it ignited my ever-lasting love of the open-source Linux OS, whose customizable nature allows me not only to perform detailed settings of its operations with command lines, but also to automate daily tasks by scripting shellscripts, and learning the very basics of OSes in general. This is something I could never have done with NAS storage.
Here, let’s talk about Linux in general. What’s Linux anyway?? You see, Linux is everywhere. From powering up a personal server PC, just like mine, to the entire ground-up systems responsible for amusement parks’ attractions and rides which you can find in Disneyland or Universal Studios, and even working inside NASA’s Mars rovers and helicopter drones! Not only that, the Linux Kernel, the very minimum level of the OS is the basic framework of the world’s most popular mobile operating system, Android. And our favorite digital brands, such as Google, Apple, Meta (a little questionable thanks to Mark Zuckerburg lol), Amazon, Microsoft, Uber, and the list goes on and on…, use of course Linux servers to store our personal data.
Without even knowing it, we’re already living with the open-source OS and can’t live without it. Ultimately, this is the undeniably powerful philosophy of Linux – it powers up our modern technologies and very much exists without being known to the general public. Isn’t it cool? And isn’t it exciting to learn more about this fascinating OS? Even the basic knowledge of the OS will land you a great start for your tech career, if you want it.
So, let’s shift gears back to the main point. As I mentioned a while ago, with my Linux home server, I even built a so-called LAMP (Linux, Apache, MySQL, PHP) environment which I could utilize as the backend system for my next Android app development project. For now, I don’t go into details about what a LAMP is, but if you’re interested, maybe you can google it!
And one more thing. What I built up with the home Linux server was kind of a working office environment where managers and employees can store and share their Word docs or Excel sheets via their company’s Linux server. With Linux’s chown command, for example, you can set up the file or directly ownership. Imagine a situation where there are some corporate secret files stored in a specific directly (or simply a folder), and you, a whole team’s supervisor, want all of those files to be exclusively readable/writable to you and other top managers, not regular employees. Just use chown command to make it exclusively readable and edible by you.
Having said that, think about this another possible situation where you built up a home Linux server where you and your family members can share files, videos, and music files, and you don’t want your kids to see some of your personal files. Just like I mentioned it before, use chown command to make them exclusive to you. So your kids won’t be able to view, read and edit them.
Basically, kids’ versions of apps, such as YouTube kids, work pretty much like this. You, parents, can add some adult/violent content to the blacklist, blocking your kids from accessing those contents. In this case, the server, of course, is not in your home but in Google’s. But you can get the idea, right? What you can do with your own Linux server is basically build up your original home digital life settings according to your specific needs.
So, what do you think about Linux and what you can do with the OS? Personally, Linux is my Disneyland where I can play, customize, learn, re-skill, and upskill. What we all can do with this OS that offers endless discoveries and ignite our ever-lasting curiosity is immense! What I mentioned above is just the tip of the iceberg. If you want to learn more about it, just google it and maybe you can build up your original home Linux server just like I did. Or maybe you can start your original AWS or GCP project with the help of the cloud vendors.
Dream big, and see further! Are you ready??