FAQ solaris

Creation: 3 juillet 2017
Mise à jour:
Version: 1.1
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2014-2017 Jean-Louis BICQUELET

Solaris Frequently-Asked Questions

Pour plus d'information au sujet de cette faq, contactez Jean-Louis BICQUELET


FAQ Revised: Monday 03 July 2017 08:32:08


Table of Contents

1. configuration
2. memoire
3. cpu
4. arret/redemarrage
5. packages
6. reseau
7. services
8. erreurs et problemes
9. utilisateur
10. performance
11. dépendance
12. sécurité

1. configuration

1.1. comment connaitre la version de solaris?


cat /etc/release
                            Oracle Solaris 11.1 SPARC
  Copyright (c) 1983, 2013, Oracle and/or its affiliates.  All rights reserved.
                           Assembled 06 November 2013



1.2. comment connaitre le type d'architecture de solaris ?

 uname -i
sun4v
 isainfo -n
sparcv9

ou de manière plus complète

 uname -a
SunOS supifrldpadm2 5.11 11.1 sun4v sparc sun4v



1.3. comment connaitre la configuration ?

 prtconf -D
System Configuration:  Oracle Corporation  sun4v
Memory size: 32256 Megabytes
System Peripherals (Software Nodes):

prtconf: devinfo facility not available



1.4. comment savoir si le noyau est 32 ou 64 bits?

isainfo -kv
64-bit sparcv9 kernel modules

ou pour obtenir uniquement la valeur numérique

 isainfo -b
64



1.5. commentafficher la configuration du noyau ?

sysdef -i
*
* Hostid
*
  862a97d4
*
* sun4v Configuration
*
*
* System Configuration
*
  swap files
swapfile             dev    swaplo   blocks     free
/dev/swap             -         16 33030128 33030128
*
* Utsname Tunables
*
    5.11  release (REL)
supifrldpadm2  node name (NODE)
   SunOS  system name (SYS)
    11.1  version (VER)



1.6. comment connaitre le niveau d'execution?

  who -r
   .       run-level 3  Sep  3 18:02     3      0  S

Les niveaux sont:

0 shutdown
1 single user
2 n/a
3 Multi-user
4 n/a
5 power off
6 reboot


1.7. comment fixer le niveau d'execution par défaut?

Il faut éditer le fichier /etc/inittab.

1.8. comment connaitre les locales utilisées?

 locale -a
C
POSIX
de_DE.UTF-8
en_US.UTF-8
es_ES.UTF-8
fr_FR.UTF-8
it_IT.UTF-8
ja_JP.UTF-8
ko_KR.UTF-8
pt_BR.UTF-8
zh_CN.UTF-8
zh_TW.UTF-8




2. memoire

2.1. comment connaitre la mémoire installée ?

  prtconf | grep -i mem
prtconf: devinfo facility not available
Memory size: 32256 Megabytes



2.2. comment obtenir la taille des pages mémoire ?

/usr/bin/pagesize
8192



2.3. comment obtenir la taille de la swap ?

swap -l
swapfile             dev    swaplo   blocks     free
/dev/swap             -         16 33030128 33030128
8192

ou

 swap -s
total: 3249360k bytes allocated + 4025912k reserved = 7275272k used, 16853912k available
 swap -s -h
total: 3.1G allocated + 3.8G reserved = 6.9G used, 16G available

L'option -h fournit un affiche plus lisible. L'option -k fournit la taille en kilo octets.

 swap -l -k
swapfile             dev    swaplo   blocks     free
/dev/swap             -         8K 16515064K 16515064K
[root@supifrldpadm2]:/usr/platform/sun4v # swap -l -k -h
swapfile             dev    swaplo   blocks     free
/dev/swap             -         8K      16G      16G



2.4. comment ajouter de la mémoire swap ?

mkfile 128m /var/swapfile_new
swap -a /var/swapfile_new
update /etc/vfstab 



