Chapter 24 Flashcards
Troubleshooting Application and Hardware Issues
Summarize application permission issues.
When an application throws an error relating to either I/O or an attempt to launch another executable, it can be due to an incorrect file or directory permission. Determine what user account the application is running under as well as any files it is attempting to access and their residing directories. With that information in hand, gather file ownership and group membership. Looking at the various permissions associated with each of the three permission classifications (owner, group, other) will begin to uncover the core problem. Include directory permissions and default ACLs as well in the investigation.
Describe storage problems.
Common storage issues involve degraded storage, missing devices and/or volumes, absent mount points, and performance issues. They also may include storage integrity problems and/or resource exhaustion. The dmesg utility is essential for its use in uncovering root causes of problems with SATA and SCSI drives as well as the HBA. Uncovering and fixing RAID issues also requires the use of the Multiple Devices (md) utility and the /proc/mdstat file.
Explain application dependencies.
Using the appropriate utility and checking an application’s version as well as available package versions will allow you to uncover whether or not a poor performing application’s software has an upgrade available for it. Updating software packages, however, is not without problems. A software update may not properly update a package’s dependencies or libraries, resulting in a broken application. If the new update needs to be compiled, issues with the GCC can cause complications. The system’s package repository can have uncovered troubles, which prevent a software update from occurring.
Detail restrictive firewall ACLs.
Applications that communicate with data, services, or end users over a network may run into problems with overly restrictive firewall settings. Gather together the source address (or host), destination address, and network protocols employed as well as the inbound and outbound ports used on both the client and the server side. Using this basic information, review the firewall’s various ACLs. If a firewall setting is blocking this needed access, review the potential needed changes prior to enacting them.
Summarize uncommon hardware issues.
RAM, printers, video apparatus, serial ports, USB devices, and keyboards can provide interesting problems to troubleshoot. Employing the dmidecode and lshw utilities as well as the dmesg, lspci, lsusb, and lsdev commands provides assistance in uncovering the root causes. Missing or outdated modules (drivers), faulty cables, corrupted device files, and incorrect key maps are some of the problem sources. You can save yourself some time and avoid issues in the first place if you ensure that your hardware and software are compatible prior to installing them.
Peter’s system has a memory-intensive application running on it continually. To help improve performance, he has replaced the old hard drives with solid-state drives instead of increasing RAM. Which of the following is most likely true about this situation?
The SSD for application data will enter a degraded mode. The SSD for swap will become degraded storage. The SSD will need a namespace in its device filename. The SSD will end up a missing volume. The SSD will experience resource exhaustion.
B. Due to this application that is memory intensive and experiencing performance issues, the system’s swap space is most likely receiving high I/O from RAM. SSDs have a finite number of program/erase (PE) cycles, and continually writing and removing data from them, such as occurs in swap, will cause them to become degraded storage faster than normal. Thus, option B is the correct answer. Degraded mode refers to the mode a RAID enters when one or more of its member disks have failed. Since it is not stated whether the application data is stored on a RAID array, option A is a wrong answer. Only NVMe SSDs need to have a namespace in their device filenames. Since it is not stated whether these SSDs are NVMe disks, option C is also an incorrect answer. A missing volume occurs when a disk that is part of a logical volume fails or is accidentally removed. Since it is not stated whether these SSDs are involved with a logical volume, option D is a wrong choice. Resource exhaustion occurs when a system’s finite resources are committed and unavailable to others. For disks, this includes running out of inode numbers or disk space. While it is possible that at some point in time the SSDs will experience resource exhaustion, there is not enough information provided to declare that they will. Therefore, option E is also an incorrect choice.
Mary adds the first SCSI disk to a Linux system that currently has only IDE drives. The system is not recognizing the new disk. Which of the following commands should she employ to troubleshoot the problem? (Choose all that apply.)
ls /sys/bus/scsi/drivers pvscan /dev/vg00/lvol0 lsmod | grep module-name hdparm -B 127 device-filename smartctl -a
A, C. Since this is this system’s first SCSI disk and it is not being recognized, it is possible that the appropriate modules (drivers) are not loaded. Thus, Mary should check to see if the drivers are on the system via the command in option A and check if they are currently loaded into the kernel using the command in option C. The pvscan utility is used for physical volumes being used for a logical volume’s volume group. Therefore, option B is a wrong answer. The hdparm and smartctl commands in options D and E are employed for checking and resetting power management configurations on a SATA device. Thus, they are incorrect choices.
The system administrator, Norman, runs a Python program and receives an IO Error: [Error 13] Permission denied message. What information should he gather (or know) to start troubleshooting this issue? (Choose all that apply.)
The disk type, where the program resides His user account name The program action that raised the error Filename and directory location of the program's I/O files The program's name
B, C, D. For Norman to begin the process of troubleshooting this application permission issue, he’ll need to either know or determine the information listed in options B, C, and D. The disk type, where the program resides, does not assist in this troubleshooting process, so option A is a wrong answer. The program’s name is also not helpful here, so option E is an incorrect choice.
Harry has modified an application to create a file in a directory and then write data to it. The program creates the file with no problems but cannot write data to it and receives a permission error. Which of the following is most likely the issue?
Directory ownership File ownership File group membership Permission inheritance Executable privileges
D. Because the application can create the file in a particular directory with no problem but cannot write to the file, it is most likely a permission inheritance issue via default directory ACLs. Therefore, option D is the correct answer. If the directory ownership and their permissions were a problem, the application could not create a file in that directory. Therefore, option A is a wrong answer. File ownership and group membership would have to be manually changed by the application in order to cause this issue. Therefore, options B and C are incorrect answers. Executable privileges are involved with being able to run a program file or change a process’s present working directory, and thus, option E is an incorrect choice.
Ben updates his Ubuntu system’s packages using the sudo apt-get upgrade command, and now the Apache Web service is not working properly. What command should he run?
sudo apt-get clean sudo zypper clean -a sudo ldd /usr/sbin/apache2 sudo rpm -aV sudo apt-get check
E. The upgrade may have broken the Apache package by breaking a dependency. The sudo apt-get check command will check for such a thing. Thus, option E is the correct answer. The commands in options A and B will clean up the repository database and any temporary download files but not help to troubleshoot this issue. Therefore, options A and B are wrong answers. The command in option C shows library files used by the Apache service, but it does not help troubleshoot the problem and is therefore an incorrect answer. Option D’s command checks for broken dependencies, but on a Red Hat–based system, and thus it is an incorrect choice.
Peter writes a new C++ application to use for managing his older Linux server. The new app contains no programming or logic errors. However, when he tries to compile it, it does not work. Which of the following is most likely the issue?
An incorrect application permission An incorrect file permission A missing or outdated GCC A missing or outdated device A repository problem
C. If Peter cannot compile a flawlessly written C++ application, then the problem must lie with the compiler, GCC. Thus, option C is the correct answer. Application and file permissions would not cause this particular issue, so options A and B are wrong answers. A missing or outdated device would not be the problem for this situation, so option D is also an incorrect answer. Since Peter wrote this application, instead of trying to obtain one from a package repository, option E is an incorrect choice as well.
Mary confirms via the sealert utility that her application cannot access the file flash.txt. What command should she use next?
ls -l flash.txt ls -Z flash.txt ls -l flash.txt-directory setroubleshoot restorecon
B. The sealert utility is used to check the audit log file for SELinux context violations. Therefore, the issue here revolves around SELinux. The ls -Z command will allow Mary to view the flash.txt file’s SELinux context to determine if it needs to have it changed. Thus, option B is the correct answer. The option A command will not show the file’s SELinux context and is therefore a wrong answer. While the flash.txt directory might have a context problem, the ls -l command will not show it, and thus option C is a wrong choice as well. Option D’s setroubleshoot is a package and not a command, so it is a wrong answer. Option E’s restorecon will fix SELinux labels, which may be used in the repair process but not in troubleshooting, so it is an incorrect choice.
A clock-in/out application, which uses an NTP server on the local network, is throwing an error concerning reaching the server. There are currently no network problems. Which of the following are steps in the troubleshooting process for this issue? (Choose all that apply.)
Check the firewall ACLs on the NTP server. Check the firewall ACLs on the application server. Use the firewall-cmd --get-default-zone command. Check the /etc/services file for NTP ports and transport protocols. View firewall log entries.
A, B, D, E. For troubleshooting this issue, the firewall ACLs on both the NTP server and the application server must be checked. Either side could be dropping or rejecting packets, so options A and B are correct answers. If you do not have the NTP ports and transport protocols memorized, the /etc/services file needs checking. That information is critical for reviewing server- and client-side firewall ACLs. Thus, option D is a correct answer too. It is a good idea to view the firewall log entries because they may point to the exact cause of the problem or provide valuable information. Therefore, option E is a right choice. The firewall-cmd command is specific only to those systems that employ the firewalld firewall. Therefore, option C is the only incorrect choice.
Your system administrator team member Norman tells you the device located at the communications port is not working. What command should you issue to start the troubleshooting process?
dmesg | grep -i COM dmesg | grep -i ttys sudo setserial -a /dev/COM1 sudo setserial -a /dev/ttyS0 cat /proc/interrupts
B. The communications port is a serial port, represented by the /dev/ttyS# device files. To find the right number (#), use the dmesg command to start the troubleshooting process. Thus, option B is the correct answer. Since a serial port is not represented by files named /dev/COM#, both options A and C are wrong answers. The setserial command is used after you determined the appropriate filename for the serial device, so it is not the first step and option D is an incorrect answer. The cat /proc/interrupts command is performed after you find the correct IRQ via the setserial command, so option E is an incorrect choice as well.
Harry’s newly installed USB printer is not working. The system employs CUPS. Which of the following are steps that may be included in the troubleshooting process? (Choose all that apply.)
Issue the less /etc/printcap command. Use the lpinfo -m command to view available USB ports. Put a watch on the appropriate log file and plug in the USB cable. Use the dmesg and grep utilities to find printer information. Use the lsusb -v command to see if the device is on the USB bus.
C, D, E. The activities in options C, D, and E are all steps that may be included in troubleshooting this USB printer issue. A CUPS system uses the /etc/cups/printers.conf file instead of the /etc/printcap file, so option A is a wrong answer. The lpinfo -m command allows you to view available printer drivers, not USB ports, so option B is an incorrect choice as well.