KoreaDevKNOWLEDGE SHARING

Content typeLearn

AI INFRASTRUCTURE · 02 / 12

Ubuntu 24.04 server operations

Starting from the first installation screen, learn files, users, permissions, packages, systemd, networking, and storage in sequence, and judge server state from evidence gathered before and after each change.

Difficulty
Beginner
Structure
Core units 5 · Judgment activities · Three-stage assessment

NEW HIRE ONBOARDING

Start in the order you would receive your first assignment

So that even a new hire with no prior IT background can follow along, we start with the situation, the task, the evidence, and when to report, before difficult definitions.

  1. 01

    Read the situation in one sentence

    Separate the evidence for the installation target, paths and permissions, packages and services, and network and storage, and narrow down the cause before making a change.

  2. 02

    Today's assignment

    Narrow hypotheses from failure symptoms and report the results of stopping, recovery, and escalation.

  3. 03

    Evidence that shows the work is complete

    Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

  4. 04

    When to stop and ask a senior colleague

    Just before installation, the disk list differs from the work order. Which action do you choose?

Unpack unfamiliar terms first

Baseline
A record that gathers the target, time, and state so that the before and after states of a change can be compared.

Operational question for this course

Can another person re-verify the baseline of a single server?

Separate the evidence for the installation target, paths and permissions, packages and services, and network and storage, and narrow down the cause before making a change.

CORE UNIT 1 / 5

Installation and the first baseline

Check the installation requirements for Ubuntu Server 24.04 LTS and record the pre-change baseline immediately after the first login.

Difficulty
Beginner
Structure
Lessons 1 · Labs 2 · Assessment

Diagrams and tables: composed by the author using each lesson's official primary sources. Find the originals and review dates at the end of that lesson.

PREREQUISITE CHECK

Three things to check before reading

This is not a test of memorized answers. Think about each question first, then open the explanation to review the foundational concepts used in this course.

1Does this lab change a real production server?

Read the examples in the browser and make your judgment. To reproduce the commands separately, prepare an approved isolated VM and a snapshot.

2What do you do if the work target differs from the record?

Stop the change and check the target identity and permissions. Record any unknown value as unconfirmed.

3What background knowledge should you confirm before reading this unit?

Check the purpose of an unfamiliar command in its help, and keep lab and production environments separate.

TEXTBOOK GUIDE

Main text that covers each concept from its background to the criteria for judging it

We explain the material section by section so readers new to IT can connect causes and effects without memorizing terms.

  1. Distinguish the installation media from the target disk and explain the risk of erasure.
  2. Collect the first baseline for OS, kernel, time, resources, and network.
  3. Report the conditions for continuing or stopping the installation, with the rationale, in a work record.
Installation and the first baseline Lab environment and safety boundaries
Hardware2 or more CPU cores · 4 GiB or more of memory · 30 GiB or more of storage · No GPU required
SoftwareUbuntu Server 24.04 LTS installation ISO · A terminal or an SSH client
Required permissionsPermission to create or reset the lab VM · Sudo privileges after installation
NetworkingA NAT or isolated network for the lab · Check in advance whether the package repository is reachable

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

Applies to version: Ubuntu Server 24.04 LTS · Manuscript review date: 2026-08-31

CONCEPT FLOW

How the chapters connect

The chapters are not isolated short answers to memorize. Follow them from left to right to see how each chapter's concepts support the next decision.

  1. 1.Fill in the pre-installation checklist
Installation and the first baseline: the overall map. If you lose track while reading the detailed explanations and chapters below, return to this sequence.

CONTROLLED EXPLANATION

Follow the evidence to check, one step at a time

Current explanation · 1/1 · Fill in the pre-installation checklist

Up next: Check your judgment against concrete cases and labs.

  1. Fill in the pre-installation checklist

    On a physical server or an existing VM, choosing the wrong target disk can make data unrecoverable. If the asset ID, disk serial, capacity, or attachment position differs from the approved work order, stop immediately and escalate to a senior colleague.

Conceptual explanation 01

Check the installation prerequisites for Ubuntu Server 24.04 LTS and record the pre-change baseline right after the first login.

Baseline: a record of the target, time, and state collected so that the system can be compared before and after a change.

Installation is not a file copy; it is a change that decides which disk to erase and on what boot, network, and identity basis the server will start. Do not proceed just because Install is on the screen; first confirm whether the target is a lab VM or a physical server holding existing data, and whether a rollback is possible.

A baseline is not a note saying “installation is finished.” It is a bundle of evidence recording the OS release, kernel, clock, CPU, memory, disk, interfaces, and addresses at the same point in time, so that later faults or changes can be compared against it. What you observed comes before any conclusion that things are normal.

In the training example the disk checked just before installation was 100GiB while the work order specified 80GiB. Do not proceed merely because the VM name matches. An added virtual disk or a wrong console connection can also be the cause. Compare the serial and the device attachment, and stop the installation until the target is confirmed.

A baseline is built from the output of several commands. The OS release describes the distribution, the kernel is the core of the currently running operating system, and mount shows the filesystems in use. Even if one value is normal, check the others separately. Tie them together under the same timestamp and target name so that the next operator can compare them.