2.5. comment retirer de la mémoire swap ?

update /etc/vfstab
swap -d /var/swapfile_new




3. cpu

3.1. comment connaitre la configuration des cpus ?

 psrinfo
0       on-line   since 03/25/2014 17:36:36
1       on-line   since 03/25/2014 17:36:39
2       on-line   since 03/25/2014 17:36:39
3       on-line   since 03/25/2014 17:36:39
4       on-line   since 03/25/2014 17:36:39
5       on-line   since 03/25/2014 17:36:39
6       on-line   since 03/25/2014 17:36:39
7       on-line   since 03/25/2014 17:36:39
8       on-line   since 03/25/2014 17:36:39



3.2. comment connaitre le nombre de cpus ?

psrinfo -p
1



3.3. comment changer le status des cpus?

Change le status du cpu à offline ( -f ) ou a online ( -n)

psradm -f 0 
psradm -n 0

Pour mettre tous les processeurs online en même temps

 psradm -a -n



3.4. comment mettre les cpus en spare?

Pour définir les cpus 0 et 1 comme des spares, on tape

 psradm -F -s 0 1




4. arret/redemarrage

4.1. comment arreter le serveur?

init 0

On peut aussi faire un powerdown:

shutdown -i5 -g0 -y



4.2. comment rebooter le serveur?

Pour un reboot immédiat (pour rappel le niveau 6 correspond au reboot).

init 6

shutdown -y -g0 -i6

Pour arrêter le serveur dans 10 minutes, il suffit de préciser apr_s -g le nombre de secondes (600s = 10 minutes, 0=immédiat).

shutdown -y -g600 -i6



4.3. comment booter en single user?

boot -s 



4.4. comment reconfigurer les devices?

boot -r

Les options de boot sont:

-s single user
-a interactive
-x no device drivers (pour les clusters)
-r reconfigure devices
-m milestone


4.5. comment rebooter pour reconfigurer ?

reboot -- -r



4.6. comment changer de niveau d'execution?

On utilise un des commande suivantes suivant le niveau que l'on veut atteindre:

  • halt
  • init
  • poweroff
  • reboot
  • shutdown
  • telinit
  • uadmin


4.7. comment changer de niveau d'execution?

Les répertoires sont :

  • /etc/init.d

  • /etc/rc0.d - /etc/rc6.d



4.8. comment connaitre le disque de boot ?

eeprom |grep boot-device
boot-device=rootdisk rootmir
boot-device-index=0
 prtconf -pv |grep bootpath
        bootpath:  '/pci@400/pci@1/pci@0/pci@4/scsi@0/disk@w5000cca016428ebd,0:a'




5. packages

5.1. comment lister les packages installés?

# pkginfo
system      CSWcommon               common - common files and dirs for CSW packages
application CSWlibgcc-s1            libgcc_s1 - The GNU Compiler Collection, libgcc_s.so.1
application CSWpkgutil              pkgutil - Installs Solaris packages easily
monitoring  ILMT-TAD4D-agent        ILMT-TAD4D-agent
application NXISbbc                 Package Big Brother made in Natixis
application NXISzabbix              Package Zabbix agent
GNOME2      SUNWPython26-extra      Supplemental Python libraries and utilities
system      SUNWTcl                 Tcl - Tool Command Language
system      SUNWarc                 Lint Libraries (usr)
...
application gsk8cry64               IBM GSKit Cryptography Runtime
application gsk8ssl64               IBM GSKit SSL Runtime With Acme Toolkit

@P/Pour obtenir une liste plus détailler il faut utiliser l'option -l.

