Knowledge Is Power
Recently featured on Sun's Web site as a
"Great resource!" by the BigAdmin sysop.
|Sections on this page:||
We Did It !!!
Solaris is Sun Microsystem's "flavor" of UNIX. Actually, SunOS is Sun's UNIX. Solaris is SunOS, the GUI interfaces, and everything else that comes with the operating system. But most people use the term Solaris when referring to Sun's operating system. It is most-often thought of as the operating system for Sun-manufactured systems but that's not the whole story.
Just as Linux is a form of UNIX that can run on PCs (Intel x86-based systems), Sun offers a version of Solaris that will run on PCs. As a matter of fact, Sun offers this version of Solaris with free licenses.
Having played around with "Solaris x86" I've discovered some things that may save you some time and headaches if you decide to try it. These things are presented in the sections below. I also present some information that may be helpful if you decide you want to go whole-hog and get into the non-x86 world of Solaris (i.e. get into Sun hardware). If you haven't already done so, you may want to take a look at our Beginner's Guide To Linux site. The first page of this site covers UNIX/Linux in general, and you will find it easier to relate some of the information given here to the "Win-tel" platform you're probably familiar with.
Keep in mind that with the Solaris for x86 software, the "Sparc, Ultra, or Enterprise System" hardware description in the diagram below would be replaced with "Intel PC".
If you know UNIX or Linux, you pretty much know Solaris. This is because behind the Sun mystique, Solaris is just another flavor of UNIX. The main difference is the GUI interface. Just as Linux has the Gnome and KDE GUI interfaces, Solaris has a GUI interface known as "CDE" (Common Desktop Environment). Also like Linux, Solaris can simultaneously provide workstation and server functionalities.
From time to time you will see "SunOS x.x" where the "x.x" is a version number like 5.8. SunOS is the character-based UNIX part. "Solaris" is the name of operating system product with all of the GUI stuff bundled in. Also, the Solaris version numbering is a little strange. It goes from 2.5.x to 2.6 to 7 to 8. For the last two Solaris releases they dropped the "2." part.
When you install Solaris x86 it will set the GUI to start automatically when the system is booted. If you want to use a more traditional character-based, command-line interface you can open up a "this Host" session in CDE. CDE isn't as user friendly as Gnome. For instance, you can't access networking configurations through CDE because it does not have the Windows-like "Control Panels" selection that Gnome does. However, with a little playing around you can figure out what is accessible via CDE.
You can order the Solaris media from Sun for a cost of $45. (it includes a lot of other CDs also, including Star Office and Oracle 8), but you can install it on additional systems without having to pay for additional licenses. Note that this is the binary (executable) version of the Solaris OS package.
You can also now download the Solaris binaries from Sun's Website for $20. You'll need a high-speed Internet connection (T1, DSL, or Cable) and a CD writer, and a lot of free hard-drive space (about 800 meg) to hold the downloads. (Note that the download includes the "Installation" CD, but as you'll see below, you don't need it. Just downloading the two "Software" CD image files will suffice.)
The Solaris binary downloads do not include the "Companion" CD with Apache, etc. on it, or the Star Office and Oracle CDs that come with the media kit. For my money, buying the media kit is the much better way to go. But if you're in school, money is tight, or maybe you just want to play around with Solaris a little without investing a chunk of cash, at least downloading the two "Software" CDs will get you up and running. So if you've got the bandwidth, hardware, and free space and you want to take the download route, click on the "Next" button at the bottom of this page:
Source and BinariesPrograms for PCs are distributed in "binary" form as .EXE files. In the UNIX world, a lot of programs are made available as the programmer's source code (text files). This code is usually written in C so if you're a C programmer you can look through the code in a text editor. Once you obtain the source code you then compile it into a binary executable program (the equivalent of a .EXE file on a PC) using a C compiler on your system. Most systems have GCC, a free C compiler. Solaris also includes the CC compiler located in /usr/ucb as part of the Solaris package. Source is distributed because the resulting compiled version is different for different flavors of UNIX. Some programs are distributed in binary (compiled) form but these are usually offered for a variety of UNIX flavors and you must use the binaries for your flavor of UNIX. (If binaries are offered the source is often also made available in case there is no binary version for your UNIX.) Get the binaries if they're offered. They'll save you some work.
Tar BallsThe well-known PKZIP on the PC does two things when it creates a .ZIP file. It combines multiple files and it compresses this combination. With UNIX systems it's more common for these two steps to be done separately and the resulting files are referred to as "tar balls" which have .tar.gz at the end of the file name. The .tar part is the combining step which is done with a program called tar. The .gz is the compression step which is done with gzip (GNU zip). You first uncompress the tar ball with gunzip (which produces an uncompressed file with the same name minus the .gz at the end of the file name), and then un-combine the files using tar. This step can produce an entire tree structure of files. (Both tar and gzip are included with most UNIX systems.) Most downloads for UNIX systems are made available as tar balls. For example, if you downloaded a file called for-my-solaris-system.tar.gz you would set it up using the following commands:
gunzip for-my-solaris-system.tar.gzIt may be critical where the file is located when you un-tar it. Check the program's documentation or readme files. It's also a good idea to be logged in as root when doing this to be sure you have the necessary rights to create any necessary directories, etc.
tar -xvf for-my-solaris-system.tar
Some binaries may be distributed as "packages" which require using the pkgadd command to install the software. However, these packages wil like still be compressed (have a .gz extension) so you'll have to uncompress them first. Always check the readme files for any program you download.
You can buy the media kit directly from Sun on their SunStore Website at the link above. If you can afford it, when you go to buy your media kit you can also purchase the Installation documentation set and User documentation set separately for about $60 to $80. For reasons you'll see below, you may want to forego buying the Installation documentation. However, the User documentation does a pretty thorough job of covering CDE. (If you do order the Installation documentation make sure you get the x86 version, not the Sparc version. The User documentation set covers both platforms.)
You may be wondering why you should even bother with Solaris x86 when Linux is cheaper and has a friendlier GUI. The answer is "money". Sun Microsystems is one of the darlings of the NASDAQ because they sell a lot of hardware. The vast majority of this hardware is used for Internet-related functions. So much so that Sun refers to itself as "the dot in dot-com".
With all of this hardware being installed there is a need for people who know Solaris to manage it. Sun offers two certifications along the same lines as the MCSE (MS Certified Systems Engineer) offered by Microsoft. These two certifications are:
Information on the certifications exams can be found at:
- SCSA - Sun Certified System Administrator for Solaris - (2 exams)
- SCNA - Sun Certified Network Administrator for Solaris - (1 exam with the SCSA being a prerequisite)
There are a lot more Microsoft certified people out there than Sun certified people. Given the growing installed base of Sun hardware, and the laws of supply and demand, the financial future would seem brighter for those with a Sun certification. If you were thinking of going for the RHCE (Red Hat) certification, you may want to invest your efforts in a Sun certification instead. They're both UNIX-type certifications, but the Sun certification will be worth more simply because it is a Sun certification.
Another advantage of a Sun certification is that Sun doesn't obsolete it's certifications like Microsoft. For example, if you have a Microsoft Windows NT MCSE certification it will evaporate if you don't stay current by taking the Windows 2000 certification upgrade. If you don't do this, and the deadline for updating your certification passes, you are no longer certified as far as Microsoft is concerned.
Note: The above certification exams are based on the Sparc version of Solaris, not the x86 version. However, the differences between the versions are minor, and using the x86 version will allow you to use lower-cost hardware to try out Solaris to see if it's something you want to pursue. If you do want to pursue the certifications, you can graduate to the Sparc platform which we'll cover in the Going Beyond x86 section below.The certification exams are no walk in the park. However, a basic knowledge of UNIX commands will give you a leg up on the SCSA. Also, if you're familiar with LANs, DHCP, Sendmail, and the like you may find the SCNA exam easier than the SCSA exam. Take a look at the "Exam Objectives" offered in the drop-down lists on the above certification Web page.
Hewlett-Packard offers UNIX servers and workstations and it's flavor of UNIX is called HP-UX. IBM also offers UNIX servers and workstations and their UNIX is called AIX. Someone with a Sun certification should find it relatively easy to get a job in a "UX shop" or "AIX shop".
More important than the flavor of UNIX one is experienced with, is which shell one is experienced with. While UNIX has several different shells (character-based interfaces to the OS), such as the C shell, the Korn shell, and the Bourne shell, experience with the Korn shell is probably the most valuable. This is because the Korn shell has more sophisticated shell scripting capabilities. However, the differences between the shells are relatively minor, and it wouldn't take you long to adapt to using a different shell.
So what if you have no intentions of pursuing a UNIX certification or UNIX administration as a career? I'd stick with Linux. There are a lot more resources available on the Web, a lot more books for all levels of users, it runs on lower-cost hardware, and the Gnome GUI is more intuitive. There are also more people involved in the development of the OS, not to mention drivers and applications for it.
Stuck In A Windows World ?
A lot of times the hardest thing about learning to use UNIX is getting to use UNIX on a daily basis. Many organizations are entrenched in Windows or Novell platforms and opportunities to work with UNIX simply don't exist.
If you're a network or systems administrator in one of these entrenched environments, one possible solution is to suggest setting up Solaris x86 on one or two older PCs to be used in two capacities:
The reason being is that there are a ton of free network monitoring tools (ntop for example) and security utilities (the nmap port scanner for one) available for the UNIX platform (and bosses find it hard to argue with the word "free"). On a LAN-connected system, running the Ethereal protocol analyzer can provide you with much of the same information as commerical sniffers costing thousands of dollars (take it from someone who has used both Ethereal and Fluke's Protocol Expert on the same dual-boot notebook). In addition to using utilities to run security checks against your Internet-connected servers, a Solaris system located in your DMZ could also run an IDS (Intrusion Detection System) application like Snort full time.
- As a network monitoring and troubleshooting tool
- As a security monitoring and testing tool (especially if you have Internet-connected systems)
Most of the free utilities are available in source code format and, make no mistake about it, compiling software on the Solaris platform will definitely be a learning experience, but it's knowledge you'll need to have if you want to work with Solaris. Many may also be available in a pre-compiled format at the Sun Freeware site mentioned later in this page.
Two good books that detail available free utilities for network monitoring and security monitoring respectively are the following:
The "Hack Proofing Solaris 8" book will help in hardening the OS of any DMZ-connected Solaris system. You wouldn't want your security monitoring system to itself become the victim of a hacker.
This setup was done with Solaris 8 - Release 10/00
This procedure was last updated on 6/2001
Solaris x86 can picky when it comes to hardware. It may not work on hardware that's not listed in the HCL (Hardware Compatibility List). My older Pentium system's motherboard was OK, and it found the hard-drive I had connected to the primary IDE channel (on the motherboard) but it wouldn't recognize the CD-ROM drive even though it was connected to the secondary IDE channel on the motherboard. (I had better luck on a system where the CD-ROM drive was connected as the slave on the primary IDE channel. I prefer to keep the CD-ROM drive off the hard-drive channel but if all else fails you can try this to see if it works.) You can view the HCL at:
However, I've installed it on a number of HP and Compaq desktops and even several PII clones and it worked fine. I think the most important componenets for compatibility are video cards and NICs. If those are on the HCL you might be OK even if the system itself isn't listed.
Minimum system requirements are as follows:
You'd be hard-pressed to find a 486 box (or even a Pentium box) that has a BIOS that supports booting off a CD-ROM. I recently purchased a clone PII box with 64 meg, 4-gig hard-drive, and CD drive on eBay for $103. At those prices you can pick up a couple PII boxes and a KVM switch (Keyboard/Video/Mouse) so you don't need to buy keyboards, monitors, and mice for each of them.
Note: The "IA" you often see in the HCL stands for "Intel Architecture" (i.e. a PC).
- 486 CPU (PII is better - see below)
- 64 meg of RAM (128 is better and required for Oracle)
- 1 gig hard-drive (2 gig is better)
- A mouse (3-button is better)
- You'll also need a supported CD-ROM drive for the install
- If you're planning on putting your Solaris box on a network, do yourself a BIG favor and use one of the supported PCI NICs
Be sure to use a DOS boot floppy with FDISK to remove any existing partitions on the hard-drive before starting the installation.
The Solaris x86 media package contains a:Don't even take the first two items out of the package. The installation documentation says to boot off of the floppy. However, there are several well-known problems with using either the floppy or Installation CD. You are better off having a system with a BIOS that will allow you to boot off of a CD-ROM, and using it to boot off of "Software" #1 CD. (Note that you may have to change your BIOS settings to boot off the CD-ROM drive before booting off the hard-drive.)
- "Configuration Assistant" boot floppy
- an "Installation" CD
- two "Software" (OS) CDs
Here are the steps to install Solaris for x86:
- The first series of screens in the install are character-based. As indicated, just use the F2 key to proceed through them. One common mistake made during this process is when a screen appears asking you to:When it asks you to select the boot device many people think it's asking for the device you will boot the operating system from after the installation, i.e. the hard-drive. However, selecting the hard-drive results in a "VTOC" error. What it is really asking you is from what device are you going to boot the kernel from during the installation. Since you're are installing the OS from the CD, you'll want to select your CD-ROM drive (by highlighting it and pressing the space bar) in response to this prompt."Select one of the identified devices to boot the Solaris kernel"
- You will then be prompted to select the type of installation. Select number 1 - Solaris Interactive.
- When prompted to select a language, select 0 - English.
- However, when prompted to select a locale, don't select 0 - English. Rather, press Enter to go down the list and select 48 - U.S.A. (provided that's where you are).
- At this point kdmconfig is run to detect hardware to set up the GUI. After a few more F2s the "Current Window System Configuration" screen will list the video, keyboard, and mouse settings, including the model of your monitor next to "Monitor Type:". I've had bad luck with brand-specific monitor settings. You may want to:
- select "Change Video Device/Monitor" and press F2
- press F2 again to keep the "video device" (i.e. your video card)
- in the "Monitor Types" list arrow down to the bottom and select the Super VGA option
- select your screen size
- select the appropriate resolution for your screen size
Note: I selected 17" and 1024x768 even though I only had a (decent) 15" monitor and everything was very readable.
- This will return you to the Current Window System Configuration with the "No changes needed" option already selected so you can just continue which will bring up the test screen before the GUI is actually started. You may need to size and center your monitor image at this point.
- The GUI will start and the "Solaris Install Console" window will appear in the upper-left corner of the screen. You don't need to do anything with this window. It's just there so you can monitor what's going on. You'll be presented with a series of windows asking for information and confirmation clicks.
- Select No when you are prompted about networking. I've always run into problems trying to set up networking during the install. You'll gain valuable knowledge setting up the networking after the installation anyway. (See the Setting Up Networking section below.)
- When the "Select Software" window appears, select Entire Distribution plus OEM support if you've got something bigger than a 1-gig drive. If you've only got 1 gig, use the pre-selected Developer System Support option so you can compile any utilities, updates, etc. that you may download in the future. On the next window your hard-drive should be listed in the right "Selected Disks" column so just click on Continue.
- Next it will ask you if you want to use the Automatic Layout feature to lay out your file system. Click on the Auto Layout button because using it still gives you the ability to modify the layout.
Hard-drive Setup Options
A list of choices will be displayed with only the top "root" selection (/) and "swap" selected. If you're setting up a system to play around with, do yourself a favor and use these default selections. By putting everything under a single root partition you run into less problems when trying to install software (i.e. you don't have to worry about which partition has enough free space, as when you find Oracle 8i needs almost a gig of free space), you only have to backup/restore one partition, and it simply makes for easier disk administration.
The down-side of placing everything under a single root partition is that it offers fewer options for disk security and any one user or daemon could fill up the entire disk.
If you're setting up a system to use as an Internet server or a file server on a network, selecting all of the items in the list will allow you to secure each partition separately. This will offer you to most options for using groups and permissions to really restrict which partitions network users and Internet-related daemons/visitors can access. An example of how I sized all the different partitions on a 4-gig hard-drive, as well as several considerations associated with them, is given below. However, I wouldn't recommend this level of partitioning if you're new to UNIX.
Just because you don't select a given partition don't think you won't have that directory available to you. For example, if you don't select the /usr partition selection, you will still have a /usr directory. It will just be a directory on the "root" (/) partition.
If you're unclear about planning a partitioning scheme and laying out a file system, Chapter 1 of the "Solaris Solutions for System Administrators" book shown at the bottom of this page covers the subject in detail.
In Solaris-eze, partitions are known as "slices". Even though you may slice up your hard-drive, to the DOS FDISK program, it all appears as one large non-DOS partition. If you're not happy with the file system layout you end up with, you can always boot off a DOS floppy and use the FDISK program to delete the non-DOS partition and start the installation from scratch (it's good practice).
Once you've decided on a partitioning scheme and made your selections, click on Continue.
- A list of the "slices" (partitions) will be displayed along with their sizes. Even if you chose the default layout you'll notice that there's an /export/home slice. According to the book "Solaris Solutions for System Administrators" (shown near the end of this page), /export/home is the old way workstations used to store user files locally. This is why the majority of the free disk space is allocated here. This will cause problems if you want to play around with the server aspects of Solaris. You'll need to make some changes to the sizes in the default layout. Click on the Customize button.
- If you're not setting up a network file server you don't need a lot of space for the /export/home slice. Decrease it down to about 250 MB.
If you chose the default scheme with only the top "root" (/) and "swap" selections selected, increase the "root" (/) partition by the same amount that you decreased /export/home by.
If you chose to slice up the hard-drive you can use the following to help determine what sizes you should use for all the different partitions:
As you can see in the Customized column below, with my 4-gig drive I transferred 1.4 GB to /opt and about 650 MB to each / and /var which left 250 MB for the /export/home slice.
- /opt should get the lions share of the space. The contents of the "Companion", and possibly the "Documentation", CDs are copied here. About 50% of the space you freed up by decreasing the /export/home should be reallocated to this slice
- The remainder of the space should be split up between / (file system root) and /var (about 25% each). That's because the mailboxes, logs, and other "volatile" files are stored in various locations under the /var slice. (If your system may end up as a mail server you'll want to increase percentage allocated to the /var slice.) The extra space in the root slice will give you the ability to add new directories and files immediately off of it.
- If you chose one of the Entire Distribution selections in the "Select Software" window, the /usr and /usr/openwin slices together should add up to at least 750 meg or you'll get an error. (If you do not select /usr/openwin the /usr slice by itself must be at least 750 meg.)
The Before column below was displayed with the sizes given in Mbytes:
/ c0d0s0 43 /usr/openwin c0d0s1 341 overlap c0d0s2 4102 /var c0d0s3 30 swap c0d0s4 147 /opt c0d0s5 25 /usr c0d0s6 535 /export/home c0d0s7 2977 Customized
/ c0d0s0 700 /usr/openwin c0d0s1 341 overlap c0d0s2 4102 /var c0d0s3 648 swap c0d0s4 147 /opt c0d0s5 1400 /usr c0d0s6 535 /export/home c0d0s7 250
By pressing an arrow or Tab key to go to the next field the "Allocated" figure will be updated so you can see if you're using all the hard-drive space that's available to you.
- When you've got your values entered click on OK and then on Continue.
- When prompted about "remote mounts" answer "No" by clicking on the Continue button.
- In the "Profile" window click on the Begin Installation button. Then click on the Auto reboot button and disregard the message about ejecting the Configuration Assistant floppy.
- The file copying from the CD to the hard-drive will begin. You'll need to keep an eye on it because at the end of the installation of the "Software" CD #1 you have to remove the CD once the system starts to reboot. You must do this in order to force the system to boot off of the hard-drive.
Note: When I installed Solaris on an old HP Vectra the system hung at a white screen with a flashing cursor after the warm boot. Turning the system power off and back on got the installation going again without harm.
- When the system reboots you'll be prompted to enter/re-enter a "root" (i.e. superuser) password.
- Once the GUI has started you'll be prompted select the CD-ROM drive as the source of the files and then to insert the "Software" CD #2 and the files will be copied off of it (there are no selections or configurations involved). Be aware that your screen may go black during the copying. This is just the GUI's default screensaver kicking in. A mouse move will bring the screen back.
Once the installation finishes the system will reboot one last time and the GUI login screen should appear. Above I mentioned the CDE GUI interface. Once you log in as root for the first time you are asked to choose your GUI (CDE or OpenWindows). This is a matter of personal preference but most people choose CDE which is the defaulted selection. You can always try OpenWindows later by using the Options button on the GUI login window (under "Session").
You're in business !
The installation can be summarized in the following steps:
If you think you may have messed up during the install, simply boot off your DOS floppy and use FDISK to remove the "non-DOS partition" and start over.
- Put the OS #1 disk in the CD-ROM drive and boot off of it
- Go through the character-based part of the install
- The install then switches to GUI mode to finish the first CD
- At the end of the first CD installation the system will reboot - remove the CD before the system starts booting to force it to boot off of the hard-drive
- Once the system starts supply a root password and use the OS #2 CD for the second part of the GUI installation
- Once the installation routine has finished with the OS #2 disk the system will reboot.
Once you're in the GUI, all you have to do is pop in the "Software Companion" CD (contained in the "Bonus Software" pack of the media kit) and select the Default Install option. This will install things like ftp servers, Samba , as well as editors, GUI utilities and a host of other things. It'll present a list of what's going to be installed. If you see things you don't want, you can always click the "Back" button and use the Custom Install option. Note that you'll have to use the "Removable Media Manager" selection (from the pop-up menu above the "Home Folder" icon) to eject the CD when you're done.
If you were able to allocate a ton of space to the /opt slice you may also want to pop in the Documentation CD and run the Installer on that. The reference manual collection alone will take up 90 meg and there are numerous other collections.
While in CDE you may want to play around with admintool. It's a GUI utility that allows you to manage user accounts, groups, printers, etc. Pop up the menu above the CPU/Disk "Performance Meter" icon and select "This Host" to open a terminal window. Type in admintool at the # prompt to start the utility. The various options are under the Browse menu and Add/Modify/Delete functions are under the Edit menu.
You can access other applications by right-clicking on the desktop and clicking on "Applications".
If Help Viewer and File Manager keep popping up every time you log in and it gets annoying having to close them every time, here's a procedure to get a clean desktop when you log in:
If you're like me and you find yourself constantly opening a "This Host" terminal window for command-line operations, you may want to have one of those open before performing the above procedure. That way it'll open automatically when you log in.
- Click on the Desktop Controls icon to open the "Application Manager" window with it's icons
- Double-click on the Startup Style Manager icon to open the "Style Manager" window (which auto-opens the "Startup" window)
- Alt-Esc to bring the "Application Manager" window again to the foreground and close it
- In the "Startup" window click on the Set Home Session button
- Also in the "Startup" window, in the "At Login:" area, select Return to Home session
- Close the Style Manager windows
You can change your video card, monitor, or screen resolution settings for CDE at any time by:
Solaris sets up all new accounts using the Bourne shell as the default. Since most Linux distributions default to the Bash (Bourne Again Shell) shell, learning the Bourne shell is not a bad way to go. However, if you plan on doing a log of scripting, the Korn shell would be better. You can set the default shell on a per-user basis. In a "This Host" window, just type in admintool to bring up the GUI administration utility. Click on "Browse" on the menu bar and select "Users". You can then use the "Edit" menu to add or modify user settings. You should NOT change the default shell of the superuser (root). Use admintool to create an account for yourself with the shell you want and log in using that. If you want minimize the differences in switching between Linux and Solaris, you may want to download and install a Bash shell for Solaris.
- clicking on the Exit button on the CDE Front Panel to get back to the login window
- select Command Line Login from the Options drop-down list of the login window
- log in as root
- at the shell prompt type in kdmconfig and make your desired changes
- back at the shell prompt, type in
init 6to reboot your system
You don't want to just shut off a UNIX system. Open a "This Host", terminal window and type in
init 5at the # prompt and press Enter to initiate a shut down sequence. The # is important here because this is the prompt you get when you are logged in as root, and only root (or a superuser-equivalent user) can shut down a Solaris system. If you don't have a # prompt it's because you're not logged into the system as root. After the shutdown process it's safe to turn off the system when you see the following three lines at the bottom of the screen:
Don't be concerned if there's a few utmpx error messages mixed in with the above. It's because /var is on its' own slice and it's not indicative of a problem. If you "type any key" the system will reboot. WhileThe system is down
synching files systems... done
Type any key to continue
init 5is used for shutting down the system, typing in init 6will reboot the system.
Except where noted, the networking, Apache, and Sendmail
setup information is also applicable to a Sparc system.
There are links to pages on setting up Oracle, Samba, etc.
in the Internet Resources section below.
Setting Up Networking
On Windows systems you enter networking information in a GUI window and the information is written to files (including the registry). In UNIX, you just enter the information into the files yourself, creating a few of them first.
- (Intel only) Pop up the menu above the "Text Note" icon and click on Text Editor.
- (Intel only) Use the editor to open the file:
and use the Find feature (under Edit on the menu bar) to locate the model number of your NIC - example: 3C905 (3Com) or 9432 (SMC). Note that the Find feature is case sensitive in the CDE text editor.
- (Intel only) If your NIC is in the HCL it will be in the master file. The line for the SMC 9432 I'm using in my system looks like this:
pci10b8,a011 pci10b8,a011 net pci spwr.bef
I have the "spwr.bef" bolded because this is the driver name and you'll need to know the driver name for other files. Remember it.
I'll save you some work if you have a 3Com 3C905 NIC. The line will be:
pci10b7,9200 pci10b7,9200 net pci elxl.bef
- (Intel only) Use the editor to open the file:
(Opening this file will automatically close the master file.) If your NIC is supported it will be listed here also. The line for my SMC NIC was:
which you can see is the same information found in the master file just rearranged a bit.
- Use the editor to open the file:
and enter a new line in it with the IP address you want to give the system on your network and its' hostname. I called my machine "solarisi" so I entered:
Make sure your press Enter after typing this in to create a new (blank) line beneath it! 192.168.10.20 solarisi solarisi.foo.bar loghost
With your changes, the resulting the file should look like this:
127.0.0.1 localhost 192.168.10.20 solarisi solarisi.foo.bar loghost
- Click on File on menu and select Save.
A note about Sendmail and the HOSTS file.
Sendmail is started automatically when you boot your system. Sendmail is picky when it comes to FQDNs (Full Qualified Domain Names). When you booted your system you may have seen the infamous Sendmail error:
sendmail[nnn]: My unqualified host name (solarisi) unknown; sleeping for retry
If you use your system to surf the Web technically you are part of your ISP's domain. But since you have no way of knowing what all of their host names are (so you can pick one that doesn't conflict), using foo.bar will help ensure you won't have a conflict. I verified with the Sendmail folks that using a dummy domain name for the FQDN entry won't cause DNS or other problems if you use the system to surf the Web.
- If your system is not part of an internal or external domain, you can use a dummy FQDN in your HOSTS file to get rid of the error. (If you don't get rid of the error your logs will fill up and then you'll start getting Sendmail NOQUEUE errors about not having enough space for "mqueue".) The solarisi.foo.bar is the dummy FQDN I used for my system.
- If your system is part of an internal domain, replace the foo.bar with your internal domain name.
- If you are going to use this system to send/receive Internet mail, the Sendmail section below details some changes that need to be made to the HOSTS file.
- Now you set up an appropriate subnet mask. Open the file
and the top of the file has comments that explain the contents. You basically just enter your "network number" (not your system's IP address) followed by the subnet mask for your network. Given that the address I gave my system above (192.168.10.20) is a Class C IP address, my netmasks file looked like this:
The following table may help you determine what your network number and subnet mask should be based on the first number of your system's IP address:
IP Number Class Network Address Range Subnet Mask Private Address Range A 220.127.116.11 to 18.104.22.168 255.0.0.0 10.x.x.x B 22.214.171.124 to 126.96.36.199 255.255.0.0 172.16.x.x to 172.31.x.x C 192.0.0.0 to 188.8.131.52 255.255.255.0 192.168.0.x to 192.168.255.x
If you're setting up a small network in your home or office and you're not sure what IP address to use, use any address given in the "Private Address Range" above for a Class C network. This will allow you to have up to 253 nodes (aka "hosts" in TCP/IP lingo) on your network. If you don't know how the above address values are determined, you may want to check out the book Managing IP Address shown near the bottom of this page.
Once you've got the appropriate network and mask addresses entered, save the file.
- The hosts file mentioned above is used to resolve machine names to IP addresses on your local network. If you are connecting your system to a network that is connected to the Internet and you plan to use it to surf the Web, or have another need to resolve Internet domain names, you'll need to specify your ISP's DNS servers. This is done using another file called resolv.conf which you must create.
Create the new file using the text editor by clicking on File and then on New and enter the following lines:Note: When you save the following newly created files the /etc directory should already be selected as the target for the saved file. That's why no path is specified for file saves. However, verify that
" //etc/ "is in the "path or folder name"field when saving these files.
domain enter-your-ISP's-domainFor example, the file on my system is as follows:
domain execpc.comBe sure to hit Enter at the end of the last line and then save the file with the name resolv.conf
The above file is used if your system is not part of an Internet domain. If it is, i.e. you are going to use your system as an Internet server, you have to list your domain name on the domain line and list your ISP's domain (for DNS) using the search keyword as follows:
- Create another new file (by clicking on File and then on New) and enter the name of your system (the host name). That's all this file needs. (You could also enter the IP address instead of the host name which is needed if you want to assign multiple IP addresses to a single interface. See how below.)
- Save the file using the following naming convention:
where the driver_name is the name I said you should remember above, and the NIC_number is the number of the NIC in your system (numbered 0, 1, 2, etc.). Since I only have one NIC in my system, my file was named:
Use the actual word "hostname" as the name of the file, not the hostname you gave your system.
For Sparc system, the built-in ethernet interface's file name is either:
hostname.le0 (10 Mb)
hostname.hme0 (100 Mb)
If you need to assign multiple IP addresses to an interface, such as with hosting multiple Web sites on a single server (Apache's virtual hosting), create multiple files using the above naming convention but append a :1 and :2 etc. to the file name for each additional file. Each file should have a single, different IP address. For example:
hostname.spwr0 contains 192.168.10.20
hostname.spwr0:1 contains 192.168.10.21
hostname.spwr0:2 contains 192.168.10.22
- If your system is on a network that has a default gateway, you'll need to create a file for that also. If your system is going to be an Internet server the default gateway is likely the address of the router interface that connects you to your ISP. (See the Internet Resources section below for a link to a good explanation of routing.)
Create a new file using the text editor (click on File and then on New) and simply enter one IP address. This IP address however will be for your default gateway. Be sure to hit Enter at the end of the address and then save the file with the name defaultrouter
- Close the text editor.
- Unfortunately, simply creating the resolv.conf file earlier doesn't mean your system will automatically start to use it. Again, this file is only necessary if you will use your system to access the Internet or other large network where DNS servers are used to resolve system names. This includes simply using your system as a workstation to surf the Web. It doesn't have to be a server.
Yet another file called nsswitch.conf is used to "tell" your system which name resolution methods to use (host files, DNS, etc) and in which order to use them. Fortunately, the Solaris installation placed several different pre-written versions of the nsswitch file. The default file only uses the host file to resolve machine names.
In order for your system to use DNS servers, you'll have to issue the following command at the # prompt in a "This Host" window:
cp nsswitch.dns nsswitch.conf
- While still in the "This Host" window, type in
init 5to initiate a shutdown sequence and turn the system off and then back on (i.e. cold boot the system).
You should now be able to go to another system on your network and ping your Solaris box using the IP address you entered in the files above.
If you have an NE2000 compatible ISA bus NIC, see the Post Installation page on the Solaris On Intel FAQ Web site. There is a link to this site in the Internet Resources section below. You may want to visit this site even if everything with your NIC is working fine because they have info on printers, modems, etc. also.
If you want to put your box on the Internet as a Web or mail server, the sections below will get you up and running for testing purposes. You'll want to lock down your system before going "live" though or, trust me, it won't be long before your server is being used as a spam relay or IRC server.
If your company already has an Internet connection you can pick one of your available public static IP addresses your ISP assigned to you for your server's interface (NIC). If commercial cable-modem service isn't available in your area yet you'll have to look at ISDN (slow) or fractional T1 (expensive) solutions.
Apache can respond to browser requests from machines on your local network (i.e. an "Intranet" Web server) or from the Internet. The installation of the Solaris OS installed and set up most of the necessary Apache files. As a result, if you want to use your system as a Web server you only need to modify one file.
There are several key file locations (directories) you should be aware of:
The file we need to edit is Apache's primary configuration file, httpd.conf which is stored in the /etc/apache directory.
- "ServerRoot" - /var/apache
- "DocumentRoot" (HTML files) - /var/apache/htdocs
- CGI-BIN (script) files - /var/apache/cgi-bin
- Log files - /var/apache/logs
- Configuration files - /etc/apache
- Executable file - /usr/apache/bin
Note that in these configuration files the # character is used to indicate a descriptive comment line. Even though it's the same character, it has nothing to do with the command line prompt you see in a terminal window when you are logged in as root.
- Use the text editor to open the following file:
- Look in "Section 2" of the file for the following line:
- Substitute your e-mail address for the firstname.lastname@example.org
- A little farther down in the file you'll see the following line:
- Remove the # character from the beginning of the line
- Substitute new.host.name with your domain (www.yourdomain.com)
- Save the file as follows:
- Click on File and select Save As
- The /etc directory may still be the default save location so use the "Folders" list to navigate to the /etc/apache directory
- Enter the file name httpd.conf (i.e. without the '-example') in the "file name" field
- Click on OK
- Exit the editor
From now on the Apache server will start automatically whenever you boot your system (it's the "httpd started" you'll see on screen while the system is booting) but for now start it manually by opening a "This Host" window and entering the following command:
You should now be able to access the default Apache Web page using the Netscape on the same machine using the URL:
You should also be able to access it from a different machine on the network using the machine's IP address. Example:
Naturally, you'll need to have your ISP edit your "A" record on their DNS servers to point to your system's IP address in order for the system to act as a Web server for your domain (i.e. where the public can access the server by entering your domain name for a URL).
Sendmail starts automatically when you boot your system. It's set up to allow for e-mailing between various machines on a local network. You can even send mail between different user accounts on the same machine just by entering a user's login ID in the "To:" field.
Setting up Sendmail to act as your Internet e-mail server is a simple process.
Sendmail only reads the configuration files when it starts up so you'll need to restart the system to have your changes take effect. Also, just as with Apache, before you can start receiving Internet e-mails destined for your domain, the "MX" (Mail Exchange) record on your ISP's DNS servers will have to be changed to point to the IP address of your system.
- Use the text editor to open the following file:
- Look in the "local info" section of the file for the following two lines:
# who I masquerade as (null for no masquerading)
- Enter your domain name immediately after the M on the second line. For example, if your domain name in bigsunfan.com, the line should be:
Note that there are no spaces in this line.
Setting this masquerade value removes the system name from the return address of e-mails sent from your system. If you didn't do this, and your system name was solarisi and your login ID was iluvsun, e-mails sent by you would be have a "From:" address of
Making the above change results in the more common format for "From:" addresses:
- Save the file.
- Click on File on the text editor's menu line and select New.
- Enter your domain name (ex: bigsunfan.com) and press Enter to create a new (blank) line beneath it and do the following:
- Click on File and select Save As
- The /etc or /etc/apache directories may still be the default save location so use the "Folders" list to navigate to the /etc/mail directory
- Enter the file name sendmail.cw in the "file name" field
- Click on OK
- Exit the editor
- You'll also want to edit the /etc/hosts file that you edited in the Setting Up Networking section above to enter a FQDN (Fully Qualified Domain Name) for your system and also add the word "mailhost" to the line so it looks like this:
192.168.10.20 solarisi solarisi.bigsunfan.com loghost mailhost
- Save the file and close the editor.
While it is easy to get Apache and Sendmail running, there are a lot of sophisticated configuration settings you need to be aware of when running a production Internet server. Not to mention you need to seriously "lock down" your system against hackers. The Practical Guide To Solaris book mentioned below features some important considerations when setting up a mail server. The Solaris Sendmail FAQ site and the FAQ and configuration pages on the Sendmail site listed in the Internet Resources section below have helpful information on set up, rules and debugging errors.
A Neat Use
When I found that most models of Cisco switches and routers can write their log messages to an external UNIX server configured as a loghost, I configured my Solaris box to act as a loghost and wrote a Perl shell script to automate the process of checking for error messages and sending out an alert if any errors were found.
The details of setting up a Solaris box as a loghost, setting the Cisco devices to use a loghost, the shell script, and the cron job are all on the Automate The Monitoring Of Cisco Devices companion page.
If you are seriously going to get into Solaris, you'll eventually want to graduate to Sun hardware. New Sun hardware is expensive. However, you can pick up a used Sun system on eBay for less than $500. Look for a "Sparc 4", "Sparc 5", or "Sparc 20" system. I've seen Sparc 5 boxes go for less than $300. (Note that you'll also have to spend another $75 to get the Sparc version of Solaris 8.) Just go to eBay's home page and type in sparc in the search box.
The main advantage of the Sparc 20 over the other two models is that it can accept multiple "MBus" processors and has more expansion slots, called "SBus slots". To give you an idea of how Sun's systems hold their value, the Sparc 20 was released in 1994, and there is still a lot of bidding going on when one of them is offered on eBay. However, a Sparc 4 or 5 will run Solaris 8 just fine so for a single-user system there's really no need to lay out the extra cash for a 20. Also note that adapters are available that will allow you to connect a PC monitor to a Sun system so you don't have to get a Sun monitor if you get a Sparc system.
Note: A Sparc 20 has an on-board monitor connector. However, you need a VSIMM in order for it to work. If you get a 20, check to see if it has either a VSIMM or a "frame buffer" (the Sun equivalent to a PC video card) installed. If it doesn't have either, you can get one of them as a separate item on eBay. The VSIMM will offer faster performance. They come in 4-meg and 8-meg models. However, some Sparc 10s can take a VSIMM but these are 70 nsec VSIMMs. These 70 nsec VSIMMs will work in a Sparc 20, but if you're going to lay out the cash for a VSIMM, verify with the seller it's a 60 nsec model made for the 20. The advantage of an 8-meg model is that it gives you 24-bit color at higher resolutions (1280x1024 and 1600x1280). With the 4-meg model you only get 8-bit (256) color at these higher resolutions. But if you have a smaller (16") monitor or you're using your Sun box mainly as a server, the 4-meg model will suffice.If you don't have the time to deal with auctions, you can check out Web vendors of used Sun hardware on the Web. They offer complete system packages as well as individual parts. While purchasing a complete package may be convenient, it may be more educational to pick up a "bare bones" box on eBay, and then pick up the parts you need to complete the system, either from other auctions on eBay, or from a Web vendor. Be careful though. Sun hardware is a myriad of part numbers and bus types and different terminology. Buying Sun hardware can be quite baffling to the beginner. That's why you may want to deal with a reputable Web vendor (many of whom sell items on eBay) so that you can tell them what you have and what parts you are looking for. They will know which parts you need. (If a Web vendor is selling items on eBay you can check out their "Feedback" comments as an indication of their reputation. Note also that many eBay sellers will accept PayPal payments.)
One of the big differences you'll notice with Sun boxes are the clock speeds. The Sparc 5 is usually offered with CPU speeds of 85, 110, and 170 mhz. However, the CPU chips in Sun boxes are RISC chips (Reduced Instruction Set) so they are significantly faster than an Intel chip of a comparable clock speed. However, memory isn't what it is on a PC. You'll want a minimum of 64 meg on your Sparc. Sun memory is specific to certain machines so make sure you get the right SIMMs for your model of Sparc.
If you have spare cash and you want to get a higher-end machine, look for "Ultra" systems. These will be considerably more expensive (around $1000 to start). The Ultra line is the next step up from Sparc.
To give you a bit of perspective on Sun hardware, the Sparc, Ultra, and other Sun workstation models are meant to be fast graphics machines. They're used primarily in the CAD (Computer Aided Drafting) industry and other areas where three-dimensional modeling is used. As a result, you'll see a lot of graphics accelerator video hardware available for these systems. However, this intense graphics processing isn't needed with servers or administration workstations so don't waste money on high-end graphics cards when buying used hardware. Not to let have Sun have all the fun, Red Hat and Debian have Sparc versions of their Linux products. Why anyone would want to spend the extra money for Sun hardware and load Linux on it is beyond me, but there must be a market for it or they wouldn't offer it.
Clicking on the links in this section will open a new browser window.
Some of the sites below have downloads available. In the first section I mentioned obtaining files as binaries, source, and tar balls. If you want to download a file for your Solaris system but it's not connected to the Internet, you can still do so provided it's connected to a local network. By default, Solaris runs an FTP server daemon when you boot your system. You can use any system on your local network that has Internet access to download the files, and then use your FTP program (using your Solaris system's IP address for the "Host" setting in the FTP program) to transfer the downloaded files to it. Note that you cannot use the "root" ID to access your Solaris system via FTP. You'll have to create a separate user account for yourself and use that in the FTP program.
The official Sendmail and Apache sites:
Database Specialists has a great step-by-step page on setting up Oracle on Solaris. It is based on the Sparc platform but is valuable for x86 as well.
Samba allows your system to act as a Windows server (even a domain controller) to Windows workstations. It's also useful when files have to be exchanged between the two platforms. Binaries are available.
sunfreeware.com has a wide variety of pre-compiled binaries for most versions of Solaris for both Intel and Sparc platforms. This includes many of the GNU products (like the GCC C compiler) and other utilities.
Dan Anderson's Solaris on Intel FAQ site is a good information resource:
The main Solaris page on Sun's site features a lot of links to supplemental software packages that you can download:
and Sun's BigAdmin site has FAQs, shell script collections, command references, discussion boards, and a gobs of other Solaris-related stuff for the Solaris "sysadmin" (including beginners):
A Solaris x86 community portal, this site features the latest news on Solaris x86 as well as loads of links to helpful information:
Chances are when you buy a used Sun system you're not going to get the manuals with it. If you go to Sun's documentation site and click on the Products link at the top of the home page you'll be able to drill down to find the documentation for your hardware:
Yahoo! has a Solaris x86 discussion board going at:
There are a couple newsgroups dedicated to Solaris also:
and several dedicated to Sun and CDE in general (but you can get Sparc and Ultra info in the comp.sys.sun.hardware group):
Learning UNIX solely from books is tough. If at all possible, take a class, but reading an intro book before starting the class will be a BIG help. Below are the more easier-to-understand books on UNIX and TCP/IP that I've bought. Clicking on a book's cover will take you to Amazon's "detail" page where you can read an overview of the book and comments posted by those who have purchased it.
The comments next to the book cover are my own and they are my honest opinions, not a sales pitch.
Practical Guide To Solaris is largely a UNIX book for beginners. What the author refers to as "Solaris utilities" are actually basic UNIX commands. Perhaps a better title would be "Learning UNIX on a Solaris system". There is a fair amount of Solaris-specific information, but if you're already good with UNIX or Linux commands you may want to look at more advanced books. While I wouldn't recommend trying to learn UNIX only from books, this book would be an excellent preparation for anyone planning on taking a UNIX or Solaris class. It would also be an excellent choice for those who don't have access to UNIX or Solaris classes, but do have a Solaris system to "play around on".
Solaris Solutions for System Administrators is one of those enlightening books that explains the "why", not just the "what". It's also a real-world type of book that covers things like how to set up and schedule backups, how to apply OS patches, dealing with the security issues of an Internet-connected server, and tools you can use to interact with NT servers (the actual title of the chapter is "Coexisting with the Evil Empire"). The book is also a fairly easy read, which is not very common in the world of Solaris literature.
If you've been working with networks and TCP/IP Cisco's First Year Companion Guide is THE book for you. It's one of my all-time favorite networking books. It's actually the first-year text book for the Cisco Networking Academy program but the first half of the book (first semester of the program which is Chapters 1 through 15 in the book) deals entirely with the "basics" of networking. It has one of the most thorough presentations of the OSI model I have ever seen in any book, and understanding the functions of the various layers in the OSI model is understanding how networks work. Address classes, subnetting, encapsulation, and the functions of switches and routers are all covered. (The router programming stuff is covered in the second half of the book.) A strong foundation in the OSI model is also valuable for those who may wish to pursue the CCNA certification some day. The book gets some bad reviews on Amazon due to some typos and misplaced diagrams. But the fact that you can easily identify a typo or misplaced diagram indicates you understand the material.
If you want to get more in depth information on how to configure the Apache Web server software, as well as learn more about how it all works, get Apache Server for Dummies. While it may not appear so on the surface due to its' easy setup, Apache is a very complex application. This book will help you take advantage of that complexity, including setting up multiple sites on one server. I would consider this book (or one like it) a necessity if you want to set up a serious Web server. Note that the paths he gives in the book are for a vanilla Apache installation. Solaris installs the configuration (/etc/apache) and document (/var/apache/htdocs) directories in different locations, and these locations are different than what is given in the book, but it's an easy adjustment to make.
O'Reilly's book Sendmail, commonly referred to is "the bat book", is the industry bible when it comes to Sendmail. However, it's definitely not the first book on Sendmail you want to read. Sendmail: Theory and Practice is much more beginner oriented. Sendmail is a very complex server app (just take a look at the sendmail.cf file). This book provides the path from beginner to Sendmail administrator (and the bat book). If you're going to Amazon to shop for something other than the above titles, please use this link to go there.
Attention Network Administrators
Monitor the temperature, humidity, and AC line power in your server room 24/7 with a Sensaphone. Cost of the Sensaphone 1104 unit and optional sensors is only around $400! It will dial pagers and deliver a synthesized voice message to cell phones.
I do not have any financial interest is mentioning this. I simply want to pass along a good thing when I find it (and I was searching for something like this for weeks).
Another gem is IP Sentry. Monitor your NT and UNIX/Linux servers (file, application, and Internet servers) 24/7 with e-mail and pager alerts. Monitors individual services on NT servers and individual protocols (http, ftp, etc) on Internet servers. Only $99 and you can download a free trial version! I likewise have no financial interest in this product.
If you're administrating NT/2000 networks you may want to check out Hyena. It basically takes User Manager, Server Manager, and a host of other administration utilities and rolls them all into on GUI interface. The Enterprise edition allows you to manage Exchange accounts (even manage Exchange accounts automatically when managing user accounts), all for $270. ($199 without the Exchange piece). You can download a free trial of this also. And you guessed it, no financial interest here either.
Did you find this page helpful ?|
If so, please use the Amazon book links to help pay
the costs associated with making this page available.
IN NO EVENT WILL KEITH PARKANSKY BE LIABLE TO ANY PARTY (i) FOR ANY DIRECT, INDIRECT, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS OR INFORMATION, AND THE LIKE), OR ANY OTHER DAMAGES ARISING IN ANY WAY OUT OF THE AVAILABILITY, USE, RELIANCE ON, OR INABILITY TO USE THE INFORMATION, METHODS, HTML OR COMPUTER CODE, OR "KNOWLEDGE" PROVIDED ON OR THROUGH THIS WEBSITE OR ANY OF ITS' ASSOCIATED DOCUMENTS, DIAGRAMS, IMAGES, REPRODUCTIONS, COMPUTER EXECUTED CODE, OR ELECTRONICALLY STORED OR TRANSMITTED FILES OR GENERATED COMMUNICATIONS OR DATA EVEN IF KEITH PARKANSKY SHALL HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, AND REGARDLESS OF THE FORM OF ACTION, WHETHER IN CONTRACT, TORT, OR OTHERWISE; OR (ii) FOR ANY CLAIM ATTRIBUTABLE TO ERRORS, OMISSIONS, OR OTHER INACCURACIES IN, OR DESTRUCTIVE PROPERTIES OF ANY INFORMATION, METHODS, HTML OR COMPUTER CODE, OR "KNOWLEDGE" PROVIDED ON OR THROUGH THIS WEBSITE OR ANY OF ITS' ASSOCIATED DOCUMENTS, DIAGRAMS, IMAGES, REPRODUCTIONS, COMPUTER EXECUTED CODE, OR ELECTRONICALLY STORED, TRANSMITTED, OR GENERATED FILES, COMMUNICATIONS, OR DATA. USE OF THIS SITE CONSTITUTES ACCEPTANCE OF ALL STATED TERMS AND CONDITIONS.