silico.biotoul.fr
 

M2BBS - Atelier Système

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m (MACS2)
m (automount / autofs)
Line 828: Line 828:
Pour cette exemple, l'export de Mélany est monté automatiquement sur le répertoire /p0/138
Pour cette exemple, l'export de Mélany est monté automatiquement sur le répertoire /p0/138
  ll /p0/138
  ll /p0/138
 +
 +
= oublis =
 +
 +
* gnome software / packages / yumex /
 +
* photo du groupe pour le site
 +
 +
= A ajouter =
 +
 +
* Java 1.6 1.7 1.8 ?? et alternatives
 +
* Sun Grid Engine
 +
* backup CentOS and restore in Virtual machines
 +
* Neo4j
 +
*
= Liens =
= Liens =
* Extensions de Gnome http://extensions.gnome.org
* Extensions de Gnome http://extensions.gnome.org

Revision as of 19:54, 6 September 2016

Contents

Objectifs

  • Installation et configuration d'un système linux (partitionnement de disque, bootloader, configuration réseau, ...)
  • Installation et configuration de logiciels (via un gestionnaire, via une procédure propriétaire, via configure/make/make test/make install)
  • Installation et configuration de services (serveurs Web, bases de données)
  • Sauvegarde/restauration d'un système ou de données
  • Installation et configuration d'un cluster

Distributions linux populaires :

Principales étapes d'une installation typique :

  • récupération d'un live cd ou usb
  • gravure ou préparation du live media
  • démarrage du système depuis ce live media
  • procédure d'installation sur la machine. En général, les paramètres sont réduits au minimum pour faciliter l'adoption du système mais nous verrons que l'on peut organiser l'espace disque, la configuration réseau et les logiciels installés.
  • redémarrage du système
  • SELinux (Security Enhanced Linux)
  • installation des dernières mises à jour

1er jour (7h) : liveCD, configuration réseau, partionnement de disque, installation sur HD, service httpd, mises à jour


Lien : rappel de certaines commandes linus Linux_tips

Démarrage du liveCD/DVD

Création LiveCD
Pour 2016-17, il s'agit de Fedora core 22 64bits (https://dl.fedoraproject.org/pub/fedora/linux/releases/22/). La dernière est la 24 mais avec les versions les plus récentes, il y a souvent (chaque année) certains logiciels ne s'installent pas. Pour créer un tel CD/DVD, il faut télécharger son image : un fichier .iso correspondant à une image de CD au format iso9660 contenant tout le système de fichiers. Pour le graver sur un CD (ou DVD), il faut utiliser un logiciel qui permet de graver une image (burn ISO ou burn disc image) tel que Brasero sous GNOME apparemment il existe sur Windows depuis le 7 un outil qui permet de faire ça et sinon il en existe des gratuits.

Remarque : Il se peut que l'ordinateur démarre à partir du disque dur. Pour booter depuis le CD, il faut parfois accéder au menu de boot. On y accède le plus souvent avec la touche Esc, F2, F10, F12 ou delete (dépend de chaque ordi). On obtient alors soit le menu de démarrage soit le paramétrage du BIOS.

Création d'un LiveUSB
Il aussi est possible de créer une clé (ou disque) USB. Cela a l'avantage d'être plus rapide (à créer et pour installer le système). Par contre, cela modifie les partitions du support et pour les clés USB, cela les détériore parfois : elles ne fonctionnent plus sur un ou plusieurs ordinateurs, voire aucun et il est difficile voire impossible de les réparer.

https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB

Démarrer le PC avec le liveCD
Avant de procéder à l'installation, on peut explorer les fonctionnalités offertes par le liveCD. Il s'agit d'un vrai système linux et permet notamment de réparer un système défectueux (par exemple, réinstaller le bootloader, modifier le montage des partitions, ...).

La première chose à faire est de passer en clavier français. On peut faire ça à partir de l'interface graphique, ou bien taper la commande

