This is an old revision of the document!
This article gathers a few notes concerning Solaris 10 (on Sparc or x86).
Since Solaris 10, the old (but nice ?) start/stop script in rc?.d have been replaced by SMF, the Service Management Facility. To handle those services, there are 2 alternatives:
OpenSolaris uses the SMF too. It (unfortunately ?) ships with many services and will probably need some tuning if your host is a bit slow. A nice reading on that behalf: Solaris 10 Benchmark v4.0.
Name | Service Name | Comments |
---|---|---|
Apache | Solaris: apache2, OpenSolaris: svc:/network/http:apache22 | Enable to set up your own web server |
CDE | svc:/application/graphical-login/cde-login:default | Disabled on Solaris: I use gdm. Does not exist on OpenSolaris |
DHCP | dhcpagent | disabled: I use static address |
Fiber Channel | svc:/system/device/fc-fabric:default | Keep enabled or the system won't reboot |
GDM | Solaris: svc:/application/gdm2-login:default, OpenSolaris: svc:/application/graphical-login/gdm:default | enabled |
GSS API | gss:default | Disable. The GSS API is a security abstraction layer that is designed to make it easier for developers to integrate with different authentication schemes. It is most commonly used in applications for sites that use Kerberos for network authentication, though it can also allow applications to interoperate with other authentication schemes (quoted from Solaris 10 Benchmark v4.0). |
IPFilter's service | ipmon | Enabled. used for zones |
IPv6 neighbour discovery daemon | svc:/network/routing/ndp:default | Disabled. I don't use IPv6 at home ! |
Kerberos | svc:/network/security/ktkt_warn:default | “While Kerberos can be a security enhancement, if the local site is not currently using Kerberos then there is no need to enable this service” (according to here) |
metainit | svc:/system/metainit:default | disable. SVM initialization |
metasync | svc:/system/metasync:default | disable. SVM initialization |
Multicast DNS and DNS Service Discovery | multicast:default | disable |
N Port ID Virtualization | svc:/network/npiv_config:default | Do not disable or the syste, won't reboot. N_Port_ID Virtualization (NPIV) is a method for virtualizing a FibreChannel Port. With NPIV, one physical FibreChannel port can obtain many N_Port_IDs. |
PPD Cache Update | svc:/application/print/ppd-cache-update:default | disable |
Rlogin | network/login:rlogin | enable this for rlogin |
Samba | Solaris: svc:/network/samba:default, OpenSolaris: svc:/network/smb/client:default | enabled. On OpenSolaris, the Samba client is necessary for smbfs. |
Sendmail | svc:/network/smtp:sendmail | I don't need it. To remove sendmail packages, pkgrm SUNWsndmu and SUNWsndmr. Beware sendmail is required by fetchmail |
Time Slider | svc:/application/time-slider:default | For ZFS Snapshots |
VNC Configuration | svc:/system/xvm/vnc-config:default | disable |
Currently, the list of online services on my host are:
STATE STIME FMRI legacy_run 20:36:20 lrc:/etc/rcS_d/S50yukonx legacy_run 20:36:59 lrc:/etc/rc2_d/S20sysetup legacy_run 20:36:59 lrc:/etc/rc2_d/S47pppd legacy_run 20:36:59 lrc:/etc/rc2_d/S72autoinstall legacy_run 20:36:59 lrc:/etc/rc2_d/S73cachefs_daemon legacy_run 20:37:00 lrc:/etc/rc2_d/S81dodatadm_udaplt legacy_run 20:37:00 lrc:/etc/rc2_d/S89PRESERVE legacy_run 20:37:00 lrc:/etc/rc2_d/S98deallocate disabled 20:36:57 svc:/system/xvm/ipagent:default online 20:36:04 svc:/system/svc/restarter:default online 20:36:05 svc:/network/loopback:default online 20:36:05 svc:/network/datalink-management:default online 20:36:06 svc:/system/filesystem/root:default online 20:36:06 svc:/network/physical:nwam online 20:36:07 svc:/system/scheduler:default online 20:36:07 svc:/system/boot-archive:default online 20:36:07 svc:/system/identity:node online 20:36:14 svc:/system/filesystem/usr:default online 20:36:14 svc:/system/device/local:default online 20:36:14 svc:/system/filesystem/minimal:default online 20:36:15 svc:/system/identity:domain online 20:36:15 svc:/system/hostid:default online 20:36:15 svc:/system/name-service-cache:default online 20:36:15 svc:/system/rmtmpfiles:default online 20:36:15 svc:/system/resource-mgmt:default online 20:36:15 svc:/system/cryptosvc:default online 20:36:15 svc:/network/ipfilter:default online 20:36:15 svc:/milestone/network:default online 20:36:15 svc:/system/sysevent:default online 20:36:16 svc:/system/power:default online 20:36:16 svc:/system/picl:default online 20:36:16 svc:/network/npiv_config:default online 20:36:16 svc:/system/device/fc-fabric:default online 20:36:16 svc:/milestone/devices:default online 20:36:17 svc:/system/manifest-import:default online 20:36:17 svc:/system/coreadm:default online 20:36:17 svc:/network/initial:default online 20:36:18 svc:/network/service:default online 20:36:18 svc:/network/dns/client:default online 20:36:18 svc:/milestone/name-services:default online 20:36:19 svc:/network/smb/client:default online 20:36:20 svc:/system/keymap:default online 20:36:20 svc:/milestone/single-user:default online 20:36:24 svc:/network/routing-setup:default online 20:36:24 svc:/network/routing/ndp:default online 20:36:55 svc:/system/filesystem/local:default online 20:36:56 svc:/system/sysidtool:net online 20:36:56 svc:/network/shares/group:default online 20:36:56 svc:/system/boot-archive-update:default online 20:36:56 svc:/system/cron:default online 20:36:56 svc:/network/shares/group:zfs online 20:36:56 svc:/network/rpc/bind:default online 20:36:56 svc:/application/stosreg:default online 20:36:56 svc:/system/sysidtool:system online 20:36:56 svc:/milestone/sysconfig:default online 20:36:56 svc:/system/sac:default online 20:36:57 svc:/system/dbus:default online 20:36:57 svc:/system/utmp:default online 20:36:57 svc:/system/filesystem/autofs:default online 20:36:57 svc:/network/inetd:default online 20:36:57 svc:/system/console-login:default online 20:36:57 svc:/system/filesystem/zfssnap-roleadd:default online 20:36:57 svc:/system/dumpadm:default online 20:36:57 svc:/application/desktop-cache/mime-types-cache:default online 20:36:58 svc:/application/desktop-cache/gconf-cache:default online 20:36:58 svc:/system/postrun:default online 20:36:58 svc:/application/desktop-cache/input-method-cache:default online 20:36:58 svc:/application/desktop-cache/pixbuf-loaders-installer:default online 20:36:58 svc:/application/opengl/ogl-select:default online 20:36:58 svc:/network/rpc/smserver:default online 20:36:58 svc:/network/login:rlogin online 20:36:58 svc:/application/pkg/update:default online 20:36:59 svc:/system/system-log:default online 20:36:59 svc:/network/ssh:default online 20:37:00 svc:/application/desktop-cache/desktop-mime-cache:default online 20:37:00 svc:/milestone/multi-user:default online 20:37:01 svc:/system/intrd:default online 20:37:01 svc:/system/fmd:default online 20:37:01 svc:/milestone/multi-user-server:default online 20:37:03 svc:/system/zones:default online 20:37:03 svc:/application/font/fc-cache:default online 20:37:10 svc:/application/desktop-cache/icon-cache:default online 20:37:12 svc:/system/filesystem/zfs/auto-snapshot:daily online 20:37:13 svc:/system/filesystem/zfs/auto-snapshot:monthly online 20:37:13 svc:/application/graphical-login/gdm:default online 20:37:13 svc:/network/http:apache22 online 20:37:13 svc:/system/filesystem/zfs/auto-snapshot:weekly online 20:37:19 svc:/system/hal:default online 20:37:19 svc:/system/filesystem/rmvolmgr:default online 20:37:28 svc:/system/filesystem/zfs/auto-snapshot:frequent online 20:37:28 svc:/system/filesystem/zfs/auto-snapshot:hourly online 20:37:28 svc:/application/time-slider:default
The host can be graphically administered using:
To add a new user,
MAXWEEKS= MINWEEKS= PASSLENGTH=4 HISTORY=0 MINDIFF=0 MINDIGIT=0
See more information here.
The default path for Solaris 10 should be set in /etc/default/login:
PATH=/usr/sfw/bin:/opt/csw/bin:/usr/sbin:/sbin:/usr/bin:/usr/openwin/bin SUPATH=/usr/sbin:/usr/bin
PATH is the default path for users.
SUPATH is the default path for root when running su.
Both paths are overriden by user's .profile, .login, .cshrc or .bashrc. So, check those files out too.
The configuration of locales is stored in /etc/default/init. To add a new locale, use localeadm
For compilation messages in English:
export LC_MESSAGES=en_US
To set/correct time, do:
date 1334.00
to set clock to 13:34.00
To add the rlogin network service:
svcs -l rlogin svcadm enable network/login:rlogin
Note that svcadm enable -t network/login:rlogin only performs a temporary enable of rlogin (won't persist over reboot).
$ more /etc/hostname.yukonx0 boureautic
$ more /etc/hosts # # Internet host table # #::1 localhost loghost boureautic 127.0.0.1 localhost loghost 192.168.0.2 boureautic
domain sweethome.fr nameserver 212.27.54.252 nameserver 212.27.53.252
hosts: files dns
ifconfig yukonx0 192.168.0.2 netmask 255.255.255.0 up
route add default 192.168.0.254
route add default 192.168.0.254
An alternative consists in using the Networking daemon: physical:nwam
For remote display:
export DISPLAY=:0.0
Also use /usr/openwin/bin/xauth list to list which entities are authorized.
There's a known bug on Solaris 10 u5: when you log on, a message is displayed: “failed to execute child process “xscreensaver” (no such file or directory) screesaver functionality will not work in this session”.
To get rid of this message, do
ln -s /usr/openwin/bin/xscreensaver /usr/bin/xscreensaver
On Solaris 10, to set up automatic log in:
# gdmsetup & --> set up for user you wish to log in # vi /etc/X11/gdm/gdm.conf ... SystemMenu=true # /etc/init.d/dtlogin stop # /usr/dt/bin/dtconfig -d # svcadm enable gdm2-login
Now, automatic login is a bit disappointing, because you still have to provide user's password…
On OpenSolaris 2008.11, no such issue ! Use gdmsetup and it works.
One of my former desktops used the following:
To launch an application as root: gksu. For example,
gksu /usr/bin/packagemanager
Enlightenment is a nice Unix window manager. There's a ready-to-use package for DR16 at Blastwave.
pkg-get install enlightenment
Then, you merely need to edit your .dtprofile, and add at the end:
exec /opt/csw/bin/enlightenment
See for details.
You can download Enlightenment themes from Freshmeat or Get-E. My favorite themes are :
Enlightenment shows customizable menus. To edit the menus, look for a file called files.menu in ~/.enlightenment. Buttons are configured in the theme as buttons.cfg. Usually, you set action classes (actionclasses.cfg). Make sure they use the right path.
I like FVWM because it is quite lightweight. However, the look and feel of FVWM 2.4 is a bit 'old' (to my opinion), so I wanted to use FVWM 2.5. As I couldn't find any precompiled package for this version, I compiled it myself from sources, without too many difficulties both on Solaris 10 and OpenSolaris.
fvwm 2.5.26
To set up a vertical pager, do:
*FvwmPager: Columns 1
On OpenSolaris, I kept on having a silly and ugly small tab next to my Xterms, this tab showing various locales/encodings. To remove this, launch iiim-properties, and set Input Method and switcher placement to “None”. Apply.
To configure XDMCP, launch gdmsetup then click on the remote tabs and activate “same as local”
xterm -fn -*-fixed-medium-*-*-*-14-*-*-*-*-*-*-* &
or create an XTerm file and specify the fonts, size (etc) you wish to use:
XTerm*font: 9x15
Use the Sun Connection Update Manager (last version is currently 1.0.4). To do so, it is mandatory to register Solaris.
As root, run /usr/sbin/updatemanager (this will ask for registration if you haven't done so yet). This is a graphical interface.
I encountered a serious problem with patches: I patched the system with security or recommended patches, some of those patches failed, and then at the next reboot: kernel crash (impossible to boot, except in single user mode)
So beware…
Sun's software is typically installed in /usr, /usr/sfw and /opt/sfw. Other software directories are /usr/local.
For example, mozilla is in /usr/sfw/bin/mozilla, java is in /usr/bin
To install a pre-compiled binary, unzip it (gunzip, bunzip2, unzip…) and then do pkgadd -d <thepackage>
Installed packages are located in /var/sadm/pkg. To search in which package a given command is included, do
grep xxx /var/sadm/install/contents
pkgadd is the basic command to install/remove/manage software packages on Solaris. But, it's quite basic. To automatically download a given package and its dependencies, pkg-get is quite interesting (similar to Debian's apt-get). I hear it is currently being replaced by pkgutils.
digest -v -a md5 pkg_get.pkg
url=http://ibiblio.org/pub/packages/solaris/csw/unstable PKGGET_DOWNLOAD_DIR=/tmp
To install a package: pkg-get install <packagename>, e.g
pkg-get install gnupg pkg-get install bzip2
To remove a package:
pkg-get remove <packagename>
To upgrade a package:
pkg-get upgrade
This will upgrade all packages for which a new version exists. It consists in uninstalling the old version (remove) and then installing the new version (install). At first, seeing a remove operation may be surprising, but in the end, it works
/usr/bin/packagemanager
Unpack a debian package:
/usr/xpg4/bin/ar x package.deb gunzip data.tar.gz tar -xvf data.tar
A very simple .bashrc:
export PATH=/usr/bin/amd64:$PATH:/opt/csw/bin:. export PS1="[\u@\w] "
To know whether your architecture is 32 or 64 bit: isainfo -b
There's a very interesting article on Blog'o thnet.
To summarize, on 64-bit processors, the kernel, device drivers and some key applications (or those with a high performance issue) are 64-bit, but all other applications are usually 32-bit. There are no emulation libraries on Solaris 64 to run 32-bit libraries: there are two different system calls.
To check whether a given application is 32 or 64 bit, run file:
$ file /usr/bin/amd64/ls /usr/bin/amd64/ls: ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, stripped
This also means that on 64-bit hosts, you should set your PATH to locate 64-bit applications before 32-bit ones. For example /usr/bin/amd64 should be set before /usr/bin.
There's a very interesting article on the subject here. Mainly, what I get of out it is:
For example,
export PATH=/usr/bin/amd64:/usr/sfw/bin:/opt/csw/bin:/usr/ccs/bin:/usr/openwin/bin:/usr/bin:/bin:. export LD_LIBRARY_PATH=/usr/sfw/lib/amd64:/lib/amd64:/usr/lib/amd64:/usr/sfw/lib:/lib:/usr/lib:/opt/csw/lib:. export MAKE=gmake
On OpenSolaris, install SUNWgcc and SUNWgmake.
According to Rich Teer's article, programs should actually be linked with the -R option. This strategy reduces the need for a LD_LIBRARY_PATH.
However, in situations where the program hasn't been linked that way, there are 2 different ways to configure your library path on Solaris:
To list your current paths: crle or crle -64 To set new paths: crle -l <a path> -l <another path> …
Typical required paths are: /lib, /usr/lib, /opt/csw/lib, /opt/SUNWspro/lib.
Alpine is a newer version of Pine. There is no package for OpenSolaris, but it is quite easy to compile:
To customize Alpine, for example to read your Google mail account, see here.
See here.
See unix
This is a simple image viewer in GNOME. To launch it, run eog.
To debug, try
fetchmail -vk
Fetchmail for IMAP requires a valid sendmail server !
I found a Firefox3 package from the list of pointers of Solaris4you: there.
The bzip2 actually contains several packages that all install in /opt/sfw (cairo, pango, firefox…). In my case, actually, I only need the firefox package. However, so far, I haven't managed to get firefox3 working if I only install that package and move it to /opt/csw.
Consequently, I have installed all required packages in /opt/sfw. This is a pity because some libraries are duplicated (cairo, pango…)
Firefox is installed in /opt/sfw:
/opt/sfw/lib/firefox3/updater /opt/sfw/lib/firefox3/updater.ini /usr/share/applications/firefox3.desktop /opt/sfw/bin/firefox <symbolic link>
Launch /opt/sfw/bin/firefox & and Firefox3 starts !
Eterm is a terminal particularly suited for use within Enlightenment. Unfortunately, I haven't been able to find any pre-compiled Solaris package, so I had to compile it myself, which proved out to be quite complicated.
* download, build and install libAST. Unless a special directory has been specified for configure (./configure --prefix=...), libAST installs in /usr/local (this is not the usual Solaris method).
export PATH=/usr/sfw/bin:/opt/csw/bin:/usr/sbin:/usr/bin::/usr/openwin/bin:/usr/ccs/bin:. export MAKE=gmake
make
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export PATH=/usr/sfw/bin:/opt/csw/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/ccs/bin:.:/usr/local/bin export MAKE=gmake
/opt/csw/bin/pkg-get install imlib2
./configure --with-imlib=/opt/csw
make
GThumb is GNOME's thumbnail viewer. To launch it, run gthumb
Lobo is a Java based web browser. To run it,
/usr/jdk/jdk1.6.0_11/bin/java -jar lobo.jar &
I haven't found any package for this terminal, but it compiles pretty well on OpenSolaris. Download it here. I recommend:
./configure --prefix=/usr --enable-xft --disable-greek --with-save-lines=1000 --with-term=xterm --disable-debug
You can get a package from MySQL's web site, or - easier - a pre-compiled binary from SunFreeware.com. The former installs in /opt/mysql by default, whereas the latter installs in /usr/local/mysql.
Nautilus is GNOME's file manager. To launch it without loading the GNOME desktop or background, do:
nautilus --no-desktop
Get Php from sunfreeware. It installs in /usr/local/php
LoadModule php5_module libexec/libphp5.so <IfModule mod_php5.c> php_value include_path ".:/usr/local/php/lib" php_admin_flag safe_mode on ===> or off for some wikis </IfModule>
# Tell Apache to parse certain extensions as PHP AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps
Unzip PhpMyAdmin in the web server's root (/var/apache2/htdocs)
cd phpMyAdmin mkdir config chmod o+rw config cp config.inc.php config chmod o+w config/config.inc.php
Open scripts/setup.php in the browser. User & password must match something MySQL knows.
mv config/config.inc.php . chmod o-w config.inc.php
Try in your browser: …/phpMyAdmin/index.php : you should be able to log into the database.
I successfully compiled ROX Filer 2.8 from sources, on OpenSolaris 2008.11 To run in from the source directory:
./ROX-Filer/ROX-Filer
To install a system-wide Flash Player for Firefox on Solaris:
Samba is pre-installed too. On Solaris 10, its configuration file is in /etc/sfw/smb.conf.
On OpenSolaris 2008.11, to use smbfs, do:
modload -p drv/nsmb modload -p fs/smbfs devfsadm -i nsmb pfexec mount -f smbfs //server/share /mntpoint Password:
To install a JRE 1.6:
To install the java plugin in Firefox3, copy (or link) the java plugin to the firefox3 plugins directory:
Solaris 10 | OpenSolaris 2008.11 |
---|---|
/opt/sfw/lib/firefox3/plugins | /usr/lib/firefox/plugins |
For example,
cd /opt/sfw/lib/firefox3/plugins ln -s /opt/jre1.6.0_07/plugin/i386/ns7/libjavaplugin_oji.so .
Virtual Box is an open source alternative to VMWare. The following of this paragraph applies to installing and using Virtual Box on Solaris (not OpenSolaris) and on a 64-bit system.
So the commands are:
# gunzip VirtualBox-1.6.2-SunOS_amd64.tar.gz # tar -xvf VirtualBox-1.6.2-SunOS_amd64.tar # pkgadd -d VirtualBoxKern-1.6.2-SunOS-r31466.pkg # pkgadd -d VirtualBox-1.6.2-SunOS-amd64-r31466.pkg $ VirtualBox &
Password Safe is nice and simple application running on Windows and a few other operating systems. On Solaris and some other Unix flavours, one must use Password Gorilla, a Password Safe compatible program. Its interface and performance are quite yucky, but it works and is able to read your password safe databases.
To install Password Gorilla on Solaris/OpenSolaris:
Unfortunately, Password Safe does not run on Pocket PCs. KeePass does. But it doesn't run on Solaris :(
Pidgin is an Instant Messenger able to connect to several IM networks. To use it over Google Talk:
Pidgin is in /usr/bin. You may need to restart pidgin for those changes to take effect. In addition, make sure the account is marked 'enabled'.
Taking a screenshot:
$ xwd -root -out scrdump
Viewing a screenshot:
$ xwud -in scrdump
Packages from BlastWave install in /opt/csw. The default Solaris installation (with the entire distribution) includes several software, installed in /usr/sfw. For instance, gcc is in /usr/sfw/bin.