OpenSolaris New User FAQ

From Genunix

Contents

Unanswered

Q: What does the boot up error message "Could not look up internet address " mean?

A:

General

Q: What is the target audience of this FAQ?

A: OpenSolaris NOOBs. ;) To be more precise, new users of OpenSolaris. (And those that wish to be).

Q: How do I get my questions about Solaris answered?

A: Check out: http://www.opensolaris.org/os/newbies/ This web page contains many useful links. Forums: http://www.unixadmintalk.com/f4/ http://www.phoronix.com/forums/forumdisplay.php?f=42

Q: Is this the canonical FAQ regarding Solaris and OpenSolaris?

A: Absolutely not. Check the following:

Q: Where can I find the OpenSolaris documentation?

A: Currently the OpenSolaris documentation is at the Documentation Community homepage. I would also strongly encourage looking at Sun's official Solaris documentation.

Q: What's the difference between Linux, FreeBSD and OpenSolaris?

A: See this article for a detailed technical overview of the differences.

Q: Why should I run OpenSolaris?

A: Here is a list of Strengths of OpenSolaris: Solaris Strengths and Features

Q: What is Project Indiana?

A: Project Indiana aims to be Sun's new rapid release Solaris binary distribution. Project Indiana aims to incorporate many of the packaging and installation enhancements that the BSD and Linux communities pioneered. Primarily the ability to install additional software off network repositories, without worry of tracking down dependencies. In addition one of the goals is to have this release be based completely on freely redistributable code. (Some of the binaries in Solaris 10 and Solaris Express cannot be redistributed.)

There is also a relatively large lag time between the time new features are added to the OpenSolaris code base, and the time they show up in a numbered Solaris release. Indiana aims to address this.