pkginfo -l | pg
   PKGINST:  CSWcommon
      NAME:  common - common files and dirs for CSW packages
  CATEGORY:  system
      ARCH:  sparc
   VERSION:  1.5,REV=2010.12.11
   BASEDIR:  /
    VENDOR:  http://www.opencsw.org/ packaged for CSW by Philip Brown
      DESC:  Installs some useful standard CSW filesystem symlinks and files
    PSTAMP:  bender20101211174807
  INSTDATE:  May 16 2014 16:04
   HOTLINE:  http://www.opencsw.org/bugtrack/
     EMAIL:  phil@opencsw.org
    STATUS:  completely installed
     FILES:      140 installed pathnames
                 130 directories
                   6 blocks used (approx)

   PKGINST:  CSWlibgcc-s1
      NAME:  libgcc_s1 - The GNU Compiler Collection, libgcc_s.so.1
  CATEGORY:  application
      ARCH:  sparc
...



5.2. comment ajouter un package?

pkgadd -d TIVsmCapi.pkg

On peut aussi installer le paquet:

pkg install ksh88



5.3. comment supprimer un package?

pkgrm
pkg uninstall package



5.4. comment vérifier le contenu d'un package?

pkgchk -l NXISbbc
Pathname: /local/p0/soft/bb
Type: symbolic link
Source of link: bbagent_1.9i-btf
Referenced by the following packages:
        NXISbbc
Current status: installed

Pathname: /local/p0/soft/bbagent_1.9i-btf
Type: directory
Expected mode: 0755
Expected owner: bbuser
Expected group: ADMIN
Referenced by the following packages:
        NXISbbc
Current status: installed

Pathname: /local/p0/soft/bbagent_1.9i-btf/.ssh
Type: directory
Expected mode: 0700
Expected owner: bbuser
cons

5.5. comment obtenir l'historique des installations de packages?

 pkg history
START                    OPERATION                CLIENT             OUTCOME
2014-05-07T17:54:31      set-property             transfer module    Succeeded
2014-05-07T17:54:31      refresh-publishers       transfer module    Succeeded
2014-05-07T17:54:31      image-create             transfer module    Succeeded
2014-05-07T17:54:35      rebuild-image-catalogs   transfer module    Succeeded
2014-05-07T17:54:40      install                  transfer module    Succeeded
2014-05-07T18:14:56      install                  pkg                Succeeded
2014-07-22T11:41:17      refresh-publishers       pkg                Succeeded
2014-07-22T11:41:17      install                  pkg                Succeeded



5.6. Où trouve-t-on le répertoire des packages?

DAns le répertoire /var/sadm .

/var/sadm # ls
install   pkg       security  system




6. reseau

6.1. comment trouver l'adresse IP du serveur?

Comme dans tous les serveurs unix, on utilise ifconfig.

ifconfig -a
lo0:1: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ipmp0:1: flags=108001000843 mtu 1500 index 2
        inet 100.78.131.112 netmask fffff800 broadcast 0.72.132.112
lo0:1: flags=2002000849 mtu 8252 index 1
        inet6 ::1/128

L'autre méthode consiste à utiliser getent et nslookup.

getent hosts darkstar
127.0.0.1       darkstar localhost loghost

 nslookup darkstar
Server:         10.10.2445254
Address:        10.10.245.254#53

Non-authoritative answer:
Name:   darkstar.universe
Address: 10.72.13.112



6.2. comment trouver les interfaces réseau?

 netstat -i | egrep -v "^Name|^lo0" | awk '{ print $1 }' | cut -d: -f1 | sort

ipmp0

La carte ici est une carte IP Multipathing (IPMP).

6.3. comment afficher les routes du serveur?

 netstat -rn

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface
-------------------- -------------------- ----- ----- ---------- ---------
default              10.72.128.1         UG      138 2358530354 ipmp0
default              10.72.128.1         UG      112 2130530473
10.72.128.0         10.72.132.112       U         9    2196596 ipmp0
127.0.0.1            127.0.0.1            UH        2    1810778 lo0

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use    If
--------------------------- --------------------------- ----- --- ------- -----



6.4. comment avoir des statistiques sur le reseau?

