Oracle a récemment dévoilé à l'OpenWorld 2015 son nouveau processeur SPARC M7. Il s'agit du 6ème que l'entreprise a sorti depuis le rachat de Sun Microsystem en 2010. Avec le SPARC M7, Oracle a repoussé les limite des capacités des systèmes SPARC.
Oracle Solaris 11 dispose d'un puissant système de mise à jour basé sur IPS et sur ZFS. Quand on met à jour le système d'exploitation un nouvel environnement est créé contenant le système mis à jour. Ce fonctionnement a pour avantage de ne pas avoir d'impact sur l'environnement actuellement actif puisqu'on ne le modifie pas directement.
Il y a peu de livres traitant de Solaris et aujourd'hui d'Oracle Solaris. De plus le système d'exploitation a énormément évolué depuis ces dernières années.
Déployer des agents Enterprise Manger sur Solaris n'est pas une tache difficile, et est similaire au déploiement sur les environnements Linux avec juste quelques changements mineurs.
Avec l'arrivée de la nouvelle mouture d'Oracle Solaris, Oracle a décidé de vous présenter les nouveaux challenges auquel répond Oracle Solaris 11.3 orienté sur 3 valeurs : La sécurité, la vitesse et la simplicité.
Savez-vous combien il y a de types de CPU SPARC actuellement sur le marché ? Pas un, pas deux, mais cinq. Le SPARC64-VII, le T3, le T4, T5, M5 et M10.
Benchmark entre Oracle et IBM en terme de coût global
Retrouver le compte rendu vidéo du TechDay Solaris/SPARC qui s'est déroulé le 15 mai à PARIS.
Oracle-Solaris.fr était présent à cette événement d'envergure pour les technologies Oracle Solaris et Sparc. L'objectif premier était d'y faire des rencontres, entre administrateur et ingénieur système Solaris mais aussi d'y partager ces expériences.
Récemment (en particulier depuis la publication de SPARC T4) et compte tenu des possibilités de virtualisation offertes par Zones et Ldoms nous pouvons nous demander vers où aller, Zones ou LDoms. ?
Bien sûr, on ne peut pas répondre à cette question sans parler des exigences de plate-forme et des raisons pour prendre les bonnes technologies, mais avant que nous allions dans les détails voici un bref rappel sur ces deux technologies :
Zones et LDoms ne sont pas rivales en soit, mais des technologies complémentaires. Si vous avez besoin de séparation au niveau du noyau, utilisez LDoms.Vous pourrez toujours de toute façon exécuter vos applications dans des zones au sein de ces LDoms!
Petits points de terminologie :
La séparation au niveau du noyau:
Migrer vos OS:
Certains de vos applications pourraient avoir besoin pour s’exécuter dans la GZ, et que vous n’aimez pas l’idée de lancer des applications à la fois dans le GZ et son NGZ dans le même temps, donc vous les séparer en LDoms.
Vous avez besoin de réduire le nombre de CPU virtuels dans un OS pour des questions de licence. LDOM est maintenant reconnus comme hardpartitioners par Oracle.
Comme vous le voyez ces deux technologies satisfont à des exigences différentes, ils sont dans des niveaux différents, LDoms est une virtualisation hardware et les zones sont des conteneurs d’applications dans un même OS, on pourrait parlé ici de virtualisation applicative.
Pour résumer la question n’a pas lieu d’être entre zones et LDoms. Utilisez les zones et les Ldoms selon votre besoin réel.
La commande dladm est utilisé pour gérer les cartes réseaux en parallèle avec ifconfig. Son nom vient de Data Link Administration.
dladm permet de voir plus profondément les paramètres des liens de données (« Data Link ») que ifconfig. On peut utiliser dladm pour faire des aggrégation de lien, configurer des ponts et afficher des statistiques sur les interfaces.
Très utilisé par les administrateurs systèmes Solaris vous retrouverez dans la partie « Exemple » la liste des options les plus utilisées avec cette commande.
La commande a quelques peu évoluée sur la version 11 de Solaris. En effet, par exemple show-dev n’existe plus vous devez utiliser à la place show-phys. Tous mes exemples sont tirés d’ailleurs de Solaris 11.
Afficher les états des interfaces réseaux :
root@solaris:~# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE e1000g0 Ethernet up 1000 full e1000g0
Afficher les états des liens :
root@solaris:~# dladm show-link LINK CLASS MTU STATE BRIDGE OVER e1000g0 phys 1500 up -- --
Afficher quelques statistiques réseaux des liens :
root@solaris:~# dladm show-link -s LINK IPACKETS RBYTES IERRORS OPACKETS OBYTES OERRORS e1000g0 6707 904846 0 1087 171490 0
Afficher des statistiques en temps réel sur un lien, -i pour le nombre de seconde :
root@solaris:~# dladm show-link -s -i 5 e1000g0 LINK IPACKETS RBYTES IERRORS OPACKETS OBYTES OERRORS e1000g0 6779 911065 0 1101 173192 0 e1000g0 4 328 0 1 258 0 e1000g0 8 682 0 2 304 0 e1000g0 12 1773 0 1 178 0 e1000g0 10 1620 0 1 178 0 e1000g0 3 674 0 1 178 0 e1000g0 10 1290 0 1 178 0 e1000g0 5 375 0 1 178 0
System Administration Commands dladm(1M)
NAME
dladm - administer data links
SYNOPSIS
dladm show-link [-P] [-s [-i interval]] [[-p] -o field[,...]] [link]
dladm rename-link [-R root-dir] link new-link
dladm delete-phys phys-link
dladm show-phys [-P] [-m] [[-p] -o field[,...]] [-H] [phys-link]
dladm create-aggr [-t] [-R root-dir] [-P policy] [-L mode]
[-T time] [-u address] -l ether-link1 [-l ether-link2...] aggr-link
dladm modify-aggr [-t] [-R root-dir] [-P policy] [-L mode]
[-T time] [-u address] aggr-link
dladm delete-aggr [-t] [-R root-dir] aggr-link
dladm add-aggr [-t] [-R root-dir] -l ether-link1 [-l ether-link2...]
aggr-link
dladm remove-aggr [-t] [-R root-dir] -l ether-link1 [-l ether-link2...]
aggr-link
dladm show-aggr [-PLx] [-s [-i interval]] [[-p] -o field[,...]]
[aggr-link]
dladm create-bridge [-P protect] [-R root-dir] [-p priority]
[-m max-age] [-h hello-time] [-d forward-delay] [-f force-protocol]
[-l link...] bridge-name
dladm modify-bridge [-P protect] [-R root-dir] [-p priority]
[-m max-age] [-h hello-time] [-d forward-delay] [-f force-protocol]
bridge-name
dladm delete-bridge [-R root-dir] bridge-name
dladm add-bridge [-R root-dir] -l link [-l link...]bridge-name
dladm remove-bridge [-R root-dir] -l link [-l link...] bridge-name
dladm show-bridge [-flt] [-s [-i interval]] [[-p] -o field,...]
[bridge-name]
dladm create-vlan [-ft] [-R root-dir] -l ether-link -v vid [vlan-link]
dladm delete-vlan [-t] [-R root-dir] vlan-link
dladm show-vlan [-P] [[-p] -o field[,...]] [vlan-link]
dladm scan-wifi [[-p] -o field[,...]] [wifi-link]
dladm connect-wifi [-e essid] [-i bssid] [-k key,...]
[-s none | wep | wpa ] [-a open | shared] [-b bss | ibss] [-c]
[-m a | b | g | n ] [-T time] [wifi-link]
dladm disconnect-wifi [-a] [wifi-link]
dladm show-wifi [[-p] -o field[,...]] [wifi-link]
dladm show-ether [-x] [[-p] -o field[,...]] [ether-link]
dladm set-linkprop [-t] [-R root-dir] -p prop=value[,...] link
dladm reset-linkprop [-t] [-R root-dir] [-p prop[,...]] link
dladm show-linkprop [-P] [[-c] -o field[,...]] [-p prop[,...]] [link]
dladm create-secobj [-t] [-R root-dir] [-f file] -c class secobj
dladm delete-secobj [-t] [-R root-dir] secobj[,...]
dladm show-secobj [-P] [[-p] -o field[,...]] [secobj,...]
dladm create-vnic [-t] -l link [-R root-dir] [-m value | auto |
{factory [-n slot-identifier]} | {vrrp -A {inet | inet6} -V vrid}
| {random [-r prefix]}] [-v vlan-id] [-p prop=value[,...]] vnic-link
dladm delete-vnic [-t] [-R root-dir] vnic-link
dladm show-vnic [-pP] [-s [-i interval]] [-o field[,...]]
[-l link] [vnic-link]
dladm create-etherstub [-t] [-R root-dir] etherstub
dladm delete-etherstub [-t] [-R root-dir] etherstub
dladm show-etherstub [etherstub]
dladm create-iptun [-t] [-R root-dir] -T type [-a {local|remote}=addr,...]
iptun-link
dladm modify-iptun [-t] [-R root-dir] -a {local|remote}=addr,...
iptun-link
dladm delete-iptun [-t] [-R root-dir] iptun-link
dladm show-iptun [-P] [[-p] -o field[,...]] [iptun-link]
dladm create-part [-t] [-f] -l ib-link [-R root-dir] -P pkey
[-p prop=value[,...]] part-link
dladm delete-part [-t] [-R root-dir] part-link
dladm show-part [-pP] [-o field[,...]] [-l ib-link] [part-link]
dladm show-ib [-pP] [-o field[,...]] [ib-link]
dladm show-usage [-a] -f filename [-p plotfile -F format] [-s time]
[-e time] [link]
DESCRIPTION
The dladm command is used to administer data-links. A data-
link is represented in the system as a STREAMS DLPI (v2)
interface which can be plumbed under protocol stacks such as
TCP/IP. Each data-link relies on either a single network
device or an aggregation of devices to send packets to or
receive packets from a network.
Each dladm subcommand operates on one of the following
objects:
link
A datalink, identified by a name. In general, the name
can use any alphanumeric characters (or the underscore,
_), but must start with an alphabetic character and end
with a number. A datalink name can be at most 31 charac-
ters, and the ending number must be between 0 and
4294967294 (inclusive). The ending number must not begin
with a zero. Datalink names between 3 and 8 characters
are recommended.
Some subcommands operate only on certain types or
classes of datalinks. For those cases, the following
object names are used:
aggr-link
An aggregation datalink (or a key; see NOTES).
ether-link
A physical Ethernet datalink.
iptun-link
An IP tunnel link.
part-link
An InfiniBand (IB) partition data link.
phys-link
A physical datalink.
vlan-link
A VLAN datalink.
vnic-link
A virtual network interface created on a link or an
etherstub. It is a pseudo device that can be treated
as if it were an network interface card on a
machine.
wifi-link
A WiFi datalink.
bridge
A bridge instance, identified by an administratively-
chosen name. The name may use any alphanumeric charac-
ters or the underscore, _, but must start and end with
an alphabetic character. A bridge name can be at most 31
characters. The name default is reserved, as are all
names starting with SUNW.
Note that appending a zero (0) to a bridge name produces
a valid link name, used for observability.
dev
A network device, identified by concatenation of a
driver name and an instance number.
etherstub
An Ethernet stub can be used instead of a physical NIC
to create VNICs. VNICs created on an etherstub will
appear to be connected through a virtual switch, allow-
ing complete virtual networks to be built without physi-
cal hardware.
part
An IB partition link created on a IB physical link.
secobj
A secure object, identified by an administratively-
chosen name. The name can use any alphanumeric charac-
ters, as well as underscore (_), period (.), and hyphen
(-). A secure object name can be at most 32 characters.
Oracle Solaris SPARC a énormément évolué au fil des années au niveau de la virtualisation. Que ce soit au niveau d’un processus avec Solaris Container ou d’un os virtualisé avec Logical Domain on constate
Plusieurs types de technologies s’entremêle sur Solaris SPARC et il est parfois difficile de savoir à quel point ces technologies marchent entre elles aujourd’hui.
Depuis la première version de Solaris 10 en 2005, Solaris Container a pris des proportions incroyables et est la méthode la plus largement utilisée pour la virtualisation sur Solaris, en grande partie parce que cela fonctionne sur toute machine qui fonctionne sous Solaris 10 ou plus.
En 2006, Logical Domains (LDoms) ont été ajoutés et ont fait évoluer l’ensemble avec des améliorations sur les serveurs SPARC équipés de la technologie Chip Multi-Threading (CMT), dont la famille la plus récente est la famille SPARC T4.
La première augmentation significative de l’adoption de Logical Domains a débuté en 2008 avec l’introduction de serveurs basés sur le UltraSPARC T2 Plus, avec une hausse plus important par la suite en popularité en raison des progrès apportés pour les SPARC T3 et T4. La technologie que nous avons connu comme Logical Domains est maintenant appelé Oracle VM Server pour SPARC.
On a une très forte interopérabilité entre ZFS, Solaris Container et Oracle VM Server pour Sparc depuis Oracle Solaris 11
La nouvelle version d’Ops Center dans Oracle Enterprise Manager 12c apporte beaucoup à la relation qu’il y a entre ces différents produits. En effet, avec Live Migration on peut maintenant centraliser la virtualisation de manière plus efficace notamment quand il y a de très nombreux container et qu’il faut savoir mixer entre les configurations de stockages sous ZFS et les serveurs virtuels avec Oracle VM Server pour Sparc.
La commande svcadm fait partie d’un ensemble de commande permettant de gérer les services Solaris. Celui-ci en est d’ailleurs le plus important car il permet par exemple d’activer ou de désactiver un service.
Indispensable pour les administrateurs systèmes Solaris cette commande a besoin des droits root pour pouvoir fonctionner correctement.
root@solaris:~# svcadm disable smtp root@solaris:~# svcs smtp STATE STIME FMRI disabled 4:15:44 svc:/network/smtp:sendmail root@solaris:~# svcadm enable smtp root@solaris:~# svcs smtp STATE STIME FMRI online 4:15:55 svc:/network/smtp:sendmail
System Administration Commands svcadm(1M)
NAME
svcadm - manipulate service instances
SYNOPSIS
/usr/sbin/svcadm [-v] enable [-rst] {FMRI | pattern}...
/usr/sbin/svcadm [-v] disable [-st] {FMRI | pattern}...
/usr/sbin/svcadm [-v] restart {FMRI | pattern}...
/usr/sbin/svcadm [-v] refresh {FMRI | pattern}...
/usr/sbin/svcadm [-v] clear {FMRI | pattern}...
/usr/sbin/svcadm [-v] mark [-It] instance_state
{FMRI | pattern}...
/usr/sbin/svcadm [-v] milestone [-d] milestone_FMRI
DESCRIPTION
svcadm issues requests for actions on services executing
within the service management facility (see smf(5)). Actions
for a service are carried out by its assigned service res-
tarter agent. The default service restarter is svc.startd
(see svc.startd(1M)).
OPTIONS
The following options are supported:
-v Print actions verbosely to standard output.
SUBCOMMANDS
Common Operations
The subcommands listed below are used during the typical
administration of a service instance.
For subcommands taking one or more operands, if the operand
specifies a service (instead of a service instance), and
that service has only a single instance, svcadm operates on
that instance. If an abbreviated FMRI (a fault management
resource identifier) or pattern matches more than one ser-
vice, a warning message is displayed and that operand is
ignored. See smf(5).
SunOS 5.11 Last change: 9 May 2008 1
System Administration Commands svcadm(1M)
In the case that the service has more than one instance,
svcadm return a non-zero exit status.
enable [-rst] {FMRI | pattern}. . .
Enables the service instances specified by the operands.
For each service instance, the assigned restarter will
try to bring it to the online state. This action
requires permission to modify the "general" property
group of the service instance (see smf_security(5)).
If the -r option is specified, svcadm enables each ser-
vice instance and recursively enables its dependencies.
If the -s option is specified, svcadm enables each ser-
vice instance and then waits for each service instance
to enter the online or degraded state. svcadm will
return early if it determines that the service cannot
reach these states without administrator intervention.
If the -t option is specified, svcadm temporarily
enables each service instance. Temporary enable only
lasts until reboot. This action requires permission to
modify the "restarter_actions" property group of the
service instance (see smf_security(5)). By default,
enable is persistent across reboot.
disable [-st] {FMRI | pattern}. . .
Disables the service instance specified by the operands.
For each service instance, the assigned restarter will
try to bring it to the disabled state. This action
requires permission to modify the "general" property
group of the service instance (see smf_security(5)).
If the -s option is specified, svcadm disables each ser-
vice instance and then waits for each service instance
to enter the disabled state. svcadm will return early if
it determines that the service cannot reach this state
without administrator intervention.
If the -t option is specified, svcadm temporarily dis-
ables each service instance. Temporary disable only
lasts until reboot. This action requires permission to
modify the "restarter_actions" property group of the
service instance (see smf_security(5)). By default, dis-
able is persistent across reboot.
restart {FMRI | pattern}. . .
SunOS 5.11 Last change: 9 May 2008 2
System Administration Commands svcadm(1M)
Requests that the service instances specified by the
operands be restarted. This action requires permission
to modify the "restarter_actions" property group of the
service instance (see smf_security(5)).
This subcommand can restart only those services that are
in the online or degraded states, as those states are
defined in smf(5).
refresh {FMRI | pattern}. . .
For each service instance specified by the operands,
requests that the assigned restarter update the
service's running configuration snapshot with the values
from the current configuration. Some of these values
take effect immediately (for example, dependency
changes). Other values do not take effect until the next
service restart. See the restarter and service documen-
tation for more information.
If the service is managed by svc.startd(1M), the refresh
method will be invoked if it exists to request the ser-
vice reread its own configuration. For other restarters,
see the restarter documentation.
This action requires permission to modify the
"restarter_actions" property group of the service
instance (see smf_security(5)).
clear {FMRI | pattern}. . .
For each service instance specified by the operands, if
the instance is in the maintenance state, signal to the
assigned restarter that the service has been repaired.
If the instance is in the degraded state, request that
the assigned restarter take the service to the online
state. This action requires permission to modify the
"restarter_actions" property group of the service
instance (see smf_security(5)).
Exceptional Operations
The following subcommands are used for service development
and temporary administrative manipulation.
mark [-It] instance_state {FMRI | pattern}. . .
If instance_state is "maintenance", then for each ser-
vice specified by the operands, svcadm requests that the
assigned restarter place the service in the maintenance
SunOS 5.11 Last change: 9 May 2008 3
System Administration Commands svcadm(1M)
state. See svc.startd(1M) and inetd(1M) for a detailed
description of the actions taken for each restarter.
If instance_state is "degraded", then for services
specified by the operands in the online state, svcadm
requests that the restarters assigned to the services
move them into the degraded state.
If the -I option is specified, the request is flagged as
immediate.
The -t option is only valid for maintenance requests.
When this option is specified, the request is flagged as
temporary, and its effect will only last until the next
reboot.
milestone [-d] milestone_FMRI
If milestone_FMRI is the keyword "none", all services
other than the master restarter,
svc:/system/svc/restarter:default, will be temporarily
disabled.
If milestone_FMRI is the keyword "all", temporary enable
and disable requests for all services will be nullified.
If milestone_FMRI is one of the following:
svc:/milestone/single-user:default
svc:/milestone/multi-user:default
svc:/milestone/multi-user-server:default
then temporary enable and disable requests for the indi-
cated service and all services it depends on (directly
or indirectly) will be nullified. All other services
will be temporarily disabled.
Changing the system's current milestone with the "mile-
stone" subcommand will not change the current run level
of the system. To change the system's run level, invoke
/sbin/init directly.
This action requires permission to modify the
"options_ovr" property group of the
svc:/system/svc/restarter:default service instance (see
smf_security(5)).
The -d option immediately changes the milestone to the
requested milestone, as above. Additionally, it makes
the specified milestone the default boot milestone,
SunOS 5.11 Last change: 9 May 2008 4
System Administration Commands svcadm(1M)
which persists across reboot. The default milestone is
defined by the options/milestone property on the master
restarter, svc:/system/svc/restarter:default. If this
property is absent, "all" is the default. This action
requires permission to modify the "options" property
group of the svc:/system/svc/restarter:default service
instance (see smf_security(5)).
Operands
The following operands are supported:
FMRI An FMRI that specifies one or more instances.
FMRIs can be abbreviated by specifying the
instance name, or the trailing portion of the
service name. For example, given the FMRI:
svc:/network/smtp:sendmail
All the following are valid abbreviations:
sendmail
:sendmail
smtp
smtp:sendmail
network/smtp
While the following are invalid:
mail
network
network/smt
If the FMRI specifies a service, then the command
applies to all instances of that service. Abbre-
viated forms of FMRIs are unstable, and should
not be used in scripts or other permanent tools.
pattern A pattern that is matched against the FMRIs of
service instances according to the "globbing"
rules described by fnmatch(5). If the pattern
does not begin with "svc:", then "svc:/" is
prepended.
If an abbreviated FMRI or pattern matches more than one ser-
vice, a warning message is displayed and that operand is
SunOS 5.11 Last change: 9 May 2008 5
System Administration Commands svcadm(1M)
ignored.
EXAMPLES
Example 1 Restarting a Service Instance
The following command restarts the NFS server. The full FMRI
for the default service instance is:
svc:/network/nfs/server:default
However, you can abbreviate the full FMRI as follows:
# svcadm restart nfs/server
Example 2 Disabling the Standard HTTP Server
The following command disables the standard HTTP server,
using an abbreviated FMRI:
$ svcadm disable http
Example 3 Enabling an Instance and Its Dependent Instances
The following command enables the foo:bar instance, and all
instances on which it depends:
$ svcadm enable -r foo:bar
Example 4 Synchronously enabling an instance
The following command enables the foo:bar instance. The com-
mand will not return until the instance comes online or
svcadm determines it is not possible for the service to come
online.
$ svcadm enable -s foo:bar
SunOS 5.11 Last change: 9 May 2008 6
System Administration Commands svcadm(1M)
Example 5 Restricting and Restoring the Running Services
The following command restricts the running services to sin-
gle user mode:
# svcadm milestone milestone/single-user
The following command restores the running services:
# svcadm milestone all
EXIT STATUS
The following exit values are returned:
0 Successful completion.
1 A fatal error occurred. One or more error messages are
displayed on standard error.
2 Invalid command line options were specified.
3 svcadm determined that a service instance that it was
waiting for could not reach the desired state without
administrator intervention due to a problem with the
service instance itself.
4 svcadm determined that a service instance that it was
waiting for could not reach the desired state without
administrator intervention due to a problem with the
service's dependencies.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 9 May 2008 7
System Administration Commands svcadm(1M)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs |
|_____________________________|_____________________________|
| Interface Stability | See below. |
|_____________________________|_____________________________|
The interactive output is Uncommitted. The invocation and
non-interactive output are Committed.
SEE ALSO
svcprop(1), svcs(1), inetd(1M), init(1M), svccfg(1M),
svc.startd(1M), libscf(3LIB), contract(4), attributes(5),
smf(5), smf_security(5)
NOTES
The amount of time svcadm will spend waiting for services
and their dependencies to change state is implicitly limited
by their method timeouts. For example, a service using the
default restarter whose start method hangs will be transi-
tioned to the maintenance state when its timeout expires.
svcadm will then consider it impossible for this service to
come online without administrator intervention.
Attempts to synchronously enable a service which depends
(directly or indirectly) on a file may fail with an exit
status indicating that dependencies are unsatisfied if the
caller does not have the privileges necessary to search the
directory containing the file. This limitation may be
removed in a future Solaris release.
SunOS 5.11 Last change: 9 May 2008 8
La commande svccfg est une commande qui fait d’un ensemble de commande permettant de manipuler les services sur Solaris à côté par exemple de svcs et de svcadm. Cette commande permet de gérer les fichiers xml servant à définir le fonctionnement d’un service. En effet, dans /var/svc/manifest on trouve l’ensemble des fichiers xml définissant l’ensemble des services visible avec la commande svcs.
Avec svccfg on peut importer, exporter et modifier ces fichiers xml importés.
Par exemple si vous créez un service monsoft.xml pour l’intégrer dans votre système vous devrez faire les commandes suivantes :
svccfg import /var/svc/manifest/monsoft.xml
/lib/svc/method/manifest-import
System Administration Commands svccfg(1M)
NAME
svccfg - import, export, and modify service configurations
SYNOPSIS
/usr/sbin/svccfg [-v] [-s FMRI]
/usr/sbin/svccfg [-v] [-s FMRI] subcommand [args]...
/usr/sbin/svccfg [-v] [-s FMRI] -f command-file
DESCRIPTION
The svccfg command manipulates data in the service confi-
guration repository. svccfg can be invoked interactively,
with an individual subcommand, or by specifying a command
file that contains a series of subcommands.
Changes made to an existing service in the repository typi-
cally do not take effect for that service until the next
time the service instance is refreshed. See the refresh sub-
command on the svcadm(1M) man page for more details.
OPTIONS
The following options are supported:
-f command-file
Reads and executes svccfg subcommands from command-file.
-s FMRI
Selects the entity indicated by FMRI (a fault management
resource identifier) before executing any subcommands.
See smf(5).
-v
Verbose.
SUBCOMMANDS
Subcommands are divided into the categories specified in the
subsections that follow.
All subcommands that accept FMRIs also accept abbreviated or
globbed patterns. Instances and services can be abbreviated
SunOS 5.11 Last change: 30 Jul 2010 1
System Administration Commands svccfg(1M)
by specifying the instance name, or the trailing portion of
the service name. For example, given the FMRI:
svc:/network/smtp:sendmail
All the following are valid abbreviations:
sendmail
:sendmail
smtp
smtp:sendmail
network/smtp
While the following are invalid:
mail
network
network/smt
Abbreviated forms of FMRIs are unstable, and should not be
used in scripts or other permanent tools. If a pattern
matches more than one instance or service, an error message
is printed and no action is taken.
General Subcommands
end
exi
quit
Exits immediately.
repository repfile
Uses repfile as a repository. By default, svccfg(1M)
uses the system repository.
Use repository only with files from the identical ver-
sion of Solaris, including patches, that you are
currently running. Do not use this subcommand with the
system repository, /etc/svc/repository.db.
SunOS 5.11 Last change: 30 Jul 2010 2
System Administration Commands svccfg(1M)
set [-v|-V]
Sets optional behavior. If no options are specified, set
displays the options currently in effect.
-v
Turns on verbose mode.
-V
Turns off verbose mode.
Service Profile Subcommands
apply [-n] file | directory
If a argument is a service profile, properties, includ-
ing general/enabled, that are specified in the file are
modified in the SMF repository. Not-yet-existent proper-
ties and property groups will be created. The type of
the pre-existing property groups will not be changed by
the profile. Existing properties (as distinguished from
property groups) can have their type changed by the pro-
file.
If the type attribute of a property or property group is
unspecified, an attempt will be made to determine the
type from existing type settings or from the service
template. If a type cannot be determined, a warning will
be presented and the service will be skipped so incon-
sistent data will not be introduced into a service and
instance. Nonexistent services and instances are
ignored.
To use the relaxed element definitions in a profile, the
following definitions need to be added to the DOCTYPE
entry:
<!ENTITY % profile "INCLUDE">
<!ENTITY % manifest "IGNORE">
Services and instances modified by the profile will be
refreshed. If -n is specified, the profile is processed
and no changes are applied to the SMF repository. Any
syntax error found will be reported on stderr and an
exit code of 1 will be returned. See smf(5) for a
description of service profiles. This command requires
privileges to modify properties in the service and
SunOS 5.11 Last change: 30 Jul 2010 3
System Administration Commands svccfg(1M)
instance. See smf_security(5) for the privileges
required to modify properties.
If the argument to apply is a directory, all profiles
found under that directory tree will get applied as
described above. The subcommand fails if a specified
file or any file found under a specified directory is
not a service profile.
extract [> file]
Prints a service profile which represents the enabled
status of the service instances in the repository to
standard output. The output may be redirected to a file.
Service Manifest Subcommands
archive [-a]
Dumps a full XML service description for all services,
instances, and their persistent properties in the repo-
sitory. This does not include transient properties such
as service state, and is suitable for a relocatable
repository backup.
Without the -a option, property groups containing pro-
tected information (identified by the presence of the
read_authorization property-see smf_security(5)) will be
archived without their property values. When the -a
option is specified, all values will be archived. An
error results if there are insufficient privileges to
read these values.
export [-a] service_FMRI [>file]
The service description for the specified service and
its instances is written to standard output or
redirected to the given file. Dependencies with a
boolean "external" property set to true are omitted in
the belief that they were created on behalf of another
service.
Without the -a option, property groups containing pro-
tected information (identified by the presence of the
read_authorization property-see smf_security(5)) will be
exported without their property values. When the -a
option is specified, all values will be archived. An
error results if there are insufficient privileges to
read these values.
SunOS 5.11 Last change: 30 Jul 2010 4
System Administration Commands svccfg(1M)
Note that export requires a service FMRI. If you specify
an instance (including an abbreviation, such as apache2
or sendmail, that specifies an instance), the command
fails.
import [-V] [file | directory]
If a directory is supplied, for each manifest file found
in the directory tree, the service manifest file is
imported as stated below. Only files with an .xml exten-
sion are considered for import when a directory is
searched.
If file is a service manifest, then the services and
instances it specifies are imported into the repository.
According to the file, dependencies may be created in
other services. See smf(5) for a description of service
manifests. See smf_security(5) for the privileges
required to create and modify service configurations.
Services and instances in the manifest will be validated
against template data in the manifest and the reposi-
tory, and warnings will be issued for all template vio-
lations. See smf_template(5) for a description of tem-
plates. If the -V option is specified, manifests that
violate the defined templates will fail to import. In
interactive invocations of svccfg, -V is the default
behavior.
For existing services and instances, properties which
have not changed since the last import snapshot was
taken are upgraded to those specified by the manifest.
Conflicts (properties which have been changed both in
the repository and the manifest) are reported on the
standard error stream. svccfg will never upgrade the
"general/enabled" and "general/restarter" properties,
since they represent administrator preference.
inventory file
If file is determined to be a service manifest, then the
FMRIs of the services and instances the file describes
are printed. For each service, the FMRIs of its
instances are displayed before the FMRI of the service.
restore
Restores the contents of the repository from a full XML
service description previously created by the archive
SunOS 5.11 Last change: 30 Jul 2010 5
System Administration Commands svccfg(1M)
subcommand. If the archive was generated without the use
of the -a option, the contents of the repository follow-
ing completion of the restore will not include the
values of any read-protected properties (see
smf_security(5)). If these are required, they must be
restored manually.
Restoring an archive which is inconsistent with
currently installed software (including patch revisions)
might yield unpredictable results. Therefore, prior to
restoring an archive, all system and application
software, including any service manifests, should be
restored to the same state it was in at the time the
archive was made.
validate [file | fmri]
The validate subcommand can operate on a manifest file,
an instance FMRI, or the current instance or snapshot
entity selection. When an argument is specified, svccfg
will check to see whether the specified file exists. If
the file exists, it will be validated. If a file of the
specified name does not exist, the argument is treated
as an FMRI pattern. If a conflict arises between a
filename and an FMRI, use the svc: and file: prefixes to
tell svccfg how to interpret the argument.
When you specify a file, the file is processed in a
manner similar to import -V, but no changes are made to
the repository. If any errors are detected, svccfg
displays the errors and exits with a nonzero exit
status.
For an instance fmri, instance entity selection, or
snapshot entity selection, the specified instance in its
composed form (see "Properties and Property Groups" in
smf(5)) will be validated against template data in the
repository. Instance FMRIs and instance entity selec-
tions use the "running" snapshot for validation. Warn-
ings will be issued for all template violations. See
smf_template(5) for a description of templates.
Entity Selection, Modification, and Navigation Subcommands
An "entity" refers to a scope, service, or service instance.
add name
A new entity with the given name is created as a child
of the current selection. See smf_security(5) for the
privileges required to create entities.
SunOS 5.11 Last change: 30 Jul 2010 6
System Administration Commands svccfg(1M)
delete [-f] {name | fmri}
The named child of the current selection or the entity
specified by fmri is deleted. Attempts to delete service
instances in the "online" or "degraded" state will fail
unless the -f flag is specified. If a service or service
instance has a "dependents" property group of type
"framework", then for each of its properties with type
"astring" or "fmri", if the property has a single value
which names a service or service instance then the
dependency property group in the indicated service or
service instance with the same name as the property will
be deleted. See smf_security(5) for the privileges
required to delete service configurations.
list [pattern]
The child entities of the current selection whose names
match the glob pattern pattern are displayed (see
fnmatch(5)). ':properties' is also listed for property-
bearing entities, namely services and service instances.
select {name | fmri}
If the argument names a child of the current selection,
it becomes the current selection. Otherwise, the argu-
ment is interpreted as an FMRI and the entity that the
argument specifies becomes the current selection.
unselect
The parent of the current selection becomes the current
selection.
Property Inspection and Modification Subcommands
addpg name type [flags]
Adds a property group with the given name and type to
the current selection. flags is a string of characters
which designates the flags with which to create the pro-
perty group. 'P' represents SCF_PG_FLAG_NONPERSISTENT
(see scf_service_add_pg(3SCF)). See smf_security(5) for
the privileges required to create property groups.
addpropvalue pg/name [type:] value
Adds the given value to a property. If type is given and
SunOS 5.11 Last change: 30 Jul 2010 7
System Administration Commands svccfg(1M)
the property exists, then if type does not agree with
the property's type, the subcommand fails. The values
may be enclosed in double-quotes. String values contain-
ing double-quotes or backslashes must be enclosed by
double-quotes and the contained double-quotes and
backslashes must be quoted by backslashes. Nonexistent
properties are created, in which case the type specifier
must be present. See scf_value_create(3SCF) for a list
of available property types. See smf_security(5) for the
privileges required to modify properties. The new value
will be appended to the end of the list of property
values associated with the property.
delpg name
Deletes the property group name of the current selec-
tion. See smf_security(5) for the privileges required to
delete property groups.
delprop pg[/name]
Deletes the named property group or property of the
current selection. See smf_security(5) for the
privileges required to delete properties.
delpropvalue pg/name globpattern
Deletes all values matching the given glob pattern in
the named property. Succeeds even if no values match.
See smf_security(5) for the privileges required to
modify properties.
describe [-v] [-t] [propertygroup/property]
Describes either the current or the possible settings.
When invoked without arguments, describe gives basic
descriptions (if available) of the currently selected
entity and all of its currently set property groups and
properties. A property group or specific property can be
queried by specifying either the property group name, or
the property group name and property name, separated by
a slash (/), as an argument.
The -v option gives all information available, including
descriptions for current settings, constraints, and
other possible setting choices.
SunOS 5.11 Last change: 30 Jul 2010 8
System Administration Commands svccfg(1M)
The -t option shows only the template data for the
selection (see smf_template(5)), and does not display
the current settings for property groups and properties.
editprop
Comments of commands to reproduce the property groups
and properties of the current selection are placed in a
temporary file and the program named by the EDITOR
environment variable is invoked to edit it. Upon comple-
tion, the commands in the temporary file are executed.
The default editor is vi(1). See smf_security(5) for the
privileges required to create, modify, or delete proper-
ties.
listpg [pattern]
Displays the names, types, and flags of property groups
of the current selection. If an argument is given, it is
taken as a glob pattern and only property groups with
names which match the argument are listed.
In interactive mode, a basic description of the property
groups is also given.
listprop [pattern]
Lists property groups and properties of the current
selection. For property groups, names, types, and flags
are listed. For properties, names (prepended by the pro-
perty group name and a slash (/)), types, and values are
listed. See scf_value_create(3SCF) for a list of avail-
able property types. If an argument is supplied it is
taken as a glob pattern and only property groups and
properties with names which match the argument are
listed.
setenv [-i | -s] [-m method_name] envvar value
Sets a method environment variable for a service or
instance by changing the "environment" property in the
method_name property group, if that property group has
type "method". If method_name is not specified and the
-i option is used, the "method_context" property group
is used, if an instance is currently selected. If the -s
option is used and a service is currently selected, its
"method_context" property group is used. If the -s
option is used and an instance is currently selected,
SunOS 5.11 Last change: 30 Jul 2010 9
System Administration Commands svccfg(1M)
the "method_context" property group of its parent is
used. If neither the -i option nor the -s option is
used, the "start" property group is searched for in the
currently selected entity and, if an instance is
currently selected, its parent is also searched. If the
"inetd_start" property group is not located, it is
searched for in a similar manner.
Once the property is located, all values which begin
with envvar followed by a "=" are removed, and the value
"envvar=value" is added. See smf_security(5) for the
privileges required to modify properties.
setprop pg/name = [type:] value
setprop pg/name = [type:] ([values ...])
Sets the name property of the pg property group of the
current selection to the given values of type type. See
scf_value_create(3SCF) for a list of available property
types. If the property already exists and the type
disagrees with the existing type on the property, the
subcommand fails. Values may be enclosed in double-
quotes. String values which contain double-quotes or
backslashes must be enclosed by double-quotes and the
contained double-quotes and backslashes must be quoted
by backslashes. If the named property does not exist, it
is created, as long as the type is specified. See
smf_security(5) for the privileges required to create or
modify properties. Multiple values will be stored in the
order in which they are specified.
unsetenv [-i | -s] [-m method_name] envvar value
Removes a method environment variable for a service or
instance by changing the "environment" property in the
method_name property group, if that property group has
type "method". If method_name is not specified and the
-i option is used, the "method_context" property group
is used, if an instance is currently selected. If the -s
option is used and a service is currently selected, its
"method_context" property group is used. If the -s
option is used and an instance is currently selected,
the "method_context" property group of its parent is
used. If neither the -i option nor the -s option is
used, the "start" property group is searched for in the
currently selected entity and, if an instance is
currently selected, its parent is also searched. If the
"inetd_start" property group is not located, it is
searched for in a similar manner.
SunOS 5.11 Last change: 30 Jul 2010 10
System Administration Commands svccfg(1M)
Once the property is located, all values which begin
with envvar followed by "=" are removed. See
smf_security(5) for the privileges required to modify
properties.
Notification Parameters Subcommands
setnotify {[-g] tset | class} notification_parameters
Sets notifications parameters for software events and
Fault Management problem lifecycle events in the SMF
repository.
-g
Used to set system-wide notification parameters for
SMF state transition. See smf(5). These notification
parameters are set in svc:/system/svc/global:default
regardless of any svccfg current selection. This
subcommand refreshes all instances it modifies.
class
Comma-separated list of FMA Event classes or
aliases. See smf(5) Notification Parameters.
tset
Comma-separated list of SMF state transitions. See
smf(5) Notification Parameters.
notification_parameters
URI format for each notification mechanism imple-
mented: For SMTP use:
mailto:addr[?header1=value1[&header2=value2]]
...or:
mailto:{[active]|inactive}
...and for SNMP traps use:
snmp:{[active]|inactive}
SunOS 5.11 Last change: 30 Jul 2010 11
System Administration Commands svccfg(1M)
The parameter msg_template defined in smtp-
notify(1M) can be set as a header value in the
mailto URI. For example:
mailto:root@localhost?msg_template=<path to template file>
SNMP traps are directed to the host as defined by
the trapsink directive in /etc/net-
snmp/snmp/snmpd.conf or as specified by the SNMP
trap notification daemon. See smtp-notify(1M).
The notification parameters are specific to the
class or tset specified and overwrite preexisting
notification parameters. The active/inactive form
does not overwrite previous notification parameters.
It just switches on or off the notification mechan-
ism for the specified class or tset. Setting notifi-
cation parameters implicitly sets them as active.
listnotify [-g] [tset] | class
Displays the existing notification parameters for the
specified class or tset. With the -g option, the notifi-
cation parameters in svc:/system/svc/global:default are
displayed. If tset is omitted, all is implied.
delnotify [-g] tset | class
Delete the existing notification parameters for the
specified class or tset. With the -g option, the notifi-
cation parameters in svc:/system/svc/global:default are
deleted.
Snapshot Navigation and Selection Subcommands
listsnap
Displays snapshots available for the currently selected
instance.
revert [snapshot]
Reverts the properties of the currently selected
instance and its service to those recorded in the named
snapshot. If no argument is given, use the currently
selected snapshot and deselect it on success. The
changed property values can be made active via the
SunOS 5.11 Last change: 30 Jul 2010 12
System Administration Commands svccfg(1M)
refresh subcommand of svcadm(1M). See smf_security(5)
for the privileges required to change properties.
selectsnap [name]
Changes the current snapshot to the one named by name.
If no name is specified, deselect the currently selected
snapshot. Snapshots are read-only.
Instance Subcommands
refresh
Commit the values from the current configuration to the
running snapshot, making them available for use by the
currently selected instance. If the repository subcom-
mand has not been used to select a repository, direct
the instance's restarter to reread the updated confi-
guration.
EXAMPLES
Example 1 Importing a Service Description
The following example imports a service description for the
seismic service in the XML manifest specified on the command
line.
# svccfg import /var/svc/manifest/site/seismic.xml
Note that the manifest must follow the format specified in
service_bundle(4).
Example 2 Exporting a Service Description
To export a service description on the local system:
# svccfg export dumpadm >/tmp/dump.xml
Example 3 Deleting a Service Instance
SunOS 5.11 Last change: 30 Jul 2010 13
System Administration Commands svccfg(1M)
To delete a service instance:
# svccfg delete network/inetd-upgrade:default
Example 4 Checking Properties in an Alternate Repository
To examine the state of a service's properties after loading
an alternate repository, use the sequence of commands shown
below. One might use such commands, for example, to deter-
mine whether a service was enabled in a particular reposi-
tory backup.
# svccfg
svc:> repository /etc/svc/repository-boot
svc:> select telnet:default
svc:/network/telnet:default> listprop general/enabled
general/enabled boolean false
svc:/network/telnet:default> exit
Example 5 Enabling Debugging
To modify LD_PRELOAD for a start method and enable the use
of libumem(3LIB) with debugging features active:
$ svccfg -s system/service setenv LD_PRELOAD libumem.so
$ svccfg -s system/service setenv UMEM_DEBUG default
Example 6 Using describe Subcommand
The following command illustrates the use of the describe
subcommand.
# svccfg -s console-login describe ttymon
ttymon application
ttymon/device astring /dev/console
terminal device to be used for the console login prompt
ttymon/label astring console
appropriate entry from /etc/ttydefs
...
SunOS 5.11 Last change: 30 Jul 2010 14
System Administration Commands svccfg(1M)
Example 7 Configuring Notification Preferences
The following command configures notification preferences
for SMF service state transition events.
# svccfg setnotify -g from-online,to-maintenance \
mailto:admin@somehost.com
Example 8 Enabling SNMP Notifications
The following command enables SNMP notifications for Fault
Management events.
# svccfg setnotify problem-diagnosed,problem-updated \
mailto:admin@somehost.com snmp:
Example 9 Listing Notification Settings
The following command lists notification settings for Fault
Management events.
# svccfg listnotify problem-diagnosed,problem-updated
Event: problem-diagnosed
Notification Type: smtp
active: true
to: admin@somehost.com
Notification Type: snmp
active: true
Event: problem-updated
Notification Type: smtp
active: true
to: admin@somehost.com
Notification Type: snmp
active: true
ENVIRONMENTAL VARIABLES
EDITOR
The command to run when the editprop subcommand is used.
SunOS 5.11 Last change: 30 Jul 2010 15
System Administration Commands svccfg(1M)
The default editor is vi(1).
EXIT STATUS
The following exit values are returned:
0
Successful execution.
1
One or more subcommands resulted in failure. Error mes-
sages are written to the standard error stream.
2
Invalid command line options were specified.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
| Interface Stability | See below. |
|_____________________________|_____________________________|
The interactive output is Uncommitted. The invocation and
non-interactive output are Committed.
SEE ALSO
svcprop(1), svcs(1), smtp-notify(1M), svcadm(1M),
svc.configd(1M), libscf(3LIB), libumem(3LIB),
scf_service_add_pg(3SCF), scf_value_create(3SCF), con-
tract(4), service_bundle(4), attributes(5), fnmatch(5),
smf(5), smf_method(5), smf_security(5), smf_template(5)
SunOS 5.11 Last change: 30 Jul 2010 16