For the immediate future this distribution of Solaris will coexist with traditional "Solaris" as "OpenSolaris". (As per Sun's current plans).

It seems the long term goal is to have a distribution model similar to Ubuntu's, where there is a branch that is forked and maintained with a long term support goal, and a branch that follows the latest development innovations.

If you have further questions regarding Project Indiana please see the Indiana FAQ: http://www.genunix.org/wiki/index.php/Indiana_FAQ

Sun has set up opensolaris.com, which is the new online home for OpenSolaris - the distribution.

Q: What is BrandZ? Is BrandZ a new Linux distro?

A: First, BrandZ is not a Linux distro. OpenSolaris's BrandZ is a technology based on OpenSolaris Zones, which allows an OpenSolaris system to run unmodified Linux binaries. (see FAQ section "Zones" for more info)

Q: Do Novell and/or SCO own any rights to Solaris?

A: Who knows? Only SCO, Novell and Sun's lawyers know the real answer. Please direct such questions to Sun's legal team, not the OpenSolaris.org mailing lists.

Q: What license does OpenSolaris use?

A: Most of the code Sun has released is covered by the CDDL, a descendant of Mozilla's MPL. It is similar to the LGPL license, except it provides patent protection for licensees, and only requires providing the source of the CDDL covered source files, not the entire binary. (IE: The user of a CDDL licensed work, receives limited patent licenses so that they can make use of that code, without fear of patent infringement.) OpenSolaris also includes components (such as GNOME, X11, Perl, Apache) covered by GPL, LGPL, BSD, MIT/X11, and a variety of other licenses.

Q: Why doesn't OpenSolaris use the GPL?

A: Sources haven't been released to all of OpenSolaris, with several crucial bits requiring closed source binaries, so if it was released only under the GPL, no one would be able to build a distro or redistribute it. Only Sun knows why they chose CDDL only over GPL with special exceptions or dual-licensing, but most likely it is because they do not yet see enough benefits from changing from their existing license. (It could also be a rights issue, but the point is that these are all just guesses). Please direct all questions of this nature to Sun's legal team, not opensolaris.org's mailing lists.

Q: What are the differences between RedHat Enterprise Linux and OpenSolaris?

A: Ben Rockwood has written an excellent article detailing everything a RHEL admin needs to know to migrate to OpenSolaris.

Q: How do I report errors in this FAQ?

A: Just register and correct the information on this wiki page. If you have any issues, or aren't sure about a change, feel free to drop a note to opensolaris-help@opensolaris.org.

Installation

Q: How do I find out if my system will run OpenSolaris?

A: Run the Sun Device Detection Tool before attempting to install OpenSolaris to see if your hardware components are supported. If you don't have access to the system, you can always check the Hardware Compatibility Lists (HCLs)

Q: What do I type in for domain name during the install, if I do not have a domain?

A: Just invent one. unixlan, officelan, homenet, internallan, to give you some ideas.

Q: Why won't my x64 system install in 64-bit mode?

A: The Installer runs in 32-bit mode even if your installing on a 64-bit capable machine. When the installation is finished and the machine reboots, the Solaris kernel will load either 32-bit or 64-bit if the machine supports it.

Q: How can I wipe my current installation of Solaris and reinstall a fresh copy from the install files that are preloaded on the system?

A: Use the re-preinstall command. See http://docs.sun.com/app/docs/doc/816-0211/6m6nc674s?q=re-preinstall&a=view for more details.

Q: When installing Solaris Express Community Edition, why does the boot menu list "Solaris Express Developer Edition" and "Solaris Express" instead?

A: Solaris Express Developer Edition (SXDE) is based on Solaris Express Community Edition (SXCE). Although SXDE is released once each quarter year, it is also present on every SXCE DVD. The CD version of SXCE does not include SXDE. The boot entry "Solaris Express" is for SXCE.

SXDE requires at least 768MB of memory during installation. SXCE requires at least 512MB of memory during installation.

There are 3 differences between SXCE and SXDE:

1. SXDE uses a different installer which looks nicer and asks less questions. It is therefore considered easier for new users.

2. SXDE installs several developer tools automatically as part of the installation process. The developer tools are also present on SXCE DVDs (but not the CD version) and can be installed separately after installation.

3. SXDE uses Network AutoMagic (NWAM) by default. This greatly simplifies networking, particularly for laptop users. SXCE uses the traditional Solaris network setup by default. Both SXCE and SXDE have the option of switching to each other's method of setting up the network.

Confusingly, if you start Firefox on SXCE, it will display a page that says "Welcome to Solaris Express Developer Edition".

Q: Can I install OpenSolaris to a USB disk and boot from it?

A: x86/x64: Yes. (Figuring out how, I leave as an exercise for the reader). SPARC: No, you cannot boot from it, as IEEE1275/OpenBoot - as currently implemented - doesn't support this on SPARC (while it could be done, as ppc shows).

Q: Why can't I partition my hard drive while I am installing OpenSolaris?

A: Because you are using the new installer. During the initial steps of installation, an option to select either the default install or the custom install is provided. Choose the custom install and you get the menu to partition the disk of your choice.

Q: Are partitions the same thing as slices?

A: On x86 computers slices are "sub-partitions". They are created inside a single Solaris partition. There can be up to 7 slices on both SPARC and x86. On x86 there are also 2 further slices (numbered 8 and 9) which are reserved for system use. On SPARC systems however, there are no partitions - only slices. Sometimes people like to confuse things by referring to slices as partitions instead. ;-)

On x86 systems there can currently only be one Solaris partition per disk.

The partition ID "BF" (in hex) is used by Solaris partitions on x86 systems. This partition ID is also used by Linux swap partitions, which can cause confusion. (Solaris was first to use this partition ID).

Logging in

Q: What setting do I have to change so that I can see how many characters of my password I've typed?

A: It depends on where you're typing your password - there is no option to the command line login or dtlogin (the default graphical login) to do so, but gdm (the GNOME graphical login) offers this option.

