I. INSTALLING SOLA10 OS:
Fichier d'installation:
Fichier contenant les paquets appliqués au système: /Var/sadm/install/contents
Software group gérés par Solaris 10 # grep METACLUSTER /var/sadm/system/admin/.clustertoc
Software group actuellement appliqué: # cat /var/sadm/system/admin/CLUSTER
7 Types d'installation
1- custom Jumpstart: pour installer plusieurs systèmes sur le réseau local qui auront une mm configuration au travers le fichier "hands off" sisydcfg (. /add_install_client)
2- WAN boot installation: installe sur le réseau distant au travers le HTTP
3- Interactive: CD-ROM, DVD-ROM, Diskette
4- standard upgrade & live upgrade:
standard upgrade: met à jour le système en sauvegardant les données initiales
live upgrade: mettre à jour le système en temps réel et permet de retourner à la version précédente du système en cas d'erreur d'installation.
5- Flash archive installation: replique le mm prog d'installation sur plusieurs systèmes
6- Network installation:
- Paramètres requis:
Mémoire: SPARC & x86
Minimum console: 64MB
Minimum GUI: 256MB
requis console: 128MB
requis GUI: 384 ou +
Espace disk: 5 GB, 12GB
Processeur : 200 MHZ ou +
Software groups:
Solaris gère 6 groupes de packets:
1- Reduced Network software group (SUNWcrnet): contient les packets permettant de gérer un environment multiuser, aussi les paquets pour faire fonctionner le réseau mais ne les active pas.
2- Core system software group (SUNWcreq): multiuser et permet de faire fonctionner le réseau
3- End user software group (SUNWcuser): réseau + CDE (Common Desktop Environment)
4- Developper software group (SUNWcprog): réseau + CDE + man pages, libraires ...
5- Entire solaris software group (SUNWcall): réseau + CDE+ man pages + server
6- Entire solaris + OEM software group (SUNWCXall) réseau + CDE+man pages + server + packets additionels pr périphériques
__________________________________________________________________________________
III. MANAGING LOCAL DISK DEVICES:
/etc/path_to_inst:
prtconf: affiche des infos sur la configuration des périphériques
format: format & partitionne le disque. Et affiche aussi le nom logique & physique des disques actuellement installés et leur nombre.
Reconfiguration du système:
- devfsadm -c <disk>: met à jour les en temps réel les fichiers /etc/path_to_inst, /dev, /devices pour une reconfiguration du système
# touch /reconfigure
# init 5
<install disk>
ok boot -r
__________________________________________________________________________________
IV. MOUNT AND UNMOUNTS:
mount: monter un système de fichier sur un point de montage (par défault /mnt)
Syntax: mount <options> < système de fichier> <point de montage>
ex: s3, /eddie, lecture seule
# mount -o ro /dev/dsk/c0d0s3 /eddie
/etc/vfstab: gère les fichiers à monter au démarrage
/etc/mnttab: fichier géré par le système (en lecture seule), qui stocke tous les systèmes de fichiers actuellement mountés.
umount: démonte un SF
Syntax: umount <options> <SF à démonter/Point de montage>
ex:
# umount /eddie
# umount /dev/dsk/c0d0s3
# umount -f <point_de_montage>
mountall: monte ts ls SF contenus ds /etc/vfstab
umountall: démonte ts ls SF contenus ds /etc/vfstab sauf /swap, /var/run, /devices
__________________________________________________________________________________
V. MANAGING SOLARIS FILE SYSTEM:
Solaris gère 3 classes de SF:
- Pseudo FS: CACHEFS, TMPFS, CTFS, SWAPFS, MNTFS, DEVFS
- Distributed FS: NFS
- Disk-based FS: HSFS, UFS, UDFS, PCFS.
Solaris FS: VFS (Virtual File File system)
Créer un FS: newfs, mkfs.
Checker un FS: fsck
Voir le FS appliqué à 1e partition: fstyp
Monitoring FS:
df: affiche ls SF montés sur le disque et l'espace disque libre (bit,Kb,GB)
du: affiche l'espace occupé par ls SF sur le disque (Kb,Gb,octets)
quot: affiche l'utilisation de l'espace disque par chaque utilisateur
__________________________________________________________________________________
VI. PACKAGE ADMINISTRATION:
un "packet" est un ensemble de fichiers et de répertoires donnés ds 1 format particular
- pkgadd: installer un packet sur le système
Syntax: pkgadd <options> <réperotoire cible> <PID>
ie:
# pkgadd -d /cdrom/s0/Solaris_10/Product SUNWman
- pkginfo: affiche des infos sur un packet
Syntax: pkginfo <options> <PID>
ie:
# pkginfo -p SUNWman
# pkginfo -l SUNWman
- pkgtrans: permet de convertir un packet d'un format à un autre
Syntax: pkgtrans <package_cible_format> <format_sortie>
SUNWvts.pkg --> SUNWvts
ie:
# pkgtrans /var/tmpt/SUNWvts.pkg SUNWvts
- pkgrm: supprimer un packet du système
Syntax: pkgrm <PID>
ie:
# pkgrm SUNWman
- pkgchk: vérifie si les attributs, le contenu d'un packets
Syntax: pkgchk <options> <PID>
ie:
# pkgchk –a SUNWman
# pkgchk -c SUNWman
# pkgchk -l SUNWman
# pkgchk -l -p SUNWman
- pkgparam: affiche les valeurs du paramètre d'un packet
- Spool directory: /var/spool/pkg
Syntax: pkgadd <options> <répertoire_cible> -s <spool_directory> <PID>
ie:
# pkgadd -d /cdrom/s0/Solaris_10/Product -s /var/spool/pkg SUNWman
- package installé sur le système: /var/sadm/pkg
- avoir des infos sur un packet se trouvant sur CD-ROM:
# pkginfo –d /cdrom/s0/Solaris_10/Product -l SUNWman
__________________________________________________________________________________
VII. MANAGING PATCH
Un "patch" est un ensemble de paquets utilisés pour corriger des éventuelles erreurs ou ajouter des composants manquants
- patchadd: pour ajouter un patch au système & avoir des infos sur les patchs (-p)
Syntax: patchadd <options> <répertoire_cible> <Patch_ID>
ie:
# patchadd 10160-01
# patchadd -p | grep <PID> : avoir des infos sur un patch donné.
patchadd -d <PID> : les fichiers de sauvegarde sont supprimés.
# showrev -p
Répertoires:
/var/sadm/patches: répertoire contenant les patches
/var/sadm/spool/
- patchrm: pour supprimer un patch du système
Syntax: patchrm <PID>
ie:
# patchrm 10501-01
Quand un patch ne peut être installé:
- si ce patch existe déjà;
- si une version plus récente que le patch à été installée ou est déjà appliquée;
- si ce patch dépend d'un autre patch qui n'est pas installé.
__________________________________________________________________________________
VIII. EXECUTING OPEN BOOT PROM COMMANDS:
NVRAM?
Non Volatile Randam Access Memory: c'est une mémoire non volatile. Donc, qui peut conserver les données après au démarrage
NVRAM prend en compte les commandes telles que:
Syntax: <commande> <parametre> <valeur>
- nvalias: attribue un "alias" permanent à un disque
- unvalias: désactive l'alias attribué à un disque
- banner: affiche les infos sur le système
- devalias: affiche les alias des périphériques & attribue un alias temporaire
- show-devs: affiche ls périphériques et leur PATH
- show-disks: affiche ls disques installés et leur alias
- setenv: changer la valeur d'un paramètre
ie: ok setenv auto-boot? false
ok setenv boot-device disk
- set-default(s): rétablir les valeurs par défauts de tous les paramètres
- printenv : affiche les valeurs de paramètres
ok setenv boot-device disk
ok printenv boot-device
- probe: affiche les périphériques connectés au système
probe-ide: affiche ls périphériques (disk, CD-ROM) connectés au
probe-ide-all:
probe-scsi:
- reset-all: rétablir les valeurs par défaut
- password: changer de mot de passe
probe-scsi-all:
- sifting:
- boot: démarrer le système
boot -a: démarre le système en tenant k du fichier ajouté
boot -r: reconfigure le système
boot -v: mode verbose
boot -rv, boot -av
- help: aide commande
eeprom: permet de changer les paramètes NVRAM sous Solaris
__________________________________________________________________________________
IX. BOOT AND SHUTDOWN PROCEDURES:
Boot on SPARC:
PROM --> POST (check ds periph.) ---> pboot ---> ufsboot --> kernel initialization --> init ---> svc.startd ---> services
Boot on x86:
BIOS (check ds periph.)--> mboot (Master Boot Record) ---> pboot --> ufsboot --> kernel initizalization ---> init ---> svc.startd ---> services
functions du BIOS:
- check système hardware;
- fourni ds services E/S via ds interupts. logi
Changer le run level par défaut:
# scvadm milestone -d milestone/multi-user:
# svcadm milestone -d milestone/multi-user-server:
# svcadm milestone -d milestone/single-user:
# svcadm milestone all
/etc/inittab:
Le program init lit le contenu de ce fichier pour savoir démarrer les services
Syntax:
id: <run_state: action: commande
powerfail
sysinit
boot
respawn
wait
once
ie:
smf::sysinit:/lib/svc/bin/svc.startd > /dev/msglog 2<> /dev/msglog
_________________________________________________________________________________
X. USER ADMINISTRATION:
3 fichiers permettent de gérer des utilisateurs:
- /etc/passwd: contient le compte d'utilisateurs crées par l'administrateur et le système
syntax: <nom_user>:<passwd>:<user_ID>:<group_ID>:<comment>:<home_directory:<shell>
ie: michelle:x:2000:2000::/export/home/rep:/bin/bash
- /etc/shadow: contient des infos détaillées sur le mot de passe:
syntax:<username>:<password>:<lastchg>:<min>:<max>:<warn>:<inactive>:<expire>
ie:
jkerry: 86KG/MNT/DGU: 9675: 0: 90: 7: 10: 5905
<username<password> <date mini max nbr nbr date exp
dernière jours jours jrs avt jr inac compte
modification expirat compte
< (Jours)>
- /etc/group: contient des infos sur les groupes
syntax: nom groupe>:<group password>:<gid>:<user-list>
ie:
democrats:: 111:jkerry,hdean,agore
password settings:
/etc/default/passwd: configure le "password" des comptes utilisateurs
Gestion d'utilisateurs:
- useradd : permet d'ajouter des utilisateurs dans /etc/passwd
syntax: useradd -u <uid> -g <gid> -G <group name> -o (optionel) -d <user_home_directory> \
-m (make home directory) -c <user_description> -s <login_shell> <username>
ie:
# useradd -u 200 -g 150 -G other -d /export/home/junior -m -c "Junior user" -s
/bin/bash junior
- userdel : permet de supprimer un utilisateur et son home_directory
Syntax: userdel -r <username>
ie:
# userdel –r junior
- usermod : permet de modifier les paramètres d'un user
Syntax: usermod -u <uid> -g <gid> -G <group_name> -d <home_directory> -s <login shell> -l <login_name>
ie:
# usermod -u 300 -g 1 -d /export/home/yann -s /bin/bash –l yann2 yann
- groupadd: permet d'ajouter un group ds /etc/group
Syntax: groupadd -g <gid> <group_name>
ie:
# groupadd -g 300 eddie
- groupdel: permet de supprimer un group
Syntax: groupdel <gname>
ie:
# groupdel eddie
- groupmod: permet de modifier les paramètres de groupe
Syntax: groupmod -g <gid> <existing_groupname>
ie:
# groupmod -g 2001 eni
Limitation:
Nbre limité de UID: d e 0-99 (réservé au système) et de 100-60.000 (attribuable aux users)
Nbre limité de GID: de 0-99 /60.001 & 60.002 65.534(réservé au système) de 100-60.000 (attribuable aux users)
/etc/default/passwd:
MAXWEEKS: attribue la période maximale (en semaine) de validité du mot de passe
MINWEEKS: attribue la période minimale avant que le mot de passe soit changé
PASSLENGTH: attribue le nombre minimum de caractères à assigner à un mot de passe ( 6,7 et 8 caractères max)
WARNWEEKS: la période à laquelle l'utilisateur sera prévenu de l'expiration du mot de passe
NAMECHECK (yes/no): control du mot de passe pour vérifier si l'utilisateur est en train d'utiliser le login name comme mot de passe
HISTORY:
DICTIONLIST:
DICTIONDBDIR:
__________________________________________________________________________________
XI. SYSTEM SECURITY:
Fichiers de Security:
/etc/default/login: permet de gérer la connexion au système
- autoriser/refuser l'accès au root
- détermine si le password est nécessaire ou non lors du login
- gérer ls échecs de connexion (SYSLOG_FAILED_LOGINS)
/etc/ftpd/ftpusers: contient la liste des utilisateurs n'ayant pas accès au protocole FTP
/etc/ftpd/ftphost: contient la liste des hosts qui ont accès au FTP
/etc/ftpd/ftpgroups: contient la liste des groupes ayant accès au FTP
/etc/cron.d/at.deny: contient la liste des utilisateurs qui n'ont pas accès à la commande "at"
/etc/cron.d/cron.deny: contient la liste des users qui n'ont pas acccès à la commande "crontab"
/etc/cron.d/cron.allow: (à créer): contient la liste des users ayant droit à la commande "crontab"
/etc/cron.d/at.allow: contient la liste des users ayant droit à la commande "at"
/var/adm/loginlog: logge le nombre de tentatives échouées d'accès au système
/etc/defaut/su: fichier de configuration de l'utilisation de "su"
/var/adm/sulog: logge les utilisateurs qui essayent d'utiliser "su" pour se connecter à d'autres comptes y compris le root
/etc/pam.conf: paramètrage de la commande $HOME/.rhosts
/etc/host.equiv: les users ordinaires des systèmes dont le hostname est inclu ds ce fichier peut se connecter au host sans mot de passe
$HOME/.rhosts: le root des systèmes dont le hostname est inclu ds ce fichier peut se connecter au host sans mot de passe
Commandes de securité:
last: affiche la liste des users qui ce sont connectés au système à un temps donné depuis la dernière installation et lit le fichier : /var/adm/wtmpx pr av3r cs infos.
who: affiche les users actuellement connectés au système. lit le fichier : /var/adm/utmpx pr av3r cs infos.
finger: affiche des infos détaillées sur chaque user actuellement connectés au système
rusers: affiche la liste des users connectés localement ou à distance au système
ftpwho: affiche la liste des users utilisants le protocol FTP
logins: affiche des infos sur ls comptes utilisateurs
- checker des users qui n'ont pas de mot de passe (-p)
ie: logins –p <user_id>
su: permet de changer de compte utilisateur
ssh: permet d'effectuer une connexion sécurisée localement ou à distance
Syntax: ssh <hostname>
chown: changer de propriétés d'un fichier (appartenance)
Syntax: chown <options> <owner>:[<group>] <file>
Options de chown:
-R: récursif
-f: force
-h: lien symbolique
ie:
# chown yann:other file1
chgrp: changer de groupe
Syntax: chgrp <options> <group> <file>
chgrp options:
-R: récursive
-f: force
-h: lien symbolic
chmod: changer les permissions d'un fichier
Syntax: chmod <options> <permission_mode> <fichier>
chmod options
-R: changement récursif
-f: force changement
cron utilitaire:
/var/spool/cron/atjobs: répertoire contenant les tâches à exécuter (programmer) avec la commande "at"
/var/spool/cron/crontab: répertoire des tâches à executer avec "crontab"
syntax du crontab:
<minute>:<heure>:<jour du mois>:<mois>:<jour de la semaine>:<commande à executer>
0-59 0-23 1-31 1-12 0-6
ex:
10 3 * * * /usr/sbin/logadm: exécute la commande /usr/sbin/logadm à 3:10 (a.m) chaque jour du mois, chaque mois, chaque jour de la semaine
15 3 * * * /usr/lib/fs/nfs/nfsfind: exécute la commande à 3H15 chaque jour,....
30 14 5 10 4 /usr/sbin/logadm: la commande s'exécute chaque jeudi (4), 5 Octobre à 14h30
15 9 * * 0,3 /etc/cron.d/diskchecker: la commande s'exécute tous les jours du mois, ts ls mois, chaque dimanche et mercredi à 9:15
XII. CONFIGURING AND USING PRINTER SERVICES:
Basics functions of the Solaris OS LP Print Service:
- initialization: s'assure que l'imprimate est en bon état.
- Queuing: programme les l'ordre d'impression des rêquetes en cours d'attente envoyées à l'imprimante
- tracking: * permet au "root" de gérer ttes les requêtes et de permettre aux autrs
users de voir ou d'annuler leur requêtes* logge tte erreur constatée lors de l'impression
- Fault notification: imprime un message d'erreur ou envoie un mail au root, en cas d'erreur de configuration ou autre.
- Filtering: convertis les tâches d'impression vers le format approprié avant de les envoyer à l'imprimante concernée.
Fichiers & répertoires:
/etc/lp: répetoire contenant une hierarchie des fichiers et répertoires de configuration
/etc/lp/interfaces: répertoire contenant ls scripts de chaque imprimante configurée.
Syntax: /etc/lp/interfaces/<printername>
/etc/lp/printers: répertoire contenant le sous-répertoire de chaque imprimante servi par le système
/var/spool/lp: répertoire contenant une liste des récentes requêtes se trouvant en ligne d'attente
/var/lp/logs: répertoire contenant un historique des requêtes d'impression
ie:
/var/lp/logs/requests: contient ds infos concernant ls requêtes exécutées
/etc/printers.conf: contient des infos sur la configuration ttes ls imprimantes connectées au système
Daemons:
inetd
/usr/lib/print/in.lpd
/usr/lib/lp/lpsched
Main tasks for configuring Printer services:
1. Setting up the printer --> connecté physiquement une imprimante au système ou au réseau
2. setting up the printer server --> configurer le système qui fournira et gérera l'accès à l'imprimante
3. setting up the print client --> configuring le système pour donner accès à une imprimante distante
4. verifying printer access --> verifier que l'imprimante server reconnait toutes les imprimantes-clients et vice versa
Commande:
/usr/sbin/printmgr & : configurerl'imprimante sous GUI
- setting up the système default printer: (imprimante par défaut) lpadmin
Syntax: lpadmin -d <printername>
lpadmin -d <printer-classname>
ie:
# lpadmin -d printerE: configurer l'imprimante printerE comme imprimante par défaut
- vérifier l'état de l'imprimante: lpstat
Syntax: lpstat -d
ie:
# lpstat -d : vérifie l'imprimante configurée comme par défaut
- remove a client's printer configuration:
Syntax: lpadmin -x <printername>
ie:
# lpadmin -x printerD : supprime les infos de configuration relatives à l'imprimante "printerD"
- removing a server's printer configuration:
1.
# reject printerD -- rejette l'imprimante "printerD" de la configuratoion
2.
# disable printerD -- désactive cette imprimante (printerD)
3.
#lpadmin -x printerD -- supprime ttes ls infos concernant ladite imprimante
- starting the LP print service:
# svcadm enable application/print/server
- stopping the LP print service:
# svcadm disable application/print/server
# svcs -a | grep print
- specyfing a destination printer: lp ou lpr
Syntax: /usr/bin/lp <filename
/usr/bin/lp -d printername filename
Syntax: /usr/ucb/lpr <filename>
/usr/ucb/lpr -P printername filename
remote printer syntax:
/usr/bin/lp -d hostname:printername filename
/usr/ucb/lpr -P hostname:printername filename
ie:
# /usr/bin/lp -d printerD file1 :
# /usr/ucb/lpr -P printerD file1
# /usr/bin/lp -d tapsolaris10:printerD file1
# /usr/ucb/lpr -P tapsolaris10:printerD file1
- accepting print jobs: accept
Syntax: # /usr/sbin/accept destination(s)
ie:
# accept printerD
- rejecting print jobs: reject
Syntax: # reject -r "reason" destination(s)
ie:
# reject -r "Replacing toner cartridge" printerD
- enabling printers: enable
Syntax: /usr/bin/enable destination(s)
ie:
# enable printerD
- disabling printers: disable
Syntax: /usr/bin/disable -c | -W -r "reason" destination
-c : annule la tâche actuelle et désactive l'imprimante
-w : attend que la requête actuelle soit complètement executée puis désactive l'imprimante
-r : raison de désactivation
ie:
# disable -W -r "Printer down for maintenance" printerD
- moving print jobs:
Syntax: lpmove source_destination target_destination
ie:
1.
# reject -r "Printer is down for maintenance " printerc
2.
# lpstat -o
3.
# lpstat -a printerA
4.
# lpmove printerc printerA
5.
# accept printerc
__________________________________________________________________________________
XIII. CONTROLLING SYSTEM PROCESSES
/usr/dt/bin/sdtprocess &: pour voir les processus actuellement en cours d'exécution en graphique (GUI)
Commande:
Syntax: prstat <options>
<PID> <USERNAME> <SIZE> <RSS> <STATE> <PRI> <NICE> <TIME> <CPU> <PROCESS/NLWP>
virt mem size resid. cpu: priority %
size sleep
(kb,Mb,Gb) run
zombie
stop
- prstat: examine et affiche ls infos sur ts les processus actifs
ie:
# prstat -a: affiche un report séparé concernant les processes & users séparemment
# prstat -c: affiche continuellement les nvo reports en dessous des récents
# prstat -n <nproc>: restreint l'affichage à un nombre donné de processes
# prstat -p <pidlist: trie sur le pid
# prstat -s key: trie par cpu,time,size,rss & pri
# prstat -t: reporte l'utilisation totale des processes
# prstat -u <euid>: reporte seulement les processes concernant 1 EUID
# prstat -U <uidlis>: report sur le REAL ID
- Killing frozen processes: kill
Syntax: kill -signal <PID>
Syntax: pkill -signal <process_name>
Syntax: kill -signal <PID> <PID> <PID>
Syntax: pkill -signal <PNAME> <PNAME> <PNAME>
kill -l : pour voir ts ls sigals disponible utilisables avec "kill"
# kill -l
ie:
# pgrep -l mail : pr trouver un processus (pgrep) contenant le caractère mail
# pkill sendmail:
kill signals:
SIGHUP, 1: le "hangup" causera au daemon de relire la configuration du fichier
SIGINT, 2: un signal d'interruption venant du clavier, comparable à CONTROL-C
SIGKILL, 9: un signal pr tuer un processus. un processus ne peut ignorer ce signal
SIGTERM, 15: un signal pr terminer un processus. quelques processus peuvent ignorer ce signal
SIGQUIT, 3: force au processus de quitter et génère un core dump
SIGABRT, 6: Abondon.
SIGSTOP, 23: stoppe. pause le processus
SIGCONT, 25: continue. relance/redémarre un processus stoppé.
- Using at command:
syntax: at -m -q <queuename> time date
at -r job 'supprime une tâche programmée
at -l ' liste la tâche en cours d'exécution
ie:
# at 9:00 am
at> find /export/home -name core -exec file {} \; >> /var/tmp/corelog
at> CTRL-D
- to display information:
# at -l 1089000000.a
- to display all jobs queued:
# atq
- to view all the at jobs currently scheduled
# ls -l /var/spool/cron/atjobs
- to remove a job 1099999
# at -r 1099999.a
# atq
- viewing a crontab file:
Syntax: crontab -l <username>
ie:
# crontab -l (pour l'utilisateur actuel)
# crontab -l yann (pour l'user yann)
- edit the crontab file
# EDITOR=vi
# export EDITOR
# crontab -e (edite le crontab de l'user actuel)
30 17 * * 5 /usr/bin/banner "Time to go!" > /dev/console
:wq!
- removing a crontab file
Syntax: crontab -r <username>
ie:
# crontab -r yann
__________________________________________________________________________________
XIV. PERFORMING FILE SYSTEM BACKUPS:
Tape drive control: (contrôle de la cassette)
syntax: mt -f <tape-device-name> <command> <count>
mt status
mt rewind
mt offline
mt fsf <count>
mt status: affiche l'information sur le statut de la bande magnétique
mt rewind: rembobine la bande
mt offline: rembobine la bande, et si approprié, sort la bande magnétique du "tape driver" et si le périphérique le supporte, déconnecte la bande
mt fsf <count>: fait avancer la bande à l'enregistrement <count>
ie:
# mt -f /deV/rmt/0n fsf 2: positionne la bande au du 3ème enregistrement
- determine the number of tapes:
Le nombre de cassettes à utiliser pour le backup est déterminé par rapport à la taille du SF à sauvegarder.
Pour déterminer la taille du SF (Système de Fichier) à sauvegarder, utiliser la commande "ufsdump" avec l'option "S" comme suit:
Syntax: ufsdump 0S <filesystem_name> ou ufsdump 3S <filesystem_name>
ie:
# ufsdump 0S /
- Incremental back up level definitions: 1-9
Les incrementals backups sont utilisés pr sauvegarder les fichiers qui ont été modifiés depuis la dernière sauvegarde.
/etc/dumpdates:
Fichier enregistrant les sauvegardes effectuées avec l'option -u de la commande "ufsdump".
Chaque ligne du fichier montre le SF qui a été sauvegardé et le niveau (0,1-9) de la dernière sauvegarde
ie:
# cat /etc/dumpdates
/dev/rdsk/c0t2d0s6 0 Fri Nov 5 19:12:27 2004
SF level date
(full backup)
/dev/rdsk/c0t2d0s6 1 Tue Nov 9 16:25:28 2004
SF level
(incremental) date
- Standard file system to backup
- root (/) : slice 0
- /usr : slice 6
- /export/home: slice 7
- Backing up an unmounted file system: ufsdump
Sauvegarde tous les fichiers dans un SF
Syntax: ufsdump <options> argument(s) <filesystem_name>
0-9
v
S
u
l
o
n
f
D
ufsdump 0Sf <argument> <filesystem_name> : donne l'estimation de la taille du SF à sauvegarder
ufsdump 0vf <argument> <filesystem_name> : verfie le contenu du média après chaque sauvegarde
ufsdump 0lf <argument> <filesystem_name> : autoload
ufsdump 0of <argument> <filesystem_name> : rembobine et éjecte la bande qd la sauvegarde prend fin
ufsdump 0uf <argument> <filesystem_name> : MAJ le fichier /etc/dumpdates pour le périphérique de sauvegarde utilisé, le niveau de sauvegarde (0-9), et la date.
ufsdump 0nf <argument> <filesystem_name> : notifie ls utilisateurs faisant partie du groupe qu'une sauvegarde est en cours d'exécution
ufsdump 0Df <argument> <filesystem_name>: effectue une sauvegarde sur une disquette.
NB: l'option 'f' permet de spécifier le périphérique à utiliser pour la sauvegarde
ie: cas d'application
1.
# /usr/sbin/shutdown -y -g300 "System is being shutdown for backup"
2. verifie que le /export/home est démonté avec la commande shutdown
3.
# fsck /export/home
4.
# ufsdump 0uf /dev/rmt/0n /export/home : effectue 1e sauvegarde complète du SF /export/home sur la 1ère bande magnétique et MAJ le fichier /etc/dumpdates
- remote backups to tape:
Syntax: ufsdump <options> <remotehost:tapedevice> <filesystem>
ie:
# ufsdump 0uf host2:/dev/rmt/0 /export/home: effectue un "full backup" du SF /export/home sur la 1ère bande du host "host2" et rebobine la bande
D’autres utilitaires de sauvegarde:
- cpio: copies data from one location to another
syntax: cpio <mode> <options>
i -a
o -A
p -c
-d
-m
-t
-v
-i: lit le contenu de l'archive
-o: crée l'archive ou la sauvegarde
-p: copy le contenu d'un répertoire à un autre
ie:
# cd /work
# find . | cpio -ocB > /deV/rmt/0 : crée
# cd /work
# cpio -icdB < /dev/rmt/0 : restaure
- tar: creates tape or file-based archives
Syntax: tar <options> <tar-filename> <file-list>
c
t
x
v
f
ie:
# tar tvf /dev/rmt/0 : lire le contenu de l'archive
# tar xvf /dev/rmt/0 /home/bcalkins/ .profile: restaure le SF
# tar cvf files.tar /home/bcalkins : crée l'archive
- dd: convert or copy a file or raw device
Syntax: dd if=<input-file> of=<output-file> <option=value>
ie:
# dd if=/deV/rmt/0 of=/dev/rmt/1 : duplicates data
# dd if=/dev/rdsk/c0t1d0s2 of=/dev/rdsk/c0t4d0s2 bs=128k
__________________________________________________________________________________
XV. PERFORMING FILE SYSTEM RESTORES (ufsrestore)
Syntax: ufsrestore <options> argument(s) filesystem
t
r
x <file1 file2>
i
v
f <device
-t <filesystem>: liste le contenu de l'archive
-r : restore le contenu du SF à partir du périphérique de sauvegarde
-x file1 file2 : restore seulement les fichiers file1 & file2
-i : invoque une restauration interactive
-v : mode verbose
-f <device>: spécifie le périphérique de sauvegarde.
- using the ufsrestore command to restore a regular file system
1. Create the new file system structure
# newfs /dev/rdsk/c0t0d0s5
2.
# mount /dev/dsk/c0t0d0s5 /opt
# cd /opt
3.
# ufsrestore rf /dev/rmt/0
4.
# rm restoresymtable
5.
# cd /
# umount /opt
6.
# fsck /dev/rdsk/c0t0d0s5
7.
# ufsdump 0uf /dev/rmt/0 /dev/rmt/c0t0d0s5
8.
# init 6
- restore the /usr FS:
ok boot cdrom -s
# newfs /dev/rdsk/c0t0d0s6
# mount /dev/dsk/c0t0d0s6 /a
# ufsrestore rf /dev/rmt/0
# rm restoresymtable
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s6
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s6
# init 6
- Performing a special case recovery of the / (root) FS:
----------------------------------------------------------
ok boot cdrom -s
# newfs /dev/rdsk/c0t0d0s0
# mount /dev/dsk/c0t0d0s0 /a
# cd /a
# ufrestore rf /dev/rmt/0
# rm restoresymtable
# cd /usr/platform/`uname -m`/lib/fs/ufs
# installboot bootblk /dev/rdsk/c0t0d0s0
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s0
# init 6
sous-commandes de ufsrestore en interactive (option -i)
--------------------------------------------
* add <file>: ajoute un fichier ou 1 répertoire <file> à la liste
des fichiers marqués pr extraction
* cd <directory>: se déplace ds ls répertoires se trouvant ds la bande
de sauvegarde
* delete <file>: démarquer un fichier ou 1 répertoire parmi la liste des fichiers
à extraire
* extract : extrait tous les fichiers marqués en spécifiant le n° du volume
* help/? : affiche la list des commandes à exécuter
* ls <directory>: liste le contenu d'un répertoire
* marked <directorname>: coe ls excepté le fait que seuls ls fichiers marqués pr extraction
sont affichés
- invoking an interactive restore:
----------------------------------
# cd /export/home/tmp
# ufsrestore ivf /dev/rmt/0
ufsrestore> ls
ufsrestore> cd directory1
ufsrestore> ls
ufsrestore> add file1 file2
ufsrestore> ls
ufsrestore> delete file1
ufsrestore> ls
ufsrestore> extract
ufsrestore> quit
# mv /export/home/tmp/directory1/file2 /export/home
# rm -r /export/home/tmp/directory1
---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
XVI. BACKING UP A MOUNTED FILE SYSTEM WITH A UFS SNAPSHOT: fssnap
---------------------------------------------------------
syntax: /usr/sbin/fssnap -F FSType -V -o backing-store=<destPath>,<specificOptions> <mountPoint>
ie:
# fssnap -F ufs -o bs=/var/tmp /export/home
# fssnap -F ufs -o bs=/var/tmp,maxsize=500m /export/home
- displaying information for a ufs file system snapshot:
--------------------------------------------------------
on peut utiliser la commande "fssnap -i" pour afficher ds infos sur la capture du SF UFS créée
ie:
# fssnap -i
Pour afficher plus de détails sur la capture d'un SF particulier , utiliser le:
# /usr/lib/fs/ufs/fssnap -i /export/home
- Backing up the UFS snapshot file with TAR:
------------------------------------------
# mkdir -p /backups/home.bkup
# mount -F ufs -o ro /dev/fssnap/0 /backups/home.bkup
# cd /backup/home.bkup
# tar cvf /dev/rmt/0
- Backing up the UFS snapshot file with ufsdump:
-----------------------------------------------
# ufsdump 0uf /dev/rmt/0 /dev/rfssnap/0
# ufsrestore tf /dev/rmt/0
- Performing an incremental backup using a UFS snapshot
---------------------------------------------------------
# ufsdump 1ufN /dev/rmt/0 /dev/rdsk/c1t0d0s0 /dev/rfssnap/0
# ufsrestore tf /dev/rmt/0
1.créer une capture du SF /extra qui sera par la suite sauvegardé
# fssnap -o bs=/var/tmp /extra
# fssnap -i ' pour vérifier si le snapshot a marché.
# /usr/lib/fs/ufs/fssnap -i /extra ' pr avoir + de détails
# mkdir /extramap
# mount -o ro /dev/fssnap/0 /extrasnap
# df -k | grep extra
# vi file1
<ajouter des valeurs>
# df -k | grep extra
# umount /extrasnap
# fssnap -d /extra
# rm /var/tmp/snapshot0
# cp file1 file5
# cp file1 file6
# fssnap -o bs=/var/tmp /extra
# mount -o ro /dev/fssnap/0 /extrasnap
# df -k | grep extra
# ufsdump 1ufN /dev/rmt/0 /dev/rdsk/c1t0d0s0 /dev/rfssnap/0
# ufsrestore tf /dev/rmt/0
- Deleting a UFS snapshot:
---------------------------
# umount /dev/fssnap/0
# fssnap -d /export/home
# rm /backing_I. INSTALLING SOLA10 OS:
-----------------
Fichier d'installation:
-----------------------
fichier contenant les paquets appliqués au système: /Var/sadm/install/contents
software group gérés par Solaris 10 # grep METACLUSTER /var/sadm/system/admin/.clustertoc
software group actuellement appliqué: # cat /var/sadm/system/admin/CLUSTER
7 Types d'installation:
----------------------
- custom Jumpstart:
------------
pour installer plusieurs systèmes sur le réseau local qui auront une mm configuratoin
au travers le fichier "hands off" sisydcfg (./add_install_client)
- WAN boot installation: installe sur le réseau distant au travers le HTTP
- Interactive: CD-ROM,DVD-ROM,Diskette
- standard upgrade & live upgrade:
standard upgrade: met à jour le système en sauvegardant les données initiales
live upgrade: mettre à jour le système en temps réel et permet de retourner
à la version précédente du système en cas d'erreur d'installation.
- Flash archive installation: replique le mm prog d'installation sur plusieurs systèmes
- Network installation:
- Paramètres requis:
---------------------
Mémoire: SPARC & x86
--------------------
Minimum console: 64MB
Minimum GUI: 256MB
requis console: 128MB
requis GUI: 384 ou +
Espace disk: 5 GB , 12GB
Processeur : 200 MHZ ou +
Software groups:
----------------
Solaris gère 6 groupes de packets:
- Reduced Network software group (SUNW crnet):
contient les packets permettant de gérer un environment
multiuser, aussi les paquets pour faire fonctionner le réseau
mais ne les active pas.
- Core system software group (SUNWcreq):
multiser et permet de faire fonctionner le réseau
- End user software group (SUNWcuser):
réseau + CDE (Common Desktop Environment)
- Developper software group (SUNWcprog): réseau + CDE + man pages, libraires ...
- Entire solaris software group (SUNWcall):
réseau + CDE+ man pages + server
- Entire solaris + OEM software group (SUNWCXall)
réseau + CDE+man pages + server + packets additionels pr périphériques
--------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
III. MANAGING LOCAL DISK DEVICES:
----------------------------------
/etc/path_to_inst:
prtconf: affiche des infos sur la configuration des périphériques
format: format & partitionne le disque. et affiche aussi le nom logique & physique des disques
actuellement installés et leur nombre.
reconfiguration du système:
- devfsadm -c <disk>: met à jour les en temps réel les fichiers /etc/path_to_inst, /dev, /devices pour une reconfiguration
du système
-
# touch /reconfigure
# init 5
<install disk>
ok boot -r
#
-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
IV. MOUNT AND UNMOUNTS:
-----------------------
mount: monter un système de fichier sur un point de montage (par défault /mnt)
syntax: mount <options> < système de fichier> <point de montage>
ex: s3, /eddie, lecture seule
# mount -o ro /dev/dsk/c0d0s3 /eddie
/etc/vfstab: gère les fichiers à monter au démarrage
/etc/mnttab: fichier géré par le système ( en lecture seule), qui stocke ts ls systèmes de fichiers
actuellement mountés.
umount: démonte un SF
syntax: umount <options> <SF à démonter/Point de montage>
ex:
# umount /eddie
# umount /dev/dsk/c0d0s3
# umount -f <point_de_montage>
mountall: monte ts ls SF contenus ds /etc/vfstab
umountall: démonte ts ls SF contenus ds /etc/vfstab sauf /swap, /var/run, /devices
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
V. MANAGING SOLARIS FILE SYSTEM:
--------------------------------
Solaris gère 3 classe de SF:
- Pseudo FS: CACHEFS,TMPFS,CTFS,SWAPFS,MNTFS,DEVFS
- Distributed FS:NFS
- Disk-based FS: HSFS,UFS,UDFS,PCFS.
Solaris FS: VFS (Virtual File File system)
créer un FS: newfs, mkfs.
checker un FS: fsck
voir le FS appliqué à 1e partition: fstyp
monitoring FS:
df: affiche ls SF montés sur le disque et l'espace disque libre (bit,Kb,GB)
du: affiche l'espace occupé par ls SF sur le disque (Kb,Gb,octets)
quot: affiche l'utilisation de l'espace disque par chaque utilisateur
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
VI. PACKAGE ADMINISTRATION:
--------------------------
un "packet" est un ensemble de fichiers et de répertoires donnés ds 1 format particular
- pkgadd: installer un packet sur le système
syntax: pkgadd <options> <réperotoire cible> <PID>
ie:
# pkgadd -d /cdrom/s0/Solaris_10/Product SUNWman
- pkginfo: affiche des infos sur un packet
syntax: pkginfo <options> <PID>
ie:
# pkginfo -p SUNWman
# pkginfo -l SUNWman
- pkgtrans: permet de convertir un packet d'un format à un autre
syntax: pkgtrans <package_cible_format> <format_sortie>
SUNWvts.pkg --> SUNWvts
ie:
# pkgtrans /var/tmpt/SUNWvts.pkg SUNWvts
- pkgrm: supprimer un packet du système
syntax: pkgrm <PID>
ie:
# pkgrm SUNWman
- pkgchk: vérifie si les attribut, le contenu d'un packets
syntax: pkgchk <options> <PID>
ie:
# pkgchk -a SUNWman
# pkgchk -c SUNWman
# pkgchk -l SUNWman
# pkgchk -l -p SUNWman
- pkgparam: affiche les valeurs du paramètres d'un packet
- Spool directory: /var/spool/pkg
------------------
syntax: pkgadd <options> <répertoire_cible> -s <spool_directory> <PID>
ie:
# pkgadd -d /cdrom/s0/Solaris_10/Product -s /var/spool/pkg SUNWman
- package installé sur le système: /var/sadm/pkg
---------------------------------
- avoir des infos sur un packet se trouvant sur CD-ROM:
------------------------------------------------------
# pkginfo -d /cdrom/s0/Solaris_10/Product -l SUNWman
--------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
VII. MANAGING PATCH
-------------------
un "patch" est un ensemble de paquets utilisés pr corrigés des éventuelles erreurs ou ajouter des composants manquants
- patchadd: pour ajouter un patch au système & avoir des infos sur les patchs (-p)
syntax: patchadd <options> <répertoire_cible> <Patch_ID>
ie:
# patchadd 10160-01
# patchadd -p | grep <PID> : avoir des infos sur un patch donné.
patchadd -d <PID> : les fichiers de sauvegarde sont supprimés.
# showrev -p
répertoires:
-------------
/var/sadm/patches: répertoire contenant les patches
/var/sadm/spool/
- patchrm: pour supprimer un patch du système
syntax: patchrm <PID>
ie:
# patchrm 10501-01
Qd un patch ne peut être installé:
----------------------------------
- si ce patch existe déjà;
- si une version plus récente que le patch à été installée ou est déjà appliquée;
- si ce patch dépend d'un autre patch qui n'est pas installé.
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
VIII. EXECUTING OPEN BOOT PROM COMMANDS:
----------------------------------------
NVRAM?
Non Volatile Randam Access Memory: c'est une mémoire non volatile. dc, qui peut conserver ls données après au démarrage
NVRAM prend en compte les commandes telles que:
syntax: <commande> <parametre> <valeur>
- nvalias: attribue un "alias" permanent à un disque
- unvalias: désactive l'alias attribué à un disque
- banner: affiche les infos sur le système
- devalias: affiche les alias des périphériques & attribue un alias temporaire
- show-devs: affiche ls périphériques et leur PATH
- show-disks: affiche ls disques installés et leur alias
- setenv: changer la valeur d'un paramètre
ie: ok setenv auto-boot? false
ok setenv boot-device disk
- set-default(s): rétablir ls valeurs par défauts de tous ls paramètres
- printenv:affiche ls valeurs de paramètres
ok setenv boot-device disk
ok printenv boot-device
- probe: affiche les périphériques connectés au système
probe-ide: affiche ls périphériques (disk, CD-ROM) connectés au
probe-ide-all:
probe-scsi:
- reset-all: rétablir les valeurs par défaut
- password: changer de mot de passe
probe-scsi-all:
- sifting:
- boot: démarrer le système
boot -a: démarre le système en tenant k du fichier ajouté
boot -r: reconfigure le système
boot -v: mode verbose
boot -rv, boot -av
- help: aide commande
eeprom: permet de changer les paramètes NVRAM sous Solaris
------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
IX. BOOT AND SHUTDOWN PROCEDURES:
--------------------------------
Boot on SPARC:
----------------
PROM --> POST (check ds periph.)
---> pboot ---> ufsboot --> kernel initialization --> init ---> svc.startd ---> services
Boot on x86:
------------
BIOS (check ds periph.)--> mboot (Master Boot Record) ---> pboot --> ufsboot --> kernel initizalization ---> init ---> svc.startd ---> services
functions du BIOS:
- check système hardware;
- fourni ds services E/S via ds interupts. logi
- changer le run level par défaut:
# scvadm milestone -d milestone/multi-user:
# svcadm milestone -d milestone/multi-user-server:
# svcadm milestone -d milestone/single-user:
# svcadm milestone all
/etc/inittab:
------------
le program init lit le contenu de ce fichier pr savoir démarrer ls services
syntax:
id:<run_state:action: commande
powerfail
sysinit
boot
respawn
wait
once
ie:
smf::sysinit:/lib/svc/bin/svc.startd > /dev/msglog 2<> /dev/msglog
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
X. USER ADMINISTRATION:
-----------------------
3 fichiers permetttent de gérer des utilisateurs:
- /etc/passwd: contient le compte d'utilisateus crées par l'administrateur et le système
syntax:
<nom_user>:<passwd>:<user_ID>:<group_ID>:<comment>:<home_directory:<shell>
ie: michelle:x:2000:2000::/export/home/rep:/bin/bash
- /etc/shadow: contient des infos détaillées sur le mot de passse:
syntax:<username>:<password>:<lastchg>:<min>:<max>:<warn>:<inactive>:<expire>
ie:
jkerry: 86KG/MNT/DGU: 9675: 0: 90: 7: 10: 5905
<username <password> <date mini max nbr nbr date exp
dernière jours jours jrs avt jr inac compte
modification expirat compte
<(jours)>
- /etc/group: contient des infos sur les groupes
syntax: nom groupe>:<group password>:<gid>:<user-list>
ie:
democrats::111:jkerry,hdean,agore
password settings:
/etc/default/passwd: configure le "password" des comptes utilisateurs
Gestion d'utilisateurs:
-----------------------
- useradd : permet d'ajouter des utilisateurs dans /etc/passwd
syntax: useradd -u <uid> -g <gid> -G <group name> -o (optionel) -d <user_home_directory> \
-m (make home directory) -c <user_description> -s <login_shell> <username>
ie:
# useradd -u 200 -g 150 -G other -d /export/home/junior -m -c "Junior user" -s
/bin/bash junior
- userdel : permet de supprimer un utilisateur et son home_directory
syntax: userdel -r <username>
ie:
# userdel -r junior
- usermod : permet de modifier les paramètres d'un user
syntax: usermod -u <uid> -g <gid> -G <group_name> -d <home_directory> -s <login shell> -l <login_name>
ie:
# usermod -u 300 -g 1 -d /export/home/yann -s /bin/bash -l yann2 yann
- groupadd: permet d'ajouter un group ds /etc/group
syntax: groupadd -g <gid> <group_name>
ie:
# groupadd -g 300 eddie
- groupdel: permet de supprimer un group
syntax: groupdel <gname>
ie:
# groupdel eddie
- groupmod: permet de modifier les paramètres de groupe
syntax: groupmod -g <gid> <existing_groupname>
ie:
# groupmod -g 2001 eni
Limitation:
------------
Nbre limité de UID: de 0-99 (réservé au système)
de 100-60.000 (attribuable au users)
Nbre limité de GID: de 0-99 /60.001 & 60.002 65.534(réservé au système)
de 100-60.000 (attribuable au users)
/etc/default/passwd:
MAXWEEKS: attribue la période maximale (en semaine) de validité du mot de passe
MINWEEKS: attribue la période minimale avant que le mot de passe soit changé
PASSLENGTH: attribue le numbre minimum de caractères à assigner à un mot de passe
( 6,7 et 8 caractères max)
WARNWEEKS: la période à laquelle l'utilisateur sera prévenu de l'expiration du
mot de passe
NAMECHECK (yes/no): control du mot de passe pr vérifier si l'utilisateur est en train
d'utiliser le login name comme mot de passe
HISTORY:
DICTIONLIST:
DICTIONDBDIR:
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
XI. SYSTEM SECURITY:
--------------------
fichiers de security:
----------
/etc/default/login: permet de gérer la connexion au système
- autoriser/refuser l'accès au root
- détermine si le password est nécessaire ou non lors du login
- gérer ls échecs de connexion (SYSLOG_FAILED_LOGINS)
/etc/ftpd/ftpusers: contient la liste des utilisateurs n'ayant pas accès au
protocole FTP
/etc/ftpd/ftphost: contient la liste des hosts qui ont accès au FTP
/etc/ftpd/ftpgroups: contient la liste des groupes ayant accès au FTP
/etc/cron.d/at.deny: contient la liste des utilisateurs qui n'ont pas accès
à la commande "at"
/etc/cron.d/cron.deny: contient la liste des users qui n'ont pas acccès à la
commande "crontab"
/etc/cron.d/cron.allow: (à créer): contient la liste des users ayant droit à
la commande "crontab"
/etc/cron.d/at.allow: contient la liste des users ayant droit à la commande "at"
/var/adm/loginlog: logge le nombre de tentatives échouées d'accès au système
/etc/defaut/su: fichier de configuration de l'utilisation de "su"
/var/adm/sulog: logge ls utilisateurs qui essayent d'utiliser "su" pr se connecter
à d'autres comptes y compris le root
/etc/pam.conf: paramètrage de la commande $HOME/.rhosts
/etc/host.equiv: les users ordinaires des systèmes dont le hostname est inclu ds ce fichier
peut se connecter au host sans mot de passe
$HOME/.rhosts: le root des systèmes dont le hostname est inclu ds ce fichier
peut se connecter au host sans mot de passe
commandes de securité:
-----------------------
last: affiche la liste des users qui ce sont connectés au système à un temps donné
depuis la dernière installation et lit le fichier
/var/adm/wtmpx pr av3r cs infos.
who: affiche les users actuellement connectés au système. lit le fichier
/var/adm/utmpx pr av3r cs infos.
finger: affiche des infos détaillées sur chaque user actuellement connectés au système
rusers: affiche la liste des users connectés localement ou à distance au système
ftpwho: affiche la liste des users utilisants le protocol FTP
logins: affiche des infos sur ls comptes utilisateurs
- checker des users qui n'ont pas de mot de passe (-p)
ie: logins -p <user_id>
su: permet de changer de compte utilisateur
ssh: permet d'effectuer une connexion sécurisée localement ou à distance
syntax: ssh <hostname>
chown: changer de propriétés d'un fichier (appartenance)
syntax: chown <options> <owner>:[<group>] <file>
options chown:
-R: récursif
-f: force
-h: lien symbolique
ie:
# chown yann:other file1
chgrp: changer de groupe
syntax: chgrp <options> <group> <file>
chgrp options:
-R: récursive
-f: force
-h: lien symbolic
chmod: changer ls permissions d'un fichier
syntax: chmod <options> <permission_mode> <fichier>
chmod options
-------------
-R: changement récursif
-f: force changement
cron utilitaire:
----------------
/var/spool/cron/atjobs: répertoire contenant les tâches à exécuter (programmer)
avec la commande "at"
/var/spool/cron/crontab: répertoire des tâches à executer avec "crontab"
syntax du crontab:
<minute>:<heure>:<jour du mois>:<mois>:<jour de la semaine>:<commande à executer>
0-59 0-23 1-31 1-12 0-6
ex:
10 3 * * * /usr/sbin/logadm: exécute la commande /usr/sbin/logadm à 3:10 (a.m)
chaque jour du mois, chaque mois, chaque jour de la semaine
15 3 * * * /usr/lib/fs/nfs/nfsfind: exécute la commande à 3H15 chaque jour,....
30 14 5 10 4 /usr/sbin/logadm: la commande s'exécute chaque jeudi (4), 5 Octobre à 14h30
15 9 * * 0,3 /etc/cron.d/diskchecker: la commande s'exécute tous les jours du mois, ts ls mois,
chaque dimanche et mercredi à 9:15
---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
XII. CONFIGURING AND USING PRINTER SERVICES:
--------------------------------------------
Basics functions of the Solaris OS LP Print Service:
-----------------------------------------------------
- initialization: s'assure que l'imprimate est en bon état.
- Queuing: programme les l'ordre d'impression des rêquetes en cours d'attente
envoyées à l'imprimante
- tracking:
* permet au "root" de gérer ttes les requêtes et de permettre aux autrs
users de voir ou d'annuler leur requêtes
* logge tte erreur constatée lors de l'impression
- Fault notification:
imprime un message d'erreur ou envoie un mail au root, en cas d'erreur de configuration
ou autre.
- Filtering:
convertis les tâches d'impression vers le format approprié avant de les envoyer
à l'imprimante concernée.
Fichiers & répertoires:
-----------------------
/etc/lp: répetoire contenant une hierarchie des fichiers et répertoires de
configuration
/etc/lp/interfaces: répertoire contenant ls scripts de chaque imprimante configurée.
syntax: /etc/lp/interfaces/<printername>
/etc/lp/printers: répertoire contenant le sous-répertoire de chaque imprimante servi par
le système
/var/spool/lp: répertoire contenant une liste des récentes requêtes se trouvant
en ligne d'attente
/var/lp/logs: répertoire contenant un historique des requêtes d'impression
ie: /var/lp/logs/requests: contient ds infos concernant ls requêtes exécutées
/etc/printers.conf: contient des infos sur la configuration ttes ls imprimantes
connectées au système
Daemons:
--------
inetd
/usr/lib/print/in.lpd
/usr/lib/lp/lpsched
Main tasks for configuring Printer services:
--------------------------------------------
1. Setting up the printer --> connecté physiquement une imprimante au système ou
au réseau
2. setting up the printer server --> configurer le système qui fournira et gérera
l'access à l'imprimante
3. setting up the print client --> configuring le système pour donner accès à une
imprimante distante
4. verifying printer access --> verifier que l'imprimante server reconnait ttes
les imprimantes-clients et vice versa
Commandes:
/usr/sbin/printmgr & : configurerl'imprimante sous GUI
- setting up the système default printer: (imprimante par défaut) lpadmin
Syntax: lpadmin -d <printername>
lpadmin -d <printer-classname>
ie:
# lpadmin -d printerE: configurer l'imprimante printerE coe imprimante par défaut
- vérifier l'état de l'imprimante: lpstat
syntax: lpstat -d
ie:
# lpstat -d : vérifie l'imprimante configurée comme par défaut
- remove a client's printer configuration:
Syntax: lpadmin -x <printername>
ie:
# lpadmin -x printerD : supprime les infos de configuration relatives à l'imprimante "printerD"
- removing a server's printer configuration:
1.
# reject printerD -- rejette l'imprimante "printerD" de la configuratoion
2.
# disable printerD -- désactive cette imprimante (printerD)
3.
#lpadmin -x printerD -- supprime toutes les infos concernant ladite imprimante
- starting the LP print service:
# svcadm enable application/print/server
- stopping the LP print servic
# svcadm disable application/print/server
# svcs -a | grep print
- specyfing a destination printer: lp ou lpr
Syntax: /usr/bin/lp <filename
/usr/bin/lp -d printername filename
Syntax: /usr/ucb/lpr <filename>
/usr/ucb/lpr -P printername filename
Remote printer syntax:
/usr/bin/lp -d hostname:printername filename
/usr/ucb/lpr -P hostname:printername filename
ie:
# /usr/bin/lp –d printerD file1
# /usr/ucb/lpr -P printerD file1
# /usr/bin/lp -d tapsolaris10: printerD file1
# /usr/ucb/lpr -P tapsolaris10: printerD file1
- accepting print jobs: accept
Syntax: # /usr/sbin/accept destination(s)
ie:
# accept printerD
- rejecting print jobs: reject
Syntax: # reject -r "reason" destination(s)
ie:
# reject –r "Replacing toner cartridge" printerD
- enabling printers: enable
Syntax: /usr/bin/enable destination(s)
ie:
# enable printerD
- disabling printers: disable
Syntax: /usr/bin/disable -c | -W -r "reason" destination
-c : annule la tâche actuelle et désactive l'imprimante
-w : attend que la requête actuelle soit complètement executée puis désactive l'imprimante
-r : raison de désactivation
ie:
# disable -W -r "Printer down for maintenance" printerD
- moving print
Syntax: lpmove source_destination target_destination
ie:
1.
# reject -r "Printer is down for maintenance " printerc
2.
# lpstat -o
3.
# lpstat -a printerA
4.
# lpmove printerc printerA
5.
# accept printerc
__________________________________________________________________________________
XIII. CONTROLLING SYSTEM PROCESSES
/usr/dt/bin/sdtprocess &: pour voir les processus actuellement en cours d'exécution en graphique (GUI)
Commands:
syntax: prstat <options>
<PID> <USERNAME> <SIZE> <RSS> <STATE> <PRI> <NICE> <TIME> <CPU> <PROCESS/NLWP>
virt mem size resid. cpu: priority % size sleep
(kb,Mb,Gb) run
zombie
stop
- prstat: examine et affiche ls infos sur ts les processus actifs
ie:
# prstat -a: affiche un report séparé concernant les processes & users séparemment
# prstat -c: affiche continuellement les nvo reports en dessous des récents
# prstat -n <nproc>: restreint l'affichage à un nombre donné de processes
# prstat -p <pidlist: trie sur le pid
# prstat -s key: trie par cpu,time,size,rss & pri
# prstat -t: reporte l'utilisation totale des processes
# prstat -u <euid>: reporte seulement les processes concernant 1 EUID
# prstat -U <uidlis>: report sur le REAL ID
- Killing frozen processes: kill
syntax: kill -signal <PID>
syntax: pkill -signal <process_name>
syntax: kill -signal <PID> <PID> <PID>
syntax: pkill -signal <PNAME> <PNAME> <PNAME>
kill –l : pour voir tous les signals disponible utilisables avec "kill"
# kill -l
ie:
# pgrep -l mail : pour trouver un processus (pgrep) contenant le caractère mail
# pkill sendmail:
Kill signals:
SIGHUP, 1: le "hangup" causera au daemon de relire la configuration du fichier
SIGINT, 2: un signal d'interruption venant du clavier, comparable à CONTROL-C
SIGKILL, 9: un signal pour tuer un processus. Un processus ne peut ignorer ce signal
SIGTERM, 15: un signal pr terminer un processus. Quelques processus peuvent ignorer ce signal
SIGQUIT, 3: force au processus de quitter et génère un core dump
SIGABRT, 6: Abondon.
SIGSTOP, 23: stoppe. pause le processus
SIGCONT, 25: continue. relance/redémarre un processus stoppé.
- Using at command:
Syntax: at -m -q <queuename> time date
at -r job 'supprime une tâche programmée
at -l ' liste la tâche en cours d'exécution
ie:
# at 9:00 am
at> find /export/home -name core -exec file {} \; >> /var/tmp/corelog
at> CTRL-D
- to display information:
# at -l 1089000000.a
- to display all jobs queued:
# atq
- to view all the at jobs currently scheduled
# ls -l /var/spool/cron/atjobs
- to remove a job 1099999
# at -r 1099999.a
# atq
- viewing a crontab file:
Syntax: crontab -l <username>
ie:
# crontab -l ( pour l'utilisateur actuel)
# crontab -l yann (pour l'user yann)
- edit the crontab file
# EDITOR=vi
# export EDITOR
# crontab -e (édite le crontab de l'user actuel)
30 17 * * 5 /usr/bin/banner "Time to go!" > /dev/console
:wq!
- removing a crontab file
Syntax: crontab -r <username>
ie:
# crontab -r yann
__________________________________________________________________________________
XIV. PERFORMING FILE SYSTEM BACKUPS:
Tape drive control: (contrôle de la cassette)
Syntax: mt -f <tape-device-name> <command> <count>
mt status
mt rewind
mt offline
mt fsf <count>
mt status: affiche l'information sur le statut de la bande magnétique
mt rewind: rembobine la bande
mt offline: rembobine la bande, et si approprié, sort la bande magnétique du "tape driver" et si le périphérique le supporte, déconnecte la bande
mt fsf <count> : fait avancer la bande à l'enregistrement <count>
ie:
# mt -f /deV/rmt/0n fsf 2: positionne la bande au du 3ème enregistrement
- determine the number of tapes:
Le nombre de cassettes à utiliser pour le backup est déterminé par rapport à la taille du SF à sauvegarder.
Pour déterminer la taille du SF (Système de Fichier) à sauvegarder, utiliser la commande "ufsdump" avec
l'option "S" comme suit:
Syntax: ufsdump 0S <filesystem_name> ou ufsdump 3S <filesystem_name>
ie:
# ufsdump 0S /
- Incremental back up level definitions: 1-9
Les incrementals backups sont utilisés pour sauvegarder les fichiers qui ont été modifiés depuis la dernière sauvegarde.
/etc/dumpdates:
Fichier enregistrant les sauvegardes effectuées avec l'option -u de la commande "ufsdump".
Chaque ligne du fichier montre le SF qui a été sauvegardé et le niveau (0,1-9) de la dernière sauvegarde
ie:
# cat /etc/dumpdates
/dev/rdsk/c0t2d0s6 0 Fri Nov 5 19:12:27 2004SF level date (full backup)
/dev/rdsk/c0t2d0s6 1 Tue Nov 9 16:25:28 2004
SF level (incremental) date
- Standard file system to backup
- root (/) : slice 0
- /usr : slice 6
- /export/home: slice 7
- Backing up an unmounted file system: ufsdump
Sauvegarde tous les fichiers dans un SF
Syntax: ufsdump <options> argument(s) <filesystem_name>
0-9
v
S
u
l
o
n
f
D
ufsdump 0Sf <argument> <filesystem_name> : donne l'estimation de la taille du SF à sauvegarder
ufsdump 0vf <argument> <filesystem_name> : verfie le contenu du média après chaque sauvegarde
ufsdump 0lf <argument> <filesystem_name> : autoload
ufsdump 0of <argument> <filesystem_name> : rebobine et éjecte la bande qd la sauvegarde prend fin
ufsdump 0uf <argument> <filesystem_name> : MAJ le fichier /etc/dumpdates pour le périphérique de sauvegarde utilisé, le niveau de sauvegarde (0-9), et la date.
ufsdump 0nf <argument> <filesystem_name> : notifie les utilisateurs faisant partie du groupe qu'une sauvegarde est en cours d'exécution
ufsdump 0Df <argument> <filesystem_name> : effectue une sauvegarde sur une disquette.
NB: l'option 'f' permet de spécifier le périphérique à utiliser pour la sauvegarde
ie: cas d'application
1.
# /usr/sbin/shutdown -y -g300 "System is being shutdown for backup"
2. verifie que le /export/home est démonté avec la commande shutdown
3.
# fsck /export/home
4.
# ufsdump 0uf /dev/rmt/0n /export/home : effectue 1e sauvegarde complète du SF /export/home sur la 1ère bande magnétique
- remote backups to tape:
Syntax: ufsdump <options> <remotehost:tapedevice> <filesystem>
ie:
# ufsdump 0uf host2:/dev/rmt/0 /export/home: effectue un "full backup" d u SF /export/home sur la premiere bande du host2
D’autres utilitaires de sauvegarde:
- cpio: copies data from one location to another
Syntax: cpio <mode> <options>
I -a
o -A
p -c
-i: lit le contenu de l'archive
-o: crée l'archive ou la sauvegarde
-p: copy le contenu d'un répertoire à un autre
ie:
# cd /work
# find . | cpio -ocB > /deV/rmt/0 : crée
# cd /work
# cpio –icdB < /dev/rmt/0 : restaure
- tar: creates tape or file-based archives
syntax: tar <options> <tar-filename> <file-list>
c
t
x
v
f
ie:
# tar tvf /dev/rmt/0 : lire le contenu de l'archive
# tar xvf /dev/rmt/0 /home/bcalkins/ .profile: restaure le SF
# tar cvf files.tar /home/bcalkins : crée l'archive
- dd: convert or copy a file or raw device
Syntax: dd if=<input-file> of=<output-file> <option=value>
ie:
# dd if = /deV/rmt/0 of= /dev/rmt/1 : duplicates data
# dd if= /dev/rdsk/c0t1d0s2 of= /dev/rdsk/c0t4d0s2 bs=128k
________________________________________________________________________________
XV. PERFORMING FILE SYSTEM RESTORES (ufsrestore)
Syntax: ufsrestore <options> argument(s) filesystem
t
r
x <file1 file2>
i
v
f <device
-t <filesystem>: liste le contenu de l'archive
-r :restore le contenu du SF à partir du périphérique de sauvegarde
-x file1 file2 : restore seulement ls fichiers file1 & file2
-i : invoque une restauration interactive
-v : mode verbose
-f <device>: spécifie le périphérique de sauvegarde.
- using the ufsrestore command to restore a regular file system
1. create the new file system structure
# newfs /dev/rdsk/c0t0d0s5
2.
# mount /dev/dsk/c0t0d0s5 /opt
# cd /opt
3.
# ufsrestore rf /dev/rmt/0
4.
# rm restoresymtable
5.
# cd /
# umount /opt
6.
# fsck /dev/rdsk/c0t0d0s5
7.
# ufsdump 0uf /dev/rmt/0 /dev/rmt/c0t0d0s5
8.
# init 6
- restore the /usr FS:
Ok boot cdrom -s
# newfs /dev/rdsk/c0t0d0s6
# mount /dev/dsk/c0t0d0s6 /a
# ufsrestore rf /dev/rmt/0
# rm restoresymtable
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s6
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s6
# init 6
- Performing a special case recovery of the / (root) FS:
ok boot cdrom -s
# newfs /dev/rdsk/c0t0d0s0
# mount /dev/dsk/c0t0d0s0 /a
# cd /a
# ufrestore rf /dev/rmt/0
# rm restoresymtable
# cd /usr/platform/`uname -m`/lib/fs/ufs
# installboot bootblk /dev/rdsk/c0t0d0s0
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s0
# init 6
Sous-commandes de ufsrestore en interactive (option -i)
* add <file>: ajoute un fichier ou 1 répertoire <file> à la liste des fichiers marqués pr extraction
* cd <directory>: se déplace ds ls répertoires se trouvant ds la bande de sauvegarde
* delete <file>: démarquer un fichier ou 1 répertoire parmi la liste des fichiers à extraire
* extract : extrait tous les fichiers marqués en spécifiant le n° du volume
* help/? : affiche la list des commandes à exécuter
* ls <directory>: liste le contenu d'un répertoire
* marked <directorname>: coe ls excepté le fait que seuls ls fichiers marqués pr extr sont affichés
- invoking an interactive restore:
# cd /export/home/tmp
# ufsrestore ivf /dev/rmt/0
ufsrestore> ls
ufsrestore> cd directory1
ufsrestore> ls
ufsrestore> add file1 file2
ufsrestore> ls
ufsrestore> delete file1
ufsrestore> ls
ufsrestore> extract
ufsrestore> quit
# mv /export/home/tmp/directory1/file2 /export/home
# rm -r /export/home/tmp/directory1
XVI. BACKING UP A MOUNTED FILE SYSTEM WITH A UFS SNAPSHOT: fssnap
Syntax: /usr/sbin/fssnap -F FSType -V -o backing-store=<destPath>,<specificOptions> <mountPoint>
ie:
# fssnap -F ufs -o bs=/var/tmp /export/home
# fssnap -F ufs -o bs=/var/tmp,maxsize=500m /export/home
- displaying information for a ufs file system snapshot:
On peut utiliser la commande "fssnap -i" pour afficher des infos sur la capture du SF UFS créée
ie:
# fssnap -i
Pour afficher plus de détails sur la capture d'un SF particulier, utiliser le:
# /usr/lib/fs/ufs/fssnap -i /export/home
- Backing up the UFS snapshot file with TAR:
# mkdir -p /backups/home.bkup
# mount -F ufs -o ro /dev/fssnap/0 /backups/home.bkup
# cd /backup/home.bkup
# tar cvf /dev/rmt/0
- Backing up the UFS snapshot file with ufsdump:
# ufsdump 0uf /dev/rmt/0 /dev/rfssnap/0
# ufsrestore tf /dev/rmt/0
- Performing an incremental backup using a UFS snapshot
# ufsdump 1ufN /dev/rmt/0 /dev/rdsk/c1t0d0s0 /dev/rfssnap/0
# ufsrestore tf /dev/rmt/0
1. créer une capture du SF /extra qui sera par la suite sauvegardé
# fssnap –o bs=/var/tmp /extra
# fssnap -i (pour vérifier si le snapshot a marché.)
# /usr/lib/fs/ufs/fssnap -i /extra (pour avoir + de détails)
# mkdir /extramap
# mount -o ro /dev/fssnap/0 /extrasnap
# df -k | grep extra
# vi file1
<ajouter des valeurs>
# df -k | grep extra
# umount /extrasnap
# fssnap -d /extra
# rm /var/tmp/snapshot0
# cp file1 file5
# cp file1 file6
# fssnap –o bs=/var/tmp /extra
# mount -o ro /dev/fssnap/0 /extrasnap
# df -k | grep extra
# ufsdump 1ufN /dev/rmt/0 /dev/rdsk/c1t0d0s0 /dev/rfssnap/0
# ufsrestore tf /dev/rmt/0
- Deleting a UFS snapshot:
# umount /dev/fssnap/0
# fssnap -d /export/home
# rm /backing_store_filestore_file