A branching diagram that compares the asset name, disk size and serial, and rollback location in the work order with the actual target, leading to installation and baseline recording if all match, or to stopping and escalation if any differ
How to read the figure In the three cells at the top, compare the values in the work order with the values on the actual target, one line at a time. The green arrow leads to installation and baseline recording only when all three items match, while the amber arrow means that if even one differs, you stop before any destructive change and escalate. In the example, the work order says 80GiB but the installation screen shows 100GiB, so rather than proceeding and checking later, stop right there and compare the serial and device attachment again. The four cells below are the command groups that make up the baseline, showing that OS and kernel, time synchronization, CPU and memory, and disk and network are evidence from different layers. Even if one value is normal, check the others separately; the four groups must be tied to the same time and the same target name for the next operator to compare them. The last box gives the acceptance criteria for the baseline and the rule that if a value differs, installation is not complete and the cause of the difference must be investigated. The names, capacities, and addresses in the figure are training examples from the lesson.
Why does this happen?
Only by recording the OS, devices, and addresses at a single point in time can you later tell which layer changed. Do not extend the success of a single command into a verdict that the entire server is healthy.
When is it a problem?
If the disk capacity differs from the work order, you may be looking at a different VM or an additional disk. Before proceeding on the installation screen, first compare the target identity.
Common beginner misconceptions
If you choose the wrong target disk on a physical server or an existing VM, the data may be unrecoverable. If the asset ID, disk serial, capacity, or attachment location differs from the work approval, stop immediately and escalate to a senior colleague.
How to verify it yourself
Collect the results of the read-only commands below in one record, and compare the target and capacity in the work order with the actual disks, mounts, and routes. Record command failures as well.
To summarize this sectionAnother operator who receives only the work record must be able to recheck the OS, kernel, and time synchronization state, CPU and memory, free space on the root filesystem, active interfaces, and the default route with the same commands. If the values differ, the operator must be able to investigate the cause of the difference instead of declaring the installation complete.

CHAPTER 1 / 1

Fill in the pre-installation checklist

Record in one table the installation target's asset name, whether a VM console or a physical console is used, the target disk capacity, whether existing data must be preserved, the network connection method, and the rollback point. For a VM lab, also record the name and creation time of the snapshot taken just before installation.

Run the commands below after installation is complete and you have logged in to the target server for the first time. Checking the disk before installation and collecting the baseline after installation are separate steps. The output below is a reading exercise built separately from the figure, so do not mix its device names and capacities with the values in the figure.

Commands for reproducing the isolated environment · do not run them in the browser
cat /etc/os-release
uname -r
timedatectl status
lscpu
free -h
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
df -hT /
ip -brief address
ip route
Expected output for training · not an actual measurement
NAME   SIZE TYPE FSTYPE MOUNTPOINTS
vda    100G disk
vda1     1G part vfat   /boot/efi
vda2    99G part ext4   /

ens18  UP  192.0.2.10/24
default via 192.0.2.1 dev ens18

CONCRETE CASES

Install Ubuntu Server 24.04 on the lab VM and record the pre-change state in a reproducible form.

In the training example the disk checked just before installation was 100GiB while the work order specified 80GiB. Do not proceed merely because the VM name matches. An added virtual disk or a wrong console connection can also be the cause. Compare the serial and the device attachment, and stop the installation until the target is confirmed.

Wrong responses and boundaries to check

On a physical server or an existing VM, choosing the wrong target disk can make data unrecoverable. If the asset ID, disk serial, capacity, or attachment position differs from the approved work order, stop immediately and escalate to a senior colleague.

If time is not synchronized, check the network connection and the NTP source first. If there is no address, narrow the scope in this order: cable or virtual NIC attachment, interface state, and then the DHCP or Netplan configuration. If free space on the root filesystem is below the threshold, judge whether a snapshot or a reinstall is possible before changing partitions.

INTERACTIVE LAB 1 / 2

Lab 1 · Find the basis for a verdict in the output

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

Install Ubuntu Server 24.04 on the lab VM and record the pre-change state in a reproducible form.

NAME   SIZE TYPE FSTYPE MOUNTPOINTS
vda    100G disk
vda1     1G part vfat   /boot/efi
vda2    99G part ext4   /

ens18  UP  192.0.2.10/24
default via 192.0.2.1 dev ens18

The following is a constructed example for practicing output interpretation, not a measurement from physical hardware. Device names and capacities vary by installation. Judge whether the work order matches your observations rather than checking for the same strings as the example.


`/etc/os-release` shows identification data for the Ubuntu 24.04 family, and `uname -r` shows the kernel actually running. The disk, partition, filesystem, and mountpoint shown by `lsblk` and the interface state shown by `ip -brief address` belong to different layers, so do not combine them into a single judgment.

INTERACTIVE LAB 2 / 2

Lab 2 · Plan for stopping and recovery

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

On a physical server or an existing VM, choosing the wrong target disk can make data unrecoverable. If the asset ID, disk serial, capacity, or attachment position differs from the approved work order, stop immediately and escalate to a senior colleague.

KEY TERMS

Key terms in this unit

Baseline
A record that gathers the target, time, and state so that the before and after states of a change can be compared.

UNIT WORKBOOK

Exercises and worksheets for applying concepts to new situations

Start by checking basic principles, then expand to practical workplace decisions. After submitting an answer, you can see why every option is correct or incorrect, not just the correct answer.

Report the conditions for continuing or stopping the installation, with the rationale, in a work record.

PERSONAL WORKSHEET

A learning worksheet you adapt to your own environment

Your input remains only on the current browser screen and is not stored or transmitted externally. Use categories and pseudonyms instead of actual sensitive information.

OFFICIAL SOURCES

Verify against official sources

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

CORE UNIT 2 / 5

Shell · paths · help

Read the prompt and command structure, check the current path and the exit status, and look up unfamiliar commands in the official help.