Q: How do I know how many failed login attempts I have before my account gets locked?

A: Set the value RETRIES in /etc/default/login. See the following for more details: http://docs.sun.com/app/docs/doc/816-1048/6m7gaddgn?a=view#commontasks-27

Q: If I know I mistyped my password, is there any way I can go back and re-enter it?

A: Type ^U (Ctrl-U) and then retype your password from scratch.

Q: Why can't I login as root via ssh?

A: You need to comment out the line 'CONSOLE=/dev/console' in /etc/default/login (You may also need to make a change to /etc/ssh/sshd_config).

Note: Direct remote logins are disabled by default because doing so (slightly) improves security. If you change this setting then you do so at your own risk.

Q: Is it possible to limit logins so that a user can only have one login session active at any given time?

A: Yes. See: http://blogs.sun.com/darren/entry/limiting_users_to_one_login

Networking

Q: My network / internet connection doesn't work on Solaris - how can I fix this?

A: See the Network Problems FAQ for this answer.

Q: What can I do if my WiFi or Ethernet card isn't recognized? (NDIS)

A: If you are running on an x86 system, you can use a MS-Windows NDIS driver using the "NDIS Wrapper" driver toolkit. http://www.opensolaris.org/os/community/laptop/wireless/ndis/ Also check out the OpenSolaris WiFi FAQ: http://opensolaris.org/os/community/laptop/wireless/Solaris-wireless-faq/

Q: How do I change my system's hostname?

A: See http://www.genunix.org/wiki/index.php/Change_hostname_HOWTO

Q: How do I add static routes?

A: Use the 'route' command. (man route) If you need the static route to be permanent/persistent, use the -p option. This option allows you to add routes that persist beyond system restart. (The -p option was introduced in Solaris 10 update 3. In versions prior, you need to create a "startup" script that will configure these routes at boot time). If you run "route" with no arguments and see usage including the -p option:

$ route usage: route [ -fnpqv ] [ -R <root-dir> ] cmd [[ -<qualifers> ] args ]

Example: route add 192.168.7.0 192.168.1.1 1

This will create a static route to the 192.168.7.0 network, using 192.168.1.1 as the gateway.

Q: How do I change my system's IP address?

A: See: http://www.genunix.org/wiki/index.php/Change_IP_Address_HOWTO

Q: How do I enable or disable DHCP?

A: You can enable it via something like this:

      # echo STATIC_IP_ADDRESS > /etc/hostname.XXX
      # svcadm disable nwam
      # svcadm enable network/physical:default

You can disable it via something like this:

      # touch /etc/dhcp.XXX

... replacing "XXX" with the name of the Ethernet interface of interest and replacing "STATIC_IP_ADDRESS" with the address you desire (you can use the hostname/len format to specify a netmask). If the problem is that you don't know the name of the Ethernet interface, then try doing "ifconfig -a plumb ; ifconfig -a".

Q: Does OpenSolaris supported bonded Ethernet connections? (Also known as 802.3ad Link aggregation)

A: Yes.

Q: How do I find out the Primary IP address of a system?

A: Run: host `hostname` NOTE: Currently there is some debate as to whether Solaris has a concept of a Primary interface.

DTrace

Q: Where can I find the DTrace FAQ?

A: Genunix.org's DTrace FAQ

Q: Where can I find out more information about DTrace?

A: The Opensolaris DTrace Community homepage has many useful guides and articles. Also Sun's official DTrace HOWTO is a great reference. The DTrace Topics of the SolarisInternals wiki also has a growing set of information.

NFS

Q: Where can I find out information about basic NFS configuration?

A: http://www.genunix.org/wiki/index.php/Basic_NFS_Configuration

Q: Where can I find out more information about NFS?

A: You can find the OpenSolaris NFS Reference Links here.

Q: Where can I find information to increase the performance of an NFS server that is exporting a ZFS file system?

