====== Ubuntu Server Update Procedure ======
This is the normal update procedure for the Ubuntu server.
The goal is to keep the system updated while avoiding problems caused by kernel or NVIDIA driver updates that require a reboot.
===== 1. Refresh Package Information =====
Run:
sudo apt -o Acquire::ForceIPv4=true update
Using ''Acquire::ForceIPv4=true'' avoids the Ubuntu mirror connectivity problem that can occur when the server attempts IPv6 connections that are not available.
===== 2. Review Available Updates =====
Run:
apt list --upgradable
Review the list before installing anything.
Pay particular attention to updates involving:
linux-image
linux-headers
nvidia-driver
nvidia-utils
libnvidia
nvidia-kernel
Kernel or NVIDIA updates may require a reboot.
===== 3. Install Updates =====
Run:
sudo apt -o Acquire::ForceIPv4=true upgrade
When prompted:
Continue? [Y/n]
Enter:
y
Ubuntu may leave some packages uninstalled because of "phasing." This is normal.
Do not force phased updates unless there is a specific reason to do so.
===== 4. Check Whether a Reboot Is Required =====
After the update finishes, run:
if [ -f /var/run/reboot-required ]; then
echo "REBOOT REQUIRED"
cat /var/run/reboot-required.pkgs 2>/dev/null
else
echo "No reboot required"
fi
If a reboot is required, the output may also list the package or packages responsible.
===== 5. Reboot If Required =====
If Ubuntu reports that a reboot is required:
sudo reboot
After the server comes back online, reconnect with SSH.
===== NVIDIA / Plex Warning =====
If NVIDIA libraries are updated without rebooting, the loaded NVIDIA kernel module may no longer match the installed NVIDIA libraries.
This can cause Plex Media Server to crash immediately at startup.
A symptom of this condition is:
Failed to initialize NVML: Driver/library version mismatch
If this appears after an NVIDIA update, reboot the server before troubleshooting Plex.
After rebooting, verify the NVIDIA driver with:
nvidia-smi
A normal ''nvidia-smi'' display indicates that the NVIDIA driver and libraries are communicating correctly.
===== 6. Check Drive Mounts =====
After updates or a reboot, run mount check for the drives:
for m in /mnt/media{1..8} /mnt/internal; do
if mountpoint -q "$m"; then
echo "OK $m"
else
echo "MISSING $m"
fi
done
===== 7. Check Server Services =====
After updates or a reboot, run the server health check:
echo "=== Native Services ==="
for s in plexmediaserver transmission-daemon jdownloader; do
printf "%-22s %s\n" "$s" "$(systemctl is-active "$s" 2>/dev/null)"
done
echo
echo "=== Docker Services ==="
for c in nginx-proxy-manager newsblur_web newsblur_celery newsblur_nginx newsblur_haproxy; do
printf "%-22s " "$c"
docker inspect -f '{{.State.Status}}' "$c" 2>/dev/null || echo "not found"
done
Expected results:
=== Native Services ===
plexmediaserver active
transmission-daemon active
jdownloader active
=== Docker Services ===
nginx-proxy-manager running
newsblur_web running
newsblur_celery running
newsblur_nginx running
newsblur_haproxy running
===== Recommended Update Commands =====
For normal updates, use:
sudo apt -o Acquire::ForceIPv4=true update
apt list --upgradable
sudo apt -o Acquire::ForceIPv4=true upgrade
For this server, normally avoid using:
apt full-upgrade
apt dist-upgrade
unless there is a specific reason to do so.
Also do not force phased updates unless necessary.
===== Quick Summary =====
The normal routine is:
* Refresh package information.
* Review available updates.
* Install normal eligible updates.
* Check whether Ubuntu requires a reboot.
* Reboot when required, especially after kernel or NVIDIA updates.
* Run ''nvidia-smi'' after NVIDIA-related updates.
* Run the server health check after rebooting.