Difficulty
Beginner
Structure
Lessons 1 · Labs 2 · Assessment

Diagrams and tables: composed by the author using each lesson's official primary sources. Find the originals and review dates at the end of that lesson.

PREREQUISITE CHECK

Three things to check before reading

This is not a test of memorized answers. Think about each question first, then open the explanation to review the foundational concepts used in this course.

1Does this lab change a real production server?

Read the examples in the browser and make your judgment. To reproduce the commands separately, prepare an approved isolated VM and a snapshot.

2What do you do if the work target differs from the record?

Stop the change and check the target identity and permissions. Record any unknown value as unconfirmed.

3What background knowledge should you confirm before reading this unit?

How to log in to Ubuntu

TEXTBOOK GUIDE

Main text that covers each concept from its background to the criteria for judging it

We explain the material section by section so readers new to IT can connect causes and effects without memorizing terms.

  1. Distinguish the prompt, the command, options, and arguments.
  2. Navigate using absolute and relative paths without modifying files.
  3. Decide the next verification step from help text and exit status.
Shell · paths · help Lab environment and safety boundaries
HardwareUbuntu 24.04 lab VM
Softwarebash · coreutils · man-db
Required permissionsRegular user privileges
NetworkingThis unit can be completed without external network access

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

Applies to version: Ubuntu Server 24.04 LTS · bash 5.2 family · Manuscript review date: 2026-08-31

CONCEPT FLOW

How the chapters connect

The chapters are not isolated short answers to memorize. Follow them from left to right to see how each chapter's concepts support the next decision.

  1. 1.Navigate paths without modifying files
Shell · paths · help: the overall map. If you lose track while reading the detailed explanations and chapters below, return to this sequence.

CONTROLLED EXPLANATION

Follow the evidence to check, one step at a time

Current explanation · 1/1 · Navigate paths without modifying files

Up next: Check your judgment against concrete cases and labs.

  1. Navigate paths without modifying files

    The output shows, in order, the current user, the current directory, the login shell, and where the ls command actually resolves to. If $? is 0 right after you exit man, the help command itself succeeded. This value does not preserve the status of any command run before it.

Conceptual explanation 01

Read the prompt and command structure, check the current path and the exit status, and look up unfamiliar commands in the official help.

Working directory: the current location used as the reference when relative paths are resolved.

The prompt is the marker that tells you where the operating system's output ends and your input begins. Do not copy $ or # as part of a command. In particular, a # prompt usually means root privileges, so the same command has a different scope of impact.

An absolute path starts at /, while a relative path is interpreted against the current working directory. Do not assume you are in the intended location just because cd succeeded; confirm the current location and hidden entries with pwd and ls -la.

In the training example the learner queried ./data believing they were in /srv/lab, but the actual pwd was /home/learner. The same relative path points to different files when the starting location differs. Check the target with pwd and ls first, and check again after cd. In particular, do not run delete or overwrite commands before comparing the absolute path and the owner.

The shell splits the input string into a command name and arguments, then runs the command. Quotes are needed when passing a value containing spaces or special characters as a single argument. A pipe connects the output of the first command to the input of the next; it does not mean the original file is modified. By contrast, the redirection > can overwrite the target file, so distinguish it from read-only commands.

A figure that splits one command line into four parts (prompt, command name, option, and argument) and shows the standard output, standard error, and exit status left after it runs, along with an example of a mistaken path
How to read the figure The four boxes in ① split the single line learner@host:/srv/lab$ ls -la ./data into prompt, command name, option and argument. The `$` and `#` of the prompt are not part of the command, and a `#` usually means root, so the same command has a different blast radius. The three boxes in ② are the evidence left after execution: seeing content in standard output is not by itself proof of success, so read the standard error and the exit status together with it. An exit=0 right after leaving `man` means man itself succeeded and does not preserve the status of the command you ran before it. ③ is the teaching case where the learner listed ./data believing they were in /srv/lab while pwd was actually /home/learner, the point where the same relative path pointed at a different file. Check with `pwd` and `ls -la` before moving and compare again with `pwd` after `cd`, and do not run delete or overwrite commands before confirming the absolute path and the owner. The user name and paths in the figure are the teaching case from the lesson, not values taken from a real server.
Why does this happen?
The shell splits the input string into a command name and arguments, then runs the command. Quotes are needed to pass a value that contains spaces or special characters as a single argument. A pipe connects the output of one command to the input of the next; it does not modify the original file. Redirection with >, by contrast, can overwrite the target file, so distinguish it from read-only commands.
When is it a problem?
In a training case, someone queried ./data believing they were in /srv/lab, but the actual pwd was /home/learner. The same relative path points to different files when the starting location differs. First confirm the target with pwd and ls, and confirm again after cd. In particular, never run delete or overwrite commands before checking the absolute path and the owner.
Common beginner misconceptions
Do not run a command you found on the internet with `sudo` right away. First confirm the command's owner, options, and scope of change with `type`, `--help`, `man`, and the package source.
How to verify it yourself
Confirm your current location, move safely, and then interpret the help output and the exit status.
To summarize this sectionLearners must distinguish the prompt, the command entered, the standard output, and the exit status, reach the same directory by both an absolute and a relative path, and prove with `pwd` that the locations match.

CHAPTER 1 / 1

Navigate paths without modifying files

Commands for reproducing the isolated environment · do not run them in the browser
whoami
pwd
printf '%s\n' "$SHELL"
ls -la
type -a ls
man ls
printf 'exit=%s\n' "$?"

CONCRETE CASES