A: Check the following article: The Management of NFS Performance With Solaris ZFS. It has many performance optimization and scaling guidelines that will help make your server perform very well.

Q: What is pNFS?

A: pNFS is short for Parallel NFS. pNFS is a new NFS standard (v4.1) that aims design a clustered network file system that can sustain high aggregate throughputs by distributing the data across multiple physical servers.

Q: How do I setup pNFS?

A: See the howto: http://opensolaris.org/os/project/nfsv41/downloads/pnfs-how-to/

ZFS

Q: Is there an official ZFS FAQ?

A: Yep! The FAQ is here.

Q: Where can I find out more information about ZFS?

A: You can find ZFS Reference Links here.

Q: How do I setup ZFS boot?

A: The installer does not yet setup bootable ZFS filesystems. More information at http://opensolaris.org/os/community/zfs/boot.

Support for installing Solaris into a ZFS root was integrated into build 90 of Nevada. To do this, you need to use either the text mode installer, or JumpStart. Since both the Solaris installer and JumpStart are closed source, you can only get your hands on them when the binaries are released by Sun. For most people this means the fortnightly DVD and CD images. Based on past release dates, build 90 of Nevada should be available on DVD and CD at around 9th June 2008.

OpenSolaris version 2008.05, which is a different operating system than Solaris Nevada, based on the same common code base does have support for installing to a root ZFS filesystem.

Q: I want to play around with ZFS without repartitioning my hard disk. Is this possible?

A: Yes. ZFS file systems can be created on files. Please refer to this blog entry for details: http://www.cuddletech.com/blog/pivot/entry.php?id=446

Zones

Q: Is there an official OpenSolaris Zones FAQ?

Q: What is the maximum number of local Zones I can have?

A: The absolute maximum is 8191. Practical limits are lower but depend entirely on the workloads.

Q: How do I tell what Zone I am in?

A: Typing zonename will tell you the zone name, if it's not global, you're in a local zone.

Q: If I'm logged into a local zone, how do i know what the global zone name is?

A: By design you can not. See these two threads for workarounds: http://www.opensolaris.org/jive/thread.jspa?threadID=35960 http://www.opensolaris.org/jive/thread.jspa?threadID=35960

Q: If I am in a local Zone, is there a way to tell what host I am on?

A: http://www.opensolaris.org/jive/message.jspa?messageID=113094#113094

Q: How do I move a Zone from one system to another?

A: http://www.sun.com/software/solaris/howtoguides/moving_containers.jsp

Q: How do I setup Zones?

A: http://www.sun.com/software/solaris/howtoguides/containersLowRes.jsp

Upgrading

Q: Why doesn't Sun Update Manager work? (It just hangs)

A: Sun Update Manager will only work for Sun supported operating systems. Currently that means Solaris 8,9 and 10 only. OpenSolaris 2008.05 uses a different method of update that does not use the Sun Update Manager.

Q: How do I upgrade OpenSolaris?

A: Please see the following for a list of supported methods: http://developers.sun.com/sxde/upgrade_guide.jsp

Q: What is "Live Upgrade" and how do I use it?

A: Sun has written an excellent Solaris 10 Live Upgrade HOWTO. Although it is aimed at users of Solaris 10, it is equally as applicable to OpenSolaris.

Shells

Q: Why doesn't /bin/sh point to bash?

A: Solaris uses the Bourne shell (/bin/sh) as the default system shell to satisfy backward compatibility with historic releases of Solaris. (Many of the included system scripts have been written to use /bin/sh, so backwards compatibility is an absolute must.)

There is work being planned to replace the Bourne shell with a generic POSIX compliant shell. Whether that is an updated bash running in POSIX compatibility mode, or another shell such as ksh93 is still an open question. Either option require additional coding resources to implement.

Indiana has made /bin/sh point to ksh93 in the 2008.05 release.

Q: Why isn't bash the default root user shell?

