Lessons from Arch
An exercise in self-flagellation.
When I started my current job I had a laptop that I would be using 5 days a week running on a (mostly) usable operating system. Upon getting a new personal laptop 2 months later I took the chance to install Arch btw in the hope that it would allow me to better learn how things work in Linux at a lower level.
In this ongoing post I capture some of the cases where this came true. Nothing here is revolutionary, I am writing for myself to reinforce learning and refer back to.
Will I put Arch on my next machine? When I started this job I asked my boss why they used Ubuntu and was told “I’m busy, I just need it to work”, and you know, I get it now.
Mounting
January 2023
On most sane OSs if you plug a USB or other storage device in it appears
for you to open in a file browser, findable at /media/ or listed under
“External Storage Devices” etc.
The first time I did this on Arch I had no idea where it was and how I could
get to my storage. This is because nothing external is mounted onto our system
by default.
First, to find the device we can use either lsblk, or, knowing that it is a
USB device, lsusb:
$ lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
/dev/sda 8:0 1 3.8G 0 disk
/dev/nvme0n1
|- this machine...
$ lsusb
...
BUS 003 Device 005: ID LogiLink UDisk flash drive
...
the -p option prints the full path so we can now go and find it.
Following the adage that everything in linux is a filesystem we now mount this
storage to access it. This can be done anywhere, but /mnt/ is generally advised:
$ sudo mkdir -p /mnt/my_usb
$ sudo mount /dev/sda /mnt/my_usb
$ ls -lha /mnt/my_usb/
total 220M
drwxr-xr-x 3 root root 4.0K Jan 12 19:19 my_file.md
...
note that this requires root access, and root is listed as the owner of the
mounted files.
Now we can open files, copy off the disk etc.
When finished it is good practice to unmount and clean up, though Linux can clean up after us:
$ sudo umount /mnt/my_usb
$ sudo rm -r /mnt/my_usb
Of course, there are more options to mount as needed, -t to specify type,
useful when not autodetected, but this is meant to be kept as the simple lesson
I learnt in the moment.
Adding networked devices
August 2026
Similarly to mounting a USB storage device, I recently wanted to plug in a new device I bought to ssh on to it over usb. Again, on most systems plugging it in would make it findable, but not here.
I could see the device listed in lsusb but got connection refused when attempting ssh.
Running ip link show shows the various devices on the network, and we can find the device
here, identifiable via whatever appears when plugged in, likely beginning enp....
Most notably we see it has state DOWN, possibly in red letters as Arch will make a link,
but will not, by default bring the interface up. This can be done with:
$ sudo ip link set <interface> up
where <interface> is the name in ip link, after which we
$ sudo ip addr add <laptop static ip>/24 dev <interface>
to register an IP address. Note we use the IP address assigned to the laptop by the external device.
We can then ssh to the IP address of the device.
Cleaning up:
$ sudo ip addr del <laptop static ip>/24 dev <interface>
$ sudo ip link set <interface> down
Ideally I think we would use DHCP or similar to automate this, rather than manually assigning known static IPs, but given they were known here this is what did.