This chapter describes miscellaneous software problems that may occur occasionally and are relatively easy to fix. Troubleshooting miscellaneous software problems includes solving problems that aren't related to a specific software application or topic, such as unsuccessful reboots and full file systems. Resolving these problems are described in the following sections.
This is a list of information in this chapter.
If the system does not reboot completely, or if it reboots and then crashes again, there may be a software or hardware problem that is preventing the system from booting successfully.
Problem -- A System Won't Boot Because ... |
How to Fix the Problem |
---|---|
The system can't find /platform/`uname -m`/kernel/unix. |
You may need to change the boot-device setting in the PROM on a SPARC system. See "Booting a System (Tasks)" in System Administration Guide, Volume 1 for information on changing the default boot device. |
There is no default boot device on an IA system. The message displayed is: Not a UFS filesystem. |
Boot the system using the Configuration Assistant/Boot diskette and select the disk from which to boot. |
There's an invalid entry in the /etc/passwd file. |
See "Shutting Down and Booting a System (Overview)" in System Administration Guide, Volume 1 for information on recovering from an invalid passwd file. |
There's a hardware problem with a disk or another device. |
Check the hardware connections:
|
If none of the above suggestions solve the problem, contact your local service provider.
After the 64-bit Solaris release is installed on an UltraSPARC system, the 64-bit kernel will be booted automatically unless any of the following conditions are true:
A FLASH PROM upgrade may be required on an UltraSPARC system before it can successfully boot the 64-bit kernel. Refer to your hardware manufacturer's documentation to determine whether your UltraSPARC system requires a firmware upgrade.
The Open Boot PROM boot-file parameter is set to kernel/unix. If booting the 64-bit kernel fails and this parameter is set, unset it, and reboot the system.
On some UltraSPARC systems, the 64-bit Solaris kernel is not booted by default, even when the system is completely installed with all the 64-bit Solaris components and the correct firmware is installed. Without booting the 64-bit Solaris kernel, 64-bit applications are unable to run.
To find out more about this issue, and how to enable booting the 64-bit Solaris kernel by default, see boot(1m).
You can always discover which Solaris kernel the system is currently running by using the isainfo -kv command.
$ isainfo -kv 64-bit sparcv9 kernel modules |
This output means the system is running the 64-bit Solaris kernel.
You cannot boot the 64-bit Solaris operating environment on a 32-bit Solaris system.
A system can freeze or hang rather than crash completely if some software process is stuck. Follow these steps to recover from a hung system.
Determine whether the system is running a window environment and follow the suggestions listed below. If these suggestions don't solve the problem, go to step 2.
Make sure the pointer is in the window where you are typing the commands
Press Control-q in case the user accidentally pressed Control-s, which freezes the screen. Control-s freezes only the window, not the entire screen. If a window is frozen, try using another window.
If possible, log in remotely from another system on the network. Use the pgrep command to look for the hung process. If it looks like the window system is hung, identify the process and kill it.
Press Control-\ to force a "quit" in the running program and (probably) write out a core file.
Press Control-c to interrupt the program that might be running.
Log in remotely and attempt to identify and kill the process that is hanging the system.
Log in remotely, become superuser and reboot the system.
If the system still does not respond, force a crash dump and reboot. See Chapter 39, Managing System Crash Information for information on forcing a crash dump and booting.
If the system still does not respond, turn the power off, wait a minute or so, then turn the power back on.
If you cannot get the system to respond at all, contact your local service provider for help.
When the root (/) file system or any other file system fills up, you will see the following message in the console window:
.... file system full |
There are several reasons why a file system fills up. The following sections describe several scenarios for recovering from a full file system. See Chapter 28, Managing Disk Use (Tasks) for information on routinely cleaning out old and unused files to prevent full file systems.
Reason Error Occurred |
How to Fix the Problem |
---|---|
Someone accidentally copied a file or directory to the wrong location. This also happens when an application crashes and writes a large core file into the file system. |
Log in as superuser and use the ls -tl command in the specific file system to identify which large file is newly created and remove it. See "How to Find and Delete core Files" to remove core files. |
Reason Error Occurred |
How to Fix the Problem |
---|---|
This can occur if TMPFS is trying to write more than it is allowed or some current processes are using a lot of memory. |
See tmpfs(7FS) for information on recovering from tmpfs-related error messages. |
Reason Error Occurred |
How to Fix the Problem |
---|---|
If files or directories with ACLs are copied or restored into the /tmp directory, the ACL attributes are lost. The /tmp directory is usually mounted as a temporary file system, which doesn't support UFS file system attributes such as ACLs. |
Copy or restore files into the /var/tmp directory instead. |
This section describes some basic troubleshooting techniques to use when backing up and restoring data.
You back up a file system, and the root (/) file system fills up. Nothing is written to the media, and the ufsdump command prompts you to insert the second volume of media.
Reason Error Occurred |
How to Fix the Problem |
---|---|
If you used an invalid destination device name with the -f option, the ufsdump command wrote to a file in the /dev directory of the root (/) file system, filling it up. For example, if you typed /dev/rmt/st0 instead of /dev/rmt/0, the backup file /dev/rmt/st0 was created on the disk rather than being sent to the tape drive. |
Use the ls -tl command in the /dev directory to identify which file is newly created and abnormally large, and remove it. |
You can only use ufsrestore to restore files backed up with ufsdump. If you back up with tar, restore with tar. If you use the ufsrestore command to restore a tape that was written with another command, an error message tells you that the tape is not in ufsdump format.
It is easy to restore files to the wrong location. Because the ufsdump command always copies files with full path names relative to the root of the file system, you should usually change to the root directory of the file system before running ufsrestore. If you change to a lower-level directory, after you restore the files you will see a complete file tree created under that directory.
You cannot use the ufsrestore command to restore files from a multivolume backup set of diskettes made with the dump command. You must restore the files on a SunOS 4.1 system.
When you use the interactive command, a ufsrestore> prompt is displayed, as shown in this example:
# ufsrestore ivf /dev/rmt/0 Verify volume and initialize maps Media block size is 126 Dump date: Mon Jul 12 14:06:54 1999 Dumped from: the epoch Level 0 dump of a partial file system on venus:/var/adm/acct Label: none Extract directories from tape Initialize symbol table. ufsrestore > |
At the ufsrestore> prompt, you can use the commands listed on "The ufsdump and ufsrestore Commands (Reference)" in System Administration Guide, Volume 1 to find files, create a list of files to be restored, and restore them.