Utilisez netstat -i ou netstat -a.

netstat -i
Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue
lo0   8232 loopback      darkstar  49597907 0     49597907 0     0      0
ipmp0 1500 darkstar.cdcsdm darkstar.cdcsdm 1987519434 0     2494952191 0     0      0

Name  Mtu  Net/Dest                    Address                     Ipkts  Ierrs Opkts  Oerrs Collis
lo0   8252 darkstar               darkstar               49597907 0     49597907 0     0



6.5. comment supprimer une carte physique?

ifconfig qfe1 down unplumb



6.6. comment trouver le nom du serveur?

getent hosts loghost
127.0.0.1       darkstar localhost loghost



6.7. comment trouver l'adress IP d'un serveur?

getent hosts cruser
10.72.13.16   cruser.universe
echo $?
0



6.8. comment trouverle nombre de connection reseau au serveur?

echo "Total: " `netstat | wc -l`
Total:  36



6.9. comment trouverle nombre de connection reseau au serveur par type?

 netstat -an |awk '{print $7}' | sort | uniq -c
  31
   2 -----------
   7 ESTABLISHED
   7 IDLE
  16 LISTEN
   1 Remote
   2 Rwind
   8 TIME_WAIT




7. services

7.1. comment lister tous les services?

 svcs -a
STATE          STIME    FMRI
legacy_run     Sep_03   lrc:/etc/rc2_d/S01tlm
legacy_run     Sep_03   lrc:/etc/rc2_d/S89PRESERVE
legacy_run     Sep_03   lrc:/etc/rc3_d/S80splunk
legacy_run     Sep_03   lrc:/etc/rc3_d/S99CA-DSM
legacy_run     Sep_03   lrc:/etc/rc3_d/S99tsm_SUPIFRLDPADM2
legacy_run     Sep_03   lrc:/etc/rc3_d/S99zabbix-agent
disabled       Sep_03   svc:/network/install:default
disabled       Sep_03   svc:/network/ipsec/ike:default
disabled       Sep_03   svc:/network/ipsec/manual-key:default
disabled       Sep_03   svc:/system/name-service-cache:default
disabled       Sep_03   svc:/network/nis/client:default



7.2. comment lister les services en erreur?

svcs -xv



7.3. comment désactiver un service?

 svcadm disable svc:/system/name-service/cache



7.4. comment activer un service?

 svcadm enable svc:/system/name-service/cache




8. erreurs et problemes

8.1. comment les erreurs du serveur?

dmesg

Thursday, April  9, 2015 11:14:04 AM CEST
Mar  5 11:30:32 darkstar sudo: [ID 702911 auth.alert] batman : command not allowed ; TTY=pts/5 ; PWD=/users/batman ; USER=root ; COMMAND=/usr/bin/ls /opt/ldap/admin
Mar  5 13:14:53 darkstar sudo: [ID 702911 auth.alert] batman : command not allowed ; TTY=pts/5 ; PWD=/users/batman ; USER=root ; COMMAND=/usr/bin/su -
Mar  5 13:15:57 darkstar sudo: [ID 702911 auth.alert] batman : command not allowed ; TTY=pts/5 ; PWD=/users/batman ; USER=root ; COMMAND=/usr/bin/su
Mar  9 17:03:48 darkstar sudo: [ID 702911 auth.alert] superman : command not allowed ; TTY=pts/4 ; PWD=/users/superman ; USER=root ; COMMAND=/usr/bin/cd /opt/ldap/admin



8.2. Ou sont les fichiers d'erreurs?
syslog /var/log/syslog
cron boot /var/adm/messages



9. utilisateur

9.1. comment ajouter un utilisateur?

useradd -d home-directory -g nom-du-groupe -G groupes_supplementaires (la virgule sert de séparateur) -m -n -u uid -p passwd

Les options possibles sont:

-c Commentaire
-d répertoire personnel
-g groupe principal
-G groupes secondaires
-s shell
-u UID
-e date d'expiration
-f temps d'inactivité après expiration
-p mot de passe
-m copie dans le home les fichiers présents dans @i(/etc/skel)
-n création d'un groupe portant le nom de l'utilisateur est créé


9.2. comment supprimer un utilisateur?

userdell user

Pour supprimer aussi son home et ses mails utilisez l'option -r.

userdell -r user



9.3. comment modifier les caractéristiques d'un utilisateur?

On change l'ID du user pour 1013.

usermod -u 1013 user

On change le groupe du user pour le groupe mysql.

 grep mysql /etc/group
mysql::70:
usermod -g 70 user
grep user  /etc/passwd
user:x:70:70:MySQL user:/:



9.4. comment changer le nom de l'utilisateur?

usermod -l user new_user



9.5. comment supprimer l'expiration du mot de passe?

usermod -s /bin/bash user
su user
echo $SHELL
/bin/bash



9.6. comment modifier le chemin (home) d'un utilisateur?

usermod -md /application/mysql user



9.7. comment changer le shel d'un utilisateur ?

passwd -x -1 user



9.8. comment vérouiller/dévérouiller le mot de passe d'un compte?

On utilise l'option -L pour vérouiller le compte et -U pour le dévérouiller.

usermod -L user
su user
Password:
su: Authentication failure
usermod -U user
su user
Password:



9.9. comment connaitre la date de dernière connexion d'un utilisateur?

last user

wtmp begins Wed May  7 17:57



9.10. comment afficher tous les processus?

ps augxww
USER       PID %CPU %MEM   SZ  RSS TT       S    START  TIME COMMAND
root      8712  0.0  0.39782489168 ?        S   Sep 03 1075:21 splunkd -p 8089 start
root       640  0.0  0.116472 9264 ?        S   Apr 09  0:00 /usr/lib/ssh/sshd
root       641  0.0  0.11938412712 ?        S   Apr 09  0:01 /usr/lib/ssh/sshd
root       642  0.0  0.111392 8536 pts/4    S   Apr 09  0:01 -bash
zabbix    1107  0.0  0.0 8328 2744 ?        S   Oct 17  0:00 /opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix_agentd.conf
zabbix    1109  0.0  0.1 9352 7456 ?        S   Oct 17 239:54 /opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix_agentd.conf
zabbix    1110  0.0  0.0 8328 2872 ?        S   Oct 17  1:14 /opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix_agentd.conf
root      7119  0.0  0.0    0    0 ?        S   Sep 03  0:00 zsched



9.11. comment afficher la ligne de commande d'un processus?

ps augxww |grep zabbix_agentd
zabbix    1107  0.0  0.0 8328 2808 ?        S   Oct 17  0:00 /opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix_agentd.conf
pargs 1107
1107:   /opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/etc/zabbix_agentd.conf
argv[0]: /opt/zabbix/sbin/zabbix_agentd
argv[1]: -c
argv[2]: /opt/zabbix/etc/zabbix_agentd.conf




10. performance

10.1. comment connaitre l'utilisation mémoire, CPU?

prstat
PID USERNAME  SIZE   RSS STATE   PRI NICE      TIME  CPU PROCESS/NLWP
  8712 root       96M   87M sleep    59    0  17:49:45 0.0% splunkd/28
 20096 root       16M 8880K sleep    59    0   0:00:00 0.0% sshd/1
 25972 root       16M 8936K sleep    59    0   0:00:00 0.0% sshd/1
 26627 root       16M 9128K sleep    59    0   0:00:00 0.0% sshd/1
  8713 root       47M   32M sleep    59    0   0:00:00 0.0% splunkd/1
  7912 root       21M   20M sleep    59    0   0:12:20 0.0% svc.configd/15
  7939 netcfg   3728K 2936K sleep    59    0   0:00:00 0.0% netcfgd/2
  ...
  12880 root       11M 8440K sleep    59    0   0:00:00 0.0% bash/1
  7908 root       48M   45M sleep    59    0   0:05:24 0.0% svc.startd/12
 12878 root       16M 9096K sleep    59    0   0:00:00 0.0% sshd/1
   641 root       19M   12M sleep    59    0   0:00:01 0.0% sshd/1
  8036 root       12M 3464K sleep    59    0   0:00:02 0.0% net-ipmgmt/1
  7980 root     2664K 2304K sleep    59    0   0:00:16 0.0% pfexecd/9