Confirm your current location, move safely, and then interpret the help output and the exit status.

In the training example the learner queried ./data believing they were in /srv/lab, but the actual pwd was /home/learner. The same relative path points to different files when the starting location differs. Check the target with pwd and ls first, and check again after cd. In particular, do not run delete or overwrite commands before comparing the absolute path and the owner.

Wrong responses and boundaries to check

Do not run a command you found on the internet with `sudo` right away. First confirm the command's owner, options, and scope of change with `type`, `--help`, `man`, and the package source.

If you see `command not found`, check the spelling, whether it is an alias or function, the executable path, and whether the package is installed. `Permission denied` does not mean the path is missing, so check the file mode, owner, and mount options separately.

INTERACTIVE LAB 1 / 2

Lab 1 · Find the basis for a verdict in the output

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

Confirm your current location, move safely, and then interpret the help output and the exit status.

The output shows, in order, the current user, the current directory, the login shell, and where the `ls` command actually resolves to. If `$?` is 0 right after you exit `man`, the help command itself succeeded. This value does not preserve the status of any command run before it.

INTERACTIVE LAB 2 / 2

Lab 2 · Plan for stopping and recovery

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

Do not run a command you found on the internet with sudo right away. First confirm the command's owner, options, and scope of change with type, --help, man, and the package source.

KEY TERMS

Key terms in this unit

Working directory
The current location used as the reference point for resolving a relative path.

UNIT WORKBOOK

Exercises and worksheets for applying concepts to new situations

Start by checking basic principles, then expand to practical workplace decisions. After submitting an answer, you can see why every option is correct or incorrect, not just the correct answer.

Decide the next verification step from help text and exit status.

PERSONAL WORKSHEET

A learning worksheet you adapt to your own environment

Your input remains only on the current browser screen and is not stored or transmitted externally. Use categories and pseudonyms instead of actual sensitive information.

OFFICIAL SOURCES

Verify against official sources

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

CORE UNIT 3 / 5

Files, users, and permissions

Read the relationships between users, groups, rwx and sudo, and configure the service account and the working directory with least privilege.

Difficulty
Beginner
Structure
Lessons 1 · Labs 2 · Assessment

Diagrams and tables: composed by the author using each lesson's official primary sources. Find the originals and review dates at the end of that lesson.

PREREQUISITE CHECK

Three things to check before reading

This is not a test of memorized answers. Think about each question first, then open the explanation to review the foundational concepts used in this course.

1Does this lab change a real production server?

Read the examples in the browser and make your judgment. To reproduce the commands separately, prepare an approved isolated VM and a snapshot.

2What do you do if the work target differs from the record?

Stop the change and check the target identity and permissions. Record any unknown value as unconfirmed.

3What background knowledge should you confirm before reading this unit?

Absolute and relative paths · command exit status

TEXTBOOK GUIDE

Main text that covers each concept from its background to the criteria for judging it

We explain the material section by section so readers new to IT can connect causes and effects without memorizing terms.

  1. Explain the order in which UID, GID, and file ownership are used in an access decision.
  2. Create a service account and a group-shared directory with least privilege.
  3. Check the allow and deny results separately, and report the impact of a permission change.
Files, users, and permissions Lab environment and safety boundaries
HardwareUbuntu 24.04 lab VM
Softwarebash · coreutils · sudo
Required permissionsSudo rights to add a lab account
NetworkingNo external network required

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

Applies to version: Ubuntu Server 24.04 LTS · Manuscript review date: 2026-08-31

CONCEPT FLOW

How the chapters connect

The chapters are not isolated short answers to memorize. Follow them from left to right to see how each chapter's concepts support the next decision.

  1. 1.Create a lab group and a working directory
Files, users, and permissions: the overall map. If you lose track while reading the detailed explanations and chapters below, return to this sequence.

CONTROLLED EXPLANATION

Follow the evidence to check, one step at a time

Current explanation · 1/1 · Create a lab group and a working directory

Up next: Check your judgment against concrete cases and labs.

  1. Create a lab group and a working directory

    aiworker is a system account and its login shell is shown as /usr/sbin/nologin. /srv/ai-work must have owner aiworker, group aiops, and mode 2770. The leading 2 is the setgid bit that makes new files inherit the directory group.

Conceptual explanation 01

Read the relationship among users, groups, rwx, and sudo, and set up a service account and a working directory with least privilege.

Permission: the rule that sets what the owner, the group, and others are allowed to read, write, and execute.

Linux does not decide access from the user name shown on screen alone. It evaluates the process UID and GID together with the target file's owner and group, the rwx bits, and any additional policy. chmod 777 is not an all-purpose command that fixes problems; it is a dangerous change that widens the scope so that anyone can read, write, and execute.

A service account has a different purpose from a personal account that a human logs into. Letting it reach only the directories it needs and restricting shell login and unnecessary home directories reduces credential misuse and the blast radius of an incident.

In the training example the learner had read permission on the file but no traverse permission on the parent directory, so access was denied. Changing the mode of a single file may not fix it. Check each directory on the path and the actual UID and group of the process. Giving 777 to everything does not explain the cause and opens up unrelated write access.

Read and execute permissions mean something different on a directory than on a file. Read allows listing entry names, and execute allows traversing the path. Even after a user is added to a group, an existing login session may not reflect the new group. Check the current session's groups with id, and test in a new session that only the required actions are allowed.

