Solaris2.1 ReleaseManual

V *

2550 Garcia Avenue Mountain View, CA 94043 U.S.A. ♦Sun Part No: 801-^92-10 Corporatior Revision A, December 1992 ASun Microsystems; Inc. Business © 1992 Sun Microsystems, Inc.—Printed in the United States of America. _ 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. This product and related documentation is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or related documentation may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the ®and Berkeley 4.3 BSDsystems, licensed from UNIXSystem Laboratories, Inc.and the University of California, respectively.Third-party font software in this product is protected by copyright and licensed from Sun's Font Suppliers. RESTRICTED RIGHTS LEGEND: Use,duplication, or disclosure by the United StatesGovernment is subject to the restrictions set forth in DEARS 252.227-7013 (c)(l)(ii) and FAR 52.227-19. The product described in this manual may be protected by one or more U.S.patents, foreign patents, or pending applications.

TRADEMARKS Sun, Sun Microsystems,the Sun logo, SMCC,the SMCClogo,SunSoft,the SunSoftlogo,Solaris,SunOS,OpenWindows, DeskSet,ONC, and NFSare trademarks or registered trademarks ofSun Microsystems,Inc. UNIXand OPEN LOOKare registered trademarks of UNIXSystem Laboratories, Inc. [ATTRIBUTION OFOTHERTHIRDPARTY TRADEMARKS MENTIONED SIGNIFICANTLYTHROUGHOUT PRODUCT OR DOCUMENTATION]. All other product names mentioned herein are the trademarks of their respective owners. AllSPARC trademarks, including the SCDCompliant Logo,are trademarks or registered trademarks of SPARC International, Inc.SPARCstation,SPARCserver, and SPARCcenterare licensed exclusively to Sun Microsystems, Inc. Products bearing SPARCtrademarks are based upon an architecture developed by Sun Microsystems, Inc. SuperSPARC™ is a trademark of SPARC International, used under license by TexasInstruments, Inc. TheOPEN LOOK® and Sun™Graphical User Interfaces were developed by Sun Microsystems,Inc.for its users and licensees. Sun acknowledges the pioneering effortsofXerox in researchingand developing the conceptofvisual or graphical user interfaces for the computer industry. Sun holds a non-exclusive licensefrom Xerox to the XeroxGraphical User Interface, which licensealsocoversSun's licenseeswho implement OPENLOOK GUIsand otherwise comply with Sun's written license agreements. XWindow System is a trademark and product of the Massachusetts Institute of Technology.

THIS PUBLICATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR MERCHANTABILITY, HTNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.

THIS PUBLICATION COULD INCLUDE TECHNICAL INACURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THE PUBLICATION. SUN MICROSYSTEMS, INC MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS PUBLICATION AT ANYTIME.

Please Recycle Contents

Preface xv

What You Do First xv How This Manual Is Organized xv

Document Conventions xvi

1. Introduction 1-1

1.1 New in Solaris 2.1 1-2 1.1.1 Automaticlnstallation (JumpStart) 1-3 1.1.2 Software Manager (swmtool) 1-3 1.1.3 SunDiag Enhancements 1-3

1.1.4 3.0 Runtime Environment 1-4 1.2 Supported Platforms and Peripherals 1-5

1.2.1 Hardware Platforms 1-5 1.2.2 Graphics Frame Buffers and Accelerators 1-6 1.2.3 SBus Drivers and Serial Input Devices 1-6 1.3 Minimum Hardware Configuration for Solaris 2.1 Software 1-6

111 1.4 How the Release Is Packaged 1-7 1.4.1 Software Packages and Clusters 1-7

1.4.2 Documentation 1-8 1.5 Compatibility with SunOS 4.1 Releases 1-9 2. Solaris 2.1: Installation for Everyone 2-1

Overview 2-1 Method 1: Solaris 2.1 Installation on a New System on a Network 2-2 JumpStart Automatic Installation with Help from Your Administrator 2-2

SmartStart Automatic Installation 2-3

Manual suninstall Installation 2-3 Method 2: Solaris 2.1 Installation on a New System Not on a Network 2-4 Method 3: Solaris 2.1 Installation on an Existing System on a Network 2-4

Solaris 1.1 SMCC Version A Users 2-5

Non-Solaris 1.1 SMCC Version A Users 2-6 Method 4: Solaris 2.1 Installation on an Existing System Not on a Network 2-7

Solaris 1.1 SMCC Version A Users 2-7

Non-Solaris 1.1 SMCC Version A Users 2-8 Information for the System/Network Administrator 2-8 What is JumpStart? 2-8 Migrating from Solaris 1.1 to Solaris 2.1 2-10 JumpStart for SPARC Systems 2-11

3. User Interface 3-1

iv Solaris 2.1 Release Manual—December 1992 3.1 Migrating to SunOS 5.1 Software from SunOS 4.x Software3-2 3.2 The OPEN LOOK 3-2 3.3 The OpenWindows 3.1 System 3-3

3.4 The DeskSet Environment 3-4 3.4.1 AnswerBook Document Viewer and Navigator ... 3-6 3.5 System Interfaces 3-7

3.5.1 Tools 3-7

3.5.2 UNIX Commands 3-8 3.5.3 Using the Reference Manual Pages 3-8 3.5.4 Editing and Formatting Files with UNIX Tools.... 3-9 3.6 User Demonstration Programs 3-9 4. System Administration 4-1 4.1 Solaris 2.1 System Administration Enhancements 4-1 4.2 Migrating to SunOS 5.1 System Software from SunOS 4.x System Software 4-2 4.2.1 Source and Binary Compatibility Packages 4-4 4.3 System Configuration and Software Installation 4-5 4.4 Configuring System and Networks 4-5 4.4.1 How-To Book on System Administration 4-6 4.5 Administering Systems and Networks 4-6 4.5.1 Dynamic Kernel 4-6 4.5.2 Initializing and Changing Run Levels 4-7 4.5.3 Displaying System Definitions 4-8

4.5.4 Administration Tool (admintool) 4-8

Contents 4.5.5 Securing Systems and Networks 4-9 4.5.6 Setting Up Network Communication Services .... 4-11 4.5.7 Administering Network Information Services .... 4-11 4.6 Administering Users and Environments 4-12 4.6.1 Setting Up Printers and Printing 4-13 4.6.2 Setting Up Mail 4-13 4.6.3 Setting Up Terminals and Modems 4-14 4.6.4 Setting Up the OpenWindows 3.1 Environment... 4-15 4.6.5 Administering Realtime Applications 4-15 4.7 Administering Files and File Systems 4-15 4.7.1 Migrating to Solaris 2.1 File Systems 4-16 4.7.2 Setting Up File Systems 4-16 5. Software Development in the Solaris 2.1 Environment 5-1 5.1 Advantages of the Solaris 2.1 Development Environment 5-1 5.1.1 Source Portability 5-1 5.1.2 Binary Portability 5-2 5.1.3 Networking Transport Independence 5-2 5.2 Differences BetweenSunOS 5.1 Systems and SunOS 4.x Systems 5-3 5.3 Solaris 2.1 Standards and Specifications 5-4

5.4 Solaris 2.1 Internationalization 5-8

5.5 SunOS 5.1 Kernel Features 5-11

5.5.1 Multi-threaded Kernel 5-11 5.5.2 Virtual Memory 5-11

Solaris 2.1 Release Manual—December 1992 5.5.3 STREAMS-based I/O 5-12 5.5.4 Dynamic Kernel 5-12 5.5.5 Expanded Fundamental Types (EFT) 5-13 5.5.6 Signal Interfaces 5-13 5.5.7 Realtime Applications and Process Scheduling ... 5-14 5.5.8 System Interfaces 5-14

5.5.9 Device Driver Interfaces 5-15 5.6 Developing Applications in the Solaris 2.1 Environment 5-16 5.6.1 Using Dynamic Linking Libraries 5-16 5.6.2 Executable Linking Format (ELF) 5-17 5.6.3 Software Package Management 5-17 5.6.4 Developing for ANSI C 5-18 5.6.5 SPARC Assembly Language 5-18 5.6.6 Debugging Code 5-19 5.6.7 Running Hardware Diagnostics 5-19 5.6.8 Programming Utilities 5-19 5.6.9 Graphics and Graphics 5-20

5.6.10 Character User Interface 5-20 5.6.11 Using the SunOS Compatibility Packages 5-21 5.7 OpenWindows Version 3.1 5-22

5.7.1 The Xll/News Server 5-23 5.7.2 OPEN LOOK Graphical User Interface 5-24 5.7.3 OpenFonts 5-24 5.7.4 OpenWindows Toolkits 5-24

Contents 5.7.5 Integrating Applications into the DeskSet Environment _ 5-25 5.8 Solaris 2.1 Management 5-26 5.9 Solaris 2.1 Networking 5-27 5.9.1 Writing Network Applications 5-28 6. Late-Breaking News 6-1

6.1 Font Aliases 6-1 6.1.1 Aliases which provide backward compatibility for X11R3: 6-2 6.1.2 Aliases which provide backward compatibility for SunView: 6-3 7. Bugs Fixed 7-1 ^ 7.1 OpenWindows Bugs Fixed 7-1 7.2 Kernel Bugs Fixed 7-1 7.3 Man Pages Bugs Fixed 7-3 7.4 System Administration Bugs Fixed 7-3 7.5 Network Bugs Fixed 7-4 7.6 PROM Bugs Fixed 7-4 7.7 Graphics Bugs Fixed 7-4 7.8 Deskset Bugs Fixed 7-4 7.9 SunDiag Bugs Fixed 7-5 7.10 TNT Bugs Fixed 7-5 7.11 Language Bugs Fixed 7-5 7.12 Audio Bugs Fixed 7-5 7.13 ToolTalk Bugs Fixed 7-5

viii Solans 2.1 Release Manual—December 1992 7.14 Documentation Bugs Fixed 7-5 7.15 Library Bugs Fixed 7-6 7.16 Utilities Bugs Fixed 7-6

8. Known Problems 8-1 8.1 OpenWindows Bugs 8-1 8.2 Graphics Bugs 8-2 8.3 Kernel Bugs 8-2 8.4 Man Pages Bugs 8-3 8.5 System Administration Bugs 8-4 8.6 Network Bugs 8-4 8.7 Utility Bugs 8-5 8.8 Installation Bugs 8-5 8.9 Audio Bugs 8-6 8.10 Documentation Bugs 8-6 8.11 AnswerBook Bugs 8-7

Index Index-1

Contents ix Figures

Figure 3-1 OPEN LOOK-based Multimedia Mail and Calendar Manager Menus 3-3

Figure 4-1 Device naming convention 4-2

XI xii Solaris 2.1 Release Manual—December 1992 Tables

Table 1-1 Frame Buffers, Devices, and Buses 1-6

Table 2-1 Boot Commands 2-4

Table 3-1 Solaris 2.1 Multi-Media Demos 3-10

Table 4-1 Run Levels 4-8

Table 4-2 Ip Administrative Commands 4-13

Table 4-3 Default Directories and Mount Points 4-16

Table 4-4 DPS Commands and Files 4-19 Table 4-5 DPSCommands Using file system Hags 4-20

Table 5-1 International Format Translation Functions 5-9

Table 5-2 SunOS 5.1 Shells 5-15

Xlll xiv Solaris 2.1 Release Manual—December 1992 Preface

This Release Manual describes the Solaris® 2.1 software release. It describes this System V Release 4 (SVR4) release, including newly-supported hardware and software. Because this is the transition release for many who are switching from Solaris 1.x and other SunOS^"^ 4.x releases to SVR4, this manual also explains some of the differences between the operating systems, and tells you where to look for more information.

What You Do First Before doing anything else, be sure the Open Issues chapters of the Release Manual are inserted into the binder behind the Opeii Issues tab. The Open Issues chapters (Chapter 6, "Late-Breaking News," Chapter 7, "Bugs Fixed," and Chapter 8, "Known Problems") are packaged separately and included in the Release Minibox on top of the Release and Install binder.

To see what other release documentation is available, see the Solaris 2.1 Roadmap to Documentation; this roadmap lists all of the Solaris 2.1 documents and provides brief descriptions of each.

How ThisManual Is Organized This manual is organized into the following chapters: • Chapter 1, "Introduction," describes the release briefly, listing newly- supported software and hardware, minimum hardware needed for the f release, and includes a discussion of how the release software and documentation are packaged. • Chapter 2, "Solaris2.1: Installation for Everyone," explains the four methods of installingthe Solaris 2.1 releaseon your system.

• Chapter 3, "User Interface," describes the release from the perspective of a user and describes the OPEN LOOK®, OpenWindows''"'^, and DeskSef''*^ interfaces. • Chapter 4, "System Administration," summarizes the process of administering SunOS 5.x systems and ONC™ networl^ in the Solaris 2.1 environment. Other available system administration books are listed by topics and tasks. • Chapter 5, "Software Development in the Solaris 2.1 Environment," - describes the development environment, including differences between f ^ SunOS 4.x releases and this SVR4 release. • Chapter 6, "Late-Breaking News," the first of three chapters in Open Issues, is comprised of material that was not available when the rest of the Release Manual went to press. Open Issues is packaged in the Release box,separately from the rest of the Release Manual; the Open Issues chapters should be inserted into the Release Manual. • Chapter 7, "Bugs Fixed," the second chapter in Open Issues, lists bugs that have been fixed since the last software release. • Chapter 8, "Known Problems," the third chapter in Open Issues, lists all significant known bugs at the time of the release.

Document Conventions

The following type and format conventions are used in this manual: • Italic type is used for the following: o New terms o Book titles o Variables that are to be replaced with a value in an actual command o For emphasis

xvi Solaris 2.1 Release Manual—December 1992 • Bold Courier type is used to show what you type at the keyboard. • Courier type is used to show you: o File, directory, and path names o Information that displays on the screen o Code samples o Commands that can be looked up in SunOS 5.1 Reference Manual The manual page references are formatted showing the command and section of the manual pages. For example, man(l) tells you that the man command can be found in Section 1 of the SunOS 5.1 Reference Manual. • Palatino bold type is used to show step-by-step instructions you can follow. • Notes like the following are used to alert you to important information:

Note - The incorporation of SVR4 features into this SunOS release will make your life much easier.

Preface xvii xviii Solaris 2.1 ReleaseManual—December1992 Introduction

Welcome to the SVR4-based Solaris 2.1 distributed computing environment. The Solaris 2.1 release is a total, system-software solution, integrating the following: • The OPEN LOOK and DeskSet environment, offering office- and personal-productivity applications that implement the OPEN LOOK Graphical User Interface (GUI). Incorporating easy-to-use desktop applications that can be learned quickly and used simultaneously, the Solaris 2.1 user environment increases individual and workgroup productivity. • The OpenWindows 3.1 developer environment, offering both the Xll and the NeWS®protocol interfaces through the Xll/NeWS window server. Combining the XView''"'^ toolkit, the OPEN LOOK Intrinsics Toolkit (OLIT), and the NeWS Toolkit (TNT) for implementing OPEN LOOK Graphical User Interfaces, the Solaris 2.1 environment allows developers to bring networked, window applications quickly to the marketplace. • The 32-bit SunOS 5.1 , offering the benefits of industry standards: UNIX System V Release 4 (SVR4) and the ONC family of networking protocols. The power of UNIX and the flexibility of shared computing resources and distributed services make the Solaris 2.1 release a foundation for developing powerful, distributed applications across heterogeneous environments. The Solaris 2.1 release also provides the base for object-oriented system administration with the OPEN LOOK Administration Tool.

1-1 1

1.1 New in Solaris 2.1