A: There is a consensus building to use a modern/user-friendly default system administration shell, such as bash or ksh93, but the integration and compatibility changes required have yet to be done.

Indiana, also known as "OpenSolaris - the distribution", does use bash as the default user shell. This is to make it more approachable for users familiar with other operating systems, e.g. Linux.

Q: Where can I find more info on ksh93?

A: Check http://www.kornshell.com/doc/ (In particular, the book "The New KornShell" is an excellent resource.) Also see the ksh93-integration OpenSolaris project page: http://www.opensolaris.org/os/project/ksh93-integration/

Q: What shells are available for use with end-user accounts?

A: /usr/bin/bash, /usr/bin/csh, /usr/bin/jsh, /usr/bin/ksh, /usr/bin/ksh93, /usr/bin/sh, /usr/bin/tcsh, /usr/bin/zsh

SMF (Starting and stopping services/daemons)

Q: Where can I find more information about SMF?

A: http://opensolaris.org/os/community/smf/faq/ and http://home.arcor.de/bnsmb/public/htdocs/My_Little_SMF_FAQ.html

3rd Party Applications

Q: Why isn't Adobe Acrobat Reader available for Solaris x86?

A: After numerous requests from Solaris users, Adobe recently announced that the next version of their Acrobat Reader will have a Solaris x86 version. This is currently due to be released some time in 2009.

In the meantime, the open source evince pdf reader (previously known as gpdf) has improved significantly and works well for the majority of existing pdf documents. Evince is included with the Gnome Desktop which is part of many OpenSolaris distributions (e.g. Java Desktop System on Solaris Nevada).

Q: Why don't the default Firefox fonts in Solaris look as crisp as the Windows Firefox fonts?

A: At the present time, don't use the default serif or sans-serif fonts in Firefox. For "western" locale, Solaris has already substituted them with "Times" and "Helvetica", respectively. If you use other locales, make sure that you do similar adjustments. Also, if you're using GNOME, go into the Desktop Preferences menu, bring up the Font preferences dialog, and try the different options there to better tune the font rendering to your display. The differences can be very noticeable.

Q: Where can I get pre-compiled Solaris packages?

A: http://www.blastwave.org, http://www.sunfreeware.com, and from Sun.

Security/Auditing

Q: Does Solaris have a built in firewall?

A: Yes, it is called ipfilter, and it is a powerful open-source firewall. It was originally developed by Darren Reed (who now works for Sun) to be an easy to use, cross-platform packet filter (Solaris, *BSD, IRIX, HP-UX, Linux and more). More info can be found at the IP Filter homepage.

Q: Where can I find info about running a PCI-DSS compliance audit?

A: http://blog.tenablesecurity.com/2007/08/solaris-pci-aud.html

Unsorted

Q: What OS version is this system running?

A: Use the "uname -a" command. (See Solaris Version Numbering for further details).

Q: Why are man page files hard to read?

A: Because the file contains formatting codes. In order to view the file in human readable format run "nroff -man manfile.n|more"

Q: How can I check the OS version via the boot prompt?

A: There is no way to check the OS version from the boot prompt. Theoretically you could write a Forth program that could read raw blocks in and search through raw data, but that's not really meant to work that way. (Note: the boot prompt is only present on SPARC systems).

Q: How do I check what libraries my program is using?

A: ldd on the executable, pldd on a running process.

Note that ldd will return all libraries that are needed not only by your program, but by any libraries needed by the libraries your program needs, and so on, recursively.

Another useful tool here is elfdump, which can tell you all sorts of wonderful things about an elf binary, but in this case can tell you what your program is asking for directly:

  % elfdump -d /sbin/zfs
  Dynamic Section:  .dynamic
       index  tag                value
         [0]  NEEDED            0xb3e               libzfs.so.1
         [1]  NEEDED            0xb5a               libuutil.so.1
         [2]  NEEDED            0xb68               libumem.so.1
         [3]  NEEDED            0xb7e               libnvpair.so.1
         [4]  NEEDED            0xb98               libc.so.1
  [ ... ]

