Chapter 29 Troubleshooting Miscellaneous Software Problems (Tasks)
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 the information in this chapter.
What to Do If Rebooting Fails
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.
If none of the above suggestions solve the problem, contact your local
service provider.
SPARC: Troubleshooting 64–bit Solaris Boot Problems
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 might 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.
What to Do if You Forgot Root Password
If you forget the root password and you cannot log into the system,
you will have to:
-
Stop the system by using the keyboard stop sequence.
-
Boot from a boot or install server or from a local CD-ROM.
-
Mount the root (/) file system.
-
Remove the root password from the /etc/shadow
file.
-
Reboot the system.
-
Log in and set root's password.
This procedure is fully described in “SPARC: Booting a System” in System
Administration Guide: Basic Administration and “IA: Booting
a System” in System Administration Guide: Basic Administration.
The following examples describe how to recover from a forgotten root
password on both SPARC and x86 systems.
SPARC: Example—What to Do if You Forgot Root Password
The following example shows how to recover when you forget the root
password by booting from the network. This example assumes that the boot server
is already available. Be sure to apply a new root password after the system
has rebooted.
(Use keyboard abort sequence--Press Stop A keys to stop the system)
ok boot net -s
# mount /dev/dsk/c0t3d0s0 /a
# cd /a/etc
# TERM=vt100
# export TERM
# vi shadow
(Remove root's encrypted password string)
# cd /
# umount /a
# init 6
|
x86: Example—What to Do if You Forgot Root Password
The following example shows how to recover when you forget root's password
by booting from the network. This example assumes that the boot server is
already available. Be sure to apply a new root password after the system has
rebooted.
(Use keyboard abort sequence to stop the system
Type any key to continue
SunOS Secondary Boot version 3.00
Solaris Intel Platform Edition Booting System
Running Configuration Assistant...
Autobooting from Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
If the system hardware has changed, or to boot from a different
device, interrupt the autoboot process by pressing ESC.
Press ESCape to interrupt autoboot in 5 seconds.
.
.
.
Boot Solaris
Select one of the identified devices to boot the Solaris kernel and
choose Continue.
To perform optional features, such as modifying the autoboot and property
settings, choose Boot Tasks.
An asterisk (*) indicates the current default boot device.
> To make a selection use the arrow keys, and press Enter to mark it [X].
[X] NET : DEC 21142/21143 Fast Ethernet
on Board PCI at Dev 3
[ ] DISK: (*) Target 0, QUANTUM FIREBALL1280A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] DISK: Target 1:ST5660A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] DISK: Target 0:Maxtor 9 0680D4
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] CD : Target 1:TOSHIBA CD-ROM XM-5602B 1546
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
F2_Continue F3_Back F4_Boot Tasks F6_Help
.
.
.
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args: kernel/unix -r
Select the type of installation you want to perform:
1 Solaris Interactive
2 Custom JumpStart
3 Solaris Web Start
Enter the number of your choice followed by <ENTER> the key.
If you enter anything else, or if you wait for 30 seconds,
an interactive installation will be started.
Select type of installation: b -s
.
.
.
# mount /dev/dsk/c0t0d0s0 /a
.
.
.
# cd /a/etc
# vi shadow
(Remove root's encrypted password string)
# cd /
# umount /a
# init 6
|
What to Do if a System Hangs
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 these suggestions. 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. For information on forcing a crash dump and booting, see “SPARC: Forcing a Crash Dump
and Rebooting the System” in System Administration Guide:
Basic Administration or “IA: Forcing a Crash Dump and
Rebooting the System” in System Administration Guide: Basic
Administration.
-
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.
What to Do if a File System Fills Up
When the root (/) file system or any other file
system fills up, you will see the following message in the console window:
There are several reasons why a file system fills up. The following
sections describe several scenarios for recovering from a full file system.
For information on routinely cleaning out old and unused files to prevent
full file systems, see Chapter 16, Managing Disk Use (Tasks).
File System Fills Up Because a Large File or Directory Was Created
|
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. For information
on removing core files, see How to Find and Delete core Files.
|
A TMPFS File System is Full Because the System Ran
Out of Memory
|
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.
|
For information on recovering from tmpfs-related error
messages, see tmpfs(7FS).
|
What to Do if File ACLs Are Lost After Copy or Restore
|
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.
|
Troubleshooting Backup Problems
This section describes some basic troubleshooting techniques to use
when backing up and restoring data.
The root (/) File System Fills Up After You Back
Up a File System
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.
|
Make Sure the Backup and Restore Commands Match
You can only use the ufsrestore command to restore files backed up with the ufsdump command. If you back up with the tar
command, restore with the tar command. 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.
Check to Make Sure You Have the Right Current Directory
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 the ufsrestore command.
If you change to a lower-level directory, after you restore the files you
will see a complete file tree created under that directory.
Interactive Commands
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: Thu Aug 30 10:13:46 2003
Dumped from: the epoch
Level 0 dump of /export/home on starbug:/dev/dsk/c0t0d0s7
Label: none
Extract directories from tape
Initialize symbol table.
ufsrestore >
|
At the ufsrestore> prompt, you can use the commands
listed on “UFS Backup and Restore Commands (Reference)” in System Administration
Guide: Basic Administration to find files, create a list
of files to be restored, and restore them.