this post was submitted on 15 Jan 2024
29 points (87.2% liked)

Linux

48143 readers
772 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I'm a generalist SysAdmin. I use Linux when necessary or convenient. I find that when I need to upgrade a specific solution it's often easier to just spin up an entirely new instance and start from scratch. Is this normal or am I doing it wrong? For instance, this morning I'm looking at a Linux VM whose only task is to run Acme.sh to update an SSL cert. I'm currently upgrading the release. When this is done I'll need to upgrade acme.sh. I expect some kind of failure that will require several hours to troubleshoot, at which point I'll give up and start from scratch. I'm wondering if this is my ignorance of Linux or common practice?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 10 months ago* (last edited 10 months ago)

It depends on the type of machine you're talking about. Pet machines, bare metal or VMs, such as workstations, desktops, laptops are generally upgraded because it takes a while to re-setup everything. Cattle machines such as servers are generally recreated. With that said, creation of such machines typically involves some sort of automation that does the work for you. Setup scripts are the very basic, however configuration as code systems such as Ansible, SaltStack are much preferable. So if I had a VM that runs acme.sh, I'd write an Ansible runbook that creates it from a vanilla OS installation. I stop here for my own infrastructure. When we do this in cloud environments where we need to spin up more than one such VM and quickly, we'd have the OS install and Ansible run in a Jenkins job which builds a VM image that's pushed to the cloud. Then we spin up ready acme.sh VMs from that image which takes seconds.