The "NEEDED" lines refer to the SONAMEs of the objects your program is linked against.

Note that if your program loads any libraries via dlopen(), but didn't specify them on the link-edit line (i.e., "cc/ld ... -lzfs"), then they won't show up either here or when using ldd.

Q: How do I boot the kernel in Debug mode?

A: There's no such thing as debug 'mode'. If you want a DEBUG kernel then you have to install one (find out about bfu from the ON Developers Reference). If you want to debug specific things then you may find you can turn some helpful stuff on (e.g. you can set kmem_flags to help memory debugging even with a non-DEBUG kernel).

And you can boot with '-k' to load the kernel online debugger (kmdb) at boot time (although you can do that after booting with 'mdb -K' as well). You can even enter kmdb directly from boot and start fiddling with the kernel before startup - use the '-a' and/or '-h' boot options as well. Documentation on available boot options is in the boot(1M) man page,

http://docs.sun.com/app/docs/doc/816-5166/6mbb1kpub?a=view

On GRUB, highlight the Solaris line, then press 'E' to edit the entry, press 'E' again to edit the kernel line, and append the boot flags there.

The source that shows all the boot flags (documented and undocumented) is found here:

http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/krtld/kobj_bootflags.c

The big difference between a DEBUG and a 'normal' Solaris kernel is that a DEBUG kernel has ASSERT() compiled in, while those are missing in an ordinary kernel. All 'generic' debugging facilities (kmdb, crashdumps, kmem debugging, DTrace, ...) do not depend on the presence of a debug kernel.

Q: What command should I use instead of "top" to see an active list of processes?

A: Run: prstat

Q: What compression program should I use instead of "compress, zip or gzip"?

A: bzip2 generally has the best compression ratios but is significantly slower than gzip (particularly for large files). Unless you're extremely short on space or the files are small, gzip tends to give the best time/size trade off.

Zip creates files that use the PKZIP archive format, which includes CRC checksums of the archive contents. It can therefore be useful if you are posting an archive file on the internet for others to download.

Q: How do I find out how many processors a system has?

A: Run: psrinfo ("man psrinfo" for more options.) or prtdiag

Q: How do I find out what a system's "hostid" is?

A: Run: hostid

Q: How do I change my password?

A: Run: passwd

Q: How can I determine who is logged into a system?

A: Log on and run 'w'.

Q: What version of PERL is supplied with Solaris?

A: Run '/usr/bin/perl -v' to find the default.

Generally there are a couple of versions installed (Solaris 10 GA has 5.6.1 and 5.8.4). You can find them by looking in /usr/perl* or doing pkginfo | grep Perl

Q: Is there a basic Unix tool you can recommend for synchronizing data across the network?

A: Yes, rsync. Check the rsync HOWTO and man page for more information.

Q: Why can't I see my USB mass storage device?

A: First verify that vold (volume daemon) is running. "svcs volfs". Next verify that you have looked in the correct location "/media/".

Newer versions of Solaris Nevada do not use vold. In this case you can use the "rmformat" command to find out if Solaris has detected any removable disks on your system.

Rejected

Brandorr working notes

http://www.freebsd.org/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/index.html


> - Question: "Where can I download Solaris/Solaris Express ISO images" ? > Answer: See http://www.opensolaris.org/os/downloads/ (and please find > someone who can describe the difference between "Solaris Express > Community Edition" and "Solaris Express Developer Edition" - I always > forget which of these I have to avoid and usually I have to click around > until I get the stuff with the newest Nevada release...)

> 1. coreadm: > -- snip -- > Question: "How can I see if an application, service or any other process > crashed ?" > Answer: "Enable coreadm like this: $ mkdir -p /var/core ; coreadm -g > /var/core/core.uid%u.gid%g.pid%p.%f -e global -e process -e log -e > global-setid # - this will send a notification of any generated core > dumps to the system log (/var/adm/messages) and put a copy of the core > dump into /var/core/" > -- snip --


