1Which command is commonly used to display detailed information about the CPU architecture on a Linux system?
Managing Devices, Processes, Memory, and the Kernel: Gather hardware information
Easy
A.lspci
B.lscpu
C.free
D.lsusb
Correct Answer: lscpu
Explanation:
The lscpu command gathers CPU architecture information from sysfs and /proc/cpuinfo and displays it in a human-readable format. lsusb lists USB devices, lspci lists PCI devices, and free shows memory usage.
Incorrect! Try again.
2Which command is used to view a snapshot of the currently running processes on a Linux system?
Managing Devices, Processes, Memory, and the Kernel: Manage processes
Easy
A.netstat
B.ls
C.df
D.ps
Correct Answer: ps
Explanation:
The ps (process status) command is the standard tool for listing currently running processes and their PIDs (Process IDs).
Incorrect! Try again.
3What is the primary purpose of the kill command in Linux?
Managing Devices, Processes, Memory, and the Kernel: Manage processes
Easy
A.To send a signal to a process, usually to terminate it
B.To create a new process
C.To check the status of a process
D.To delete a file
Correct Answer: To send a signal to a process, usually to terminate it
Explanation:
The kill command sends a specified signal to a process. By default, it sends the SIGTERM signal, which requests the process to terminate gracefully.
Incorrect! Try again.
4Which command provides a summary of the total, used, and free memory (both RAM and swap) on a Linux system?
Managing Devices, Processes, Memory, and the Kernel: Manage memory
Easy
A.df
B.du
C.free
D.vmstat
Correct Answer: free
Explanation:
The free command displays the amount of free and used physical and swap memory in the system, as well as the buffers and cache used by the kernel.
Incorrect! Try again.
5Which command and option would you use to display the current Linux kernel release version?
Managing Devices, Processes, Memory, and the Kernel: Manage the Linux kernel
Easy
A.lsmod
B.kernel -v
C.uname -r
D.dmesg
Correct Answer: uname -r
Explanation:
The uname command prints system information. The -r flag specifically prints the kernel release version. lsmod shows loaded modules, and dmesg shows kernel ring buffer messages.
Incorrect! Try again.
6On a modern Linux system using systemd, which command is used to start a service, for example, the httpd service?
Managing Services: Manage system services
Easy
A.init httpd start
B.service httpd start
C.systemctl start httpd
D./etc/init.d/httpd start
Correct Answer: systemctl start httpd
Explanation:
systemctl is the primary tool for controlling the systemd init system. The start action is used to start a service immediately. While older commands might still work via compatibility links, systemctl is the correct modern command.
Incorrect! Try again.
7To configure a service to start automatically every time the system boots, which systemctl command should be used?
Managing Services: Manage system services
Easy
A.start
B.restart
C.enable
D.status
Correct Answer: enable
Explanation:
The systemctl enable <service> command creates the necessary symbolic links to ensure the service is started at boot time. start only starts it for the current session.
Incorrect! Try again.
8What is the main purpose of the Network Time Protocol (NTP) service?
Managing Services: Configure common system services
Easy
A.To provide secure remote shell access
B.To transfer files between computers
C.To synchronize computer clocks over a network
D.To resolve domain names to IP addresses
Correct Answer: To synchronize computer clocks over a network
Explanation:
NTP is a networking protocol designed to synchronize the clocks of computers over a network to a common time reference, which is crucial for logging, security, and many distributed applications.
Incorrect! Try again.
9Which command is used on systemd-based systems to query and change the system locale and keyboard layout settings?
localectl is a utility that allows administrators to control system-wide localization settings, including the system locale, virtual console keymap, and X11 layout.
Incorrect! Try again.
10What is the primary function of an IP address in a computer network?
Correct Answer: To uniquely identify a device on a network
Explanation:
An IP (Internet Protocol) address is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication. It serves as a unique identifier and location address for that device.
Incorrect! Try again.
11What is the role of the Domain Name System (DNS) in networking?
A.To translate human-readable domain names (e.g., www.example.com) into IP addresses
B.To assign IP addresses to devices automatically
C.To provide a secure connection between two hosts
D.To filter unwanted network traffic
Correct Answer: To translate human-readable domain names (e.g., www.example.com) into IP addresses
Explanation:
DNS acts as the "phonebook of the Internet," translating domain names, which are easy for humans to remember, into the numerical IP addresses necessary for computers to locate each other.
Incorrect! Try again.
12Which modern command is commonly used in Linux to view and manage network interfaces and their IP addresses?
The ip command from the iproute2 suite is the modern standard for network configuration in Linux. ip addr show (or its shortcut ip a) specifically displays information about network interfaces and their assigned addresses. ifconfig is a legacy command.
Incorrect! Try again.
13If you want to list all the PCI (Peripheral Component Interconnect) devices connected to your Linux system, which command would you use?
Managing Devices, Processes, Memory, and the Kernel: Gather hardware information
Easy
A.lspci
B.lscpu
C.lsblk
D.lsusb
Correct Answer: lspci
Explanation:
The lspci command is a utility for displaying information about PCI buses in the system and all devices connected to them. lsusb is for USB devices, lscpu for CPU, and lsblk for block devices.
Incorrect! Try again.
14In Linux, what is the primary purpose of "swap space"?
Managing Devices, Processes, Memory, and the Kernel: Manage memory
Easy
A.To cache frequently accessed applications
B.To serve as virtual memory on the hard disk when physical RAM is full
C.To hold the operating system kernel
D.To store temporary internet files
Correct Answer: To serve as virtual memory on the hard disk when physical RAM is full
Explanation:
Swap space is a portion of a hard disk that is used as an extension of the system's physical memory (RAM). When RAM becomes full, inactive pages of memory are moved to the swap space to free up RAM for active processes.
Incorrect! Try again.
15Which basic network utility is most commonly used to test the reachability of a host on a network and measure the round-trip time for messages?
Configuring Network Settings: Troubleshoot the network
Easy
A.netstat
B.ssh
C.ping
D.traceroute
Correct Answer: ping
Explanation:
ping sends ICMP (Internet Control Message Protocol) "echo request" packets to the target host and waits for an "echo reply". It's the fundamental tool for checking if a remote system is online and responsive.
Incorrect! Try again.
16What protocol is the standard for securely accessing and managing a remote Linux server via a command-line interface?
SSH provides a secure, encrypted channel over an unsecured network, making it the standard for remote command-line login and administration. Telnet is insecure as it transmits data in plain text.
Incorrect! Try again.
17What is the main function of the traceroute (or tracepath) command?
Configuring Network Settings: Troubleshoot the network
Easy
A.To show the path or "hops" that network packets take to reach a destination
B.To resolve a domain name to an IP address
C.To display active network connections on the local machine
D.To check for open ports on a remote host
Correct Answer: To show the path or "hops" that network packets take to reach a destination
Explanation:
The traceroute command is a network diagnostic tool used to display the route and measure transit delays of packets across an Internet Protocol (IP) network.
Incorrect! Try again.
18In the context of the Linux kernel, what is a "loadable kernel module"?
Managing Devices, Processes, Memory, and the Kernel: Manage the Linux kernel
Easy
A.The primary bootloader for the system
B.A user-space application that interacts with the kernel
C.A configuration file for the kernel
D.A piece of code that can be loaded into and unloaded from the kernel on demand to extend its functionality
Correct Answer: A piece of code that can be loaded into and unloaded from the kernel on demand to extend its functionality
Explanation:
Loadable kernel modules (LKMs) allow a Linux system to add support for new hardware or filesystems, or to add other functionality, without needing to recompile the entire kernel. They provide flexibility and a smaller base kernel.
A.Language, country, and character encoding preferences
B.The default web browser
C.The physical location of the server
D.Network timezone settings
Correct Answer: Language, country, and character encoding preferences
Explanation:
A locale is a set of parameters that defines the user's language, country, and any special variant preferences that the user wants to see in their user interface, such as collation, date/time format, and character encoding.
Incorrect! Try again.
20What is the primary function of the cron daemon (crond) in a Linux system?
Managing Services: Configure common system services
Easy
A.To manage system logging
B.To schedule and run tasks or scripts automatically at specified times and dates
C.To monitor system performance
D.To serve web pages
Correct Answer: To schedule and run tasks or scripts automatically at specified times and dates
Explanation:
cron is a time-based job scheduler. Administrators use it to automate system maintenance, run backups, or execute any script or command at a recurring interval defined in a crontab file.
Incorrect! Try again.
21A system administrator needs to identify the exact driver being used by the network interface card eth0, as well as its capabilities like supported link modes. Which command would provide this detailed information about a specific PCI device?
Managing Devices, Processes, Memory, and the Kernel: Gather hardware information
Medium
A.dmidecode -t network
B.lsusb -t
C.lspci -v -s 03:00.0
D.lscpu
Correct Answer: lspci -v -s 03:00.0
Explanation:
lspci -v provides verbose output for all PCI devices. By adding -s followed by the device's bus ID (e.g., 03:00.0, which can be found with a simple lspci), you can filter the output for a specific device. The verbose output includes details like the kernel driver in use and device capabilities, which is exactly what the administrator needs. lscpu shows CPU info, lsusb is for USB devices, and dmidecode queries BIOS/DMI tables.
Incorrect! Try again.
22A computationally intensive batch job with PID 12345 is consuming too much CPU and affecting the performance of a critical web service. The administrator wants to lower its priority significantly without terminating it. Which command will achieve this?
Managing Devices, Processes, Memory, and the Kernel: Manage processes
Medium
A.renice 19 12345
B.kill -9 12345
C.nice -n 19 PID 12345
D.renice -19 12345
Correct Answer: renice 19 12345
Explanation:
The renice command is used to alter the scheduling priority of one or more running processes. A higher nice value corresponds to a lower priority. The range for nice values is from -20 (highest priority) to 19 (lowest priority). renice 19 12345 sets the priority of the process with PID 12345 to the lowest possible value, making it yield CPU time to more important processes. nice is used to start a new process with a specific priority, not change an existing one. renice -19 would increase its priority, and kill -9 would terminate it forcefully.
Incorrect! Try again.
23A user started a long data-processing script in their SSH session. They now need to log out but want the script to continue running to completion. After pressing Ctrl+Z to stop the process and using bg to resume it in the background, what is the next command they should run to ensure the process is not terminated when they close the session?
Managing Devices, Processes, Memory, and the Kernel: Manage processes
Medium
A.fg %1
B.jobs -l
C.disown -h %1
D.wait %1
Correct Answer: disown -h %1
Explanation:
When a user logs out, the shell sends a SIGHUP (hangup) signal to all its child processes, which typically causes them to terminate. The disown command removes a job from the shell's active job table. Using disown -h %1 (where %1 is the job ID) specifically marks the job so that it will not receive the SIGHUP signal, allowing it to continue running even after the terminal session is closed. An alternative is to start the process with nohup initially.
Incorrect! Try again.
24A Linux server is experiencing performance degradation. The free -h command shows that a significant amount of swap space is being used, even though there appears to be some free physical RAM available. How can an administrator make the kernel less aggressive about swapping, favoring keeping data in RAM?
Managing Devices, Processes, Memory, and the Kernel: Manage memory
Medium
A.Decrease the value in /proc/sys/vm/swappiness to a lower number like 10.
B.Run echo 3 > /proc/sys/vm/drop_caches to clear page caches.
C.Increase the value in /proc/sys/vm/swappiness to a higher number like 90.
D.Increase the swap partition size using swapoff and swapon.
Correct Answer: Decrease the value in /proc/sys/vm/swappiness to a lower number like 10.
Explanation:
The /proc/sys/vm/swappiness parameter controls how aggressively the kernel swaps memory pages. The value ranges from 0 to 100. A low value (e.g., 10) tells the kernel to avoid swapping as much as possible, only doing so to avoid out-of-memory conditions. A high value (e.g., 90) tells the kernel to swap aggressively. To favor keeping data in RAM, the administrator should decrease this value. The change can be made permanent using sysctl.
Incorrect! Try again.
25An administrator needs to quickly find the top 5 processes that are currently consuming the most physical memory (RAM). Which of the following commands is most effective for this specific task?
Managing Devices, Processes, Memory, and the Kernel: Manage memory
Medium
A.ps aux --sort=-%mem | head -n 6
B.top -o %CPU | head -n 12
C.vmstat 1 5
D.free -m | sort -nr
Correct Answer: ps aux --sort=-%mem | head -n 6
Explanation:
The command ps aux lists all running processes. The --sort=-%mem option sorts this list in descending order based on the percentage of memory usage (%MEM column). Piping this to head -n 6 will display the header line plus the top 5 memory-consuming processes. top -o %CPU sorts by CPU usage, free shows overall memory usage not per-process, and vmstat provides summary statistics about virtual memory.
Incorrect! Try again.
26An administrator modified the unit file for nginx.service located at /etc/systemd/system/nginx.service.d/override.conf. After saving the changes, the new configuration is not being applied. What is the essential command that must be run before restarting the service for systemd to recognize the changes?
Managing Services: Manage system services
Medium
A.systemctl restart nginx
B.systemctl daemon-reload
C.systemctl reset-failed
D.systemctl reenable nginx
Correct Answer: systemctl daemon-reload
Explanation:
Whenever a systemd unit file on disk is created or modified, systemd needs to be told to rescan its configuration. The systemctl daemon-reload command reloads the systemd manager configuration, causing it to read all unit files again. Without this step, systemd will continue to use the old, cached version of the unit file, and restarting the service will not apply the new settings.
Incorrect! Try again.
27A critical service named critical-app.service must be started automatically after the network is fully configured and online. Which directives should be added to the [Unit] section of its systemd service file to ensure this dependency?
network.target only indicates that the network management stack is up, not that there is a configured network connection. network-online.target is a special target that indicates the system has achieved network connectivity. Using Requires=network-online.target creates a strong dependency, meaning critical-app.service will fail if the network doesn't come online. After=network-online.target ensures that the service is started only after the network is confirmed to be up.
Incorrect! Try again.
28An administrator suspects a faulty hardware device is causing system instability. They want to prevent a specific kernel module, buggy_driver, from being loaded automatically during the boot process. What is the standard method to achieve this?
Managing Devices, Processes, Memory, and the Kernel: Manage the Linux kernel
Medium
A.Delete the module file from /lib/modules/$(uname -r)/.
B.Run the command rmmod buggy_driver every time the system boots.
C.Add MODULES=(!buggy_driver) to /etc/default/grub.
D.Add blacklist buggy_driver to a .conf file in /etc/modprobe.d/.
Correct Answer: Add blacklist buggy_driver to a .conf file in /etc/modprobe.d/.
Explanation:
The modprobe configuration directory, /etc/modprobe.d/, is the standard place to control kernel module behavior. Creating a configuration file (e.g., /etc/modprobe.d/blacklist.conf) and adding the line blacklist buggy_driver will instruct the system not to load that module automatically. This is the correct and persistent way to prevent a module from loading. Deleting the file is a bad practice as it will be restored on kernel updates, and rmmod is not persistent.
Incorrect! Try again.
29An administrator needs to configure a server's network interface ens192 with a second IP address, 10.10.20.5/24, without disrupting the existing IP address on that interface. Which command will accomplish this task?
Configuring Network Settings: Manage network settings
Medium
A.ip addr replace 10.10.20.5/24 dev ens192
B.ip addr add 10.10.20.5/24 dev ens192
C.nmcli con mod ens192 ipv4.addresses 10.10.20.5/24
D.ifconfig ens192 alias 10.10.20.5
Correct Answer: ip addr add 10.10.20.5/24 dev ens192
Explanation:
The ip addr add command is used to add a new address to a network interface. Unlike ip addr replace or configuring the interface from scratch, add will not remove or alter any existing IP addresses on the interface. This allows for the assignment of multiple IP addresses (IP aliasing) to a single physical interface. The ifconfig command is deprecated, and the nmcli command shown would replace all existing addresses with the new one.
Incorrect! Try again.
30A web server is not reachable from the internet. An administrator on the server confirms that the web service is running and listening on port 443 using netstat -tuln. They can also access the website using curl https://127.0.0.1. However, attempts from an external machine fail. Which of the following is the most likely cause and the best tool to verify it?
Configuring Network Settings: Troubleshoot the network
Medium
A.The network interface card is down; verify with ip a.
B.The default gateway is misconfigured; verify with ip route.
C.The DNS A record is incorrect; verify with dig.
D.A local firewall is blocking incoming connections on port 443; verify with firewall-cmd --list-all or iptables -L.
Correct Answer: A local firewall is blocking incoming connections on port 443; verify with firewall-cmd --list-all or iptables -L.
Explanation:
The problem description indicates that the service is running correctly and listening locally (curl to 127.0.0.1 works). This rules out issues with the service itself. Since external connections are failing, it points to a connectivity issue between the outside world and the server process. A very common cause for this is a host-based firewall (like firewalld or iptables) that has not been configured to allow incoming traffic on the required port (443 for HTTPS). Using firewall-cmd or iptables is the direct way to check the active firewall rules.
Incorrect! Try again.
31To improve SSH security, an administrator wants to prevent brute-force password attacks. Which combination of settings in /etc/ssh/sshd_config is most effective for this goal?
Configuring Network Settings: Configure remote administrative access
Medium
A.PasswordAuthentication no
PubkeyAuthentication yes
B.Port 2222
AllowUsers admin
C.PermitEmptyPasswords no
UsePAM yes
D.PermitRootLogin yes
PasswordAuthentication yes
Correct Answer: PasswordAuthentication no
PubkeyAuthentication yes
Explanation:
The most effective way to prevent brute-force password attacks is to disable password-based authentication entirely. By setting PasswordAuthentication no and ensuring PubkeyAuthentication yes, the server will only accept logins via cryptographic key pairs. This method is vastly more secure than passwords, as cracking a private key is computationally infeasible. Changing the port or limiting users helps, but disabling passwords addresses the root vulnerability of brute-force attacks.
Incorrect! Try again.
32A server has an IP address of 172.16.100.50 and a netmask of 255.255.255.240. What is the network address and the broadcast address for this subnet?
Configuring Network Settings: Understand network fundamentals
Medium
The netmask 255.255.255.240 is equivalent to a /28 CIDR prefix. This means the last 4 bits are for host addresses, and the network increments in blocks of . To find the network address, we find the multiple of 16 that is less than or equal to the host address (50). The multiples are 0, 16, 32, 48, 64... So, the network address is 172.16.100.48. The next network starts at 172.16.100.64, so the broadcast address for the .48 network is one less, which is 172.16.100.63.
Incorrect! Try again.
33An administrator needs to schedule a backup script /opt/scripts/daily_backup.sh to run every day at 11:30 PM. What is the correct crontab entry to accomplish this?
Managing Services: Configure common system services
Medium
The crontab format uses five time-and-date fields, followed by the command to be run. The order is: Minute (0-59), Hour (0-23), Day of Month (1-31), Month (1-12), Day of Week (0-7, where both 0 and 7 are Sunday). To run a job at 11:30 PM, the minute must be 30 and the hour must be 23. The asterisks * in the other fields mean 'every', so 30 23 * * * translates to 'at minute 30 past hour 23 on every day-of-month, every month, and every day-of-week'.
Incorrect! Try again.
34After deploying a new server in a data center in London, an administrator notices that the system clock and log timestamps are set to UTC. To properly reflect the local time, including daylight saving changes, what is the most appropriate command to set the timezone on a modern Linux system like RHEL 8 or Ubuntu 20.04?
Managing Services: Configure localization settings
Medium
On modern systemd-based systems, timedatectl is the standard utility for managing time and date settings. The command timedatectl set-timezone Europe/London correctly sets the system's timezone. This command automatically updates the /etc/localtime symlink and handles all necessary configurations. While creating the symlink manually or using dpkg-reconfigure tzdata (on Debian-based systems) can also work, timedatectl is the universal and recommended method on systems that use systemd.
Incorrect! Try again.
35An administrator is troubleshooting a network connectivity issue between two servers, Server A (10.0.1.10) and Server B (10.0.2.20). A ping from Server A to Server B fails. The administrator wants to trace the path the packets are taking to see where the connection drops. Which command would be most useful for this purpose?
Configuring Network Settings: Troubleshoot the network
Medium
A.traceroute 10.0.2.20
B.arp -a 10.0.2.20
C.dig 10.0.2.20
D.netstat -r
Correct Answer: traceroute 10.0.2.20
Explanation:
The traceroute (or tracepath) command is specifically designed to trace the network path (the sequence of routers) that packets take to reach a destination. It works by sending packets with increasing TTL (Time to Live) values. Each router along the path decrements the TTL and sends back an ICMP 'Time Exceeded' message, allowing traceroute to identify each hop. If the trace stops at a certain router, it indicates that the problem lies at or beyond that point, making it an essential tool for diagnosing routing issues.
Incorrect! Try again.
36A system administrator has just installed a new kernel version but wants to temporarily add a boot parameter nomodeset to troubleshoot a display issue, without making the change permanent. How should they do this?
Managing Devices, Processes, Memory, and the Kernel: Manage the Linux kernel
Medium
A.Reboot the system, and when the GRUB boot menu appears, press 'e' to edit the selected boot entry and add nomodeset to the linux line.
B.Create a file in /etc/modprobe.d/ with the content options=nomodeset.
C.Use the command sysctl -w kernel.nomodeset=1.
D.Edit the /etc/default/grub file and add nomodeset to the GRUB_CMDLINE_LINUX variable, then run update-grub.
Correct Answer: Reboot the system, and when the GRUB boot menu appears, press 'e' to edit the selected boot entry and add nomodeset to the linux line.
Explanation:
Editing the GRUB entry at boot time is the standard way to add a kernel parameter for a single boot session. Pressing 'e' in the GRUB menu allows the user to edit the boot commands. The parameter should be added to the line that starts with linux or linuxefi. This change is temporary and will be discarded on the next reboot. Editing /etc/default/grub and running update-grub would make the change permanent, which is not the desired outcome for temporary troubleshooting.
Incorrect! Try again.
37To get a comprehensive and human-readable summary of a server's hardware configuration, including motherboard, firmware version, memory slots, and CPU details, which command is most suitable?
Managing Devices, Processes, Memory, and the Kernel: Gather hardware information
Medium
A.dmidecode
B.cat /proc/cpuinfo
C.lshw -short
D.inxi -F
Correct Answer: lshw -short
Explanation:
The lshw (list hardware) command is a powerful utility that extracts detailed information about the hardware configuration of the machine. The -short option provides a concise, summary-style output that is easy to read and gives a quick overview of all major hardware components. While dmidecode is excellent for BIOS/DMI information, lshw provides a broader summary of all detected hardware in a more consolidated format. cat /proc/cpuinfo is specific to the CPU, and inxi is a great tool but not always installed by default.
Incorrect! Try again.
38A server has two network interfaces, eth0 (connected to the internet) and eth1 (connected to a private network). The administrator needs to enable IP forwarding so that machines on the private network can access the internet through the server. Which action is required to enable this feature temporarily?
Configuring Network Settings: Manage network settings
Medium
A.Restart the networking service with systemctl restart network.
B.Use iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT.
C.Run the command echo 1 > /proc/sys/net/ipv4/ip_forward.
D.Add net.ipv4.ip_forward = 1 to /etc/sysctl.conf.
Correct Answer: Run the command echo 1 > /proc/sys/net/ipv4/ip_forward.
Explanation:
IP forwarding is a kernel-level setting that allows the Linux kernel to forward packets from one network interface to another. This feature is controlled by the /proc/sys/net/ipv4/ip_forward file. Writing a 1 to this file enables forwarding immediately, but the change will be lost on reboot. To make the change permanent, one would add net.ipv4.ip_forward = 1 to /etc/sysctl.conf and run sysctl -p. The iptables command is necessary for firewall rules but does not enable the forwarding capability itself.
Incorrect! Try again.
39An administrator is setting up a new server and wants to ensure that only members of the wheel group can log in via SSH. Which directive in /etc/ssh/sshd_config should be used to enforce this policy?
Configuring Network Settings: Configure remote administrative access
Medium
A.AllowGroups wheel
B.DenyUsers *
C.Require group=wheel
D.PermitRootLogin no
Correct Answer: AllowGroups wheel
Explanation:
The sshd_config file provides the AllowGroups directive to restrict SSH access to users who are members of specific groups. By adding the line AllowGroups wheel, the SSH daemon will reject login attempts from any user who is not a member of the wheel group. This is a common security practice to limit administrative access to a predefined set of trusted users.
Incorrect! Try again.
40A system is configured to get its time from a remote NTP server. The administrator notices the system clock is drifting and wants to force an immediate synchronization. Which command should be used on a modern system running chronyd or systemd-timesyncd?
Managing Services: Configure common system services
Medium
A.chronyc -a makestep
B.timedatectl set-ntp true
C.hwclock --hctosys
D.ntpdate pool.ntp.org
Correct Answer: chronyc -a makestep
Explanation:
On systems using chrony (the default on many modern distributions), the chronyc utility is used to interact with the chronyd daemon. The makestep command tells chronyd to immediately step the system clock, correcting any time offset at once, rather than gradually slewing it. The ntpdate command is deprecated and conflicts with running NTP daemons. timedatectl set-ntp true only enables or disables the NTP client service, it does not force an immediate sync.
Incorrect! Try again.
41A system administrator observes a process in the 'Z' (zombie) state using ps aux. Attempts to terminate this process with kill -9 <zombie_pid> have no effect. What is the only effective method to clean up this zombie process from the process table?
Managing Devices, Processes, Memory, and the Kernel: Manage processes
Hard
A.Reboot the system, as a zombie process has released its memory and cannot be terminated by any signal.
B.Use the pkill -9 -P <parent_pid> command to forcefully terminate all children of the parent process.
C.Run kill -18 <zombie_pid> which sends the SIGCONT signal, forcing the kernel to re-evaluate and clean up the process state.
D.Identify the parent process and send it a signal (e.g., SIGTERM or SIGKILL) to force it to execute the wait() system call and reap its child.
Correct Answer: Identify the parent process and send it a signal (e.g., SIGTERM or SIGKILL) to force it to execute the wait() system call and reap its child.
Explanation:
A zombie (or defunct) process is one that has completed execution but still has an entry in the process table. It exists only so its parent can read its exit status. The process itself is already dead and cannot be killed. The only way to remove the entry from the process table is for its parent process to reap it using the wait() or waitpid() system call. If the parent is not programmed to do this or is stuck, you must terminate the parent process. When the parent is killed, the zombie process is inherited by the init process (PID 1), which periodically calls wait() and will clean up the orphan zombie.
Incorrect! Try again.
42An administrator runs vmstat 1 on a database server under heavy load and sees consistently high values (>> 0) in the si and so columns. The free -h command shows that all physical RAM is in use, but a large portion is listed as 'buff/cache'. What is the most accurate diagnosis and appropriate tuning action?
Managing Devices, Processes, Memory, and the Kernel: Manage memory
Hard
A.The high si/so values indicate excessive swapping due to I/O wait, not memory pressure. The solution is to upgrade to faster storage.
B.The system is memory-bound and thrashing. The best action is to lower the vm.swappiness value to 10 to make the kernel favor dropping page cache over swapping out application memory.
C.The system is out of memory. The only solution is to immediately add more physical RAM or configure a larger swap file.
D.This is normal behavior for a database server; the si/so columns represent standard buffer/cache I/O and can be ignored. No action is needed.
Correct Answer: The system is memory-bound and thrashing. The best action is to lower the vm.swappiness value to 10 to make the kernel favor dropping page cache over swapping out application memory.
Explanation:
si (swap in) and so (swap out) indicate the amount of memory being swapped to and from disk. Consistently high values are a classic sign of memory thrashing, where the system is constantly moving pages between RAM and swap, leading to poor performance. While the page cache ('buff/cache') is beneficial, for a database server, keeping the application's active memory (anonymous pages) in RAM is more critical. The vm.swappiness parameter (0-100) controls the kernel's tendency to swap. A high value favors swapping anonymous pages to free RAM for page cache. A low value (e.g., 10) makes the kernel much less likely to swap out application memory, preferring to shrink the page cache instead. This is the correct tuning action for this scenario.
Incorrect! Try again.
43An administrator attempts to load a custom-compiled kernel module using modprobe my_module on a new server and receives the error: modprobe: ERROR: could not insert 'my_module': Required key not available. The module file exists and has correct permissions. What is the most likely cause of this error?
Managing Devices, Processes, Memory, and the Kernel: Manage the Linux kernel
Hard
A.The module has a dependency that is not met, and modprobe cannot find the required prerequisite module to load first.
B.The file /etc/modprobe.d/blacklist.conf contains an entry for my_module, preventing it from being loaded.
C.The module was compiled for a different kernel version, and modprobe is correctly blocking it due to a version mismatch.
D.The system has Secure Boot enabled in the UEFI firmware, and the kernel is configured to only load modules that are cryptographically signed with a trusted key.
Correct Answer: The system has Secure Boot enabled in the UEFI firmware, and the kernel is configured to only load modules that are cryptographically signed with a trusted key.
Explanation:
The "Required key not available" error is a specific message indicating that the kernel is enforcing module signature verification, which is a security feature typically enabled in conjunction with UEFI Secure Boot. When this is active, the kernel will refuse to load any module that is not signed with a key that is part of the kernel's trusted keyring. A custom-compiled module would not have this signature unless the administrator specifically signed it and enrolled the corresponding key. A version mismatch or a missing dependency would produce different, more direct error messages.
Incorrect! Try again.
44Consider a systemd unit file for service-a.service which contains the directive Requires=service-b.service. A second, otherwise identical unit file for service-c.service contains Wants=service-b.service. If service-b.service fails to start, what will be the behavior of service-a and service-c?
Managing Services: Manage system services
Hard
A.Both service-a and service-c will attempt to start, but will fail with a dependency error.
B.Both service-a and service-c will start successfully, but will log a warning about the failed dependency.
C.service-a will not be started, but service-c will still attempt to start.
D.service-a will not be started, and service-c will also not be started.
Correct Answer: service-a will not be started, but service-c will still attempt to start.
Explanation:
Requires= defines a strong, mandatory dependency. If service-b.service fails to activate, systemd will not start service-a.service. Furthermore, if service-b.service stops or fails while service-a.service is running, service-a.service will also be stopped. In contrast, Wants= defines a weaker, optional dependency. If service-b.service fails to start, systemd will still proceed to start service-c.service. The dependency is not considered critical for the operation of service-c.
Incorrect! Try again.
45While using mtr to diagnose a connection issue to example.com, you see the following output for the last few hops:
What is the most accurate interpretation of this data?
Configuring Network Settings: Troubleshoot the network
Hard
A.The high packet loss on hop 9 and 11 is caused by ICMP rate-limiting on those routers, and the real issue is hop 10, which is completely down.
B.There is severe packet loss (80%) on the return path from webserver.example.com. The loss reported at edge-router.isp.net is likely due to the same return path issue.
C.The destination web server at webserver.example.com is down or unreachable.
D.There is severe packet loss (80%) occurring on the link betweencore-router.isp.net and edge-router.isp.net.
Correct Answer: There is severe packet loss (80%) occurring on the link betweencore-router.isp.net and edge-router.isp.net.
Explanation:
In mtr output, packet loss should be interpreted based on where it begins and if it persists. Hop 8 shows 0% loss. Hop 9 shows 80% loss, and that same level of loss continues to the final destination (hop 11). This pattern strongly indicates that the packet loss is real and is being introduced at hop 9 (edge-router.isp.net) or the link leading to it. The ??? at hop 10 is likely a router configured not to respond to ICMP/UDP probes and can often be ignored if subsequent hops respond. If the loss were only due to ICMP rate-limiting, the final hop would likely show 0% loss. Loss on the return path would typically manifest differently, often with less clear patterns.
Incorrect! Try again.
46A system administrator needs to determine the maximum memory capacity supported by the server's motherboard and the number of physical DIMM slots available, regardless of whether they are currently populated. Which command provides this specific information directly from the hardware's SMBIOS/DMI data?
Managing Devices, Processes, Memory, and the Kernel: Gather hardware information
Hard
A.lshw -class memory
B.dmidecode -t memory
C.cat /proc/meminfo | grep MemTotal
D.free -g --total
Correct Answer: dmidecode -t memory
Explanation:
dmidecode is a tool that reads data from the Desktop Management Interface (DMI), also known as SMBIOS. The command dmidecode -t memory (or -t 17 for memory device and -t 16 for physical memory array) queries this data to show detailed information about the memory subsystem. This includes the 'Maximum Capacity' supported by the motherboard and a list of each physical memory device slot, indicating whether it is populated and what its size is. lshw can provide similar info but dmidecode is often more direct and detailed for this specific query. /proc/meminfo and free only report on the currently installed and recognized RAM, not the motherboard's maximum capacity or physical slot count.
Incorrect! Try again.
47You need to configure SSH access for a user named sftp_user. This user must be confined to their home directory (/srv/sftp/sftp_user) and should only be able to use SFTP, not an interactive shell. This rule should only apply when they connect from the 10.20.30.0/24 subnet. Which sshd_config block correctly and most securely implements these requirements?
Configuring Network Settings: Configure remote administrative access
Hard
A.
Match Address 10.20.30.0/24
AcceptEnv sftp_user
ChrootDirectory /srv/sftp/sftp_user
ForceCommand sftp-server
B.
Subsystem sftp internal-sftp
Match User sftp_user Address 10.20.30.0/24
ChrootDirectory /srv/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
C.
Subsystem sftp /usr/lib/openssh/sftp-server
Match User sftp_user
ChrootDirectory %h
ForceCommand /usr/lib/openssh/sftp-server
PermitTTY no
D.
Match User sftp_user
JailDirectory /srv/sftp/%u
ForceCommand sftp-only
AllowUsers sftp_user@10.20.30.0/24
Correct Answer:
Subsystem sftp internal-sftp
Match User sftp_user Address 10.20.30.0/24
ChrootDirectory /srv/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Explanation:
This is the correct configuration. The Match User sftp_user Address 10.20.30.0/24 block correctly targets the specific user from the specific subnet. ChrootDirectory jails the user to the specified path (%u is a token for the username). ForceCommand internal-sftp is crucial; it forces the execution of the in-process SFTP server and prevents shell access. AllowTcpForwarding no and X11Forwarding no are important security hardening steps for a restricted account. The other options are incorrect: one applies to all connections from the user, another uses incorrect directives (JailDirectory), and one doesn't properly restrict the user to SFTP.
Incorrect! Try again.
48A Linux server is acting as a multi-homed router. You need to implement policy-based routing such that all traffic originating from the source IP address 192.168.10.50 is routed via a gateway at 10.0.0.1, using a separate routing table. The default route should remain unchanged for all other traffic. Which set of commands correctly implements this?
Configuring Network Settings: Manage network settings
Hard
A.
# iptables -t nat -A POSTROUTING -s 192.168.10.50 -j SNAT --to-source 10.0.0.1
B.
# echo "100 custom_table" >> /etc/iproute2/rt_tables
# ip route add default via 10.0.0.1 dev eth1 table custom_table
# ip rule add from 192.168.10.50 table custom_table
C.
# ip route add -host 192.168.10.50 gw 10.0.0.1
D.
# ip rule add to 10.0.0.1 from 192.168.10.50 table 100
# ip route add 10.0.0.1/32 dev eth1 table 100
Correct Answer:
# echo "100 custom_table" >> /etc/iproute2/rt_tables
# ip route add default via 10.0.0.1 dev eth1 table custom_table
# ip rule add from 192.168.10.50 table custom_table
Explanation:
This requires policy-based routing using ip rule and custom routing tables. The correct procedure is: 1. Define a new routing table (e.g., table 100 named custom_table) in /etc/iproute2/rt_tables for clarity. 2. Add a route to that new table, in this case, a default route for that table via the desired gateway (ip route add ... table custom_table). 3. Create a rule that directs the kernel to use this new table for traffic matching a specific selector (ip rule add from 192.168.10.50 ...). The other options are incorrect: a simple host route doesn't use a separate table, iptables is for NAT/firewalling not routing policy, and the last option has an incorrect rule and route definition.
Incorrect! Try again.
49You need to start a CPU-intensive compilation job (make -j8) but must ensure it doesn't negatively impact other critical services on the server. You want it to run with the lowest possible CPU priority (i.e., be the 'nicest' to other processes). Which command will accomplish this?
Managing Devices, Processes, Memory, and the Kernel: Manage Processes
Hard
A.nice --adjustment=-19 make -j8
B.nice -n 19 make -j8
C.nice -n -20 make -j8
D.renice 19 $(pidof make)
Correct Answer: nice -n 19 make -j8
Explanation:
The nice command is used to run a program with a modified scheduling priority. The niceness value ranges from -20 (highest priority, least nice) to 19 (lowest priority, most nice). A standard user can only increase the niceness value (make their processes 'nicer'), while the root user can set any value. To give the process the lowest possible priority, you must set the niceness value to the maximum of 19. nice -n 19 does this. -n -20 would attempt to give it the highest priority (and would likely fail for a non-root user). renice modifies the priority of an already running process. --adjustment=-19 is not a valid syntax for the standard nice command.
Incorrect! Try again.
50You are managing a crond service on a multi-user system. A user has created a crontab entry: * * * * * /usr/bin/logger "Cron test". However, no logs are appearing. The cron daemon is running, and the user is not listed in /etc/cron.deny. The command runs perfectly when executed directly from the user's shell. What is the most probable reason for the cron job's silent failure?
Managing Services: Configure common system services
Hard
A.The crontab entry is missing the username field, which is required in /etc/crontab but not user-specific crontabs.
B.The PATH environment variable for crond is minimal by default and does not include /usr/bin, causing the logger command to fail.
C.The user's shell is /sbin/nologin, which prevents cron from executing any jobs for that user.
D.The user does not have an entry in /etc/cron.allow, and this file exists and is not empty.
Correct Answer: The user does not have an entry in /etc/cron.allow, and this file exists and is not empty.
Explanation:
The cron access control is determined by two files: /etc/cron.allow and /etc/cron.deny. The logic is as follows: 1. If /etc/cron.allow exists, a user MUST be listed in it to use cron. All other users are denied. 2. If /etc/cron.allow does NOT exist, but /etc/cron.deny does, then any user listed in /etc/cron.deny is denied access. All others are allowed. Given the user is not in cron.deny, the most likely reason for being denied access is the existence of a cron.allow file that does not contain their username. The default cron PATH almost always includes /usr/bin, and /sbin/nologin affects interactive shells, not typically cron job execution.
Incorrect! Try again.
51To permanently prevent the kernel module nouveau from ever being loaded, even if another module depends on it or if hardware probing triggers it, what is the most robust and correct method?
Managing Devices, Processes, Memory, and the Kernel: Manage the Linux kernel
Hard
A.Add options nouveau modeset=0 to a .conf file in /etc/modprobe.d/.
B.Run rmmod nouveau and then add blacklist nouveau to a .conf file in /etc/modprobe.d/.
C.Physically remove the nouveau.ko file from the /lib/modules/$(uname -r)/ directory.
D.Add install nouveau /bin/true to a .conf file in /etc/modprobe.d/.
Correct Answer: Add install nouveau /bin/true to a .conf file in /etc/modprobe.d/.
Explanation:
While blacklist nouveau is a common method, it is not foolproof. A module that explicitly depends on nouveau can sometimes still cause it to be loaded. The most definitive method is using the install directive in a modprobe.d configuration file. The line install nouveau /bin/true instructs modprobe that whenever it is asked to load the nouveau module, it should run the command /bin/true instead. Since /bin/true does nothing and exits successfully, the kernel is satisfied, the dependency is considered met, but the actual nouveau module is never loaded. rmmod is temporary, options only changes parameters, and deleting the file is a bad practice that will be undone by a kernel update.
Incorrect! Try again.
52An administrator needs to override a single parameter, the ExecStart directive, for a vendor-provided systemd unit located at /usr/lib/systemd/system/vendor.service. The change must persist across package updates and should not involve copying the entire original unit file. What is the standard systemd procedure?
Managing Services: Manage system services
Hard
A.Create a file /etc/systemd/system/vendor.service and add only the new [Service] section and ExecStart line.
B.Edit the original file /usr/lib/systemd/system/vendor.service directly and then run systemctl daemon-reload.
C.Create a directory /etc/systemd/system/vendor.service.d/ and place a file inside (e.g., override.conf) containing a [Service] section with the new ExecStart line.
D.Create a file /etc/default/vendor and add the ExecStart parameter, as systemd units source this file for environment variables.
Correct Answer: Create a directory /etc/systemd/system/vendor.service.d/ and place a file inside (e.g., override.conf) containing a [Service] section with the new ExecStart line.
Explanation:
The modern and correct systemd way to override specific directives of a unit file is to use a "drop-in" configuration file. By creating a directory named after the service (vendor.service.d) inside /etc/systemd/system/ and placing a .conf file within it, you can specify only the directives you want to change or add. This drop-in file is merged with the original unit file at runtime. This method is robust against package updates, which would overwrite any direct edits to /usr/lib/systemd/system/vendor.service. Creating a full override file in /etc/systemd/system/ is also possible but less ideal, as you would have to maintain a full copy of the unit.
Incorrect! Try again.
53A network trace shows a client sending a TCP packet with the SYN flag set and a sequence number of 1000. The server responds with a packet with the SYN and ACK flags set. What will the sequence number and acknowledgment number be in the server's response packet, according to the TCP three-way handshake protocol?
Configuring Network Settings: Understand network fundamentals
Hard
In the TCP three-way handshake: 1. The client sends a SYN packet with its initial sequence number (ISN), let's call it client_isn (1000 in this case). 2. The server responds with a SYN-ACK packet. The Acknowledgment number is the client's sequence number plus one (client_isn + 1, so 1001), indicating it has received up to byte 1000. The server also sends its own initial sequence number, which is chosen randomly for security reasons, let's call it server_isn. 3. The client completes the handshake by sending an ACK packet with its acknowledgment number set to server_isn + 1. Therefore, the server's response has a random sequence number and an acknowledgment number of 1001.
Incorrect! Try again.
54A web server is experiencing intermittent connection timeouts. You run ss -s and see a high number of entries in the timewait state. You then run ss -tan state time-wait 'sport = :443' | wc -l which returns a value of 35000. What does this indicate and what kernel parameter could be tuned to mitigate this?
Configuring Network Settings: Troubleshoot the network
Hard
A.The server is handling many short-lived connections and is waiting for potentially delayed packets. Tuning net.ipv4.tcp_tw_reuse can help recycle these sockets faster.
B.The server is initiating many outbound connections that are closing slowly. Tuning net.ipv4.tcp_fin_timeout would help.
C.The listen backlog is too small for the incoming connection rate. Tuning net.core.somaxconn would help.
D.The server is under a SYN flood attack. Tuning net.ipv4.tcp_syncookies would help.
Correct Answer: The server is handling many short-lived connections and is waiting for potentially delayed packets. Tuning net.ipv4.tcp_tw_reuse can help recycle these sockets faster.
Explanation:
A high number of sockets in the TIME_WAIT state is common on busy web servers that handle many short-lived HTTPS connections. This state is a normal part of the TCP connection termination process, designed to ensure any stray, delayed packets from the old connection are properly handled. However, an excessive number of TIME_WAIT sockets can exhaust the available source ports for new connections. The kernel parameter net.ipv4.tcp_tw_reuse (when enabled by setting to 1) allows the kernel to reuse sockets in the TIME_WAIT state for new outgoing connections if it can be done safely, which is an effective mitigation for this specific problem. tcp_fin_timeout controls a different state (FIN_WAIT_2), and tcp_syncookies and somaxconn are related to connection initiation, not termination.
Incorrect! Try again.
55Using nmcli, how would you create a new bond interface named bond0 in an active-backup mode, using eth1 and eth2 as its slaves?
Configuring Network Settings: Manage network settings
Hard
A.
nmcli device add bond0 type bond mode active-backup miimon 100
nmcli device enslave bond0 eth1 eth2
B.
nmcli conn add type bond con-name bond0 ifname bond0 mode active-backup
nmcli conn add type bond-slave con-name bond0-slave-eth1 ifname eth1 master bond0
nmcli conn add type bond-slave con-name bond0-slave-eth2 ifname eth2 master bond0
C.
nmcli bond add bond0 eth1,eth2 mode=active-backup
D.
nmcli con add type bond ifname bond0 mode active-backup
nmcli con add type ethernet ifname eth1 master bond0
nmcli con add type ethernet ifname eth2 master bond0
Correct Answer:
nmcli conn add type bond con-name bond0 ifname bond0 mode active-backup
nmcli conn add type bond-slave con-name bond0-slave-eth1 ifname eth1 master bond0
nmcli conn add type bond-slave con-name bond0-slave-eth2 ifname eth2 master bond0
Explanation:
The correct nmcli syntax involves managing connections (conn), not just devices. The process is three-fold: 1. Create a new connection of type bond for the master interface (bond0), specifying its connection name, interface name, and bonding mode. 2. Create a new connection of type bond-slave for the first slave interface (eth1), specifying its interface name and linking it to the master bond0. 3. Repeat the process for the second slave interface (eth2). The other options use incorrect nmcli subcommands (device add, bond add) or connection types (ethernet instead of bond-slave).
Incorrect! Try again.
56A user's environment is configured as follows:
- /etc/locale.conf contains LANG=en_US.UTF-8
- The user's ~/.bash_profile contains export LC_MESSAGES=fr_FR.UTF-8
- The system administrator has set a system-wide environment file with LC_ALL=C
When the user logs in and runs a command that produces an error message, in which language will the message appear and which character set will be used for sorting data?
Configuring Localization Settings: Configure localization settings
Hard
A.Error messages in French; sorting using C locale rules.
B.Error messages in English; sorting using C locale rules.
C.The login will fail due to conflicting locale settings.
D.Error messages in English; sorting using en_US locale rules.
Correct Answer: Error messages in French; sorting using C locale rules.
Explanation:
The LC_* environment variables have a strict order of precedence. LC_ALL is the ultimate override; if it is set, it overrides all other LC_* variables and LANG. However, the prompt implies the user logged in successfully, making it more likely the system-wide LC_ALL=C was not applied to their interactive session, or was overridden later. In a standard shell startup sequence, ~/.bash_profile is sourced. Therefore, the precedence is:
LC_ALL (if set, overrides everything)
Individual LC_* variables (e.g., LC_MESSAGES, LC_COLLATE for sorting)
LANG (serves as a default for any unset LC_* variables)
In this scenario, LC_ALL=C forces everything, including sorting (LC_COLLATE), to the basic C locale. However, the user's profile explicitly sets LC_MESSAGES=fr_FR.UTF-8. Individual LC_* variables override LC_ALL if set after it. Assuming the user's profile is sourced last, LC_MESSAGES will be French. Since LC_COLLATE is not set by the user, it falls back to the LC_ALL=C setting for sorting. Therefore, messages are in French, sorting is by C rules.
Incorrect! Try again.
57To harden an SSH server, an administrator wants to ensure that only the modern and secure ssh-ed25519 and rsa-sha2-512 host key algorithms are used. Any clients attempting to connect using older algorithms like ssh-dss or ecdsa-sha2-nistp256 should fail. Which sshd_config directive achieves this?
Configuring Network Settings: Configure remote administrative access
Hard
The HostKeyAlgorithms directive in /etc/ssh/sshd_config explicitly specifies which host key algorithms the server will offer. By setting this to a comma-separated list, you restrict the server to only those algorithms. Clients that do not support any of the offered algorithms will fail to connect. Ciphers controls the symmetric encryption algorithms. KexAlgorithms controls the key exchange methods. PubkeyAcceptedKeyTypes (or PubkeyAcceptedAlgorithms in newer OpenSSH) controls the types of user keys accepted for public key authentication, not the server's host key.
Incorrect! Try again.
58You are debugging a network service and need to find the PID of the process that has bound to TCP port 8443 and is currently in a LISTEN state, but you only want to see results for IPv4. Which command is the most precise and efficient for this task?
Managing Devices, Processes, Memory, and the Kernel: Manage Processes
Hard
A.netstat -ltnp4 | grep :8443
B.ss -4 -ltnp 'sport = :8443'
C.lsof -i4 -sTCP:LISTEN -P | grep 8443
D.ss -ltnp 'sport = :8443'
Correct Answer: ss -4 -ltnp 'sport = :8443'
Explanation:
ss is the modern and more efficient replacement for netstat. The options -4 explicitly filters for IPv4 sockets. -l filters for listening sockets. -t filters for TCP sockets. -n prevents name resolution (faster). -p shows the process using the socket. Finally, the filter expression 'sport = :8443' is the most precise way to filter for the specific source port, avoiding false positives if '8443' appeared in the PID or address. netstat is considered legacy. lsof is powerful but often slower than ss for pure network socket queries. The ss command without -4 would show both IPv4 and IPv6.
Incorrect! Try again.
59You are configuring chronyd for a server in a highly secure, isolated network that has no internet access. There is one master time server on this network at 192.168.100.1. You need to configure the client server to poll this master, but also allow the client to serve time to other devices on its local subnet if the master becomes unreachable. Which combination of directives in /etc/chrony.conf is most appropriate?
Managing Services: Configure common system services
Hard
A.
server 192.168.100.1 iburst
local stratum 10
B.
server 192.168.100.1 iburst
allow 0.0.0.0/0
C.
server 192.168.100.1 iburst
allow 192.168.0.0/16
local stratum 10
D.
pool 192.168.100.1 iburst
allow 192.168.0.0/16
driftfile /var/lib/chrony/drift
Correct Answer:
server 192.168.100.1 iburst
allow 192.168.0.0/16
local stratum 10
Explanation:
This configuration correctly addresses all requirements. server 192.168.100.1 iburst tells chronyd to sync with the master time server and to send a burst of packets on startup for faster initial synchronization. allow 192.168.0.0/16 configures this machine as an NTP server, allowing clients from the specified subnet to connect to it. The key directive is local stratum 10. This allows chronyd to act as a source for other clients even when it is not synchronized to a better time source itself. It will advertise with a high stratum number (10), indicating its time is less reliable, which prevents time loops but allows the isolated network to maintain a consistent (if not perfectly accurate) time.
Incorrect! Try again.
60A system is experiencing performance degradation. Analysis shows that while there is free memory, the system has a very large number of active, anonymous memory pages, leading to high latency during memory allocation. Which sysctl parameter can be tuned to trigger background reclamation of memory pages more aggressively when free memory falls below a certain threshold, potentially improving allocation latency?
Managing Devices, Processes, Memory, and the Kernel: Manage Memory
Hard
A.vm.overcommit_memory
B.vm.swappiness
C.vm.min_free_kbytes
D.vm.dirty_background_ratio
Correct Answer: vm.min_free_kbytes
Explanation:
vm.min_free_kbytes sets a minimum amount of memory that the kernel attempts to keep free. When the amount of free memory drops below this value, the kernel's kswapd0 process wakes up and starts reclaiming pages (either by writing dirty pages to disk or swapping out inactive pages) until the free memory is above the threshold again. Setting this value higher (with caution) forces the kernel to start reclaiming memory earlier and more aggressively, which can reduce the latency of future memory allocation requests because free pages are more readily available. vm.dirty_background_ratio relates to writing file-backed pages, vm.overcommit_memory relates to allocation policy, and vm.swappiness controls the balance between swapping anonymous pages and dropping page cache.