An access decision diagram that passes through four gates, from the UID and group of the process through parent directory traversal and the owner/group/other class to the rwx bits and additional policy, before splitting into an allowed or denied outcome
How to read the figure Badges 1 to 4 show the order in which the kernel decides access; once an earlier gate blocks access, the later gates are not evaluated. In box 1, check the uid, gid, and group list in the output of id, and note first that an existing session does not have the new group even after usermod -aG aiops. Box 2 uses namei -l to check whether every directory on the path has x; even if the file has r, access is denied here when a parent directory lacks x. Box 3 is the rule that only one set of bits (owner, group, or other) applies, depending on whether the UID matches the owner and whether aiops is in the group list. Box 4 covers what r, w, and x mean on a directory, the setgid bit in the leading digit of mode 2770, and the ACL, AppArmor, and mount options to check if access is still denied. The two boxes below show that the boundary is verified only when both the allowed case (an aiops member in a new login session) and the denied case (a lab account not in the group) are reproduced on the same setup. The last box gives the order of checks to use instead of chmod 777 and how to create a service account. The account names, UIDs, paths, and modes in the diagram are training examples from the lesson and may differ from values in a real environment.
Why does this happen?
Read and execute permissions on a directory mean something different from those on a file. Read allows listing the entry names, and execute allows traversing the path. Even after adding a user to a group, an existing login session may not reflect the new group. Check the current session's groups with id, and test in a new session that only the required actions are allowed.
When is it a problem?
In a training case, the user had read permission on the file but lacked traverse permission on a parent directory, so access was denied. Changing the mode of that one file may not fix it. Check each directory along the path and the UID and group of the actual process. Granting 777 on everything does not explain the cause and also opens up unrelated write access.
Common beginner misconceptions
Do not grant 777 on the entire path just to make a permission error go away. Check the actual user and group, and the traverse permission on the parent directories.
How to verify it yourself
Create a lab service account and a group directory, and verify both the allowed and denied access.
To summarize this sectionA member of the allowed group must be able to use the directory in a new login session, and a lab account that is not in the group must be denied access. Do not record only the successful result; test the intended denial as well to prove that least privilege actually works.

CHAPTER 1 / 1

Create a lab group and a working directory

Commands for reproducing the isolated environment · do not run them in the browser
sudo groupadd --force aiops
sudo useradd --system --no-create-home --shell /usr/sbin/nologin aiworker
sudo usermod -aG aiops "$USER"
sudo install -d -o aiworker -g aiops -m 2770 /srv/ai-work
getent passwd aiworker
getent group aiops
stat -c '%U %G %A %a %n' /srv/ai-work

CONCRETE CASES

Create a lab service account and a group directory, and verify both the allowed and denied access.

In the training example the learner had read permission on the file but no traverse permission on the parent directory, so access was denied. Changing the mode of a single file may not fix it. Check each directory on the path and the actual UID and group of the process. Giving 777 to everything does not explain the cause and opens up unrelated write access.

Wrong responses and boundaries to check

Do not share a personal account with a service process, and do not write service credentials into shell history or into the manuscript. Do not practice sudoers changes without a separate review.

If a group is not visible in the current shell after `usermod -aG`, do not conclude that the command failed; start a new login session or check the group list of the current process with `id`. If access is still denied even though ownership and mode are correct, check parent directory permissions, ACL, AppArmor, and mount options.

INTERACTIVE LAB 1 / 2

Lab 1 · Find the basis for a verdict in the output

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

Create a lab service account and a group directory, and verify both the allowed and denied access.

`aiworker` is a system account and its login shell is shown as `/usr/sbin/nologin`. `/srv/ai-work` must have owner `aiworker`, group `aiops`, and mode `2770`. The leading `2` is the setgid bit that makes new files inherit the directory group.

INTERACTIVE LAB 2 / 2

Lab 2 · Plan for stopping and recovery

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

Do not share a personal account with a service process, and do not write service credentials into shell history or into the manuscript. Do not practice sudoers changes without a separate review.

KEY TERMS

Key terms in this unit

Permission
The rule that sets what the owner, the group, and others are allowed to read, write, and execute.

UNIT WORKBOOK

Exercises and worksheets for applying concepts to new situations

Start by checking basic principles, then expand to practical workplace decisions. After submitting an answer, you can see why every option is correct or incorrect, not just the correct answer.

Check the allow and deny results separately, and report the impact of a permission change.

PERSONAL WORKSHEET

A learning worksheet you adapt to your own environment

Your input remains only on the current browser screen and is not stored or transmitted externally. Use categories and pseudonyms instead of actual sensitive information.

OFFICIAL SOURCES

Verify against official sources

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

CORE UNIT 4 / 5

Packages and services

Record the state before and after APT changes and verify a systemd service's execution, autostart, logs, and rollback.

Difficulty
Beginner
Structure
Lessons 1 · Labs 2 · Assessment

Diagrams and tables: composed by the author using each lesson's official primary sources. Find the originals and review dates at the end of that lesson.

PREREQUISITE CHECK

Three things to check before reading

This is not a test of memorized answers. Think about each question first, then open the explanation to review the foundational concepts used in this course.

1Does this lab change a real production server?

Read the examples in the browser and make your judgment. To reproduce the commands separately, prepare an approved isolated VM and a snapshot.

2What do you do if the work target differs from the record?

Stop the change and check the target identity and permissions. Record any unknown value as unconfirmed.

3What background knowledge should you confirm before reading this unit?

sudo · file paths · exit status

TEXTBOOK GUIDE

Main text that covers each concept from its background to the criteria for judging it