# en mode graphique (server X = runlevel 5)
setxkbmap fr
# en mode texte (= runlevel 3)
loadkeys fr
  • Déterminer les partitions du disque dur (normalement /dev/sda).
  • s'il y en a, et qu'elles ne sont pas montées, monter (commande mount) dans des répertoires dans /mnt (à créer, par exemple /mnt/sda1) pour explorer les systèmes de fichiers qu'elles contiennent.
  • exercices :
    • création, formatage, montage, démontage, suppression de partitions aux différents formats et notions de LVM
    • configuration manuelle du réseau

Installation du système

Après avoir démarré le liveCD, il suffit de lancer l'assistant d'installation. Choisissez la langue pour l’assistant, le clavier ; régler la date et l'heure.

Configuration réseau

Pour le protocole IPv4, il faut obtenir une adresse IP valide. Ceci se fait le plus souvent via le protocole DHCP, ou bien manuellement.

Principe du DHCP : au démarrage du système (ou bien lorsque le câble réseau est branché), l'ordinateur demande à un serveur DHCP sur le réseau de lui attribuer une IP disponible et de lui fournir certains paramètres comme la passerelle (gateway), le masque de sous-réseau (netmask) et le(s) serveur(s) de noms (DNS).

Il n'y a pas de serveur DHCP configuré pour la P0. Entrez donc l'IP en fonction de la machine que vous utilisez :

195.220.42.132 blast
195.220.42.132 blast
195.220.42.133 fasta
195.220.42.134 mauve
195.220.42.135 meme
195.220.42.136 glam
195.220.42.137 hmmer
195.220.42.138 mummer
195.220.42.139 trimal 
195.220.42.140 phyml
195.220.42.141 mafft
195.220.42.142 muscle
195.220.42.143 paml
195.220.42.144 newbler
195.220.42.145 gna


et pour le reste les paramètres sont les mêmes pour tout le monde :

subnet mask: 255.255.255.0
gateway: 195.220.42.1
DNS1: 195.220.59.2
DNS2: 195.220.59.6 

Il semblerait que ces deux DNS fonctionnent mal. Depuis la rentrée 2015, il a été ajouté le DNS de google 8.8.8.8

Remarques : Plage d'adresses réservées à la salle P0 (pas de DHCP) : 195.220.42.131 .. 195.220.42.146 ; la première correspond à l'imprimante et la dernière correspond au routeur wifi (cf. tableau), il ne faut donc pas les utiliser.

Commandes et fichiers :

ifconfig hostname nslookup getent ifup ifdown whois
/etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-INTERFACE /etc/hosts /etc/resolve.conf

Partitionnement du/des disque(s)

Sujet déjà évoqué dans Linux tips - fs & partitions

Pour stocker des données sur un disque, celui-ce doit d'abord être partitionné. Puis, une partition formatée (création du système de fichiers), et ensuite la partition doit être montée en un point du système de fichier.

Les disques se trouvent en général dans /dev/sdX ; X étant une lettre, a pour le premier disque, b pour le second, ... et les partitions dans /dev/sdaX ; X étant le n° de partition, 1 pour la première, etc.

Le choix du partitionnement du disque est peut-être l'étape la plus délicate pour les néophytes. Il se fait très tôt (à l'installation) mais peut être modifié par la suite. Cela reste une opération sensible car il existe toujours un risque de perdre les données d'une partition voire le système.

Pour la taille des différentes partitions, cela dépend de la distribution linux. Le mieux est de se référer aux recommandations habituellement trouvées dans le guide d'administration. Par exemple pour fedora18, il est recommandé de créer au moins 4 partitions : http://docs.fedoraproject.org/en-US/Fedora/18/html/Installation_Guide/s2-diskpartrecommend-x86.html

  • swap partition
  • /boot partition
  • / partition
  • /home partition

La partition /boot est souvent à part et contient les fichiers nécessaires aux toutes premières étapes de démarrage du système. C'est donc en général une partition primaire au format ext. Les autres peuvent être des partition primaires/étendues ou bien gérées par LVM.

Il est en général judicieux d'avoir une partition séparée pour /home qui contient les répertoires utilisateurs. En effet, lors d'une réinstallation du système, il est courant de formater la partition / ce qui aurait pour effet d'effacer toutes les données utilisateurs si elles ne sont pas sur une autre partition.