http://www.sun.com/software/solaris/howtoguides/postgresqlhowto.jsp

http://www.genunix.org/wiki/index.php/Choosing_x86_Hardware_for_Solaris_10

http://www.sun.com/software/solaris/howtoguides/liveupgradehowto.pdf

http://www.genunix.org/wiki/index.php/White_Box_ZFS_Storage_Server:_Hardware_Guide

http://docs.sun.com/app/docs/doc/817-0547 (What's new in Solaris 10)

http://napobo3.blogspot.com/2006/01/turbocharging-nfs-server.html

I'll reluctantly admit that SMF is more complex that it looks at first glace. 'svcs -a' and 'svcs -vx' are enough to win you over... a couple simple manifests and you are irritated its so much work, but hey, the benefits are worth it... then your manifests start requiring profiles (full shell scripts) and you start feeling the itch to just revert back to init scripts... then you start playing with 'svccfg' beyond just 'svccfg import/export' and you start wondering if this is worth the hassle.

SMF is, I think, ahead of its time. Yes, XML is a pita, but as sysadmins we've avoided XML about as long as we can, at some point it had to catch up to us.

But since we're weighing the advantages, let me add some to the list:

  • The lengths we went to make init scripts work well were a bit silly. setuid, inittab when required, etc. I mean, just 'inittab' being used to cope with services that just didn't want to stay up is enough reason (don't lie!!! you've done it at some point! or at least been tempted to.)
  • Transactional SQL databases are a good thing. There are a number of ways to exploit SMF by digging directly into the SQLite database on the backend
  • "Strap on Services", such as MonIt are just silly. The dependency some people have on these types of applications, not to mention monitoring in general simply to ensure a daemon didn't die, is ridiculous in the 21st century.
  • Dependency chains are a good thing. Lots of Web 2.0 applications have dependencies on other local services and managing these sorts of interactions is tedious in init scripts (if ('ps -ef | grep ...'){ }). Mind you, that creates new challenges because the flow of startup in init was very simplistic to understand (S77mysql, S78apache, ...). Never the less, with good docs and tracking tools this isn't so bad. The ability to dump an ASCII-art like dump of the dependancy chain would be nifty (I've seen a bug for something like this, which is accepted but not assigned.)
  • Delegated control is nice via RBAC, however I admit that you could do something similar using either RBAC or 'sudo' anyway, so its not _really_ an advantage.
  • Listing PIDs associated with a service is pretty sweet. (svcs -p)
  • Having a log of activity for a given service is sweet.
  • Being able to monitor services via SNMP is sweet.
  • Having multiple instances of a single service is sweet.
  • Seeing the "last change" time on a given service is sweet.

There are rough edges for sure. For instance, building in the ability to send alerts via email would be handy (Joyent's mighty Derek Crudgington wrote 'smfalert' for this purpose), smoothing out the admin interface would be nice, and for me the most valuable would be the ability to include more than just a simple exec in the manifest (I'm lazy, writing a profile is the right thing to do, but if your talking about a 2 line startup its just a pita.)

Now... what is currently in my "undecided" list is SMF Service Properties. The ability to add properties to a service is nifty, I guess, but is a truly new and novel concept. Most of SMF is a different way of doing what we already did, but associating properties to a service is totally new and I'm still not sure how to really exploit them.

SMF really is a next-generation, evolution of administration, sort of technology. I think for any of us it can be said that having to re-learn something you already take for granted is a tough sell, and certainly SMF takes some real serious "sit-down and learn this thing" time... but its really truly worth the effort and you'll get out what you put in. In all my presentations on OpenSolaris I always note that of all Solaris 10's advantages its SMF thats the real winner above and beyond the rest for sysadmins.