We explain the material section by section so readers new to IT can connect causes and effects without memorizing terms.

  1. Explain the difference between installing a package, running a process, and having a service start automatically.
  2. Record the state before a change, then modify packages and services.
  3. Verify state, functions, logs, and post-reboot behavior, and report whether a rollback is needed.
Packages and services Lab environment and safety boundaries
HardwareUbuntu 24.04 lab VM
SoftwareAPT · systemd · journalctl
Required permissionssudo rights to change packages and services
NetworkingAccess to the Ubuntu package repository

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

Applies to version: Ubuntu Server 24.04 LTS · systemd 255 family · Manuscript review date: 2026-08-31

CONCEPT FLOW

How the chapters connect

The chapters are not isolated short answers to memorize. Follow them from left to right to see how each chapter's concepts support the next decision.

  1. 1.Check the package state and the service state separately
Packages and services: the overall map. If you lose track while reading the detailed explanations and chapters below, return to this sequence.

CONTROLLED EXPLANATION

Follow the evidence to check, one step at a time

Current explanation · 1/1 · Check the package state and the service state separately

Up next: Check your judgment against concrete cases and labs.

  1. Check the package state and the service state separately

    The package candidate and installed version, whether it starts at boot, the current active state, recent logs, and the listening port are each shown separately. One of them can be fine while another layer fails, so do not merge the results into a single word.

Conceptual explanation 01

Record the state before and after APT changes and verify a systemd service's execution, autostart, logs, and rollback.

Service (unit of service process management): the execution unit whose start, stop, restart, and dependencies systemd manages.

A package being installed is not the same as a service running. enable creates the start relationship for the next boot, while start starts the process in the current session. Checking only one of the two can lead to a failure after a reboot or while handling current requests.

A change task does not end with “the command succeeded.” Keep a single bundle containing the version and state before the change, the packages and configuration applied, the current state, a representative function, the logs, the state after a reboot or restart, and the rollback location.

In the training example the package installed but the service failed to start because of a configuration error. Installation success and startup success are different checks. Find the first error with systemctl status and the journal, then use the configuration check function. Even with a correct configuration, if the listen address is bound only to localhost you must separately confirm whether external requests are possible.

enable sets up the start link for the next boot, while start requests execution now. The active state is the process state an administrator sees; it does not guarantee what an API response means. restart can affect in-flight requests, so prepare a change window and a recovery method. Reload support also varies by service, so check the unit and the program documentation before using it.

A table that verifies six layers (package installation, configuration, start at boot, current process, listening socket, and representative function), each by its command, pass criterion, and failure symptom
How to read the figure Badges 1 to 6 give the order of checks. The second column is the command to run and the value shown on screen, the third is the criterion for passing that layer, and the fourth is the symptom when only that layer fails. is-enabled shows whether the unit is linked to start at the next boot, while is-active shows the process right now, so do not collapse the two results into a single word. If ss -lntp shows only 127.0.0.1:22, connections work from inside the server but external requests fail, so read the listen address separately from the state. Wherever the check stops, decide at that point whether to roll back, based on the first error in the journal and the version before the change. The last green box lists what to record before an upgrade and the conditions to observe in production. The version, port, and state strings in the table are training examples matched to the lab commands, not values obtained from a real server.
Why does this happen?
enable creates the start link for the next boot, while start requests that the service run now. The active state is the process state an administrator sees; it does not guarantee that API responses are meaningful. A restart can affect in-flight requests, so prepare a change window and a recovery method. Reload support also varies by service, so check the unit and the program documentation before using it.
When is it a problem?
In a training case, the package was installed but the service failed to start due to a configuration error. A successful installation and a successful start are separate checks. Find the first error in systemctl status and the journal, then run the configuration check. Even if the configuration is correct, a listen address bound only to localhost means you must separately verify whether external requests can reach it.
Common beginner misconceptions
An active status does not guarantee that the API responds correctly. Check the listen address and port, and a representative function, separately.
How to verify it yourself
Install the lab service and verify the enable, start, log, and reboot boundaries.
To summarize this sectionThe service must be both enabled and active, the expected port must be listening, and the recent logs must show no repeated restarts or fatal errors. Functional verification is complete only when an actual client connection test also succeeds.

CHAPTER 1 / 1

Check the package state and the service state separately

Commands for reproducing the isolated environment · do not run them in the browser
apt-cache policy openssh-server
systemctl is-enabled ssh
systemctl is-active ssh
systemctl status ssh --no-pager
journalctl -u ssh -n 30 --no-pager
ss -lntp

CONCRETE CASES

Install the lab service and verify the enable, start, log, and reboot boundaries.

In the training example the package installed but the service failed to start because of a configuration error. Installation success and startup success are different checks. Find the first error with systemctl status and the journal, then use the configuration check function. Even with a correct configuration, if the listen address is bound only to localhost you must separately confirm whether external requests are possible.

Wrong responses and boundaries to check

If a service has failed, do not just restart it over and over. Check the exit cause in `systemctl status` and the first error in `journalctl`, and narrow the cause down in this order: configuration syntax, port conflicts, permissions, and dependencies. After a fix, run the same state and function checks again.

INTERACTIVE LAB 1 / 2

Lab 1 · Find the basis for a verdict in the output

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

Install the lab service and verify the enable, start, log, and reboot boundaries.

The package candidate and installed version, whether it starts at boot, the current active state, recent logs, and the listening port are each shown separately. One of them can be fine while another layer fails, so do not merge the results into a single word.

INTERACTIVE LAB 2 / 2

Lab 2 · Plan for stopping and recovery

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

KEY TERMS

