Toolserver:Using Solaris

From mediawiki.org

This page was moved from the Toolserver wiki.
Toolserver has been replaced by Toolforge. As such, the instructions here may no longer work, but may still be of historical interest.
Please help by updating examples, links, template links, etc. If a page is still relevant, move it to a normal title and leave a redirect.

This page explains the differences between Solaris (as used on willow), and the existing login server (nightshade) that runs Linux. It is intended for people converting from Linux, but even if you're an experienced Solaris user, this page documents several Toolserver-specific things.

GNU userland[edit]

The Solaris userland (/usr/bin) is quite different to GNU/Linux. To make things easier, we provide the GNU userland as well, and the default $PATH puts the GNU utilities first. This means that most commands (such as 'ls') are the GNU versions, and identical to the Linux versions.

Sometimes, you might want to use the Solaris utilities instead; either because you prefer them, or you need Solaris-specific functionality that the GNU utilities don't provide. There are two ways to do this. If you want to use the Solaris userland permanently, just set $PATH in your shell rc file:

$ PATH=/usr/bin:$PATH

Alternatively, you can just specify the full path, e.g.

$ /usr/bin/id -p

The GNU userland includes "coreutils", "diffutils" and "findutils", as well as gcc, tar and make. If you think any other utilities should be provided, file a request in JIRA.

cron[edit]

Solaris cron is different to the Vixie cron that Linux uses. It does not support "/" syntax or @reboot. Instead of /, you can write out the times explicitly, e.g. */10 for minutes becomes 0,10,20,30,40,50. For an @reboot replacement, see job scheduling#Submitting long-running jobs.

According to this documentation, Solaris cron doesn't support MAILTO and requires defining SHELL in order to use "~" in path names. A .forward file in your root directory and the use of $HOME should mitigate these issues.

/bin/sh[edit]

Solaris /bin/sh is not GNU Bash. If your script needs Bash, use #! /bin/bash (this also works on Linux). If you need a strictly POSIX-compliant shell, use #! /usr/xpg4/bin/sh

Third-party software[edit]

Additional Toolserver-specific software is installed in /opt/ts. Usually you won't need to worry about this as it's included in the default $PATH, but if you need to know the location of a particular piece of software, see Solaris software.

Perl modules[edit]

If you have any locally installed Perl modules that use XS, they will have to be reinstalled on willow as the compiled code is architecture dependent.

Miscellaneous differences[edit]

man
instead of man <section> <page>, use man -s<section> <page>.
xterm-color
Don't use it, it doesn't work.
#!
on Solaris, #! only accepts one argument. this means that #! /usr/bin/perl -I/home/foo/lib will work, but #! /usr/bin/perl -I /home/foo/lib will not.
whereis
use which

Enable delete key[edit]

.profile: "\e[3~": delete-char

Also useful: Ctrl+shift keys for word shifting:

"\e[5C": forward-word
"\e[5D": backward-word

Toolserver:Category:Documentation