Total: 57 processes, 197 lwps, load averages: 0.46, 0.43, 0.40



10.2. comment connaitre l'utilisation CPU?

mpstat
 CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl
   0    2   0  167   306   51   81    0    6    7    0   120    1   1   0  99
   1   20   0 1295   996  846  236    1   17   18    0   446    2   2   0  96
   2    3   0  179    52    4   82    1    4    3    0    71    0   0   0  99
   3    0   0    7    22    0   37    0    1    1    0    10    0   0   0 100
   4    0   0    7    23    0   39    0    1    1    0    10    0   0   0 100



10.3. comment connaitre l'utilisation mémoire?

vmstat
 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr s4 s5 s6 s7   in   sy   cs us sy id
 0 0 0 21611288 7384936 66 234 0 0 0  0  0 25 25  0  0 4424 6665 3915  0  0 99



10.4. comment connaitre l'utilisation entrée/sortie des disques?

iostat
   tty        sd4           sd5           sd6           sd7            cpu
 tin tout kps tps serv  kps tps serv  kps tps serv  kps tps serv   us sy wt id
   0    9 1623  25    7  1623  25    7    0   0    0    0   0    0    0  0  0 99



10.5. comment connaitre l'utilisation du réseau?

 netstat

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q    State
-------------------- -------------------- ----- ------ ----- ------ -----------
darkstar.cdcsdm.64977 starship.galaxy 128872      0 128872      0 ESTABLISHED
darkstar.cdcsdm.ssh cruser.universe.46673 65535      0 64240      0 ESTABLISHED
darkstar.cdcsdm.ssh cruser.universe.40613 65535      0 64240      0 ESTABLISHED
...

Active UNIX domain sockets
Address  Type          Vnode     Conn  Local Addr      Remote Addr
10010f348fd8 stream-ord 00000000 00000000
100108212038 stream-ord 00000000 00000000
1000bd3ea7c0 stream-ord 00000000 00000000
10009c70e0a0 stream-ord 1000521d8440 00000000 /opt/ilmt//clisock
1000b03b20a8 stream-ord 100065def280 00000000 /system/volatile/inetd.uds
100054b45798 stream-ord 00000000 00000000
10009c70ec40 dgram      00000000 00000000
10003ed03768 dgram      00000000 00000000




11. dépendance

11.1. comment obtenir les librairies utilisées par un programme?

 ldd /usr/bin/ksh
        libc.so.1 =>     /lib/libc.so.1
        libm.so.2 =>     /lib/libm.so.2
        /lib/libm/libm_hwcap1.so.2




12. sécurité

12.1. comment vérifier la sécurité des comptes utilisateurs?

pwck

uucp:x:5:5:uucp Admin:/usr/lib/uucp:
        Login directory not found

nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
        Login directory not found
        Optional shell file not found

12.2. comment vérifier la sécurité des groupes?

grpck

zbxgrp_14128:x:14128:zabbix
        Group name too long
        1 Bad character(s) in group name



12.3. comment configurer la sécurité du login?

Sur solaris 10 il faut configurer le fichier /etc/default/login. Le reboot n'est pas necessaire.

Sur solaris 11 il faut configurer le fichier /etc/default/login, mais on peut aussi modifier /etc/user_attr.


This list of questions and answers was generated by makefaq.