Key terms in this unit

Service (unit of service process management)
The execution unit whose start, stop, restart, and dependencies systemd manages.

UNIT WORKBOOK

Exercises and worksheets for applying concepts to new situations

Start by checking basic principles, then expand to practical workplace decisions. After submitting an answer, you can see why every option is correct or incorrect, not just the correct answer.

Verify state, functions, logs, and post-reboot behavior, and report whether a rollback is needed.

PERSONAL WORKSHEET

A learning worksheet you adapt to your own environment

Your input remains only on the current browser screen and is not stored or transmitted externally. Use categories and pseudonyms instead of actual sensitive information.

OFFICIAL SOURCES

Verify against official sources

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

CORE UNIT 5 / 5

Network · storage · diagnostics

Verify the interface, address, route, DNS, and port together with the block device, filesystem, and mount as layered evidence, and narrow down the scope of the failure.

Difficulty
Beginner
Structure
Lessons 1 · Labs 2 · Assessment

Diagrams and tables: composed by the author using each lesson's official primary sources. Find the originals and review dates at the end of that lesson.

PREREQUISITE CHECK

Three things to check before reading

This is not a test of memorized answers. Think about each question first, then open the explanation to review the foundational concepts used in this course.

1Does this lab change a real production server?

Read the examples in the browser and make your judgment. To reproduce the commands separately, prepare an approved isolated VM and a snapshot.

2What do you do if the work target differs from the record?

Stop the change and check the target identity and permissions. Record any unknown value as unconfirmed.

3What background knowledge should you confirm before reading this unit?

sudo · systemd state and logs · file permissions

TEXTBOOK GUIDE

Main text that covers each concept from its background to the criteria for judging it

We explain the material section by section so readers new to IT can connect causes and effects without memorizing terms.

  1. Collect the evidence for interface, address, route, DNS, and port in order.
  2. Distinguish a block device from a filesystem, and design a persistent mount using the UUID.
  3. Narrow hypotheses from failure symptoms and report the results of stopping, recovery, and escalation.
Network · storage · diagnostics Lab environment and safety boundaries
Hardware1 or more network interfaces · One extra lab disk or a loop device
Softwareiproute2 · Netplan · util-linux · systemd
Required permissionssudo rights to change the network and mount settings
NetworkingA documentation-reserved address range or an isolated lab network

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

Applies to version: Ubuntu Server 24.04 LTS · Netplan 1.0 family · Manuscript review date: 2026-08-31

CONCEPT FLOW

How the chapters connect

The chapters are not isolated short answers to memorize. Follow them from left to right to see how each chapter's concepts support the next decision.

  1. 1.Start by collecting read-only evidence
Network · storage · diagnostics: the overall map. If you lose track while reading the detailed explanations and chapters below, return to this sequence.

CONTROLLED EXPLANATION

Follow the evidence to check, one step at a time

Current explanation · 1/1 · Start by collecting read-only evidence

Up next: Check your judgment against concrete cases and labs.

  1. Start by collecting read-only evidence

    Case: You receive a report that /data is full. The following output was constructed for training and was not collected from real equipment. With the /data directory already present, use findmnt -T /data to identify the filesystem that contains the path.

Conceptual explanation 01

Check interfaces, addresses, routes, DNS, and ports, as well as block devices, filesystems, and mounts, as layer-by-layer evidence, and narrow the scope of the failure.

Mount point: the location where a filesystem is attached to a specific path in the current directory tree.

“The server is unreachable” is not a single cause. Interface link, IP address, route, DNS, remote port, and application state are different layers. If name resolution has failed and you change the firewall first, you lose evidence and may create a new failure.

With storage as well, a disk being visible, having a partition and a filesystem, being mounted, and being usable by the application are all different things. A name like /dev/sdb can change with the order of attachment, so use a stable identity such as a UUID for permanent mounts.

In a training case where the cause was confirmed, a report of low disk space on /data led to a comparison of the work order, the previous baseline, and the mount configuration, which showed that the remote volume had become unmounted. The lab below starts at the initial diagnosis stage, before that conclusion is known. The same directory name can sit on a different storage device. Use findmnt to identify the source of the target path, then align the scope of df and du. Deleting files before confirming the cause risks deleting data on a different filesystem.

Network diagnosis, too, does not treat name, address, route, and port as one lump. A successful name resolution is not a successful connection, and a successful ping does not guarantee a response from the application port. Run each query with one hypothesis to rule out. If results contradict each other, first confirm that the target and the moment are the same, and only then consider configuration changes.

A two-lane diagnosis diagram that splits network into five cells (link, address, route, DNS, and listen port) and storage into four (block device, UUID, mount, and usage), with the command, observed value, and stop condition for each cell
How to read the figure Read the upper network lane from link to listening port and the lower storage lane from block device to usage, from left to right. Each box shows the command to run, example output, and the condition for stopping at that point. Do not change settings in a later box without evidence from the earlier one. Successful name resolution does not mean a successful connection, and a successful ping does not guarantee that the listening port responds, so the DNS box and the port box each rule out a different hypothesis. In the storage lane, do not judge the storage device from the /data path name alone. Use findmnt -T /data to identify the filesystem that contains the path, and compare against the work order and the previous baseline to determine whether a separate volume is the intended configuration. Do not delete files before this check and before reconciling the scope of df and du. Even if both lanes are healthy, if the final application read and write or actual client requests fail, investigate the service state and permission layers separately. The final amber box lists commands, such as netplan apply and filesystem creation, at which you must stop and check first. The interface names, addresses, UUIDs, and usage figures in the figure are training examples from the lesson.
Why does this happen?
A path name does not guarantee the storage device behind it, and a DNS response does not guarantee a port connection. Starting from the observation closest to the failed function, compare the layers before and after it.
When is it a problem?
Writing to /data when its separate volume is missing can fill the root filesystem. Before deleting files, confirm which mount the path actually belongs to.
Common beginner misconceptions
Running `netplan apply` directly from a remote SSH session can cut off your connection. For remote network changes, first secure console access and a rollback plan, and prefer a procedure with time-limited recovery such as `netplan try`. Filesystem creation commands can destroy existing data on the target disk, so this unit's automated labs do not run them.
How to verify it yourself
Collect read-only evidence first to narrow the scope of a network or storage failure, then recover safely.
To summarize this sectionLearners must identify the first layer where the failure begins and separate the evidence from the layers above and below it. If a change is needed, they must first present a configuration backup taken before the change, an automatic rollback or console access path, and the stop criteria.

