1.Setting up my first Linux server on a Mac, and the scary messages that are actually fine
TL;DR - I set up a real Ubuntu Server VM on an Apple Silicon Mac using UTM, as step one toward platform engineering. - The setup is short. The confusing part is a few messages that look like errors but are normal. - This post explains what each one means, so you don't get stuck where I almost did. I'm a senior software engineer, and I'm moving toward platform and cloud engineering. Almost everything I want to learn next, like containers, Kubernetes, and cloud servers, runs on Linux. So the first step was to get a Linux machine I can log into, break, and rebuild. I didn't want to use the Mac terminal for this. It looks similar to Linux, but it is not Linux underneath. Production servers run Linux, and I wanted to learn the real thing. So I set up a virtual machine instead. What a virtual machine is In simple language, a virtual machine (VM) is a computer running inside your computer. A piece of software pretends to be real hardware, and a second operating system runs inside that pretend hardware, kept separate from your actual system. Your real machine is the host (macOS in my case). The system running inside is the guest (Ubuntu). If I mess up the guest, I can delete it and start again, and my Mac is untouched. That freedom to break things is the whole reason to use a VM. Here is what I used: - Host: Apple Silicon Mac - Virtualization app: UTM (free) - Guest OS: Ubuntu Server 24.04 LTS, ARM64 Setting it up, step by step - Download UTM from getutm.app and drag it into Applications. - Download Ubuntu Server 24.04 LTS from ubuntu.com. Pick the ARM64 / AArch64 version, not the x86 one. More on why below. - In UTM, click +, then Virtualize, then Linux. Under "Boot ISO Image", browse to the Ubuntu file you downloaded. - Give the VM about 4 GB of RAM and a 32 GB disk, name it, and press play to boot it. - Follow the text installer. Use the arrow keys, since the mouse does not work here. Why ARM64 and not x86 This one matters, and it is easy to get wrong. A CPU only understands one set of instructions, called its architecture. Apple Silicon chips use ARM. Most Intel and AMD chips use x86-64. An operating system is built ahead of time for one of them, so you have to match the download to your chip. On an Apple Silicon Mac, that means the ARM64 build of Ubuntu. Pick the x86 one and it will either refuse to run or crawl along under slow emulation. You will meet this same ARM vs x86 choice later with Docker images, so it is a good habit to start now. The first message that worried me When the install finished, the screen said: Please remove the installation medium, then press ENTER This looks like something went wrong. It didn't. It means the install finished, and Ubuntu now wants you to remove the virtual install disc so it can start from the hard drive instead. To understand why, you need one idea: a computer starts up by looking through its devices in order and booting the first one it can. The install file (called an ISO, a single file that acts like an install CD) is still attached, so the VM keeps booting back into the installer. Here is how to fix it: - Shut the VM down. - Open the VM's settings in UTM. - Find the CD/DVD drive pointing at the Ubuntu ISO and click Clear. - Save, then start the VM again. Now it boots straight to a login prompt, because the only thing left to boot from is the disk where Ubuntu lives. The second message that worried me At the login, I typed my password and nothing showed up. No dots, no stars, no moving cursor. It looked frozen. It wasn't. Linux hides the password as you type, on purpose. Showing stars would leak how long your password is, and showing nothing leaks nothing at all. This is normal. Type your password without looking for feedback and press Enter. The first real command Once I was in, I ran my first proper command. It updates the whole system: sudo apt update # refresh the list of available packages and their versions (installs nothing) sudo apt upgrade -y # install newer versions of what you already have; -y answers "yes" for you apt is Ubuntu's package manager, the tool that installs and updates software from trusted sources so you are not downloading installers from random websites. The two commands do different jobs, and the order is on purpose. First you refresh what is available, then you act on it. One line in the output said Not upgrading yet due to phasing . That is also normal. Ubuntu releases some updates to a small share of machines first, so problems get caught before everyone gets them. My machine just wasn't in that batch yet. When you want to stop for the day, shut the machine down cleanly: sudo poweroff # shuts Linux down properly instead of pulling the plug Wrap up Almost everything that worried me on day one was normal behaviour that I did not have the background for yet. Once I understood boot order, hidden passwords, and how apt works, the scary messages turned into ordinary ones. That is the real skill I am building here, learning the ideas behind the steps so the next problem is less confusing than the last. This is part one of a series where I go from senior developer to platform engineer in public. The notes and any scripts for this series will live here: [your repo link]. Hope you find it useful. All sorts of comments and feedback are welcome. Did anything trip you up when you set up your first VM? Tell me in the comments so the next person can avoid it. Top comments (0)
Comments
No comments yet. Start the discussion.