This Solaris 2.1 release includes all the features of the Solaris 2.0 release, plus the following, some of which are described below: • New installation process (Sunlnstall) • Automatic installation (JumpStart"'^'^), for easy software installation with some customization (more below) • Software Manager (swmtool), for easy, OPEN LOOK installation and removal of software packages on local or remote Solaris systems (more below) • SunDiag enhancements for newly-supported systems (more below) • New OpenWindows software (Version 3.1)

• XGL 3.0 Runtime Environment (more below) • Support for SPARCclassic''''^ and SPARCstation'^'*^ LX Desktop systems • Support for SPARC® and SuperSPARC'''^ systems (SPARC 600MP series, SPARCstation 10) • An upgrade path for converting SPARC 600MP systems to SuperSPARC • Support for Sun-4 systems (4/lxx, 4/2xx, 4/3xx, 4/4xx), including frame buffers (one- and eight-bit for VME; one-, eight-, and 24-bit for P4 bus) • Kernel support for unbundled product, C2 Security hooks • Kernel support for changes to unbundled product, DiskSuite • Support for audio and ISDN hardware in SPARCstation 10, SPARCclassic, and SPARCstation LX systems • Support for Sun-4 VME framebuffers (cg3, cg5, cg8) • Support for Sun-4 P4 framebuffers (cg4, cg6, cg8) • Support for GT graphics accelerator

1-2 Solaris 2.1 Release Manual—December 1992 1

1.1.1 Automatic Installation (JumpStart) Solaris 2.1 features JumpStart on some systems, allowing for easy installation of the release,with some customization. Seethe Solaris 2.1 System Configuration and Installation Guide for details; also, see Chapter 2, "Solaris 2.1: Installation for Everyone," in this manual for simple instructions for installation.

1.1.2 Software Manager (swmtool) Software Manager is an OPEN LOOK application for installing and removing software packages. Software Manager provides the same functionality as the SVR4 commands, pkgadd(lM) and pkgrm(lM). See the Solaris 2.1 Software Manager Administrator's Guide for information about the tool.

1.1.3 SunDiag Enhancements The Sundiag 4.1 User's Guide provides essentially the same functionality as the SunDiag 4.0 User's Guide. A new multiprocessor test—mptest—has been added. In addition. Appendix A of the manual describes the libraries provided in /opt/SUNWdiag/lib and /opt/SUNWdiag/bin. Experienced users who are familiar with the C programming language can use these libraries to create and develop their own tests. The Sundiag 4.1 User's Guide - Addendum for SMCC Hardware is completely new; this manual describes tests designed for specific hardware from Sun Microsytems Computer Corporation (SMCC). The 12 new tests described in the Addendum are: SBus printer Card tests (bpptest and Ipvitest) Sun SpeakerBox Test (audbri) SDN/DBRI Integrated Services Direct Network Test (isdntest) HSI SBus Boards Test (sunlink) GX, GX+ Options Framebuffer Test (eg6) GS Option Framebuffer Test (cgtwelve) Graphics Tower Test (gttest) SunButtons Test (sunbuttons) SunDials Test (sundials) SBus test (cbrtest) SBus Expansion Subsytems Test (xbtest) (not supported in Solaris 2.1 release)

Introduction 1-3 1

Note that audbri and bpptest are default tests for SPARCstation 10 machines, audbri is a default test for SPARCclassic and SPARCstation LX machines.

1.1.4 XGL 3.0 Runtime Environment

The Solaris 2.1 release includes the XGL 3.0 Runtime Environment (RTE). XGL is a 2-Dand 3-Dimmediate-modeApplicationProgrammerInterface (API) that provides application portability across hardware platforms and enables graphics applications to get optimum performance from graphics accelerators. The XGL RTE is provided for your convenience and should be installed if you areplanning to run a graphics application on a SPARCstation system, since the application may reference the XGL libraries. It is not always obvious whether an application requires the XGL RTE. Therefore, we recommend that you install the XGL RTE if you are installing OpenWindows Version 3.1 software on a color SPARCstation system. Note that XGL RTE is included in the End User System Support package; it will be installed automatically if you follow normal installation procedures.

Supported Devices and Features XGL 3.0 RTE provides SBus support via Direct Graphics Access (DGA) for the following graphics devices: • GX and GXplus • CG3,CG8(TC) XGL 3.0 RTE supports 8-bitand 24-bit dumb colormode via , including all color VME and P4 frame buffers;

• VME CG2, CG3, CG5 • P4CG4,CG8(TC) The following graphics devices and features are not supported by XGL 3.0 RTE:

• BW2 (all buses) • GS • GT • PEXlib • silhouette edges

1-4 Solaris 2.1 Release Manual—December 1992 1

• transparency • anti-aliasing • xgl_image primitive • dithering

InstallationRequirements To install XGL packages, choose the Custom-install End User System Support or Quick Install option in Sunlnstalh XGL RTE will be installed unless you explicitly deselect it. 12 Supported Platforms andPeripherals The Solaris 2.1 release provides support for a wide range ofhardware platforms and devices, some of which are listed below.

12.1 Hardware Platforms Solaris 2.1 software supports the following SPARC platforms and their equivalents:

• SPARCstation 10 • SPARCclassic • SPARCstation LX • SPARC 600MP series • SPARCstation SLC™ • SPARCstation ELC™ • SPARCstation IPC™ • SPARCstation IPX™ • SPARCstation 2 • SPARCstation 1 and 1+ • SPARCsystem 4/100, 4/200, 4/300, and 4/400 series

Introduction 1

122 Graphics Frame Buffers and Accelerators TheSolaris 2.1 environment supports the following frame buffers and graphics accelerators on the supported platforms:

Table 1-1 Frame Buffers, Devices, and Buses

Product Name Device Name Bus Visual Categories

MGl, MG2 BW2 SBus,P4,VME(obio) 1-bit

n/a CG3 SBus 8-bit

n/a CG2,CG3,CG5 VME 8-bit

n/a CG4 P4

GX CG6 SBus,P4 8-bit

GXplus CG6 SBus 8-bit

TC CG8 SBus,P42 l-bit,24-bit (MPG)

GS CG12 SBus 4-,8-,24-bit (MPG)

GT GT SBus 8-bit,24-bit (MPG) 1.TheCG4 canbeusedas Iwoseparatedevices—1-bit and8-bit, but notasacombined 1-bit, 8-bitMPG (Multiple Plane Group) device. SeetheOpen Windows Version 3.1 Programmer's Guide formore information. 2.TheSBusversionoftheTCdeviceisavailablefromoneor morethird parties;ConsulttheCatalystcatalogfor more information.

123 SBus Drivers and Serial Input Devices The Solaris 2.1 release supports SBus drivers written to the SBus specification and the following serial input devices: 1—»

• SunDials™ 00 • SunButtons™

13 MinimumHardware Configuration for Solaris 2.1 Software You must have the following minimum configuration to install and run the Solaris 2.1 software on the supported hardware platforms: • 16 Megabytes (MB) of memory • One CD-ROM drive, local or remote (for installation)

1-6 Solaris 2.1 Release Manual—December 1992 1

• One or more diskdrives witha minimum of 150 to 200MB free diskspace (if the Solaris 2.1 release is to be installed locally)

Note - Disklessmachines may be configured to use disk space from a network

server.

1A Howthe Release Is Packaged The Solaris 2.1 release is shipped on a single CD (compact disc). There is no upgrade procedure for installing the release; a full installation must be performed.

lA.l Software Packages and Clusters ^>40^ The Solaris 2.1 software isdistributed in software packages and clusters. Packages, each of which is an installable group of object files, are grouped into clusters that provide for easy installation of different configurations of the Solaris 2.1 environment. Note that the four clusters are incremental: each succeeding cluster contains all that is in the previous cluster, plus more;the End User SystemSupport cluster contains all that is in the Core System Support cluster, plus additional packages; the Developer System Support cluster contains all that is in the End User System Support cluster, plus additional packages; the Entire Distribution cluster contains all available packages. The following four clusters are provided: • Core System Support is the minimum software configuration; it contains only the software necessary to boot and run the Solaris 2.1 release. As noted in the Solaris 2.1 System Configuration and Installation Guide, you will not be able to use the package utilities to add packages to your system if you ^ install only the Core System. • End User System Support contains Core System Support plus end user support such as the OpenWindows 3.1 and the related DeskSet application files; this cluster includes the recommended software for an end user.

Introduction 1-7 • Developer System Support contains End UserSystem Support plus the libraries, include files, and tools needed to develop software in the Solaris 2.1 environment. Compilers and debuggers are not included in the Solaris 2.1 release.

• Entire Distribution contains the entire Solaris 2.1 release. See the Solaris 2.1 System Configuration and Installation Guide fora detailed listof all package names within each cluster, and a list showing the package dependencies.

1,4.2 Documentation The Solaris 2.1 documentation is available in a printed manual set, or in the online AnswerBook''''^. The Solaris 2.1 Roadmap to Documentation provides a brief description of each manual and organizesthe manuals into the following document sets: • Introductory Set • Users Set • Reference Manual Set • System Administrators Set • Developers Set • Release and Install Set • Solaris 2.1 on Sun Hardware Set

The AnswerBook The complete Solaris 2.1 documentation set is available on the separately- purchased AnswerBook CD. An end-user AnswerBook is included on the Solaris 2.1 release CD; it contains the OpenWindows Version 3.1 DeskSet Reference Guideand OpenWindows Version 3.1 User's Guide.

Note - The Open Issues chapters in the AnswerBook version of the Release Manual are not as current as in this paper version; refer to this paper version for the latest information.

1-8 Solaris 2.1 Release Manual—December 1992 1

1.5 Compatibility with SunOS 4.1 Releases Executable applications which are dynamically linked and running under the SunOS 4.1^ environment are supported in the Solaris 2.1 environment through the Binary Compatibility Package included with the Solaris 2.1 release. The applications must adhere to the following rules: Be dynamically linked • Not trap directly to the kernel • Not write directly to system files • Not use /dev/kmem or libkvm routines • Not use unpublished SunOS interfaces • Not rely on non-SunOS drivers Application source code that is compliant with the SunOS 4.1 environment will compile and run under the Solaris 2.1 environment by using the SunOS/BSD Source Compatibility package included with the Solaris 2.1 software. Device drivers must comply with the interfaces defined in Section 9 of the SunOS 5.1 Reference Manual.

1.References tothe "SunOS 4.1" release/environment include theSunOS 4.1 release andallsubsequent 4.1 releases, e.g., 4.1.1,4.1.1 RevB, 4.1.2,and 4.1.3.

Introduction 1-9 1-10 Solaris 2.1 Release Manual—December1992 Solaris 2.1:InstallationforEveryone

Thischapter is a duplicate of the document, Solaris 2.1: Installation for Everyone, which is included in the Media Kit. Note that the page references are from the original manual; they do not include the "2-" prefixes that are in this manual. If a reference says "Go to page 2," the implicit statement is "Go to page 2-2."

Overview

This document is intended for all users who want to install the Solaris® 2.1 software environment. Four installation methods are available and supported for Solaris2.1, including system installationsboth on and offa network. If you are not sure whether your system is connected to a network, ask your system/network administrator for help. • Method 1: Solaris 2.1 installation on a new system on a network You should perform a Method 1 installation if you have a new machine that has never been turned on, and if an Ethernet® cable is connected (or will be connected) to your machine. Go directly to page 2. • Method 2: Solaris 2.1 installation on a new system not on a network You should perform a Method 2 installation if you have a new machine that has never been turned on, and if your machine is not currently connected (and will not be connected) to an Ethernet cable. Go directly to the top of page 4. • Method 3: Solaris 2.1 installation on an existing system on a network

2-1 You should perform a Method 3 installation if you have a machine that has already been turned on, and if an Ethernet cable is connected (or will be connected) to your machine. Go directly to the middle of page 4. • Method 4: Solaris 2.1 installation on an existing system not on a network You should perform a Method 4 installation if you have a machine that has already been turned on, and if your machine is not currently connected (and will not be connected) to an Ethernet cable. Go directly to page 7. If you are unsure of which method to use, ask your system/network administrator for help .

Method 1:Solaris 2.1 Installation ona New System ona Network Three installation options are available for a new system on a network. You can install the Solaris 2.1 environment by using one of the following: • JumpStart™ automatic installation with the help of your system/network administrator (see below)

JumpStartAutomaticlnstallation withHelpfrom Your Administrator If you would like your system/network administrator to help with your system installation, follow the steps in the section titled "JumpStart for SPARC Systems" on page 11. The JumpStart automatic installation software makes system installation a very easy process. Any special needs, requests, or instructions that you may want to note to your administrator can be recorded in this section. Be sure to follow the instructions closely, and turn on your system only when your administrator tells you to do so.

SmartStart™ automatic installation that you can easily run on your own, using a CD-ROM drive connected to your system (see page 3)

Manual suninstall installation (see page 3)

2-2 Solaris 2.1 Release Manual—December 1992 SmartStartAutomatic Installation If you would like to perform a SmartStart automatic installation on your own, simply follow the steps below. However, you must have access to a local CD drive and the Solaris 2.1 CD-ROM.

1. Place the Solaris 2.1 CD-ROM into its caddy, and insert the caddy into the CD drive.

2. Turn on the system. 3. When prompted, provide your machine name and answer the questions on your screen. If you have a system that is noton a network, respond no when asked if you are on a network.

Manual suninstalllnstallation

Note - A suninstall installation requires previous experience with installing operating system software.

If you prefer to perform a manual suninstall installation,you should be familiar with installing a Solaris 2.xenvironment. If you are unsure of what to do, refer to the Solaris 2.1 System Configuration and Installation Guide or ask your system/network administrator for help. Proceed with the following steps: 1. Either become superuser and halt your system, or turn on the system. 2. Type Ll-A (Stop-A) when the ok or > prompt appears. 3. Place the Solaris 2.1 CD-ROM into its caddy, and insert the caddy into the CD drive.

Solaris2.1:Installationfor Everyone 2-3 4. Type the appropriate boot command at the ok or > prompt, as indicated in the following table:

Table 2-1 Boot Commands

Prompt System Type Command

ok SPARC System 2,10, ELC, IPX, 600MP series boot cdrom and newer systems

> SPARC System 1,1+, IPC, and SLC b sd(0,6,2)

> SPARC System 300 and 400 series b sd(0,30,l)

5. Answer the questions on your screen.

Method 2: Solaris 2.1 Installation ona New System Not ona Network Two installation options are available for a new system not on a network. You can install the Solaris 2.1 environment by using either of the following: • SmartStart automatic installation that you can easily run on your own, using a CD-ROM drive connected to your system (see page 3)

• Manual suninstall installation (see page 3)

Method3: Solaris 2.1Installation onan Existing System ona Network First, ask your system/network administrator to back up your system. If your administrator is not available, refer to Chapter 3 in the Solaris2.1 System Configurationand Installation Guide for instructions. Second, determine whether you are currently running Solaris 1.1 SMCC Version A. To find out if you are running Solaris 1.1 SMCC Version A, type the following command:

% /usr/etc/showrev If the Release line in the message says Release: 4.1.3, then you have Solaris 1.1 SMCC Version A installed on your system. If any other SunOS Release is displayed, then you do not have Solaris 1.1 SMCC Version A installed.

2-4 Solaris 2.1 Release Manual—December 1992 Ifyou have Solaris 1.1 SMCC Version A currently installed, go to thesection titled "Solaris 1.1 SMCC Version A Users" on page 5. If you do not have Solaris 1.1 SMCC Version A installed, go to the section titled "Non-Solaris 1.1 SMCC Version A Users" on the middle of page 6.

Solaris 1.1 SMCC Version A Users Three installation optionsare available for Solaris 1.1 SMCC Version A users. You can install the Solaris 2.1 environment by using one of the following: • JumpStart automatic installation with the help ofyour system/network administrator (see below)

• SmartStart automatic installation that you can easily run on your own, using a CD-ROM drive connected to your system (see page 3)

• Manual suninstall installation (see page 3)

JumpStart Automatic Installation with Help from Your Administrator JumpStart automatic installation software makes software installation a very easy process for you and your system/network administrator. Before you migrate from Solaris 1.1 SMCC Version Ato Solaris 2.1, provide your administrator with your name, your system location, and any software requests or special instructions (such as login ID, hostname, and user password) on a sheet ofpaper. Also, make sure your administrator backs up your data, since the migration process from Solaris 1.1 SMCC Version Ato Solaris 2.1 will overwrite your file system.

Note- Wait for your administrator to tellyou when you are ready to migrateto Solaris 2.1.

Once youradministrator gives you the go-ahead, you can easily migrate to Solaris 2.1 by using an automated script. To take advantage ofthis process, simply proceed with the following steps:

1. Become superuser.

Solaris 2.1: Installation for Everyone 2-5 2. Type either of the following to initiate single-user mode:

# shutdown now

or # kill -TERM 1 3. Place the Solaris 2.1 CD-ROM into its caddy and insert the caddy into the CD drive. 4. Type the following at the prompt: # /etc/.install.d/re-preinstall-svr4 5. If you have already backed-up your data and files, type 1 when the script asks if you wish to continue. Installation of the preinstall image will be done within four minutes. The image will automatically be rebooted and installation of theoperating system will then begin. The full installation will be done in 30 minutes to 1- 1/2 hours, depending on the software selected and the particular media used.

Non-Solaris 1.1 SMCC Version A Users Three installation optionsare available if you do not haveSolaris 1.1 SMCC Version Acurrently installed. You can install the Solaris 2.1 environment by using one of the following: • JumpStart automatic installation with the helpof yoursystem/network administrator (see below)

JumpStart Automatic Installation with Help from Your Administrator Ifyou would like your system/network administrator to help with your systeminstallation, follow the steps in the section titled "JumpStart for SPARC Systems" on page 11. The JumpStart automatic installation software makes system installation a very easy process. Any special needs, requests, or instructions that you may want to note to your administrator can be recorded in this section. Be sureto follow the instructions closely, and turn on your system only when your administrator tells you to do so.

2-6 Solaris 2.1 ReleaseManual—December 1992 • SmartStart automatic installation that you can easily run on your own, using a CD-ROM drive connected to your system (see page 3)

• Manual suninstall installation (see page 3)

Method 4: Solaris 2.1 Installationonan ExistingSystem Not ona Network First, you must be sure to back up your system. Refer to Chapter 3 in the Solaris 2.1 System Configuration and Installation Guide for instructions. Second, you need to determine whether you are currently running Solaris 1.1 SMCC Version A. To find out if you are running Solaris 1.1 SMCC Version A, type the following command;

% /usr/etc/showrev If the Release line in the message says Release: 4.1.3, then you have Solaris 1.1 SMCC Version A installed on your system. If any other SunOS Release is displayed, then you do not have Solaris 1.1 SMCC Version A installed. If you have Solaris 1.1 SMCC Version A currently installed, go directly to the section titled "Solaris 1.1SMCC Version A Users" on page 7. If you do not have Solaris 1.1 SMCC Version A installed, go to the section titled "Non-Solaris 1.1 SMCC Version A Users" on page 8.

Solaris 1.1 SMCC Version A Users Two installation options are available for Solaris 1.1 SMCC Version A users. You can install the Solaris 2.1 environment by using either of the following: •A migration script using SmartStart automatic installation that you can easily run on your own via a CD-ROM drive connected to your system (see below)

• Manual suninstall installation (see page 3)

Solaris2.1:Installationfor Everyone 2-7 Migration to Solaris 2.1 You can easily migrate to Solaris 2.1 by using an automated script. To take advantage of this process, simply proceed with the following steps: 1. Become superuser. 2. Type either of the following to initiate single-user mode:

# shutdown now

or # kill -TERM 1 3. Place the Solaris 2.1CD-ROM into its caddy, and insert the caddy into the CD drive. 4. Type the following at the prompt: # /etc/.install.d/re-preinstall-svr4 5. If you have already backed-up your data and files, type l when the script asks if you wish to continue. Installation of the preinstall image will be done within four minutes. The image will automaticallybe rebooted and installation of the operating system will then begin. The full installation will be done in 30 minutes to 1- 1/2 hours, depending on the software selected and the particular media used.

Non-Solaris 1.1 SMCC Version A Users If you do not have Solaris 1.1 SMCC Version A currently installed, you can install the Solaris 2.1 environment by using a manual suninstall installation (see page 3).

Information for theSystem/Network Administrator

What isJumpStart? JumpStart makes system installation easy for users. Their systems can be automatically installed after turning on their machines, either to the default configuration or to a customized configuration that you have set up. You can

2-8 Solaris 2.1 Release ManuaI—December 1992 configure the network information for the new system on an NIS or NIS+ server. If the information is properly configured, the user does not have to enter a hostname, IP address, time zone, or domain name. If you wish to set up a customized JumpStart automatic installation, refer to the Solaris 2.1 System Configuration and Installation Guide. JumpStart can also be used for non-networked systems, requiring only minimal interaction by the user. For instructions on starting a default JumpStart installation via a local CD-ROM drive, see the section in this document titled "SmartStart Automatic Installation" on page 3. JumpStart is optional. If you do not want to use it, you may choose to perform a manual suninstall installation. See the section in this document titled "Manual suninstall Installation" on page 3 and the Solaris 2.1 System Configuration and Installation Guide for details.

What Does JumpStart Require? •A Sun network running the network information service (NIS or NIS+) • NIS servers running SunOS 4.0 or later • SPARC systems with JumpStart software preinstalled on their disks

What Do You Have to Do?

Before you tell the user to turn on a new SPARC system: Refer to the Solaris2.1 System Configuration and Installation Guide for detailed information on SunOS 5.x NIS and NIS+ maps and SunOS 4.x NIS maps. • Once for each NIS (or NIS+) domain, set up the following maps: • timezone • hosts • ethers • bootparams • Once for each new system, enter configuration information on the NIS (or NIS+) master server for ethers and hosts. • Provide access to the install media, either locally or via the network.

Solaris2.1: Installation for Everyone 2-9 • If using customized JumpStart: set up (or provide access to) the customization information. This is necessary for each new customization configuration, not necessarily for each new system. • Set up an account for the new user, based on the attached instruction pages from the user. After you have performed the necessary configuration, tell the user to turn on the new system and provide the user with any necessary information, such as the login ID and password.

Setting Upan Automatic Installation Server For details on setting up an install server for JumpStart, refer to Chapter 10 in the Solaris2.1 System Configuration and Installation Guide.

Setting UpCustomized AutomaticInstallation Profiles For details on setting up customized JumpStart configurations, refer to Chapter 11 in the Solaris2.1 System Configuration and Installation Guide.

End User AnswerBook The Solaris 2.1 End User AnswerBook^^ can be included in your customized installation profiles. For details, see the Solaris 2.1 System Configuration and Installation Guide.

Migratingfrom Solaris 1.1 toSolaris 2.1

Setup Requirements If you are upgrading a system running Solaris 1.1 SMCC Version A to Solaris 2.1, it is assumed that you are familiar with installing Solaris 2.x (for example, you know how to back up previously-installed systems). If you are unsure of what to do, see the Solaris 2.1 System Configuration and Installation Guidefor setup requirements.

2-10 Solaris 2.1 Release Manual—December 1992 If you want to perform a customized JumpStart installation, see the Solaris 2.1 System Configuration and Installation Guide to set up a customized profile. (For an overview of JumpStart installation, see the earlier section titled "What is JumpSta't?" on page 8.) You muslt have access to either of the following: A loc41 CD-ROM drive and the Solaris 2.1 CD A network image of the Solaris 2.1 CD (either a CD mounted on a server or a CD image on a server's disk)

How th'.Migration Process Works A "hidden" command probes for a Solaris 2.x CD, either in the local CD-ROM drive or >)n the network. If this command "finds" such a CD, it asks the user for confiimation before proceeding. The process then loads an "installation reboot system" off of the CD, and boots the installation reboot system. This installation reboot system causes the machine to behave as if JumpStart software were pre-loaded at the factory.

Before You Migrate to Solaris 2.1 If you have data in your present system, be sure to back up the data, as the preinsi allation process will overwrite the disk(s). Perforin any necessary system data file conversion (see the Solaris 2.1 System Configuration and Installation Guide). Perforijn any necessary network configuration (see the Solaris 2.1 System Configuration and Installation Guide).

JumpStartfor SPARC Systems JumpStart makes system installation easy. Your system can be automatically installed after turning on your machine, either to the default configuration or to a customized configuration that has been set up by your system/network administrator. Follow the instructions below for your installation to be as simple as "turning on the system." 1. Before you turn on your system, fill-in the following information for your network/system administrator.

Solaris2.1:Installationfor Everyone 2-11 Your name: System location:. 2. On a separate sheet of paper, note any software requests or special instructions, such as login ID, hostname, and user password. Attach the sheet to this page. 3. Locate the Customer Information sheet that is attached to the system unit carton in the clear, plastic envelope. You will see information similar to the following:

CUSTOMER INFORMATION

MODEL: 8009831 PART NUMBER: 600-2569-03 SERIAL NUMBER: 032F2372

Remove the Customer Information sheet and make a photocopy of it for your own records. If you cannot find the sheet, ask your administrator for help. Attach the original Customer Information sheet to this page. 4. Give this page with attached sheets to your system/network administrator. (If you are the administrator, see "Information for the System/Network Administrator" on page 8 in this document.) When the administrator gives you the go-ahead, turn on your system.

2-12 Solaris 2.1 Release Manual—December 1992 UserInterface

The Solaris 2.1 environment, including OpenWindows 3.1 and the DeskSet environment applications, implements the OPEN LOOK Graphical User Interface (GUI), providing the following features: • On-screen buttons, pointers, and scrollbars that allow you to intuitively select, move, or find information rather than using the UNIX command line. • Icons and menus that represent programs, making it easier for you to use sophisticated tools in a simple way. • The OPEN LOOK Window Manager (), a client to the Xll/NeWSTM window server, manages the following: • Window placement • Workspace menu • Window and icon opening and closing • Application starting and exiting • The DeskSet environment's set of 15 personal- and office-productivity applications. • Internationalization that lets you select the local language, time format, and numeric format for the Workspace and DeskSet applications • Drag-and-drop that provides integration between the DeskSet applications such as Multimedia Mail and Calendar Manager. When you drag an object, you get immediate information telling you whether the object reaches the drop target.

3-1 • 24-bit color support for 24-bit color devices, allowing access to over 16 million colors. • The Xll/NeWS window system server, the platform of the OpenWindows environment for window applications.

3.1 Migrating to SunOS 5.1 Softwarefrom SunOS 4.x Software The Solaris 2.1 environment is based on SunOS 5.1 system software. See the Solaris 2.1 Transition Guidefor descriptions of operating system differences and changes. Some of the more obvious differences between SunOS 4.x releases and the SunOS 5.1 release are the following: • Many UNIX commands have changed. • The printing subsystem has changed. For example: • lp(l) replaces Ipr • Ipstat(l) replaces Ipq • cancel(l) replaces Iprm • troff(l) requires a printer name • The mail programs have changed. The SunOS 4.x mail boxes and folders are completely compatible with any of the three Solaris 2.1 mail programs: • mailtool, the DeskSet environment Multimedia Mail • maild), a command line utility • mailx(l), a command line utility • The location or name of some system files has changed. For example: • /etc/vfstab replaces/etc/fstab • /var/mail replaces /var/spool/mail • /kernel/unix replaces/vmunix

3.2 The OPEN LOOKGraphical UserInterface The OPEN LOOK Graphical User Interface (GUI) developed by Sun Microsystems® in partnership with AT&T®, is a specification that describes the requirements for the appearance of the screen layout, objects, icons, and application windows on the screen. In the Solaris 2.1 environment this provides a consistent look to the applications developed for the Solaris 2.1 desktop. Applications operate in a similar way, making it easier to learn and use new tools.

3-2 Solaris 2.1 Release Manual—December 1992 Both the OpenWindows 3.1 and the DeskSet environment implement the OPEN LOOK GUI. This means that tools such as the Multimedia Mail and Calendar Manager have a simple and consistent look: • All windows, menus, and buttons display in three dimensions (3-D). • Many buttons have the same size, shape, and name. • Menus display in the same pull-down fashion. • You use the mouse in the same way to select, cut-and-paste, and drag-and- drop information between applications.

Mail Tool V: U Caleni Edit ' View Edit Day > I Messages i> Week > pi Previous

Sort By > Find,.,

8 richb@Aus

Figure 3-1 OPEN LOOK-based Multimedia Mail and Calendar Manager Menus

3.3 The OpenWindows3,1 System

The OpenWindows 3.1 system is based on the Xll/NeWS server. It is a true merger of: • Version 11 of the ™ from the Massachusetts Institute of Technology • NeWS, the PostScript®-based window system Applications written for either Xll or NeWS are supported under OpenWindows 3.1.

User Interface Note - You can run a SunView™ application under OpenWindows by using the SunOS Binary Compatibility Package and the OpenWindows Binary Compatibility Package. However, be aware that there are limitationswhen running SunView applications in OpenWindows; these are discussed in the OpenWindows Version 3.1 User's Guide.

The OpenWindows Version 3.1 User's Guide describes all of the OpenWindows user features, including: • The OpenWindows Workspace and its Programs, Utilities, and Properties

menus

• Localization features, such as: • The language of the workspace and the DeskSetapplication windows and

menus • The time and numeric formats • Utilities in the Workspace such as: • Refresh for redrawing the screen • Save Workspace for saving the positions of applications and icons on your

screen • Help Viewer utility that displays lists of on-line Help Handbooks, providing introductory information to guide you through OpenWindows 3.1

3.4 The DeskSet Environment The DeskSet environment is a set of graphical, window-based, desktop applications that can be opened from the OpenWindows Workspace menu. See OpenWindows Version 3.1 DeskSet Reference Guideand Solaris 2.0 Using OpenWindows DeskSet Applications for details about using these DeskSet applications: • Audio Tool is an application that can record, play, edit, and control audio configuration settings. For example, you can attach the sound of a dog barking to a file, and then shift the barking up or down the melodic scale. • Binder is a tool for setting connections between files: applications to be started when a file is opened, print scripts and icons to be used by the , Print Tool, or Mail Tool DeskSet applications.

3-4 Solaris 2.1 Release Manual—December 1992 r-B • Calculator is a scientificand financial calculator tool that can perform a ^ ^ variety of mathematical functions. There are financial, logical, and scientific modes. You can store numbers in ten different memory registers and retrieve and replace them easily. You can also store up to 10 of your own functions and constants in the menus. • Calendar Manager is a time management tool. It allows you to display appointments and ToDo items for a day, week, month, or a year at-a-glance. You can schedule repeating meetings or events and have the calender send you reminders in several ways: beeping, flashing, and opening a pop-up window in the workspace. You can browse and edit other user's calendars, finding group timeavailabilityand making appointments for several people at once. You can assign security by saving an appointment for My Eyes Only. • Clock is an application that displays the time of day in a window or an icon. You can also use it as an alarm clock or a stopwatch. • Command Tool and Console are system interface tools that can be opened from the Workspace Program menu. The Command tool takes the default shell type from the /etc/passwd file. You can set the tools to use the Bourne shell, C shell, or Korn shell. The Console is used by the system to display messages sent by the operating system, the OLWM, and some applications. • File Manager represents hierarchical file systems visually, allowing you to drag-and-drop files into different directories by pointing with the mouse, and dragging icons where you want them. File manager shows you the organization of your files in a graphical tree. • Icon Editor is a graphics tool that allows you to create black-and-white or color icon images. You can use the Binder to display the icons in the File Manager. Developers can create cursors, glyphs, and icons for including in programs. • Multimedia Mail Tool is a network communication tool that allows you to send and receive mail and attach files of any type to messages without altering the file's original contents. For example, you can create an audio message with Audio Tool, or an image with the Snapshot Tool and then attach these messages to a mail message. • Performance Meter is a system performance tool that allows you to monitor many aspects of system performance: processor performance, network performance, and I/O performance.

User Interface 3-5 • Print Tool is an application that lets you print files, select different available printers, and see a list of print jobs waiting to print in the queue. • Shell Tool is a system interface tool that can be opened from the Workspace Program menu. You can use the shell tool to run UNIX scripts or start applications that are not part of the DeskSet. The tool takes the default shell type from the /etc/passwd file. You can set the tool to use the Bourne shell, C shell, or Korn shell. • Snapshot is an application that lets you take black-and-white, greyscale, or color snapshots of application windows, the entire screen, or regions of windows or the screen. The snapshots can be attached to mail messages using Multimedia Mail. • Tape Tool is a device-controlling tool that allows you to read information from and write information to tape drives. It is a user interface to the UNIX tar(l) command. • Text Editor is an interactive ASCII text editor. Using Text Editor you can create and read files, search for information, and cut-and-paste information in and between ASCII files.

3A.1 AnswerBook Document Viewer and Navigator The Solaris 2.1 AnswerBook is a document viewing system for on-line documentation. Using the AnswerBook utility, Solaris 2.1 documentation— including the reference manual pages—can be viewed online. Use of the AnswerBook Viewer is described in the OpenWindozvs Version 3.1 User's Guide. Two end user manuals, OpenWindows Version 3.1 DeskSet Reference Guide and OpenWindoius Version 3.1 User's Guide, are included on the Solaris 2.1 release CD. AnswerBook versions of the complete Solaris 2.1 documentation set can be viewed from the separately-purchased AnswerBook CD, or from a local or network hard disk where the CD has been copied (according to licensing restrictions). The AnswerBook utility has a Navigator window that lets you pull down menus and select or enter a topic. The window then displays a prioritized list of all references to the topic and tells where you can find the references in the document set.

3-6 Solaris 2.1 Release Manual—December 1992 The AnswerBook's Viewer window displays the pages of the documentation ^ ^ that you select in the Navigator. You can page forward or backward through manuals on the screen, or click a cross-reference box to display a different manual. The viewer has an OPEN LOOK-based GUI, making it an easy to use desktop application. The AnswerBook utility makes all documentation easily available to you with a few clicks of the mouse buttons. You can print out a part of any book on a PostScript laser printer.

3.5 System Interfaces System interfaces let you directly access the operating system. Shell tools are system interfaces that let you enter UNIX commands or start programs from a command line. System libraries are system interfaces that store routines accessed by programs. For more information about learning to use system interfaces and UNIX commands, see the SunOS 5.1 User's Guide.

3.5.1 Shell Tools The shell tools, opened from the Workspace menu, are the system interfaces you most commonly use. In a shell tool you can perform tasks such as: • Entering a UNIX command such as ls(l) to list a directory's contents • Executing a command such as Ipstat(l) to see the contents of the printer spooler • Writing a UNIX script to alias a series of commands with a shorter name (alias is on the csh(l) manual page.)

There are three shells available in the Solaris 2.1 environment: • The Bourne shell (/bin/sh) is the default UNIX-system command interpreter. • The C shell (/bin/csh)isa command interpreter with a C-language-like syntax and advanced interactive features. • The Korn shell (/bin/ksh) is an interactive shell for applications developers.

User Interface 3-7 The SunOS 5.1 User's Guide and the OpenWindows Version 3.1 User's Guide give you information about changing shell parameters such as its default position, size, and naming convention. SunOS5.1 Setting Up UserAccounts, Printers, and Mail describes defining a user's environment variables such as the default shell type.

3.5.2 UNIX Commands

The SunOS 5.1 system software and the ONC family of network protocols make up a powerful operating system and distributed environment. The SunOS 5.1 User's Guide provides information about using the UNIX commands and simple network services from the shell or command tool's command line. Basic tasks, such as listing, printing, copying, and moving files and directories, are described. The guide also tells you how to access your own or another's data and programs remotely across a network.

3.5.3 Using the Reference Manual Pages The SunOS 5.1 Reference Manual provides documentation about all system interfaces and UNIX commands. These pages (often called man pages or manual pages) may be useful for learning more about commands and interfaces, although they may seem a bit obscure to the naive UNIX user. The manual pages are a large body of documentation, divided into sections. There are sections for commands, library functions, file formats, and devices, for example. In this overview, a manual page reference appears in the courier font, followed by parentheses, containing the manual page section: man(l). The man command lets you learn about any UNIX command or system interface documented in the manual pages. You can learn about the man command in any of the following ways: • Refer to the printed Section 1 of the SunOS 5.1 Reference Manual. • Use the AnswerBook Viewer to display the man command. (You must have the Answer Book CD to do this.) • Use the on-line manual pages and run the man command: a. Open a Command tool from the Workspace Programs menu.

3-8 Solaris 2.1 Release Manual—December 1992 b. Type the following at the command line:

man man The man command displays the manual page about the command or interface you enter. In this case it displays information about itself.

3.5.4 Editing and Formatting Files with UNIX Tools The Solaris 2.1 software provides traditional UNIX tools for simple and sophisticated text editing and formatting, even though many applications are available for the OpenWindows 3.1 environment. The text editors vi(l), ex(l), edit(l), and ed(l) are described in SunOS 5.1 Editing Text Files. The vi editor is the most commonly used screen-oriented editor. It allows you to edit and save text files. The ex, edit, and ed line editors allow you to modify one line of text at a time. A second set of programs, awk(l), sed(l), grep(l), fgrep(l), egrep(l) and tr(l) are described in SunOS 5.1 Editing Text Files. These programs can show you information in files, with or without changing their contents. Two text processing utilities are available in the Solaris 2.1 environment: nroff(l) formats text for typewriter-like terminals, and troff(l) formats text for output devices that have a variety of type styles, point sizes, and drawing capabilities. The nroff and troff text processing utilities are described in SunOS 5.1 Using nroffand troff. There are a variety of formatting macros (commands and scripts) for formatting text into tables, mathematical equations, and a variety of typesetting formats. These tools are described in SunOS 5.1 Formatting Documents.

3.6 User Demonstration Programs Several demonstration programs (demos) are available in the Solaris 2.1 Environment. OpenWindows 3.1 demos reside in the demo subdirectory of the OpenWindows home directory, and can be run from the Workspace Programs

User Interface 3-9 menu. (The path to the OpenWindows home directory is stored in a variable $OPENWINHOME.) The multimedia demos, residing in/usr/demo, are documented in the manual pages and in SunOS 5.1 About Sound.

Table 3-1 Solaris 2.1 Multi-Media Demos

Demo command Description gaintool Controls the volumeof all audio programs running radio Lets receive audio messages broadcast by other workstations soundtool supports recording, playing, and simpleediting of audio signals

O

3-10 Solaris 2.1 Release Manual—December 1992 System Administration

The SunOS 5.1 System Software and the ONCfamily of network protocols form the foundation for enabling distribution of applications and data across networks in the Solaris 2.1 environment. As a system administrator, you can manage users, data, programs, and resources across Solaris 2.1 networks. This chapter tells you how system administration is different in the Solaris 2.1 environment and shows you where to find the detailed information you need to perform various system administration tasks.

4.1 Solaris 2.1 System Administration Enhancements System administration benefits of the Solaris 2.1 release are the result of enhancements to the SunOS 5.1 system software and the ONC networking protocols, including the following: • Administration Tool simplifies: • Software installation and configuration • Management of network information • Heterogeneous systems management • Automated Security Enhancement Tool (ASET) enables administrators to easily increase a system's security. • Dynamic kernel and loadable modules simplify: • Kernel management for heterogeneous systems • Adding new devices to running systems • Adding device drivers without rebuilding the kernel

4-1 • Network Information Service Plus (NIS+) simplifies: • Creation of subdomains • Security assignment to network resources

4.2 Migrating to SunOS5.1 System Softwarefrom SunOS4.xSystem Software The Solaris 2.1 environment is based on SunOS 5.1 system software. Detailed migration information can be found in the Solaris2.1 Transition Guide, in the SunOS BinaryCompatibility Package Guide - Solaris 2.1, and in the SunOS/BSD Source Compatibility Package Guide- SunOS 5.1. Some of the differences you will find migrating to the SunOS 5.1 environment from a SunOS 4.x environment are the following: • Solaris 2.1 software can be installed only from a compact disc. • Solaris 2.1 software media is distributed in packages and clusters. This facilitates installing the software to support typical environments for users or developers without requiring a custom installation. • Device naming conventions have changed; disks, for example, are now named as follows:

cOtOdOsO

controller target disk slice (partition)

Figure 4-1 Device naming convention

Note that on some disks (xy, xd) there is no target component; such disks have names like cOdOsO. • The file system directory structure has changed; note the following changes, for example: • The kernel and its related modules are stored in /kernel/unix, replacing /vmunix. • The /opt directory is a new directory. It is created during installation for storing or mounting optional software applications. • The /dev directory is hierarchy of device files. • The /usr directory has been restructured. • The terminfo database replaces /etc/termcap.

4-2 Solaris 2.1 Release Manual—December 1992 4

• The /etc/vfstab file replaces /etc/fstab. • The /var/mail directory replaces /var/spool/mail. • The /etc/lp directory replaces /etc/printcap. The SunOS 5.1 kernel is dynamic; you no longer rebuild or edit the kernel configuration file. The kernel can automatically load necessary drivers for new devices added to the system. The Solaris 2.1 startup and shutdown procedures have changed: • The init(lm) command uses different scripts for each run level. • The shutdown command does not support any of the options availablein SunOS 4.1 systems. • The fastboot(lb) and fasthalt(lb) commands are onlyavailable using the SunOS/BSD Source Compatibility package. Many commands have changed, as well as the output from commands. Scripts may need to be rewritten. SunView applications are supported only through the SunOS Binary Compatibility Package, discussed in "Source and Binary Compatibility Packages," below. NIS+ replaces the NIS naming service; however NIS+ and NIS can share data, making the transition easy.

The Administration Tool has three OPEN LOOK-based tools: • Database Manager • Host Manager • Printer Manager The print management commands have changed. Terminals and modems are controlled through the Service Access Facility (SAP) and System Access Controller (SAC); the /etc/ttytab file is gone.

System Administration 4.3 4.2.1 Source and Binary Compatibility Packages The Solaris 2.1 environment provides two packages to ease the transition and migration to the SunOS 5.1 system software. If you use these packages, remember that they are a temporary transition aid only, for the following: • Developers who want to compile SunOS 4.1 application source code to run in the Solaris 2.1 environment • Users who want to run SunOS 4.1-based application binaries that have not yet been ported to run in a SVID-compliant environment such as the Solaris 2.1 environment.

The SunOSIBSD Source CompatibilityPackage The Solaris environment provides the SunOS/BSD Source Compatibility Package. If this software package is installed, it supports some of the SunOS/BSD commands that are not included in, or that have changed in the SunOS 5.1 system software. For information on installing this package, see the Solaris2.1 System Configurationand Installation Guide. The SunOSfBSD Source Compatibility Package Guide- SunOS 5.1 tells you about the package.

The SunOS Binary Compatibility Package SunView and other applications written under SunOS 4.1^ require the SunOS Binary Compatibility Package and the OpenWindows Binary Compatibility Package. The SunOS/BSD Source Compatibility package must be installed to use the SunOS Binary Compatibility Package. For information about this package see the SunOS Binary Compatibility Package Guide- Solaris2.1. See the Solaris 2.1 System Configuration and Installation Guideto find how this package is installed.

1. References to Ihe "SunOS4.1" release/environment include the SunOS 4.1 release and all subsequent 4.1 releases, e.g., 4.1.1,4.1.1 RevB,4.1.2,and 4.1.3

4-4 Solaris 2.1 Release Manual—December 1992 4.3 System Configuration andSoftware Installation The Solaris 2.1 System Configuration and Installation Guide tells you how to install Solaris 2.1 from a local CD, or how to configure a media host to install from a remote CD. The guide gives step-by-step instructions for using Quick Install or for performing a custom installation. The following installation scenarios are described: • Installing Solaris 2.1 on a Standalone Machine • Installing Solaris 2.1 on a Server • Installing Solaris 2.1 on a Dataless Client • Booting Solaris 2.1 and Configuring the System The Solaris 2.1 software is separated into discrete software packages and clusters. Software packages and clusters are groupings of files for supporting typical software installations. The Quick Install uses several packaging schemes for different types ofuser groups. The Solaris 2.1 System Configuration and Installation Guide listsall of the clusters and packages, and notesif thereare dependencies between them; this allows you to make decisions about custom installationsand select only software that you choose.

Installing Optional Software Packages There are three methods for adding or removing software packages once the Solaris 2.1 software is installed: • Command-line utilities (pkgadd(lm) and pkgrmdm)) • Character user interface program ((l) • OPEN LOOK interface program (swintool(l) See the Solaris 2.1 System Configuration and Installation Guide for usage descriptions for all three methods. See the Solaris 2.1 Software Manager Administrator's Guide for complete instructions for using swmtool.

4.4 Configuring System and Networks The Solaris 2.1 System Configuration and Installation Guide provides the information you need toconfigure systems onyour network. The guide tells you about using the Administration Tool's HostManager to introduce the following configurations to the network:

System Administration 4.5 • Standalone Systems • Diskless Systems ri • Dataless Systems The SunOS 5.1 Administering NIS+and DNSmanual tells you how to configure an NIS+ root master server, and about the server compatibility modes: • NIS+ server answering NIS and NIS+ client requests • NIS+ server answering NIS+ client requests

4.4.1 How-To Book on System Administration For abbreviated instructions on many system administration tasks, the Solaris 2.1 documentation set offers the SunOS 5.1 How-To Book: Basic System Administration Tasks. It is a quick reference, designed to fit into a pocket or be easily carried. The How-To book has simple, quick reference instructions for tasks such as: • Adding users • Checking disk usage • Mounting file systems • Setting up printing

4.5 Administering Systems and Networks Once you have the Solaris 2.1 release installed you can take advantage of the SunOS 5.1 system software features that simplify system administration and provide a greater variety of control for specific applications and installations. This section is an overview of the features.

4.5.1 Dynamic Kernel In the SunOS 4.x environment, after installation you had to edit the kernel _ configuration file to disable references to devices or services not required by a particular system, and then rebuild the kernel. In the Solaris 2.1 environment this is not necessary: the kernel is dynamic. It loads drivers or other modules into memory when devices are accessed; this is called autoconfiguration. You no longer need to manually rebuild or reconfigure the kernel after installation or to add and delete drivers. Autoconfiguration provides benefits such as:

4-6 Solaris 2.1 Release Manual—December 1992 • Saves time and effort by eliminating the need to rebuild kernels when adding new devices to the system • Saves time by eliminating the need to reboot a machine each time a new driver is loaded • Improves performance by eliminating unnecessary code bound into the kernel for devices that are not frequently accessed.

Adding Devices or Kernel Modules During Boot At boot time, the system does a self-test and checks for all devices that are attached to it. After you add a new device to the system, use boot -r to reconfigure the kernel. A reconfiguration script is run to load all the device drivers listed in the modules directories and create the corresponding hardware nodes. You can also use boot -a to interactively add drivers or modules to the system, but you should be aware that if you use boot -a you will be asked to provide a number of other boot parameters, including what to boot and where your root file system is, etc. Paths to the system files and kernel modules are stored in /etc/system. When the system boots, it reads the information in /etc/system to determine which modules to load. Youcan specify a different path by using the MODDIR syntax of the system(4) file or by using boot -a. For more information about boot(lm) and configuring the kernel, see the SunOS 5.1 Routine System Administration Guide, Solaris 2.1 Transition Guide, and SunOS 5.1 Adding and Maintaining Devices and Drivers.

4.5.2 Initializing and Changing Run Levels The kernel has eight run levels; run levels are software configurations that invoke a selected group of processes. When a system boots, the init(lm) command reads /etc/inittabto determine if a run level has been specified.

System Administration 4-7 If a run level is not specified, the system prompts you to enter one. The levels are briefly described in Table 4-1; for more information see the SunOS 5.1 < l Routine System Administration Guide.

Table 4-1 Run Levels

Level Description

0 Power-down state 1 System-administrator state (single-user) 2 Multiuser state (resources not exported) 3 Multiuser state; the default state (resources exported) 4 Alternative multiuser state (currently unused)

5 Software reboot state (unused)

6 Reboot S or s Single-user state

4.5.3 Displaying System Definitions When a system boots, configuration information is written to a file which may be examined by using the sysdef(lM) command. It lists all hardware devices as well as pseudo devices, system devices, loadable modules, and the values of certain kernel-tunable parameters. See the SunOS 5.1 Routine System Administration Guide for more information.

4.5A Administration Tool (admintool) The Solaris 2.1 environment begins a transition to GUI tools for performing system administration. The Administration Tool (admintool) that runs under the OpenWindows environment includes Database Manager, Host Manager, and Printer Manager.

Database Manager Database Manager is an interface to the NIS+ databases. Each database has a File, View, and Edit menu. You can list all entries in the databases, search for, or display lists of entries that match a value. For information about using the

4-8 Solaris 2.1 Release Manual—December 1992 Database Manager, refer to the SunOS 5.1 Routine System Administration Guide, SunOS 5.1 Setting Up User Accounts, Printers, and Mail, and SunOS 5.1 Administering NIS+ and DNS.

Host Manager Host Manager is a tool that allows you to bypass the installation screens and expedites the process of adding new machines to a network. Host Manager also centralizes the task of introducing new machines to the network. If you have several machines to install or upgrade. Host Manager lets you introduce them all from a single workstation at the same time. To learn more about using Host Manager, see Solaris 2.1 System Configurationand Installation Guide.

PrinterManager Printer Manager is an OPEN LOOK printer server and print client installation and configuration application for the bundled SVR4 LP print subsystem. Printer Manager makes it trivial to connect your workstation to an existing network printer and equally trivial to create a new print server. Connections to 4.x BSD printer servers are a simple menu choice in the tool. By registering the printer server and printer name with NIS+ any Solaris 2.1 client can browse the available printers from a list, thereby avoiding the requirment for knowing the printer name and server name in advance. See SunOS 5.1 Setting Up User Accounts, Printers, and Mail for details about Printer Manager. Also see Section 4.6.1, "Setting Up Printers and Printing,"below.

4.5.5 Securing Systems and Networks Security is an important part of administering a single system or a large network. To preserve the integrity of data and programs and to ensure that _ only certain users can access sensitive information, the Solaris 2.1 environment provides several security features. This section tells you what is available and where to look to learn how to implement the level of security that is appropriate for your system.

SystemAdministration 4-9 admintool Security

admintool uses secure RFC to control access to its services and administrative tools. Database Manager and Host Manager. You can use either System (UNIX) authentication or DES authentication to verify user identities. All users can run admintool to retrieve administration information. You can determine which users can update the information by adding them to the sysadmin group (Group ID 14) in the group database. See SunOS 5.1 Administering NIS+ and DNS for information about setting up admintool security.

The Shadow Password File You secure access to your system by using the shadow(4) password file, /etc/shadow. The shadow password file improves security through password aging and login controls. The file may only be accessed by root. For more information, see SunOS 5.1 Administering Security, Performance, and Accountingand SunOS 5.1 Setting Up User Accounts, Printers, and Mail.

ASET (Automated Security Enhancement Tool) ASET is a utility that improves security by allowing you to check system file settings, including:

• Permissions • Ownership • File contents ASET warns you about potential security problems and, when appropriate, sets the system files permissions automatically, according to the security level specified. For more information see SunOS 5.1 Administering Security, Performance, and Accounting.

Advanced Security Options The following security features are for particular installations and uses. These are optional and advanced uses of security. For detailed information on any of these topics see SunOS 5.1 Administering Security, Performance, and Accounting.

4-10 Solaris 2.1 Release Manual—December 1992 — Authentication is based on secure RFC (Remote Procedure Call), a network * ^ service that enables communication between two remote programs. The network environment offers two authentication modes:

• UNIX authentication (traditional) • DES authentication The network environment contains the requirements to support an optional authentication—the Kerberos authentication service.

4.5.6 Setting Up Network Communication Services The Internet Protocol Suite (IP) is a set of formal rules governing the transmission communication of hardware and software in a network environment. SunOS 5.1 Administering TCP/IP and UUCP provides the conceptual framework for the use of IP in the ONC networking environment. Complete instructions for setting up and administering TCP/IP based networks is presented, as well as the following: • Setting up RFS over TCP/IP • Running uucp(lc) over TCP/IP

4.5.7 Administering Network Information Services SunOS5.1 Administering N1S+ and DNS discusses Network Information Services Plus (NIS+), the network information service for Solaris networks. NIS data can be shared with NIS+ and the services are partially inter-operable. All commands and functions that use NIS are prefixed by the letters yp, as in ypmatichd), ypcat(l), and yp_match(3N). Commands and functions that use the NIS+ version are prefixed by the letters nis,as in nismatch(l), nischown(l), nis_list(3N), and nis_add_entry(3N). Some of the advantages of using the N1S+ service are: • N1S+ shares data with the NIS environments, making migration smooth. • Domains, or groups of systems, are hierarchical; you can create subdomains. • You can use the name service switch to prioritize which name service the system tries to use first—N1S+, NIS, or DNS. • You can use the Database Manager to make changes to the NIS+ tables: • Adding information

System Administration 4-11 • Modifying information • Deleting information • Searching information

NIS+ NetworkSecurity The NIS+ service provides a flexible security model for name service entries. You can assign UNIX-style permissions (read, write, execute) for every item in the NIS+ table. See SunOS 5.1 Administering NIS+ and DNS for information about NIS+ security.

4.6 Administering Users and Environments admintool makes adding new users to your distributed computing environment easier. You use the Host Manager to add entries to the network wide (NIS+) passwd and auto_home tables. You use UNIX commands to allocate a home directory for the new user, copy skeleton initialization files into it, customize them, and make the home directory available to the new user from any machine on the network. These procedures are described in SunOS 5.1 Setting Up User Accounts, Printers, and Mail. Many recommendations for adding users are unchanged from SunOS 4.x or Solaris 1.0. For example: • Both user and group id numbers below ICQ are reserved for vendors and independent software vendors. • User and group id numbers and names should be unique across the entire organization, and old ids should not be reused. • Passwords should not be words in the dictionary. • You may choose the user shell site-wide or let each user choose his or her own shell. Two things about adding users are significantly different in Solaris 2.1 • Each user has one home directory which is accessible from anywhere on the network (/export/home/) rather than separate home directories on different machines (/home//). The use of /export/home/ was an option with the Solaris 1.0 release; it is the default choice in the Solaris 2.1 environment.

4-12 Solaris 2.1 Release Manual—December 1992 • Password hiding and aging were always available. However, with Solaris 1.0 it was necessary to add separate software such as SunShield ARM to move encrypted passwords out of /etc/passwd to /etc/shadow, and to ask users to change their password periodically. These functions are included in the base version of Solaris 2.1.

4,6.1 Setting Up Printers and Printing SunOS 5.1 Setting Up User Accounts, Printers,and Mail describes the Ip print service software used to set up and administer printing and printers. The Ip service consists of several daemons, or processes that monitor system work, a hierarchy of configuration files in the /etc/lp directory, and a set of administrative commands such as shown in Table 4-2.

Table 4-2 Ip Administrative Commands Command Description Ip -d Used to submit print requests Ipstat -d Used to look at the print queue, or jobs waiting to print cancel Used to delete jobs from the print queue

SunOS 5.1 Setting Up User Accounts, Printers, and Mailprovides a complete description of printing topics such as: • Print control forms, print wheels, and interface programs • Setting up network print services • Using a set of PostScript®, device-independentfonts and filters

Note - Ip replaces the Ipr commands and the /etc/printcap file. TEX, pscat (C/A/T) and raster image filters are not available in the Solaris 2.1 environment.

4.6.2 Setting Up Mail A mail configuration requires three elements that can be combined on the same system or provided by separate systems:

• At least one mail server •A mailhost

System Administration 4-13 • Mail clients _ When you want users to be able to communicate with networks outside your subnet, you must also have a relay host or a gateway. In addition to explaining how the sendinail(lb) mail service works and defining all of the mail concepts, the SunOS 5.1 Setting Up User Accounts, Printers, andMail provides step-by-step instructions for setting up the following: • Relay hosts • Gateways • Mailhosts • Mail servers • Mail clients

4.6.3 Setting Up Terminals and Modems The Service Access Facility (SAP) provides uniform access to systemservices. SunOS 5.1 Adding and Maintaining Devices and Drivers discusses the SAP tasks such as:

• Adding, removing, and modifying terminalline settings • Adding, enabling, disabling, or removing a port monitor • Printing information from administrative database files • Using and administering port monitors • Adding, enabling, disabling, and removing listen(lm) port monitors In the SAP, port monitors detect activity at the ports. The SystemAccess Controller (SAC) is the SAP controlling program. Thesystem software has two port monitors, managed by the SAC: • tt:ymon(lm) is a serial port monitor. One ttymon processcan monitor any number of serial ports. • listen (Im) is a general purpose network monitor that provides connection services regardless of a network's communications protocol.

Note - ttymon replaces the command, getty(lm), but these commands are symbolically linked to maintain compatibility with applications that invoke getty. The /etc/ttytab file is replaced by SAC functionality.

4-14 Solaris 2.1 Release Manual—December 1992 ^ 4.6.4 Setting Up the OpenWindows 3.1 Environment Instructions for installing the OpenWindows 3.1 software packages are included in the Solaris 2.1 System Configuration and Installation Guide. For information about mounting the OpenWindows server and setting up the environment, see the OpenWindows Version 3.1 User s Guide. It contains information such as; • Troubleshooting OpenWindows • OpenWindows manual pages • Running SunView applications in OpenWindows • DECnef^'^ Internetworking

ToolTalk Service The ToolTalkTM service, an interprocess-message service used by developers, is automatically installed along with any software cluster containing the OpenWindows software. The ToolTalk 1.0.2 Setup and Administration Guide describes the ToolTalk service and provides instructions for tasks such as administering the service and its databases, files, and objects that are referenced by the ToolTalk messages.

4.6.5 Administering Realtime Applications The greatest improvement inperformance for realtime applications comes asa result ofthe implementation ofa new scheduler. The standard UNIX scheduler is not suitable for realtime applications. Realtime applications require a scheduler in which process priorities are never changed, andare taken as absolute. The SunOS 5.1 Realtime Programmer's and Administrator's Guide and SunOS 5.1 System Services provide information on the SunOS 5.1 process scheduler and tells you about administering workstations that run realtime applications.

4.7 Administering Files andFile Systems This sectionintroduces Solaris 2.1 file system management technology and resource sharing. Solaris 2.1 resource sharing products are distributed file systems. This means that a computer can distribute its file systems on the network, allowing client touse the file systems asifthey were local. The resourcesharing products offered by the Solaris 2.1 environment are:

System Administration TheSun NFS® file system for sharing files across a network. NFS was _ developed by Sun Microsystems and adopted by SVR4. You can read and write NFS files anywhere on the network (provided you have permission to do so). The Remote File Sharing (RFS) file system, which allows you toshare network resources across UNIX platforms. This file system is an AT&T System Vproduct that allows you to access remote resources as though the resources were available locally. The Distributed File System (DFS) administration package provides a set of commands thatadminister both the NFS and RFS file systems. The Automounter is a network service which allows a user to read and write network file systems by automatically mounting them, eliminating the need to issue a mount command.

4.7.1 Migrating to Solaris 2.1 File Systems With theincorporation ofSVR4 features, many system administration files and file names have changed. If you already have system administration experience ina SunOS environment, use the Solaris 2.1 Transition Guide. It provides a table of commands, libraries, system calls, and file names so that you can readily see which of these interfaces has been changed in theSolaris 2.1 environment.

4.7.2 Setting Up File Systems During installation, the SunOS 5.1 file system is installed onto the disk. The following table lists the default set of directories; your system may have a combination ofthese defaults. For more information about the directory hierarchies and the file systems mounted on each directory, see the SunOS 5.1 Routine System Administration Guide.

Table 4-3 Default Directories and Mount Points

Name Description / The root, or base, directory toall file systems and directories /etc The directory containing system-specific files and databases /usr The mount point for the sharable /usr file system /home The mount point for a user's home directories

6 Solaris 2.1 Release Manual—December 1992 _ Table 4-3 Default Directories and Mount Points (Continued)

Name Description /var A directory containing system files and directories that are likely to change or grow over the life of the local system /kernel The directory containing UNIX and its related modules and drivers /opt The directory where you install optional software applications /tmp A temporary directory; it is cleared each time the system boots /proc The directory containing a list of active system processes, by number

UnderstandingFile System Types File system types support different media and storage devices, such as different hard disks, remote file systems, and compact discs. Data is stored on these devices by the operating system in a way that maximizes the retrieval of the data. A file system is a grouping of files stored in a particular file system type. For a completelist of file systemsby file system type, see the SunOS 5.1 Routine System Administration Guide. The Solaris 2.1 environment supports three file system types:

• Disk-based • Distributed (Network) • Pseudo

Note - The SVR4 s5 file system type is not a supported file system. For information about file systems and compatibility see the Solaris 2.1 Transition Guide.

Disk-basedFile Systems Disk-based file systems are file systems that are structured for a particular hard-disk format.

There are three disk-based file systems: • The (UFS) is the default file system for local hard disks. The UFS combines the BSD Fast File System (BSD FFS) and the 4.3 Tahoe Fat Fast File System features to provide the following: • File system locking

System Administration 4-17 • Data blocks as large as 8K bytes • Support for new-generation hard disks by de-referencing variable-length list structures • Unlimited inodes and cylinders per cylindergroup for disks • The High Sierra File System (hsfs) is a file system for compact disc (CD- ROM) drives. It supports the High Sierra CD-ROM file formats and the ISO 9660-88 CD-ROM file formats (using the Rock Ridge extension). • The PC file system (pcfs) is a file systemfor accessing data written for personal computers running versions of the DOS operating system.

Pseudo File Systems Pseudo file systems are virtual or memory-based file systems. These file systems are primarily used for storing system level information and are rarely accessed directly by users, but rather by a UNIX command which returns system information. The most commonly used of these pseudo file systems for system administration are; • The temporary file system, (7), improves system performance by storing, or caching, local and network disk access in memory, tmpf s information is temporary; it is lost bothwhen the power is turned off to the system, or when you restart it. • The process file system, proc(4), contains information about executing kernel processes. Standard system call interfaces are used to access the /proc files: open(2), close(2), read(2), write(2) and ioctl(2). • Theloopback file system, lofs(4s), allows virtual file systems to be created, providing convenient paths to files through mounted directories using alternate pathnames.

Distributed File Systems Distributed file systems are actually network services forsharingfiles and resources across a network. SunOS5.1 Administering NFSand RFSdescribes the two Solaris 2.1 distributed file systems in detail:

• NFS

RFS

4-18 Solaris 2.1 Release Manual—December 1992 Distributed File System (DPS) Administration DFS administration provides generic commands that call NFS or RFS specific commands. DFS eliminates the need to learn sets of corresponding commands for each file system type. For example, DFS Administration provides the share command; this single command enables you to both export a resource over NFS and advertise a resource over RFS.

Before DFS administration, to make a local resource available on NFS you had to export it, using the exportfs command. To make a resource available on RFS, you had to advertise it, using the adv command. For more information about DFS administration and resource sharing commands see SunOS 5.1 Administering NFS and RFS. /virtual node (VFS/vnode) file management is implemented in the operating system and network environment. VFS is a set of interfaces that can access different file systems. A vnode is any file, belonging to any file system type, that is accessed by the kernel. When you can access different file systems using standard DFScommands, the commands use the virtual file system interface. Some of the system administration commands and files related to the implementation of the virtual file system are shown in Table 4-4.

Table 4-4 DFS Commands and Files

Name Description

/etc/vfstab (4) Replaces the /etc/fstab file

share(lm) Replaces the exportfs and adv commands

/etc/mnttab(4) Replaces the /etc/mtab file

System Administration 4-19 specific to a file system type must be performed by file-system- "^dependent routines. For example, to check the consistency of specific file ^ systems you must use the -F flag with f sck, the file system check command. Table 4-5 listssome of the DPS commands that require the -F flag. Table 4-5 DPS Commands Using file system Flags

Name Description mount(lm) Requires the -F flag to specify file system type. mkfs(lm) Requires the -F flag to specify file system type. sharedm) Requires the - F flag to specify file system type. fsck(lm) Requires the -F flag to specify file system type.

The Automounter file systems shared through NFS canbe mounted using a method called automounting. The automount(lm) program runsin thebackground, mounting and unmounting remote directories on an as-needed basis. Mounting files with the automounterdoes not exclude using the mount command.

Note -A diskless machine must mount /usr and /usr/kvm through the mount command and the /etc/vfstab file. Never use the automounter to mount /usr/share.

4-20 Solaris 2.1 Release Manual—December 1992 Software Development inthe Solaris 2.1 Environment

This chapter describes theSolaris 2.1 development environment features. For applications developers, the OpenWindows 3.1 environment and the ToolTalk network-spanning interapplication communication tool form an object- oriented, application programming interface (API). For systems developers, the SunOS 5.1 system software provides multitasking, multiprocessing, and multithreading. The ONC+ distributed network protocols provide networking transport independence and the ability to build distributed computing applications.

5.1 Advantages ofthe Solaris 2.1 Development Environment Some important goals and advantages of the Solaris 2.1 development environment are: • Source application portability • Binary application portability • Networking transport independence

5.1.1 Source Portability The Solaris 2.1 development environment supports source portability across SPARC platforms and enhances portability among other architectures that can run implementations of UNIX conforming to the System VApplication Binary

5-1 Interface (ABI). Without source application portability, you previously had to port and often rewrite an application to make it available for both a different platform and UNIX implementation.

5.1.2 Binary Portability Binary application portability is achieved when you can build an application once, and it will run on multiple versions of: • System architectures employing the same processor architecture—SPARC, for example • Implementations of UNIX—SunOS, SVR4, and BSD, for example Binary applications that can be compiled once, packaged, and offered in the marketplace are called shrink-wrapped applications. Under the Solaris 2.1 environment, software developers writing for SPARC platforms can be assured that their applications can be ported to other platforms conforming to the _ System V Application Binary Interface (ABI), thereby shortening the time to bring shrinkwrapped applications to the market. A systems developer can have confidence in providing fine-tuned and customized kernel interfaces and device drivers which support portable applications. This makes way for supporting a larger variety of shrinkwrapped applications, running under operating systems customized for particular platforms. Applications developed under Solaris 2.1 can more easily be made available to users who had previously been limited by hardware-dependent operating systems.

5.1.3 Networking Transport Independence The Solaris 2.1 developer environment is based on the ONC+ family of network protocols, a technology for connecting large heterogeneous networks. The theme of ONC-i- networking is transport independence: the ability for an application to perform its work without being tailored to a specific, underlying f A transport protocol. As a network developer writing applications under the Solaris 2.1 environment, you can be free of coding the details of specific protocols and address formats into applications. The ONC+ and services is designed to be independent of operating systems, computer architectures, and network transport protocols. It provides transparent access to network-based data and computing resources.

5-2 Solaris 2.1 Release Manual—December 1992 f-t Remote Procedure Call (RFC) in the ONC+ platform is a set of operating system independentoperations for executing procedures on remote systems over a network. Based on the procedure call mechanism familiar to programmers, RFC provides a logical, client-server communication structure that transparently handles low-level interprocess communication details. The communications layer underneath the ONC+ platform. Transport Layer Interface (TLI), makes a protocol-independent enhanced RFC, allowing RFC programs to run across multiple network transports, for example TCF/IF or OSI. The enhanced transport independent RFC is TI-RFC. ExternalData Representation (XDR) in the ONC+ platform provides an architecture independent method of representing data, resolving differences in data byte ordering, data type size, representation and alignment. Applications that use XDR may exchange data across heterogeneous hardware systems.

5.2 Differences BetweenSunOS 5.1 Systems and SunOS 4.x Systems If you are familiar with previous SunOSsystem interfaces, the Solaris 2.1 Transition Guide will support your migration to the Solaris 2.1 environment from earlier versions of the SunOS system software. Some of the important differences between the SunOS 4.x and SunOS 5.1 systems include: • Development of SunView applicationsis no longer supported. However, the SunOS Binary Compatibility Fackage and the OpenWindows Binary Compatibility Fackage together allow a SunView application to run until it is ported for the SunOS 5.1 system. Application requirements for taking advantage of the compatibility packages are listed in Section 5.6.11, "Using the SunOS Compatibility Fackages." • Device drivers must be revised to comply with the DDI/DKI interfaces documented in Section 9 of the manual pages. • ANSI C is the primary Solaris 2.1 programming language. • The C compiler is not part of the Solaris 2.1 release. • Device naming conventions have changed. • The file system directory hierarchy has changed.

Software Development in theSolaris2.1 Environment 5.3 5.3 Solaris2.1 Standards and Specifications This section presents the key standards and specifications to which the Solaris 2.1 environment complies. They are introduced in alphabetical order. For detailed information about conformance to standards and specifications, see the Solaris 2.1 Standards Conformance Guide. Standards are specifications that are approved by a recognized organization such as: • Institute of Electrical and Electronics Engineers, Inc. (IEEE) • International Organization for Standardization (ISO) • American National Standards Institute (ANSI) Specifications are widely accepted requirements documents used in the computer industry, such as: • The System V Application Binary Interface (ABI) • The System V Interface Definition, Third Edition (SVID)

Note - The overviews below do not replace any documents that explain these standards and specifications. For more information about a particular standard or specification, refer to the document that describes it.

Standards

American National Standards Institute X3.159-1989 (ANSI C) defines the C language program execution environment, syntax, semantics, library routines, and headers. American National Standards Institute / Institute of Electrical and Electronics Engineers (ANSIflEEE 754) defines a floating point standard that is uniform across simple rational operations and complicated operations such as remainder and conversion between formats. Federal Information Processing Standard Publication 158: The UserInterface Component of the Applications Portability Profile (FIPS PUBS 158) addresses a standard set of tools for developing user interfaces for the Federal community. FIPS 158 is based upon the X Window System developed by Massachusetts Institute of Technology (MIT). The X Window System assumes a client/server model of distributed computing and user interface applications based upon bit-mapped graphic displays.

5-4 Solaris 2.1 Release Manual—December 1992 IEEE Std 1003.1-1990 Portable Operating Systems Interface (POSIX)—Part 1: System Application Program Interface [C Language] is an industry recognized standard adopted by ISO. POSIX defines source-code level requirements for application portability. The standard defines application program interface (API) issues such as C language functions and headers dealing with files, processes, and other non-administration application interfaces. International Standard: Information processing — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet No. 1 (ISO8859-1) specifies a set of up to 191 graphic characters identified as Latin alphabet No. 1, and the coded representation of each of these characters using a single, 8-bit byte. X Window System Protocol, MIT Consortium Standard, X Version 11, Release 4 (X11/R4) is a standard which defines the protocol formats for the Xll window server. International Standard: Information Processing — Volume and File Structure of CD- ROMfor Information Interchange — First Edition (ISO 9660-88) specifies the file system structures for CD-ROM drives. This standard, along with the Rock Ridge Extensions proposal, defines the support for the UNIXfile system format on CD-ROM drives.

Specifications Data Link Provider Interface (DLPI), a networking specification, documents a transport independent, STREAMS-based, kernel-level interface. The DLPI enables a data link service application to access and use any of the DLPI conformant data link providers without having specific details of the provider protocol coded into the application. At the link level of the ISO Model Network Service Layers, the system complies to the DLPI specification. OPEN LOOK Graphical User Interface Functional Specification defines the types of objects a user sees on the screen in an OPEN LOOK-windowing environment, and the basic conventions for how users work with those objects. The OPEN LOOK GUI design is not dependent on any particular hardware or operating system; it is device independent. You can easily port applications written to this specification across systems that support SVID compliant UNIX implementations, and the applications retain the OPEN LOOK GUI to which a user is accustomed.

SoftwareDevelopmentin the Solaris2.1 Environment 5-5 Rock Ridge Interchange Protocol is a proposal for UNIX extensions of the System Use Sharing Protocol (SUSP). This specificationdefines the UNIX file system semantics in the ISO 9660 CD-ROM file system, allowing an ISO 9660 formatted CD-ROM to have the attributes of a normal UNIX file system. SPARC International Conformance Definition 2.1 fSCD) defines a set of interfaces that must be provided in platforms implementing SPARC processors. SCD 2.1 provides both source and binary compatibility information, encompassing the generic ABI and the SPARC Processor Supplement documents. System VApplication Binary Interface (ABI) specifies a system interface for compiled applications. It defines a standard binary interface to support applications on systems that implement, or have operating systems compliant with the System V Interface Definition, Third Edition (SVID). Solaris 2.1 software is a SVID-compIiant operating system. The ABI is a family of specifications that has processor-independent and processor-dependent interfaces. • Processor-independent interfaces are common to all SVID-compIiantsystems. These interfaces make up the generic ABI. The ABI interfaces for software installation, file formats, and libraries are examples of processor- independent interfaces. • Processor-dependent interfaces are specific to a particular computer processor, such as the SPARC processor. The ABI interfaces for data representation, address space, and dynamic linking tables are processor-dependent. The ABI provides important advantages for developers: • The ABI completely and explicitly defines all aspects of binary interfaces. Therefore, by complying to the ABI, it is easier to make applications adapt to widely differing platforms. • Many architectures support generic ABI compliance. • You can run an application that complies with both processor-dependent and processor-independent ABI interfaces without recompiling it on any ABI platform of the same computer processor architecture. This supports and encourages the development of shrinkwrapped UNIX applications. System V Application Binary Interface SPARC Processor Supplement (SPARC ABI) defines the binary interface components specific to the SPARC platform. Applications that you write to comply with the SPARC ABI will run on all SPARC architectures.

5-6 Solaris 2.1 Release Manual—December 1992 System VInterface Definition, Third Edition (SVID) specifies an operating system environment that allows you to createapplications that are independent of any particular computer hardware. The SVID defines the functionality, but not the implementation of all operating system components available to both users and developers. The SVID is a source-level standard; it defines the source code interfaces of each operating system component, as well as the run-time behavior seen by an application or a user. The Solaris 2.1 software conforms to the SVID. If you write an application to comply with the SVID, the application is source compatible across all SVR4 implementations. If you port applications to a Solaris 2.1 or SunOS 5.1 platform, the application can conform to the SVID. This preserves the investment in software development and allows users to keep abreast of new technologies, while having a common computing environment. Sun Device Driver Interface (Sun DDI), a set of device driver interfaces, is defined by Sun Microsystems to support application portability across Sun Microsystems platforms, supporting the Solaris 2.1 software. These routines are defined in Section 9 of the SunOS 5.1 Reference Manual. Transport Provider Interface (TPI), a networking specification, defines a message interface to a STREAMS-based transport provider. An application communicates via a full duplex path, or stream, to a transport provider. The stream provides a way for messages to pass between the transport and application and vice versa. At the transport level of the ISO Model Network Service Layers, the system complies to the TPI specification. UNIX SVR4 Device Driver InterfacejDriver-Kernel Interface (DDI/DKI) specifies an interface between device drivers and the rest of the UNIX kernel. The primary goal of the DDI is to facilitate both source and binary portability across successive UNIX System V releases on a particular hardware architecture. The intent of the DKI is to promote source portability across implementations of the UNIX System V on different machines, and applies only to System V Release 4. XjOpen Portability Guide, Issue 3 (XPG-3) contains an evolving portfolio of specificationsfor application portability, including the interfaces specified in the POSIX.l standard. It has seven volumes covering: X/ Interface (XSI) commands, utilities, system interfaces and headers, supplementary definitions, programming languages, data management, window management, and networking services. These comprise the Common

SoftwareDevelopmentin the Solaris2.1 Environment 5-7 Applications Environment (CAE) defined by the X/Open Group, a consortium ofthe world's major information system suppliers. X/Open organizes the CAE i \ components in three levels: BASE, PLUS, and OPTIONS.

5.4 Solaris 2.1 Internationalization

The goal of internationalization is to make it easier to customize operating systems and applications for different languages and cultures. This section overviews the levels of internationalization in the Solaris 2.1 environment. For detailed explanations about internationalization levels, see the Solaris 2.1 Developer's Guide to Internationalization.

The levels of internationalization in Solaris 2.1 are:

1. 8-bit Codeset

2. Formats and Collation

3. Messaging 4. Multibyte Character Support Many operating system utilities are internationalized at levels three and four. Applications developed to run under this operating system should attain level three or four of internationalization.

8-bit Codeset The Solaris 2.1 system complies with ISO 8859-1 which specifies that the eighth bit of the ASCII codeset supports special Latin characters. Making sure that your code does not manipulate or mask the eighth bit makes your code 8-bit clean. The Solaris 2.1 Developer's Guide to Internationalization outlines the procedures for ensuring that your code is 8-bit clean.

Formats and Collation Expressing money, the date, and time-of-day in the formats of other countries is an important part of internationalization. Similarly, collation or sorting order, differs for different geographic areas, called locales. Solaris provides formats and collation for these languages and their corresponding locales:

5-8 Solaris 2.1 Release Manual—December 1992 _ • French • German • Italian • Swedish • Japanese

Formats Rather than coding international formats for money, date, and time-of-day into your applications and routines, you call the formats of different geographic locales using setlocale(3c) along with the LANG environment variable. See Solaris2.1 Developer's Guide to Internationalization for specific details on functions that translate formats such as the following:

Table 5-1 International Format Translation Functions

Function Format translated

printfO) Numeric formats

strftime(3c) Time and date formats localeconvOc) Monetary formats

Collation To ensure that an application collates correctly for different locales, use strcoll(3c) instead of strcmp(3c).

Messaging For full internationalization, screen messages must be expressed in the language of the locale. In the past, this required an engineer fluent in both languages—the language of the application developer and the language of the locale where the application would be used—to translate an application's messages and then recompile the code. When you use the system's messaging routines, all messages reside in a stand alone message file. You use gettext(3) to scan the message file and return an equivalent translation. (If an equivalent message is not found, the routine returns the original message.) This eliminates the need for different sets of binaries to support different languages.

Here are some of the gettext features that make it the recommended routine:

SoftwareDevelopment in theSolaris2.1 Environment 5-9 Minimizes source code changes because it is a more refined interface. Used exclusively by OpenWindows and the operating system. f ^ Not bound to a file system type. Message files are stored in databases in /usr/lib/locale. You can put message files for your applications in $APPHOME, and use bindtextdomainO) to search message files in the application's home directory.

Note - The system software does not provide international kernel messaging.

Multibyte Characters Unlike the English and European languages, which are made up of smaller alphabets or character sets, thousands of characters represent the East Asian languages. Representing these languages in a one byte (8-bit) codeset is not possible, and thus these languages are knownas multibyte languages. The ^ ^ operating system uses the Extended UNIX Code (EUC) to support multibyte languages. The EUC,derived from the AT&T Multi-National Language Supplement, supports the ASCII codeset and up to three more multibyte codesets simultaneously. Additionally, the system software supports wide characters. The ANSI C data type wchar_t is composed of four bytes and able to support the longest possible EUC codeset. Two multibyte routines, mbtowc(3c) and wctomb(3c), convert EUC characters to and from wide characters. Once an EUC character has been converted to wide character, you can use wide character routines (residing in libw) to perform wide character and string manipulations. In general, these routines extend the libc character manipulation routines to support wide characters.

Note - Multibyte-character support is not included in U.S. versions of the Solaris 2.1 release.

5-10 Solaris 2.1 Release Manual—December 1992 5.5 SunOS 5.1 Kernel Features

The kernel is a set of underlying core programs in the SunOS 5.1 operating system. You may or may not directly access some of the features of the kernel. However, each feature contributes to the overall efficiency of the operating system. This section highlights the kernel features that enhance application development.

5.5.1 Multi-threaded Kernel The SunOS 5.1 kernel is multi-threaded (MT). Multi-threading is the technology that enables a symmetric multiprocessing kernel, allowing multiple processors to execute the kernel at the same time. This takes advantage of hardware technology using multiprocessors. A multi-threaded kernel is also the prerequisite to a developing technology, application concurrency, the execution of applications written as independent ' ^ computations. At the timeof this release, there is not a recognized industry standard or specification for writing and supporting application concurrency. For this reason, the Solaris 2.1 environment does not yet support application concurrency. However; the SunOS 5.1 operating system includes the primitives needed that will provide the requirements to implement it as the standards and specifications evolve. You can modify STREAMS drivers to take advantage of the MT kernel. Drivers must be QMTSAFE; this is described in the SunOS 5.1 STREAMS Programmer's Guide. The NFS networking code is also multi-threaded to take advantage of multiprocessing architecture.

Device drivers under SunOS 5.1 are multi-threaded: more than one driver entry point can run at the same time (concurrently). Drivers no longer block interrupts, since any driver thread can be preempted at any time by any other driver thread. For detailed information see SunOS 5.1 Writing Device Drivers.

5.5.2 Virtual Memory Virtual memory (VM) replaces the previous System V memory management architecture. The core of the virtual memory system is a suite of routines that maps files (including references to devices and ports) into the virtual address space of a kernel process. This allows the process to access a file as locations in memory instead of having to use file operations and system calls. More than

SoftwareDevelopmentin theSolaris 2.1 Environment 5-11 one process can map the same file, and with shared memory, a virtual memory _ feature, the same copy of the file is mapped into each process. VM also provides demand-paging, allowing the system to use disk space as pages of main memory. For more informationsee the SunOS 5.1 System Services and the SunOS 5.1 Reference Manual.

5.5.3 STREAMS-based I/O STREAMS, a framework for character I/O, has been implemented throughout the operating system. Most character I/O, including pipes, along with tty and pseudo-tty terminal subsystems, is performed with the STREAMS facility. The STREAMS-based pipesare compatible with program pipes written prior to STREAMS, and with BSD 4.2 non-blocking I/O. For moreinformation see the SunOS5.1 STREAMS Programmer's Guide.

5.5.4 Dynamic Kernel The kernel is dynamic, it configures itself. There are kernel routines that load drivers and kernel modules into memory as these are required by the system. This is known as autoconfiguration. Before autoconfiguration, adding new drivers required you to rebuild the kernel; all code, whether used or not, was bound to the kernel and caused some performance loss. Autoconfiguration provides benefits such as: • Saved time and effort by eliminating the rebuild of kernels when adding new devices to the system • Saved time by eliminating the rebooting of a machine each time a new driver is loaded • Increased performanceby minimizing the unnecessarycode bound into the kernel SunOS 5.1 Writing Device Drivers explain how to modify or write drivers and _ modules for the autoconfigurable kernel.

5-12 Solaris 2.1 ReleaseManual—December 1992 — Loadable Modules

Loadable modules are programs that can be executed as though they had been built with the kernel. The kernel can use device drivers and other kernel routines without these having a static link into the kernel. Paths to loadable modules are stored in the /etc/system file. When a module is first referenced, it is added to a running system. For example, not until data is sent to a set of ports is the driver that controls the ports accessed. This allows the kernel to be reconfigured dynamically,or while the system is running and when it requires a module for system work. Developers can change one kernel module without having to change any other, and modules can be added and removed without having to rebuild the entire kernel. This makes driver development and installation easier. See SunOS 5.1 Writing Device Drivers and the boot manual page for more information.

5.5.5 Expanded Fundamental Types (EFT) ID data types, for example user ids (uid), process ids (pid), device ids, and certain other data types are expanded to 32 bits. Device ids are expanded to 14- bit major and 18-bit minor numbers. For more information, see the system header files in /usr/include.

Note - Routines that return the smaller data types will need to be changed to accommodate the expanded fundamental types.

5.5.6 Signal Interfaces The operating system implements the full POSIX standard for signal interfaces. See SunOS 5.1 System Services and signalOb) in the manual pages to learn how this function enables programs to: • Manipulate sets of signals • Block and unblock signals • Examine pending signals before these are received

Software Development in theSolaris2.1 Environment 5-13 5.5.7 Realtime Applications and Process Scheduling ^,0^ The greatest improvement in performance for realtime applications comes as a result of the implementation of a new scheduler. The process scheduler specifies whether a process executes in real time or as time-shared. While a process runs, it can configure the properties of its scheduler. Users can specify whether a process is time-share or real-time. The system routinely adjusts the priorities of timesharing processes; only the user can change the priorities of realtime processes. A realtime process cannot be preempted, except by another higher priority realtime process; it has a higher priority than a timesharing processes. Users can make processes resident through memory locking, a privileged operation that holds pages in main memory so that there are no page faults. The kernel is fully preemptible meaning that the process can be switched from executing one process to executing another at any time. Preemption is available for realtime processes when they are ready to run. f \ The operating system also implements interval timers, such as getitimer(2) and setitimer(2). For more information about process scheduling, see SunOS 5.1 Realtime Programmer's and Administrator's Guide, Solaris 2.1 Application Developer's Guide, and SunOS 5.1 System Services.

5.5.8 System Interfaces The Solaris environment contains the system interfaces (commands, system calls, and library routines) found in the SunOS 4.x, SunOS 5.1, and SVR4 operating systems, along with interfaces defined in the ABI and SVID. Many UNIX commands have changed with the release of SVR4. For a detailed list of changes by system interface, see the Solaris 2.1 Application Developer's Guide and the Solaris 2.1 Transition Guide. The SunOS/BSD Source Compatibility Package contains most of the SunOS/BSD system interfaces that were changed or not included in SVR4; for more about this subject, see Section 5.6.11, "Using the SunOS Compatibility Packages." You can set the path variable to search the directories where the BSD SunOS/BSD system interfaces are stored, in addition to searching the

5-14 Solaris 2.1 Release Manual—December 1992 default system directories. However, the compatibility package is provided only as interim support for obsolete commands. Keep these tasks in mind if you use the compatibility package: • Learning the new commands • Writing new shell scripts to replace ones that depend on this package • Learning the output formats of new commands

Shells

There are three SunOS 5.1 command shells available:

Table 5-2 SunOS 5.1 Shells

Shell Manual name Page Description

Bourne sh (1) The standard UNIX-system command interpreter. It is the default system shell; however, you can specify the C or Korn shell as the default in the file, /etc/passwd.

C csh(l) A command interpreter with a C-like syntax and advanced interactive features.

Korn ksh (1) An interactive shell for applications developers.

5.5.9 Device Driver Interfaces The operating system communicates with three types of standard device driver interfaces. One is the Sun Device Driver Interface (Sun DDI), and the others are derived from the UNIX SVR4 Device Driver Interface and Driver-Kernel Interface (DDI/DKI). The Sun DDI and the DDI/DKI are defined in Section 9 of the manual pages and in SunOS 5.1 Writing Device Drivers. The device driver manual discusses the development of a dynamically loadable and unloadable, multi-threaded, reentrant device driver conforming to the DDI/DKI and SunDDI for a block- oriented or character-oriented leafdevice that uses either direct memory access (DMA) or programmed I/O (PIO).

Writing and LoadingDevice Drivers Some important changes in how device drivers work in the Solaris 2.1 environment are:

SoftwareDevelopmentin theSolaris2.1 Environment 5-15 Drivers written for previous SunOS releases must be revised to conform to the Sun DDI and the DDI/DKI; see Section 9 of the manual pages, SunOS 5.1 Writing Device Drivers, and SunOS 5.1 Adding and Maintaining Devices and Drivers. TCP-IP device drivers are based on the STREAMS framework; see the SunOS 5.1 STREAMS Programmer's Guideand the Data LinkProviderInterface (DLPI) specification.

5.6 Developing Applications in theSolaris 2.1 Environment The Solaris 2.1 development environment offers many features and choices for application developers. The Solaris2.1 Application Developer's Guide is a guide for anyone writing, porting, or converting applications for the Solaris 2.1 environment. It provides in-depth information about topics such as: • The advantages of using the Solaris 2.1 software to develop applications • The Solaris 2.1 application programming interfaces and the methods of producing applications that: • Conform to the ABI, the SVID, and other standards • Execute in the Solaris 2.1 and SunOS 5.1 environment • Compile ANSI C compliant code under Solaris 2.1 • The Solaris 2.1 development tools • The separately purchased development tools such as: The Compatibility and Migration Information (CMI) lint Libraries OpenWindows Developer's Guide (Devguide) FORTRAN Pascal C++ Sun C ANSI C

5.6.1 Using Dynamic Linking Libraries The Solaris 2.1 application environment supports dynamic linking of libraries. The linker uses the version numbers of the libraries and executables to link applications with the corresponding libraries, routines, and interfaces.

5-16 Solaris 2.1 Release Manual—December 1992 The linker supports the standard SVR4system interfaces and object file formats. The linker is a user program, not a kernel function; it is mapped into the virtual address space of applications. For more information about dynamic linking, see SunOS 5.1 Programming Utilities and the SunOS 5.1 Linker and Libraries Manual.

5.62 Executable Linking Format (ELF) Executable Linking Format (ELF) is the transparent object file format that supports extensions to the C language. The operating system object and core files are in the ELF format. For more information on using the ELF access library, refer to SunOS 5.1 Linkerand Libraries Manual and the SunOS 5.1 SPARC Assembly Language Reference Manual. For information on migrating to the ELF format, see SunOS5.1 Programming Utilities and the Solaris 2.1 Transition Guide.

Note - Executables that are not in the ELF format cannot run, except SunOS 4.1.x object files running under the SunOS Binary Compatibility Package. For information on the application requirements for using the package, see Section 5.6.11, "Using the SunOS Compatibility Packages."

5.6.3 Software Package Management The ABI specifies that software be grouped in packages and package clusters for installation. •A package includes binaries along with information files such as pkginfo(4) and prototype(4). • Package clusters are selective groupings of software packages that meet specific user needs. To learn about creating the packages and clusters for your applications, see the SunOS 5.1 Application Packaging and Installation Guide.

SoftivareDevelopmentin the Solaris 2.1 Environment 5-17 5.6.4 Developing for ANSI C In the Solaris 2.1 environment, the C compiler is a separately purchased product. However, the standard programming language is ANSI C. Some of the ANSI C characteristics are: • Function prototypes define arguments. With function prototypes, the compiler can perform error-checking that is similar to the checking performed on source code by the lint utility. • Multibyte characters used for internationalization are supported. Every byte of a multibyte character identifies itself with the high-order bit. • New type qualifiers are supported, including: • signed • const • volatile

Note - The Solaris 2.1 software does not provide a C compiler.

Note - Some versions of C are incompatible with ANSI C; source code must be edited before it is compiled with ANSI C. For more information about using ANSI C and the differences between ANSI C and other versions of C, see the Solaris 2.1 Application Developer's Guide and the Solaris2.1 Transition Guide.

5.6.5 SPARC Assembly Language The input assembly language, defined in the SunOS 5.1 SPARC Assembly Language Reference Manual, corresponds with the SPARC instruction set defined in the SPARC Architecture Manual, Version 8. The SPARC assembler produces relocatable object files that can be processed by the SPARC link editor. The object files are in the ELF format. See the SunOS 5.1 SPARC Assembly Language _ Reference Manual for more information.

Note - The default object file format for the SPARC assembler output is ELF, not a. out.

5-18 Solaris 2.1 Release Manual—December 1992 5.6.6 Debugging Code Two debuggers are shipped with the Solaris 2.1 software and documented in the manual pages; • adb(l) is an interactive, line-oriented, assembly-level debugger, adb provides a controlled environment for program execution, and can be used to examine core files. • kadb(lm) is an interactive debugger that is similar in operation to adb, and runs as a standalone program under the PROM monitor. You can use kadb to debug the kernel, or to debug any standalone program.

5.6.7 Running Hardware Diagnostics The Solaris 2.1 package includes the SunDiag 4.1 diagnostic program that has an OPEN LOOK-based GUI. SunDiag is a system exerciser that runs diagnostic tests on Sun^M hardware. All types of Sun workstations, servers, and peripherals, including multiprocessing systems can be tested with SunDiag. You can test a local system as well as a remote system over the Ethernet. A tty interface is available for running diagnostics on terminals attached to serial ports. The Sundiag 4.1 User's Guide gives detailed information about SunDiag and the hardware it tests. SunDiag automatically probes a test system for attached hardware devices, and then offers tests for all of the devices it finds. Two types of tests are available, scalable and non-scalable. You can run multiple sequential copies of the non- scalable tests on all of the processors available. Likewise, you can also run multiple copies of the scalable tests simultaneously on all processors.

5.6.8 Programming Utilities The following programming utilities, described in the SunOS 5.1 Programming Utilities manual and the manual pages, are available in the Solaris 2.1 environment:

• ar(4) • as(l) • cpp(l) • dis(l) • dumpd) • error(l)

SoftwareDevelopmentin the Solaris 2.1 Environment 5-19 lex(l) lorder(l) ' ' m4(l) make(l) mcs(l) nm(l) prof(l) sccs(l) size(l) strip(l) symorder(l) tsort(l) unifdef(l) yacc(l)

5.6.9 Graphics and Graphics APIs The supported display and graphics devices for the Solaris 2.1 environment are described in the OpenWindozus Version 3.1 Programmer's Guide. Applications using SunOS 4.x graphics APIs and written to run under the SunOS 4.x system are supported using the SunOS Binary Compatibility Package along with its OpenWindows Binary Compatibility component described in Section 5.6.11, "Using the SunOS Compatibility Packages."

5.6.10 Character User Interface Not all workstations and systems support or require bit-mapped graphics. For example, a character-based print server or an ASCII terminal does not require graphics. Two manuals describe tools for creating text interfaces that are similar to a bit-mapped graphical user interface. The SunOS 5.1 Character UserInterface: Extended Terminal Interface describes: • The Extended Terminal Interface (ETI), the standard programming interface for character-mode screen and text operations. It consists of three libraries: curses, terminfo, and High Level Function Library: • The cursesOx) library supports multibyte character codesets. • The terminfo(4) database contains information about the kinds of terminals that are installed on a system. You can use the information to generate screen displays.

5-20 Solaris 2.1 Release Manual—December 1992 • The High Level Function Library subroutines create forms, menus, and panels. The SunOS 5.1 Character User Interface: Form and Menu Language Interpreter describes: • The Form and Menu Language Interpreter (FMLI), a high-level language interpreter. Its principal advantage is that it allows you to create consistent, user-friendly interfaces across applications.

• The Framed Access Command Environment (FACE), a menu-based interface to the operating system. Users choose tasks from menus and enter a task's parameters into small windows.

5.6.11 Using the SunOS Compatibility Packages The development environment provides two packages to make SunOS 4.1.x applications compatible in the SunOS 5.1 environment. These are the SunOS/BSD Source Compatibility and the SunOS Binary Compatibility Package.

Note - These packages are not substitutes for a full port; you use them as tools while porting your applications to the Solaris environment. These packages only run under the SunOS 5.1 system software; you cannot use them on machines running SunOS 4.x software, nor can you create applications that will run on 4.1.x system software.

SunOS Binary Compatibility Package The SunOS Binary Compatibility Package provides a SunOS 5.1 environment in which SunOS 4.1.x binaries can run. The applications must adhere to the following rules: • Be dynamically linked • Not trap directly to the kernel • Not write directly to system files • Not use /dev/kmem or libkvm routines • Not use unpublished SunOS interfaces • Not rely on non-SunOS drivers

SoftwareDevelopmentin the Solaris2.1 Environment 5-21 With the SunOS and OpenWindows Binary Compatibility Packages, SunView and other SunOS 4.1.x-based graphics applications can run under OpenWindows 3.1. You can temporarily run SunView applications until corresponding OpenWindows versions are developed. If you want to use the Binary Compatibility Package you must also use the SunOS/BSD Source Compatibility Package. To learn about application performance, package installation, and using the package, see the SunOS BinaryCompatibility Package Guide - Solaris 2.1.

SunOS/BSD Source Compatibility The SunOS/BSD Source Compatibility Package contains BSD and SunOS commands, source compatibility libraries, and headers. With the package, you can have a SunOS5.1 environment that is SunOS4.1.x compatible. The package provides SunOS/BSD versions of the some user commands. For compiling SunOS 4.1.x code without porting it, the package provides libraries of most of the SunOS 4.1.x and BSD system interfaces. The binary code that is output ^ under the package is in executable linking format (ELF), the SVR4 binary f) format, so it is executable in the Solaris environment. For more information, see the SunOSjESD Source Compatibility Package Guide - SunOS5.1.

Note - Output code compiled under the SunOS/BSD Source Compatibility Package does not conform to the ABl; the routines that the compatibility package uses often employ non-ABI interfaces.

5.7 OpenWindows Version 3.1 This section overviews the facilities available for developing applications to run under OpenWindows 3.1 on the Xll/NeWS server window platform. The OpenWindows 3.1 environment is network-based, offering both the Xll and NeWS protocol interfaces. Since the window system requires no kernel modification, it is portable to different vendor platforms. Because the window system uses network protocols to communicate, one application can take advantage of multiple machines distributed over the network. The OpenWindows Version 3.1 Programmer's Guide provides an overview of programming in the OpenWindows environment. The guide is for Xll and NeWS application programmers who are building applications for a window system to run as part of the OpenWindows user environment.

5-22 Solaris 2.1 Release Manual—December 1992 The OpenWindows 3.1 provides three toolkits for designing user interfaces and handling events such as mouse pointing, user input, or other information that has been designated as expressing interest to an application running under the OpenWindows environment. Developers can further increase their productivity by using Devguide, a package that can be purchased separately. Devguide allows developers to create user interfaces on the screen and then Devguide generates the code to build the interface for the NeWS, XView, or OLIT toolkits. Combined with the Classing Engine and the ToolTalkapplication service packages, the OpenWindows 3.1 environment supports development of powerful, interactive applications that can be easily integrated into the DeskSet environment.

5.7.1 The Xll/NeWS Server OpenWindows applications run on the Xll/NeWS server, forming the window system platform for the OpenWindows environment. The server runs window applications that use either the X Network Protocol or the NeWS protocol. The X protocol underlies all software for Version 11 of the X Window System. NeWS, a network-based window system developed by Sun Microsystems, is based on the PostScript page description language. Although the X and NeWS protocols are entirely different, the Xll/NeWS server provides an integrated environment in which both are supported. For information on the Xll/NeWS server, or developing applications to run as part of the OpenWindows user environment see these manuals: • OpenWindows Version 3.1 Programmer's Guide • OpenWindows Version 3.1 Desktop Integration Guide • ToolTalk 1.0.2 Programmer's Guide • ToolTalk 1.0.2 Setup and Administration Guide This group of manuals is available in hardcopy only and may be purchased separately. • OLIT 3.0.1 Reference Manual • NeWS 3.0.1 Programmer's Guide • The NeWS Toolkit 3.0.1 Reference Manual • XView3.0.1: Converting SunViezv Applications • The X Window System: Programming and Applications with Xt, OPEN LOOK Edition • XView Reference Manual • XView Programming Manual

SoftwareDevelopment in theSolaris2.1 Environment 5-23 • Xt Intrinsics Reference Manual • Xlib Programming Manual r • Xlib Reference Manual • X Protocol Reference Manual • OPEN LOOK Graphical UserInterface Functional Specification • OPEN LOOKGraphical User Interface Application Style Guidelines • PostScript Language Tutorial and Cookbook • PostScript Language Reference Manual

572 OPEN LOOK Graphical UserInterface The Open Windows 3.1 window manager (OLWM) implements the OPEN LOOK GUI in the Solaris 2.1 environment.

5.7.3 OpenFonts The OpenWindows 3.1 environment provides OpenFonts: • F3, an intelligent outline font format • TypeScaler®, a tool for creating character bitmaps in any orientation, point size, or resolution, both for the screen and for the printer • TypeMaker®, a tool for vendors to create F3-compatible fonts

5.7.4 OpenWindows Toolkits The OpenWindows 3.1 programming environment provides three, object- oriented toolkits for developing user interfaces that are compliant with the OPEN LOOK specification and handling windowing system events. • The NeWS Toolkit (TNT) implements many of the OPEN LOOK GUI components required to build an application's user interface. Using the NeWS protocol is described in the NeWS 3.0.1 Programmer's Guide, the tool kit is described in The NeWS Toolkit 3.0.1 Reference Manual. • The OPEN LOOK Intrinsics Toolkit (OLIT) is a graphical user interface toolkit that implements a widget set, or prebuilt user interface components. The OLIT is based on the Xt Intrinsics developed by Massachusetts Institute of Technology (MIT). The OLIT 3.0.1 Reference Manual provides information for using this toolkit.

5-24 Solaris 2.1 Release Manual—December 1992 • The XView toolkitsimplifies application development for the XWindow System which was developed by MIT. This toolkit provides a set of predefined user interface objects documented in the XView Reference Manual. Programming in XView is documented in the XView Programming Manual. You can develop OPEN LOOK compliant GUIs from scratch by using Xlib or NeWS, although most implementations are generated using the toolkits. For detailed information on creating a custom, compliant OPEN LOOK GUI, see the OPEN LOOK Graphical User Interface Application Style Guidelines and the OPENLOOK Graphical User Interface Functional Specification.

5.7.5 Integrating Applications into the DeskSet Environment The DeskSet environment is a set of XView applications that run in the OpenWindows workspace. The OpenWindows Version 3.1 Desktop Integration Guide tells how to integrate other applications that run under the OpenWindows environment into the Workspace.

Note - The XView toolkit is derived from the SunView toolkit; development of SunView applications is not supported under OpenWindows 3.1. XView 3.0.1: Converting SunView Applications is a complete guide for converting SunView applications to run in the Solaris 2.1 environment.

The ClassingEngine The Classing Engine is a central service available to all applications to aid in seamless integration and flow of data between applications. It performs these functions: • Properly identifies a data type • Determines the proper methods to process the data type

Using the ToolTalk Servicefor Interprocess Messaging The ToolTalk service is a network-spanning, interprocess message system. Applications create,send, and receive messages by callingToolTalk functions from the ToolTalk API library. Using ToolTalk, messages can be sent and received between applications without information such as: • The intended receiver application • The application's address

Software Development in theSolaris 2.1 Environment 5-25 • The application's file format The ToolTalk service provides two methods ofaddressing messages: process oriented and object-oriented. Process-oriented are addressed to processes; applications thatcreate a message, address it to either a specific process or a particular type of process. Object-oriented messages areaddressed to objects managed by applications. For information on setting up theToolTalk service, or changing applications to use the service see the ToolTalk 1.0.2 Setup and Administration Guide and the ToolTalk 1.0.2 Programmer's Guide.

5.8 Solaris 2.1 File System Management The Virtual File System/virtual node (VFSfvnode) file management is implemented in the operating system and network environment. A virtual file system is not a file system type, it is a technology. The VPS is a set of interfaces — that can access different file system types. Avnode isany file, belonging to any ^ ^ file system type, that is accessed by the kernel. TheSolaris 2.1 Application Developer's Guide provides a comprehensive list of all file system and file system types. The VPSinterface provides these features: • Pile management system calls and system interfaces defined in standards such as POSIX • Standard commands for mounting and unmounting different file systems, suchas NFS, RPS, UPS, or High Sierra Pile System (hsfs). This means you use one command, mount -F [file system type]. The Solaris 2.1 environment supports three classes of file system types: • Disk-based file system types • UPS • hsfs • pcfs • Distributed (Network) file system types • NFS • RPS • Pseudo file system types • tmpfs(7)

5-26 Solaris 2.1 Release Maniial—December 1992 proc(4) lofs(7) fifofs fdfs namefs specfs swapfs

Note - The SVR4 s5 file system type is not a supported file system. For information about file systems and compatibility see the Solaris2.1 Transition Guide.

5.9 Solaris2.1 Networking In Solaris 2.1, you can write network applications, without coding the details of specific protocols and address formats—this is network transport independence.

Sun NFS drivers are multi-threaded; NFS code is reentrant and can be executed on multiple processors simultaneously. Sockets, Transport Layer Interface (TLI), and name-to-address translation functions work with the transport selection facility. Transport selection enables a network application to use a standard interface to the transport services. A client application tests each available transport until establishing communication with a server. Transport selection uses a network configuration database (/etc/netconfig) and the NETPATH environment variable. See the SunOS 5.1 Network Interfaces Programmer's Guide to find detailed information. Sockets applications built under SunOS 4.1.xare supported through the SunOS Binary and the SunOS/BSD Source compatibility packages. The requirements for applications that need the compatibility packages are listed in Section 5.6.11, "Using the SunOS Compatibility Packages." For detailed information see the SunOS Binary Compatibility Package Guide - Solaris 2.1, SunOS/BSD Source Compatibility Package Guide - SunOS5.1 the SunOS 5.1 Network Interfaces Programmer's Guide.

SoftwareDevelopment in theSolaris2.1 Environment 5-27 Note - Sockets applications written to run under SunOS 4.x must explicitly Imk to the sockets library to run in the Solaris 2.1 environment. See the SunOS 5.1 Network Interfaces Programmer's Guide.

5,9,1 Writing Network Applications The Solaris 2.1 environment offers the RPCGEN code generator for RFC. Application designers describe the relationships between client programs and server routinesin a high-level, C-like languagecalled RFC language. The code generator creates the necessary RFC code to be included in the client and server pieces of the application. The Internet Protocol (IF) suiteis accessed only through streams-based sockets. The IF suite is comprised ofTCF/IF and UDF/IF. In the networking environment inetd is the port monitor, or daemon, for Internet services. For more information, see the SunOS 5.1 Network Interfaces Programmer's Guide. For writing STREAMS-based drivers see the SunOS 5.1 STREAMS Programmer's Guide, and the Data Link Provider Interface (DLFI). External Data Representation (XDR), a standard of data representation for networks thatconnect computers with different CPUs and operating systems, is supported in the networking environment. XDR defines databyte ordering and data type size. It enables processes on onecomputer to call procedures on othercomputers even though the computer's data formats may be incompatible. For more information, see the SunOS 5.1 Network Interfaces Programmer's Guide. Transport IndependentRemote Procedure Call (TI-RFC) provides interfaces that allow developers to write RFC applications independent ofunderlying protocols, or dependent upon an underlying transport as in previous releases. TI-RFC uses the transport selection facility to provide protocol independence. However; applications written to adjust options or usespecific addresses can still do so. For more information about TI-RPC see the SunOS 5.1 Network Interfaces Programmer's Guide TheService Access Facility (SAF), which controls port monitors and their administration, passes outside requests for network services to the listen port monitor. Every transport provider has a listen port monitor. Listeners

5-28 Solaris 2.1 Release Manual—December 1992 determine the services needed to respond to network requests and spawn the service processes. See the SunOS 5.1 Network Interfaces Programmer's Guide to leam about writing port monitors for the SAF. Standardizing on the TPIand DLPI specifications allowsdevelopers to interchange STREAMS drivers at the transport and link level of the ISO Network Service Layers, without modifying the modules or drivers, communicating with these STREAMS. In particular, TLI and sockets can interface to any transport provider supporting TPI, and any device driver supporting DLPI can be linked underneath the InternetProtocol(IP) Suite.

Software Development in theSolaris 2.1 Environment 5-29 5-30 Solaris2.1 Release Manual—December 1992 Index

Numerics authentication, 4-11 4.x print client, 7-3 autoconfiguration, 4-6 8-bit clean, defined, 5-8 automatic installation, 1-3

6

a.out, 5-18 Binary Compatibility Package, 5-17 ABI, 5-6,5-22 boot-r, 4-7 adb, 5-19 Bourne shell, 3-7 adding devices to kernel, 4-7 BSD adding tape drives, 7-2 support for BSDsystem interfaces, 5-22 administering files and filesystems, 4-15 bugs American National Standards Institute network, 8-5 X3.159-1989, see ANSI C buses, 1-6 American National Standards Institute X3.159-1989ANSI C ANSI C, 5-3,5-4 incompatibilites, 5-18 C shell, 3-7 ANSI, defined, 5-4 cattext, 5-9 ANSI/IEEE 754, 5-4 CD-ROMs, 4-18 AnswerBook, 1-8,3-6 changed commands, 3-2 AnswerBook CD, 1-8 compatibility application portability, binary, 5-2 compatibility package output applications, compatiblity, 4-4 code, 5-22 ASET(Automated Security Enhancement compatibility packages, using, 5-21 Tool),Sce fl/so, security, 4-10 getty, 4-14 OpenWindows, 5-22

lndex-1 pre-STREAMS SunOS pipes, 5-12 end-user AnswerBook, 1-8 SunOS 4.x applications, 1-9,4-4 environment SunView applications, 4-4,5-22 user, 1-1 compatibility packages, 5-14 /etc/printcap, 4-13 application requirements, 5-21 /etc/tab, 4-19 creating a SunOS environment, 5-22 ETl, 5-20 cylinders, 4-18 curses library, 5-20 High Level Function Library, 5-21 D terminfo database, 5-20 executables not in ELP format, 5-17 Data Link Provider Interface, See DLPI exportfs, replacement, 4-19 DDI/OKI, 5-7,5-15 Extended Terminal Interface, See ETI debuggers, 5-19 Extensible Linking Format, SeeELP default file format, 5-18 External Data Representation (XDR), 5-28 default shell, 3-5,3-6 DeskSet environment,tools, 3-4 development environment, 1-1 device driver interfaces, 5-15 PACE, 5-21 device drivers, compliant to Federal Information Processing Standard interfaces, 5-3 Publication 158, See PIPS device drivers, writing and loading, 5-15 filesystem type devices, 7-2 proc, 4-18 DPS administration, 4-19 filesystem types, 4-17,5-26 DPS commands, 4-19 disk-based, 5-26 distributed, 5-26 differences between SunOS4.x and SunOS pseudo, 5-26 5.0, 5-3 filesystems directories, default set, 4-16 BSDPPS, 4-17 directory default, 4-17 /etc/tab, replacement, 4-19 distributed, 4-16 Distributed Pile System, Seealso DPS hsfs, 4-18 DLPI, 5-5,5-16,5-28 pcfs, 4-18 documentation, 1-8 pseudo, 4-18 documentation available, 1-8 Sun NFS, 4-16 dynamic kernel, 4-6 tmpfs, 4-18 dynamic linking libraries, 5-16 filters, printing, not available, 4-13 PIPS PUBS 158, 5-4 PMLl, 5-21 Form and Menu Language Interpreter, See 8-bit codeset, 5-8 PMLI internationalization formats 8-bit codeset, 5-8 translating, 5-9 ELP format, 5-18 formats and collation, 5-8

Index-2 Solans 2.1 Release Manual—December 1992 Framed Access Command Environment, ISO 8859-1, compliance, 5-8 See FACE ISO Network Service Layers, fstab replacement, 4-19 standardizing on, 5-29 ISO, defined, 5-4 G gettext, 5-9 J getty, replacement, 4-14 JumpStart, 1-3 graphics accelerators, 1-6 K buses, 1-6 frame buffers, 1-6 kadb, 5-19 graphics support, 1-6 Kerberos, 4-11 kernel adding or deleting drivers, 4-6 H autoconfiguration, 4-6 hardware supported, 1-5 directory containing, 4-17 hardware, minimum configuration, 1-6 dynamic, 4-6 High Sierra File System, Seealso, modules, 4-7 hsfs, 4-18 kernel features, 5-11 hsfs, 4-18 dynamic, 5-12 expanded fundamental types, 5-13 loadable modules, 5-13 I multi-threaded, 5-11 IEEE Std 1003.1-1990, See POSIX process scheduliing, 5-14 IEEE, defined, 5-4 signal interfaces, 5-13 incompatibilities, 5-18 Korn shell, 3-7 inodes, 4-18 installation L automatic, 1-3 listen, 4-14 installation, automatic, 1-3 listen, 5-28 international kernel messaging not locales, 5-8 supported, 5-10 lofs, 4-18 internationalization filesystem type, 4-18 formats and collation, 5-8 LP print service, 4-13 levels, 5-8 Ipr, replacement, 4-13 locales, 5-8 localization, 3-4 messaging, 5-9 M internationalization, defined, 5-8 manual pages Internet Protocol (IP) suite, 5-28 man command, 3-8 Introduction, 1-1 manual pages, using, 3-8 ISO 8859-1, 5-5 message databases, 5-9

Index-3 migration to Solaris 2.0, 5-3 4.x print client, 7-3 moduIes,loading, 4-7 proc, 4-18 process scheduling, 5-14 N priorities, 5-14 real-time, 5-14 name service database processes Sec fl/so, NIS+, 4-11 real-time, 5-14 name service switch, 4-11 timeshare, 5-14 NIS+, 4-11 programming language, primary, 5-3 network transport independence, 5-27 programming utilites included with networking transport independence, Solaris 2.0, 5-19 defined, 5-2 pseudo filesystem, 4-18 new in Solaris 2.1 release, 1-2 NFS administration, 4-19 NFS, see filesyslems R NIS+ rebuilding the kernel security, 4-12 reconfiguring the kernel, 4-6 Remote File Sharing (RFS), 4-16 o run levels, 4-7 object file format, 5-18 OPEN LOOK, 5-22 s OPEN LOOK Graphical User Interface SAC Functional Specification, 5-5 listen, 4-14 OpenWindows, 5-22 ttymon, 4-14 internationalization, 3-4 secure RFC, 4-11 security advanced options, 4-10 authentication, 4-11 packages and clusters, 1-7 ASET, 4-10 PC filesystem. Seealso pc f s, 4-18 N1S+, 4-12 pcfs, 4-18 serial port monitor, 4-14 platforms Service Access Controller, 4-14 supported, 1-5 Service Access Facility, SeeSAF, 5-28 port monitor,serial, 4-14 setting up filesystems, 4-16 port monitors, 4-14,5-28 shadow password file, 4-10 POSIX, 5-5,5-13,5-26 security POSIX.l, 5-13 security, 4-10 signal interfaces, 5-13 shared memory, 5-12 print service, LP, 4-13 sharing network files, 4-18 printcap file, replacement, 4-13 shell tools, used for, 3-7 printf, 5-9 shells, 5-15 printing signal, 5-13

Index-4 Solaris 2.1 Release Manual—December 1992 signal interfaces, 5-13 System Access Controller (SAC), See signals, 5-13 SAC, 4-14 sockets applications, support for, 5-27 system interfaces, 3-7,5-14 Software Manager, 1-3 shells, 5-15 software package management, 5-17 System V Application Binary Interface SPARC SPARC Processor Supplement, assembler, 5-18 See SPARC ABI, 5-6 instruction set, 5-18 SystemVApplication BinaryInterface,See SPARC ABI, 5-6 ABI, 5-4 SPARC Architecture Manual, Version System V Interface Definition, Third 8, 5-18 Edition, See SVID, 5-4 SPARC International Conformance Definition 2.0, See, 5-6 spawning grounds, 5-28 tape drives standards adding, 7-2 ANSI C, 5-4 tests STREAMS, 5-12 hardware, 1-3 Sun DDI, 5-7,5-15 new, 1-3 Sun Device Driver Interface, See Sun that, 4-17 DDI, 5-7 tmpfs, 4-18 Sun NFS, 4-16,5-27 ToolTalk service, 5-25 Sun NFS, Seefilesystems TPI, 5-7 SunDiag 4.0diagnostic program, 5-19 transport independence, 5-27 SunDiag enhancements, 1-3 Transport Independent Remote Procedure SunOS Call (TIRPC), 5-28 compatibility packages, 4-4 Transport Layer Interface (TLl), 5-27 creating a SunOS 4.x Transport Provider Interface, See TPI, 5-7 environment, 5-22 transport selection, defined, 5-27 migration and system ttymon, 4-14 administration, 4-2 support for SunOS system interfaces, 5-22 u SunOS/BSD compatibility, 5-14 UNIX SVR4 Device Driver SunView Interface/ Driver-Kernel development not supported, 5-3 Interface, 5-7 incompatibility, 4-3 user administration, 4-12 SunView applications, in user environment, 1-1 Openwindows, 4-3 supported hardware platforms, 1-5 V supported platforms, 1-5 SVID, 5-7 VPS, 4-19,5-26 features, 5-26 swmtool, 1-3 Virtual File System, SeeVFS

Index-5 Virtual File System, see VFS p-, Virtual File System/virtual node. See also ( ) VFS, 4-19 virtual memory, 5-11

w workspace, defined, 3-4 writing device drivers, 5-15

X X/Open Portability Guide, Issue 3, See XPG-3 XGL 3.0 RTF, 1-4 XGL runtime environment, 1-4 XPG-3, 5-7 n

n

Index-6 Solaris 2.1 Release MannaI—December 1992 Notes Notes O Notes Notes O Notes Notes O Notes Notes O Notes Notes O Notes Notes O