Hacker News new | ask | show | jobs
by markus_zhang 23 days ago
QQ: even when I use Linux as a daily driver I don’t use the cli much. I heard that getting a cheap vps, set up some popular services, and then exposing it to the Internet actually teaches a lot about sysadmin. Does this make sense?

One big issue for me is that when I use Linux I only use it for a specific purpose, e.g. hacking kernels, and the cli commands are extremely limited. I have been using a Linux box for a year and haven’t learned much TBH.

2 comments

Hosting a Minecraft server was pretty big for me. Learned about screen and tmux to keep it running and be able to detach and reattach. Learned vim to deal with configs on the headless server.

Another thing that helped me learn a lot was what I call "anime playlist management", but may be too niche to recommend. Basically after I moved from VLC to mpv I had to create and add to playlists without a gui. I learned a lot about the find command, text redirection, vim, fzf, file permissions... I retrieve the full file path for the videos and dump that into a .m3u file that I then watch in mpv or rearrange later in vim. find helps to get to the exact files quicker even when everything is sorted neatly into separate directories, fzf lets you add multiple files from the find output at once, selectively. find can also filter by mtime, so I have some one-liners that just show e.g. all files 7 days old or newer in the media directory, easy to rerun and select the stuff I just downloaded to put in the playlist.

At some point I preferred vim over geany or whatever other text editor I used to use. It's nice to be able to use the same tools everywhere, including over ssh, so that reinforced a preference for stuff that runs in a terminal. irssi, aerc, stig+transmission-daemon, neovim, mpv (controllable over ssh). Also having a file server gets you more into rsync, sshfs, stuff like that.

I've made several vim macros to speed up the "anime workflow" as well. Like I add new episodes to the very bottom of the file, but the file has sections broken up by empty lines, and I have a macro to take everything just added at the bottom and move it to the bottom of the top section, where the high priority stuff goes. I also have macros to delete the top line of two side-by-side files in vim at once, saving both. I have both a human-readable list and the actual playlist file and then I delete the lines as I watch.

I've been incrementally refining this workflow for several years now. Just find something you enjoy doing and try to polish it, learn more applicable tools you can incorporate, etc.

> Hosting a Minecraft server was pretty big for me.

This seems to have been the gateway to systems administration for a surprisingly large number of contemporary young people - just like IRC, Quake and Counterstrike servers in my teen years, and futzing with config.sys & autoexec.bat for DOS games when I was a kid... And the hacking soon becomes more fun than the game itself !

Absolutely! In my opinion, the only way to learn anything in any meaningful way is to actually do the thing. In the example you described, you'll quickly start jumping into "Wait, how do I configure a firewall?" and discovering ufw et. al.