CHAPTER 1 / 1

Start by collecting read-only evidence

Commands for reproducing the isolated environment · do not run them in the browser
ip -brief link
ip -brief address
ip route
resolvectl status
ss -lntp
lsblk -f
findmnt --real
df -hT
Commands for reproducing the isolated environment · do not run them in the browser
findmnt -T /data
df -hT /data
Expected output for training · not an actual measurement
TARGET SOURCE    FSTYPE OPTIONS
/      /dev/vda2 ext4   rw,relatime

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/vda2      ext4   99G   94G    5G  95% /

CONCRETE CASES

Collect read-only evidence first to narrow the scope of a network or storage failure, then recover safely.

In a training case where the cause was confirmed, a report of low disk space on /data led to a comparison of the work order, the previous baseline, and the mount configuration, which showed that the remote volume had become unmounted. The lab below starts at the initial diagnosis stage, before that conclusion is known. The same directory name can sit on a different storage device. Use findmnt to identify the source of the target path, then align the scope of df and du. Deleting files before confirming the cause risks deleting data on a different filesystem.

Wrong responses and boundaries to check

Running `netplan apply` directly from a remote SSH session can cut off your connection. For remote network changes, first secure console access and a rollback plan, and prefer a procedure with time-limited recovery such as `netplan try`. Filesystem creation commands can destroy existing data on the target disk, so this unit's automated labs do not run them.

If a separate volume is confirmed as the intended configuration, stop writes using the approved procedure and first determine how to preserve the files accumulated in /data. Mounting a volume over them immediately can hide those files. After owner approval and preservation checks, restore the mount and repeat the same findmnt and df checks as well as application reads and writes. If an IP address is present but name resolution fails, check the DNS configuration and the resolver log. If the port is not listening, check the service state rather than the network. If the UUID matches but the mount fails, check the filesystem type, options, mountpoint permissions, and mount unit errors in `journalctl`. After a fix, re-verify with the same client, path, and input as the original failure.

INTERACTIVE LAB 1 / 2

Lab 1 · Find the basis for a verdict in the output

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

Case: You receive a report that /data is full. The following output was constructed for training and was not collected from real equipment. With the /data directory already present, use findmnt -T /data to identify the filesystem that contains the path.

TARGET SOURCE    FSTYPE OPTIONS
/      /dev/vda2 ext4   rw,relatime

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/vda2      ext4   99G   94G    5G  95% /

Network evidence comes in the order link → address → route → DNS → listen port, and storage evidence in the order block device → filesystem UUID → mount target → usage. Preserve each command result together with the time and the host identity.

INTERACTIVE LAB 2 / 2

Lab 2 · Plan for stopping and recovery

Enter values in the browser and check the execution results and the failure and recovery paths. No commands are ever sent to real equipment or the NAS.

Running netplan apply directly from a remote SSH session can cut off your connection. For remote network changes, first secure console access and a rollback plan, and prefer a procedure with time-limited recovery such as netplan try. Filesystem creation commands can destroy existing data on the target disk, so this unit's automated labs do not run them.

KEY TERMS

Key terms in this unit

Mount point
The location at which a filesystem is attached to a specific path in the current directory tree.

UNIT WORKBOOK

Exercises and worksheets for applying concepts to new situations

Start by checking basic principles, then expand to practical workplace decisions. After submitting an answer, you can see why every option is correct or incorrect, not just the correct answer.

Narrow hypotheses from failure symptoms and report the results of stopping, recovery, and escalation.

PERSONAL WORKSHEET

A learning worksheet you adapt to your own environment

Your input remains only on the current browser screen and is not stored or transmitted externally. Use categories and pseudonyms instead of actual sensitive information.

OFFICIAL SOURCES

Verify against official sources

Ubuntu 24.04 documentation and teaching examples for interpretation. The current equipment state and any separate testing on real hardware are unconfirmed.

DECISION ACTIVITY

Just before installation, the disk list differs from the work order. Which action do you choose?

First write down the evidence you need and the stop criteria, then choose a verdict.

Choose an answer

THREE-LEVEL ASSESSMENT

From basic principles to operational decisions

When you submit an answer you can see why every option is right or wrong.

Basic Question 1

What is a relative path resolved against?

Choose an answer
Apply Question 2

The service is active but you cannot connect. What is the next piece of evidence?

Choose an answer
Capstone Question 3

A disk utilization alert has fired. What is the safe diagnostic order?

Choose an answer

LEARNING RECORD

Have you reviewed the text, decision activities, and all explanations?

Completion status is stored only in this browser.