Pour aujourd'hui, on utilisera le paramétrage suivant :

  • 1: 500Mb ext4 /boot
  • 2: 100Gb ext4 /
  • 3: 4Gb swap (pour pouvoir suspendre/hiberner la machine, il faut au une taille au moins égale à la RAM)
  • 4: ce qui re reste pour /home

Commandes et fichiers :

fdisk parted palimpsest (ou gnome-disks) mkfs[.ext4|.ext3|.ext2|.ntfs|...] resize2fs resizepart pvdisplay pvcreate vgdisplay vgcreate lvdisplay lvcreate mount umount ...
/etc/fstab /etc/mtab /proc/partitions /dev/sd* /dev/hd* /dev/mapper/* /dev/disk/

gestionnaire de paquets

A partir d'une ou plusieurs sources, ils permettent d'installer et de maintenir à jour le système et les logiciels installés.

  • dnf (fedora >= 22)
  • yum (fedora <22, centos)
  • rpm
  • apt (ubuntu)

dnf et yum peuvent être utilisés en parallèle mais mieux vaut n'en utiliser qu'un http://dnf.readthedocs.io/en/latest/user_faq.html

Ajout des sources de RPM fusion :

 root> dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

dnf

Quand on connait le nom. Affichage de la disponibilité (et de la version) : Exemple avec les paquets de développement du noyau (nécessaires pour compiler certains logiciels)

dnf list kernel-devel
  • Si il apparaît dans Installed Packages : rien à faire à moins qu'il y ait une version plus récente :
dnf upgrade kernel-devel
  • Si il apparaît dans Available Packages :
dnf install kernel-devel


Quand on ne connaît pas le nom du paquet : search. Cela a pour effet de chercher dans la description.

dnf search apache

Pour obtenir la description :

dnf info httpd

Pour chercher quels paquets contiennent un fichier donné :

dnf provides */sbin/httpd

Pour fedora avant la 22 et CentOS, c'est exactement la même chose mais avec yum, exemple :

yum list kernel-devel

Afficher le contenu d'un rpm

rpm -qpl http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Installation des dernières mises à jour

Lors d'une installation via LiveCD/DVD/USB, il est recommandé de faire les mises à jour après installation du systèmes (puis régulièrement).

Avec les systèmes RedHat (CentOs, fedora, RHEL, ...), ceci est géré avec les RPM (RedHat Package Manager) et les logiciels package-kit/software et les utilitaires rpm/yum/dnf :

root> dnf list upgrades
root> dnf upgrade

SELinux

