Getting Ready to Install Solaris
Before you insert the CDs and start the installation process you will need to determine two basic pieces of information:
Disk layout/allocation
Network preferences
The former is required because you need to install the operating system into specific locations on the disk, and you also have to set up an area of swap space. Before you can make those calculations to decide how to organize your disks, you need to understand the Unix file system and swap space.
A Unix File System Backgrounder
The big difference between any Unix, including Solaris, and just about every other platform that you've ever used is that Unix does not have a concept of volumes or disks as such. In Windows you can guarantee that drive A: will be a floppy disk, and drive B:, if present, will be a second floppy disk. Drive C: will be a hard disk and drive D: may be another hard disk or a CD-ROM. In each case, you treat a different physical disk (ignoring partitions) as an individual device. If you want to copy something from the floppy to the hard drive then you know that you have to copy from A: to C:.
Solingo
Although you may not know it, hard disks (and indeed CD-ROMs) can be split into a number of different sections. Each section can be of literally any size and each partition can be formatted independently of all the others.
All disks have at least one partition, but you can have up to 8 partitions on a disk (more under Mac OS, although more than 8 is considered excessive!). Under Windows these partitions appear as different drive letters, and under Mac OS they all appear as different, independent volumes, even though technically they may exist on the same physical disk.
Under Mac OS you have a different volume for each disk (or partition) and you can copy files between the different volumes by dragging and dropping. Unlike Windows, there are no fixed locations. If you insert a floppy disk or CD-ROM then it just appears on the desktop as another volume. Without explicitly checking, it's sometimes difficult to specifically identify which volume is on which device. You could have booted up from any of the available partitions and you have no easily identifiable way of determining exactly which disk holds the operating system you are currently usingthere is no equivalent to C:.
Under Unix, although you still have partitions, and you still will have the ability to support different disks and use CD-ROMs, floppies, and other removable media, they do not appear as separate volumes or disks to the user. Instead, all disks in Unix are mounted within the file system.
What do I mean by that?
Well, there is a root file system which generally contains the operating system and vital files required to get Solaris running. Any additional partitions are mounted within that file system. Here, mounted means associated, and in each case a partition or disk is associated with a directory within the root file system.
Although there is no specific requirement to split your file system across multiple partitions or even multiple disks, it does make sense when you appreciate that a failure on one file system could bring your machine downif that one file system is your only file system, you've got a problem!
Table 3.1 lists the main file systems and their contents. You don't need separate partitions for every single one of these file systems, but it's good practice to put at least /, /usr, and /home onto different partitions.
Table 3.1 Standard File System Allocations
File system |
Description |
/ (root) |
The top of the hierarchy. You cannot run a Solaris machine without this! It contains all the mount points for all the other file systems and also contains the kernel, driver files, devices, and configuration information required to get the machine running. It also holds the core commands required to administer a system. |
/usr |
Most of the user commandsthat is, those not required to get a system runningreside on this file system, and it's usually the installation point for additional applications and extensions such as the X Windows system and Java. |
/home |
The location of the directories used for each user. Depending on the number of users and what they do, you might keep this small or relatively large. If you are sharing the user information, it might be placed at /export/home to indicate that it's an exported (shared) file system. |
/var |
The location of system files that change or grow. This includes log files, printer jobs, and email. |
/opt |
Third party software and applications such as Oracle or Netscape. |
/usr/local |
The default install location used by free software projects such as Perl, Python, and anything from the GNU project. |
For example, if you ask df to give you a report of the disk space on our newly installed Solaris machine you'll end up with something like this:
$ df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0d0s0 246463 34444 187373 16% / /dev/dsk/c0d0s6 1785654 476566 1255519 28% /usr /proc 0 0 0 0% /proc mnttab 0 0 0 0% /etc/mnttab fd 0 0 0 0% /dev/fd /dev/dsk/c0d0s3 246463 27371 194446 13% /var swap 600800 16 600784 1% /var/run /dev/dsk/c0d0s5 458087 15 412264 1% /opt swap 600784 0 600784 0% /tmp /dev/dsk/c0d0s7 192423 2001 171180 2% /export/home /dev/dsk/c0d0s1 492422 175808 267372 40% /usr/openwin
The root file system is identified as /; within that file system is a directory called /usr that is actually the mount point for another file system. When you change or access a file in /usr, Solaris automatically talks to the drive used at that mount point. These mount points can also be nested, so /var is a separate file system and /var/run is another separate file system.
Although this seems confusing, it actually means that you can access the information on any disk just by knowing the paththe collection of directories and an eventual filenamewhere the file resides. You don't have to worry about the physical disk that it might refer to.
There are other benefits to this systemyou can for example redirect a file to a completely different drive without worrying about what its drive letter or volume name might be. You can also upgrade the disk space or replace a faulty drive just by creating or installing a new drive and mounting the drive at exactly the same pointyou don't need to worry about giving it the same name or drive letter.
Swap Space
As part of the partitioning process, you will also need to set aside at least one partition on one of your disks (preferably at least one on the same disk as your root file system) for swap space.
In order to provide the maximum amount of physical memory available to running applications, certain applications, including those not currently in use, are swapped out to disk. In order for this process to occur you must have a swap space partition.
Opinion on how much swap space you allocate is somewhat divided. On older systems you needed about twice the amount of space as you had physical RAM because disk space, although still not as cheap as it is today, was still significantly cheaper than physical RAM. Today, the cost of either is quite lowabout $300 will get you 1GB RAM, and the same amount will get you a single 160GB hard disk.
Solaris requires a minimum of 512MB of swap spaceand it's likely your machine has at least this in physical RAM anyway. If you have more memory than this, you don't have to match swap space with RAMSolaris no longer requires even the same amount of swap as RAM, let alone double that amount.
Disk Space Calculations
Based on the above information detailing the layout, you now need to decide how to lay out your file systems and partition your disks. Remember that at a minimum you need ...
A root file system.
A /usr file system.
A /home or /export/home file system.
At least 512MB of swap space.
How much space you allocate to each of the above will depend on how many other partitions and file systems you intend to create. For example, if you are using the above scheme and not creating any additional file systems, you'll need a root file system of at least 512MB. If, on the other hand, you plan to create additional file systems for /var and /opt in addition to the /usr and /home file systems, then you can get away with a root file system of only 256MB, or maybe even just 128MB in size.
The exact allocations will depend entirely on how the machine will be used, how much of the operating system software and information you will be installing, and how you intend to split the file systems up. A full installation of Solaris 9, incorporating every available package and standard extension, will use a total of 2.4GB of space. For a minimum end-user-only installation you will need 1.6GB.
Here are some other nuggets of advice:
Allocate extra space for each additional language you intend to install.
Allocate extra space in /var if you plan on supporting large print jobs, a high number of smaller print jobs, or email services on your machine.
Allocate twice the amount of physical RAM on /var if you are going to use the savecore option to store core dumps when your machine crashes (recommended if you are doing device driver or software development).
Allocate extra space on /home or /export/home if you are going to provide user storage areas. If the users never use the machine directly, then you can get away with as little as 4K per user. For students, about 20MB each is fine; for software developers you may need to allocate as much as 1GB per user.
Allocate extra space in /opt if you plan on installing third party software. Oracle's database server product requires a minimum of about 450MB to installthat's before you create any databases! StarOffice requires about 150MB.
Finally, the one piece of information which applies to all calculations:
Take whatever numbers you come up with and increase them by 30 percent, to give you some breathing space and room to grow before urgently needing more space.
I tend to create separate partitions for each of the main file systems listed in Table 3.1; you can see below the allocations I used on a brand new system, running Solaris 9 and fitted with a 4GB drive:
$ df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0d0s0 246463 34444 187373 16% / /dev/dsk/c0d0s6 1785654 476566 1255519 28% /usr /proc 0 0 0 0% /proc mnttab 0 0 0 0% /etc/mnttab fd 0 0 0 0% /dev/fd /dev/dsk/c0d0s3 246463 27371 194446 13% /var swap 600800 16 600784 1% /var/run /dev/dsk/c0d0s5 458087 15 412264 1% /opt swap 600784 0 600784 0% /tmp /dev/dsk/c0d0s7 192423 2001 171180 2% /export/home /dev/dsk/c0d0s1 492422 175808 267372 40% /usr/openwin
You can see that I use as little as 34MB (34444KB) on root (/) and 480MB (476566KB) on /usr, although we'd use 660MB if I hadn't created a separate /usr/openwin partition. The /proc, /etc/mnttab, /dev/fd, /var/run, and /tmp file systems are dynamiceither they are created by the kernel at run time, or they are using memory (including swap space) to help improve performance.
During the installation, Solaris will make suggestions about how much space you need on each file system based on what you have elected to install, but it's always a good idea to plan ahead a little bit.
Networking
The final piece of information that you need to know about is your network configuration so that you can set up your machine within an existing network. If you don't have or plan to use a network, then you don't need this information.
If you are planning to use a networkthat is, you want to connect your machine to your existing Ethernet network and share resources or allow your new Solaris-based machine to access the Internet through a router, then you need to determine the following information, either from your own records or from your system or network administrator:
-
Hostname: The name used to identify your single machine on the network. You can give your ma-chine any name, as long as it's unique within your own network. You may want to choose a naming scheme, for example naming all your machines after Disney characters or Greek gods.
-
Internet Protocol (IP) address: The unique dotted-quad number that identifies your machine. A dotted quad is basically four numbers between 0 and 255 separated by a periodfor example, 192.168.1.135. If you are installing the machine into an existing network, this number must be within the range of numbers allotted for your network.
Subnet mask: The mask used to locate the machines that belong to your networkfor example, 255.255.255.0.
Domain name: The name of the domain to which your machine will belong. For example, mcslp.com or perston.co.uk.
Domain Name Service (DNS) server address: The IP addresses of the machines acting as DNS servers on your network.
Solingo
A router is a device on your network that routes network packets between your own network and another networktypically the Internet. It could be a box on the wall attached to your cable, Digital Subscriber Line (DSL), ISDN, or leased line (T1, T3, E1), or it could be another machine on your network that provides the functionality.
If you are planning on using a DHCP server in your network, then the IP address, domain name, DNS server, and subnet mask will be supplied by the DHCP server. You'll have the opportunity to choose how your network information is configured during the installation.
If you are integrating the machine into an existing Unix network and are using NIS to share host, password, and other information, you may also want to collect the server names/IP addresses and domain name for your NIS service.
The Least You Need to Know
Solaris runs on machines based on SPARC or Intel platform.
You must decide how you want to organize your disks. Disks are split into logical partitions, with each space holding a file system. Different file systems have different space requirements.
You must determine how much swap space you want to configure for your machine, and where it will be located.
You must collect the network configuration information if you want to connect your machine to a network of some kind.