SELinux (pour Security Enhanced Linux) permet de renforcer la sécurité. En pratique, il bloque souvent des accès et peut être déroutant lors de la configuration/installation de la machine. Par exemple à une époque (à vérifier aujourd'hui), il bloquait les connexions de apache vers mysql (pour un site web dynamique php qui se connectait à une base de données) et la cause de l'impossibilité de connexion a mis du temps à être décelée.

Pour le désactiver :

vi /etc/selinux/config

Remplacer :

SELINUX=enforcing

par :

SELINUX=disabled

Sauvergarder et quitter (<Esc>:wq<Enter> dans vi)

Puis redémarrer la machine.

Variables d'environnement

Le sccript ~/.bashrc est chargé par tout processus bash à son démarrage. Cela permet de personnaliser certaines choses comme par exemple

  • la variable PATH qui contient une liste de répertoires où sont recherchées les commandes
  • les alias qui permettent de définir des commandes en raccourcis d'autres

Pour afficher le contenu d'une variable d'environnement :

echo $PATH

Pour le modifier :

PATH=$PATH:~/bin

Ajouter ~/bin à la variable d'environnement PATH dans .bashrc (vi ~/.bashrc).

Ajouter un alias, par exemple :

alias l='ls -lh'



Installation d'autres logiciels

Il peut être plus simple de tout mettre dans un script et de le lancer en tant que root mais il faut vérifier avant que les commandes sont bonnes :

#!/bin/bash
 
# dnf RPMs #
############
echo kernel-devel
echo dnf -y install kernel-devel
dnf -y install kernel-devel
echo
 
echo geany
echo dnf -y install geany-plugins-spellcheck.x86_64 geany.x86_64 geany-plugins-geanyprj.x86_64 
dnf -y install geany-plugins-spellcheck.x86_64 geany.x86_64 geany-plugins-geanyprj.x86_64 
echo
 
echo process monitor
echo dnf -y install htop glances
dnf -y install htop glances
echo
 
echo net
echo dnf -y install wget telnet firewall-config
dnf -y install wget telnet
echo
 
echo libreoffice
echo dnf -y install libreoffice
dnf -y install libreoffice
echo
 
echo transfer de fichier
echo dnf -y install filezilla
dnf -y install filezilla
echo
 
echo "image manipulation (équivalent de photoshop et illustrator en FOSS)"
echo dnf -y install gimp.x86_64 inkscape.x86_64
dnf -y install gimp.x86_64 inkscape.x86_64
echo
 
echo compilateur C
echo dnf -y install gcc automake autoconf
dnf -y install gcc
echo
 
echo gnome configuration
echo dnf -y install gnome-tweak-tool
dnf -y install gnome-tweak-tool
echo
 
echo system configuration/administration
echo dnf -y install cockpit
dnf -y install cockpit
echo

Vous pouvez aussi copier/coller une à une les commandes dnf ou utiliser le script fourni dans les liens à la fin de cette page.

depuis le code source

Exemple avec HMMER http://hmmer.org/

Procédure typique configure make install.

En général, on dispose d'une archive du code au format .tar.gz ou .tgz

On vérifie le contenu de l'archive

tar tzf hmmer...tar.gz

Cela permet de voir ce qui va être extrait (option t. On vérifie que c'est bien dans un sous-répertoire sinon l'extraction va créer un tas de fichiers dans le répertoire courant (auquel cas on créé un répertoire et on se place dedans pour faire l'extraction).

Remarque : il y a plusieurs méthodes de compression/décompression (ici z pour gzip, sinon j pour bzip2 extension .tar.bz2, ... cf. man tar ).

Extraction du contenu :

tar xzf hmmer...tar.gz
  • ./configure permet de tester l'environnement et de configurer la compilation, notamment où installer les fichiers et où trouver les librairies partagées. ./configure --help pour voir toutes les options. Si l'on ne dispose pas des droits administrateur, on ne peut pas l'installer ailleurs que dans son espace utilisateur. En général, il suffit de spécifier ./configure --PREFIX=~/destination.
  • make lance la compilation
  • make test ou make check (parfois optionnel ou absent) vérifie le bon fonctionnement de ce qui a été compilé
  • make install (habituellement en tant qu'administrateur) installe les fichiers sur le système.

Si le script ./configure se plaint de ne pas de disposer de compilateur C. Il faut donc l'installer.

dnf list gcc
dnf install gcc

depuis un dépôt

Les plus utilisés sont les gestionnaires git et subversion. Ils permettent notamment de faire le suivi de modifications de code source.

git est normalement déjà installé.

user# git clone https://github.com/jahendrie/cheat.git
cd cheat
user# cp -r data ~/.cheat
mkdir ~/bin
cp src/cheat.sh ~/bin/cheat
cheat -L
cheat dnf

Installation/configuration de services

Commandes :

  • chkconfig et service (CentOS, vieilles fedora)
  • systemctl (fedora plus récentes)

La commande systemctl permet de gérer quels services sont démarrés ou pas avec le système.

Pour afficher la liste des services :

systemctl list-unit-files

Pour le seveur Web apache (httpd) :

systemctl status httpd

On voit qu'il apparaît mais n'est pas activé au démarrage. Y a-t-il un serveur web ? Essayer http://localhost dans un navigateur.

Démarrage

systemctl start httpd

Pour qu'il soit lancé au démarrage :

systemctl enable httpd

Vérification :

systemctl list-unit-files | grep httpd


apache/httpd

Pour changer la configuration du serveur Web, il faut éditer les fichiers dans /etc/httpd puis redémarrer le service

systemctl restart httpd

ou recharger la configuration

systemctl reload httpd


MySQL

Remarque : Dans les versions plus récente de fedora, mysql est remplacé par un fork nommé MariaDB qui s'utilise exactement de la même manière (avec les mêmes commandes mysql, mysqladmin, etc.).

dnf install mariadb-server.x86_64 mariadb-libs.x86_64 mariadb-devel.x86_64 mariadb.x86_64

Démarrage du serveur

systemctl start mariadb

Configuration du serveur : il faut faire certains paramétrage juste après l'installation du serveur (mot de passe, et autres) :

/usr/bin/mysql_secure_installation

Pour les question suivantes :

  • Enter current password for root (enter for none): ne rien mettre + entrée
  • Set root password? [Y/n] y
  • Remove anonymous users? [Y/n] y
  • Disallow root login remotely? [Y/n] y
  • Remove test database and access to it? [Y/n] n
  • Reload privilege tables now? [Y/n] y

Démarrage au boot

systemctl enable mariadb

Remarque : Un site assez efficace pour installer et configurer des logiciels et serveurs sur Red Hat, CentOS, Fedora est http://www.if-not-true-then-false.com/ ; par exemple pour MariaDB: http://www.if-not-true-then-false.com/2013/install-mariadb-on-fedora-centos-rhel/ vous trouverez les commandes précédentes et aussi d'autres informations : création d'une base, ajout d'un utilisateur pouvant se connecter à distance, configuration du firewall pour ouverture le port réseau pour se connecter à distance au serveur, ...

Test du bon fonctionnement :

root> mysql -uroot -pbioinfo
MariaDB [(none)]> show databases;
MariaDB [(none)]> use mysql
MariaDB [mysql]> show tables;

Ctrl + D ou \q ou \quit pour quitter.

Interface Web d'administration et de gestion : phpMyAdmin

Il faut donc installer PHP.

PHP

dnf install php.x86_64 phpMyAdmin  php-bcmath.x86_64 php-gd.x86_64 php-geshi.noarch php-mbstring.x86_64 php-mcrypt.x86_64 php-pdo.x86_64 
systemctl restart httpd

Aller à la page http://localhost/phpMyAdmin

Ou bien test manuel, en créant dans le répertoire /var/www/html/ les fichiers :

  • phpinfo.php
<?php
  phpinfo();
test http://localhost/phpinfo.php
  • mysql.php
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', 'bioinfo');
var_dump($dbh);
test http://localhost/mysql.php


R et RStudio

dnf install R.x86_64 

Ensuite, pour les librairies R, on utilise

RStudio

wget https://download1.rstudio.org/rstudio-0.99.903-x86_64.rpm
dnf -y install rstudio-0.99.903-x86_64.rpm

Pour RMarkdown, il faut mettre à jour certaines librairies :

root> R
R> install.packages(c('evaluate', 'formatR', 'highr', 'markdown', 'yaml', 'htmltools', 'caTools', 'bitops', 'knitr', 'rmarkdown'), repos='https://cran.univ-paris1.fr/')

Perl et BioPerl

Modules Perl : on utilise yum ou le CPAN

  • dnf list perl-*

Prérequis BioPerl:

dnf install perl-YAML perl-Term-ReadLine-Gnu perl-Test-Most perl-CPAN-DistNameInfo
  • ou le CPAN:
dnf install perl-CPAN
perl -MCPAN -e shell
m BioPerl
install LWP
d /bioperl/
install CJFIELDS/BioPerl-1.6.924.tar.gz

Configuration du firewall

C'est maintenant avec firewall-config. Il faudrait que les services suivants soient accessibles dans la Configuration permanente :

  • http et https
  • mysql
  • nfs
  • ssh

Autres logiciels spécifiques

Zotero

A partir de https://www.zotero.org : Cliquer sur Download puis Installer le plug-in firefox (à gauche).

boost 1.55.0

root> ./bootstraph.sh
root> ./b2 install

abyss

  • prérequis:
dnf  install sqlite-devel.x86_64
git clone https://github.com/sparsehash/sparsehash
cd sparsehash/
./configure
make
make check
make install


wget https://github.com/bcgsc/abyss/releases/download/1.5.2/abyss-1.5.2.tar.gz
tar xzf abyss-1.5.2.tar.gz
cd abyss-1.5.2/
./configure
make
make install

samtools

wget https://github.com/samtools/samtools/releases/download/1.3.1/samtools-1.3.1.tar.bz2
tar xjf samtools-1.3.1.tar.bz2 
cd samtools-1.3.1
make
make install

tabix

wget https://github.com/samtools/htslib/releases/download/1.3.1/htslib-1.3.1.tar.bz2
tar xjf htslib-1.3.1.tar.bz2
cd htslib-1.3.1
./configure
make
make install

bwa

Chez sourceforge, la liste des versions disponibles : https://sourceforge.net/projects/bio-bwa/files/

On récupère la dernière :

wget downloads.sourceforge.net/project/bio-bwa/bwa-0.7.15.tar.bz2
tar tjf bwa-0.7.15.tar.bz2
tar xjf bwa-0.7.15.tar.bz2
cd bwa-0.7.15
make
cd ~/bin
ln -s ~/install/bwa-0.7.15/bwa
cd
bwa
ldd ~/bin/bwa # vérification des librairies utilisées

MACS2

Prérequis:
A lire dans https://github.com/taoliu/MACS puis le README. Il faut apparemment Python 2.7, Numpy (>=1.6) gcc, Cython (>=0.18).

pip list

numy 1.9.2 est installé. Mise à jour de pip, un peu vieux :

pip install --upgrade pip

Pour Cython, il faut aller sur http://cython.org qui nous indique de l'installer avec PyPI -- http://pypi.python.org/pypi/Cython/ -- et donc avec la commande pip :

pip install Cython --install-option="--no-cython-compile"

Installation :
Et encore d'après le README, on utilise ensuite pip pour installer MACS2, mais avant cela il manque encore une librarie (python-devel) :

dnf install python-devel
pip install MACS2

fastqc

Le site http://www.bioinformatics.babraham.ac.uk/projects/fastqc/

Les liens de téléchargements http://www.bioinformatics.babraham.ac.uk/projects/download.html#fastqc

Les instructions pour l'installation http://www.bioinformatics.babraham.ac.uk/projects/fastqc/INSTALL.txt

Il faut notamment java >= 1.6



   fastqc (dernière version)
   IGV (dernière version)
   snpEff 3.6 core http://snpeff.sourceforge.net/SnpEff_manual.html

packages R nécessaires:

   lattice
   chipseq
   GenomicRanges


vérification du contenu de l'archive
unzip -l snpEff_latest_core.zip
extraction du contenu
unzip snpEff_latest_core.zip
test
cd snpEff
java -jar snpEff.jar


cd snoopy2
./bin/snoopy
ldd ./bin/snoopy
# Problème : il manque des librairies partagées
ls -lh lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/Downloads/snoopy2/lib
./bin/snoopy

  • VirtualBox (Oracle pas rpmfusion)
  • pymol (Pb de compilation)
yum install freeglut.x86_64 freeglut-devel.x86_64 python-pmw python-devel.x86_64 glew.x86_64 glew-devel.x86_64
  • VMD (registration and licence ?)

  • Webmin (interface web pour l'administration du système)


Imprimante

L'installation dépend de la distribution ainsi que de la manière dont est gérée la file d'impression. Pour les systèmes les plus récents, l'installation n'est pas trop difficile mais pour ce qui est des imprimantes exotiques cela se gère au cas par cas.

Pour la salle P0, l'imprimante est une imprimante réseau (HP LaserJet M425dn). Pour l'installer sous CentOS6.7:

yum install cups system-config-printer
service cups start

Puis dans le menu System - Administration - Printing : connect (localhost), add network printer - AppSocket/HP JetDirect (IP: 195.220.42.131, port: 9100), HP - LaserJet PCL 4/5 (recommended)


Sauvegardes et restaurations

dd

Pour des tables de partition de type dos :

  • sauvegarde du Master Boot Record (MBR = secteur de démarrage)
dd if=/dev/sda of=mbr.dd bs=512 count=1
  • copie physique d'une partition
dd if=/dev/sda1 of=sda1.dd

Il y a aussi l'utilitaire dédié sfdisk mais il ne gère pas les tables de partition de type gpt :

backup:

sfdisk --dump /dev/sda > sda.partitions

restore (attention, peut rendre le disque inutilisable si mauvais fichier/device ou mauvaise manipulation):

sfdisk /dev/sda < sda.partitions

Pour les tables de type gpt :

backup :

sgdisk -b sda.partitions /dev/sda

restore (attention, peut rendre le disque inutilisable si mauvais fichier/device ou mauvaise manipulation):

sgdisk -l sda.partitions /dev/sda

tar

tar (tape archive)

avec l'option p pour préserver les permission (rwx), et on exclut certains répertoires (ex: home) pour ne garder que le systèmes (sans les répertoires spéciaux comme /proc ou /sys). Remarque : Il faudra recréer ces répertoires lors de la restauration.

  • On créé un répertoire pour l'archive
mkdir /mnt/backup
cd /mnt/backup
  • /dev/sda1 montée sur /boot
tar cpjf boot.sda1.tar.bz2 /boot
  • /dev/sda2 montée sur /
tar cpjf rootfs.sda2.tar.bz2  \
                       --exclude=/proc \
                       --exclude=/mnt \
                       --exclude=/sys \
                       --exclude=/lost+found \
                       --exclude=/media \
                       --exclude=/home \
                      /
  • /dev/sda4 montée sur /home
tar cpjf home.sda4.tar.bz2 /home

rsync

rsync permet de "synchroniser" un fichier ou une sous-arborescence de répertoire, c'est-à-dire faire un miroir exact ou bien recopier seulement ce qui a été modifié, ou bien rajouter ce qui a été modifié, ..., et ceci éventuellement entre deux machines.

Cela peut être utile pour faire une sauvegarde de ces données personnelles :

rsync --dry-run \
     --archive --hard-links --delete --acls --xattrs --one-file-system \
     --itemize-changes --stats -h \
     --exclude='*/.thumbnails' --exclude='*/Cache' --exclude='*/.cache' --exclude='*/.gvfs' 
     /home/ /mnt/home_backup/

NFS (Network File System)

Côté serveur, on "exporte" un répertoire (et sa sous-arborescence).

Paquets nécessaires :

yum install install nfs-utils nfs-utils-lib

Répertoire partagé pour cet exemple :

mkdir /partage

Fichier de configuration : /etc/exports

/partage  195.220.42.0/255.255.255.0(rw,no_root_squash)

Démarrage (manuel) des services

service rpcbind start
service nfs start

Au démarrage du système

chkconfig rpcbind on
chkconfig nfs on


Côté client :

yum install nfs-utils nfs-utils-lib

Répertoire où est monté l'export nfs pour cet exemple

mkdir /mnt/nfs.24

Montage de l'export nfs

mount 195.220.42.24:/partage /mnt/nfs.24

En cas d'échec, on peut désactiver le pare-feu

service iptables stop

Pour débugger (option -v)

mount -v 195.220.42.24:/partage /mnt/nfs.24

automount / autofs

Montage d'un export nfs automatiquement lors de l'accès au répertoire :

Côté client

yum install autofs
chkconfig autofs on

Editer le fichier /etc/auto.master et ajouter les lignes suivantes :

browse_mode = yes
/p0     /etc/auto.p0    

Fichier final :

#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
/misc	/etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#	"nosuid" and "nodev" options unless the "suid" and "dev"
#	options are explicitly given.
#
/net	-hosts
 
browse_mode = yes
/p0     /etc/auto.p0    
 
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master

Créer un fichier /etc/auto.p0 avec autant de lignes comme suit que nécessaire :

138    -fstype=nfs,rw,nfsvers=3   195.220.42.138:/home/Melany/Partage

Pour correspondre au fichier /etc/exports de Mélany :

/home/Melany/Partage           195.220.42.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check)

Ne pas oublier service autofs restart après une modification des fichiers


Pour cette exemple, l'export de Mélany est monté automatiquement sur le répertoire /p0/138

ll /p0/138

oublis

  • gnome software / packages / yumex /
  • photo du groupe pour le site

A ajouter

  • Java 1.6 1.7 1.8 ?? et alternatives
  • Sun Grid Engine
  • backup CentOS and restore in Virtual machines
  • Neo4j

Liens