M2BBS - Atelier Système
From silico.biotoul.fr
m (→Perl) |
m (→depuis le code source) |
||
Line 222: | Line 222: | ||
Cela permet de voir ce qui va être extrait (option <tt>t</tt>. 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). | Cela permet de voir ce qui va être extrait (option <tt>t</tt>. 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, ... cf. <tt>man tar</tt> ). | + | '''Remarque :''' il y a plusieurs méthodes de compression/décompression (ici z pour gzip, sinon j pour bzip2 extension .tar.bz2, ... cf. <tt>man tar</tt> ). |
Extraction du contenu : | Extraction du contenu : |
Revision as of 14:42, 3 September 2015
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
- 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
Contents |
Démarrage du liveCD/DVD
Démarrer le PC avec le liveCD.
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.
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 4) 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) les dans des répertoires dans /mnt pour explorer les systèmes de fichiers qu'elles contiennent.
- exercices :
- création, formatage, montage, démontage, suppression de partitions aux différents format et utilisation 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.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
Remarques : Plage d'adresses réservées à la salle P0 (pas de DHCP) : 195.220.42.131 .. 195.220.42.146 (la dernière correspond au routeur wifi).
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/
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 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ù son recherchée 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 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 utilitaires package-kit/yum :
root> yum list updates root> yum update
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)
yum
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)
yum list kernel-devel
- Si il apparaît dans Installed Packages : rien à faire à moins qu'il y ait une version plus récente :
yum update kernel-devel
- Si il apparaît dans Available Packages :
yum install kernel-devel
Quand on ne connaît pas le nom du paquet : search. Cela a pour effet de chercher dans la description.
yum search apache
Pour obtenir la description :
yum info httpd
Pour chercher quels paquets contiennent un fichier donné :
yum provides */sbin/httpd
Ajout d'une source : EPEL (Extra Packages for Enterprise Linux)
Afficher le contenu d'un rpm
rpm -qpl http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Installation
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
On peut maintenant installer geany :
yum list geany yum install geany.x86_64
Installation d'autres logiciels
process monitor
yum install htop
net
yum install wget telnet
libreoffice
yum install libreoffice
transfer de fichier
yum install filezilla
image manipulation (équivalent de photoshop et illustrator en FOSS)
yum install gimp.x86_64 inkscape.x86_64
depuis le code source
Exemple avec HMMER http://hmmer.janelia.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.
Le script ./configure devrait se plaindre de ne pas de disposer de compilateur C. Il faut donc l'installer.
yum list gcc yum install gcc
depuis un dépôt
Les plus utilisés sont les gestionnaires git et svn. Ils permettent notamment de faire le suivi de modifications de code source.
root# yum install git user# git clone https://github.com/jahendrie/cheat.git cd cheat less install
user# cp -r data ~/.cheat mkdir ~/bin cp src/cheat.sh ~/bin/cheat cheat -L cheat yum
Installation/configuration de services
Commandes :
- chkconfig et service (CentOS, vieilles fedora)
- systemctl (fedora plus récentes)
La commande chkconfig permet de gérer quels services sont disponibles dans quel runlevel
Sans paramètre, elle liste les services installés :
chkconfig
On voit que apache (httpd) n'apparaît pas. Y a-t-il un serveur web ? Essayer http://localhost dans un navigateur.
Installation :
yum install httpd
Démarrage
service httpd start
Etat
service httpd status
Si l'on redémarre la machine le service n'est pas automatiquement démarré :
chkconfig --list httpd
On voit que tout est à off
Pour qu'il soit lancé au démarrage :
chkconfig httpd on
Vérification :
chkconfig --list httpd
apache/httpd
Pour changer la configuration du serveur Web, il faut éditer les fichiers dans /etc/httpd puis redémarrer le service
service httpd restart
ou recharger la configuration
service httpd reload
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.).
yum install mysql.x86_64 mysql-devel.x86_64 mysql-server.x86_64
Démarrage
service mysqld start
Changement du mot de passe administrateur
root# mysqladmin -u root password 'bioinfo' root# mysqladmin -u root -h localhost.localdomain password 'bioinfo' -p
Démarrage au boot
chkconfig mysqld on
Interface Web d'administration et de gestion
yum install php phpMyAdmin service httpd restart
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();
- mysql.php
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', 'root', 'bioinfo'); var_dump($dbh);
R
yum install R.x86_64
Ensuite, pour les librairies R, on utilise
- yum
- CRAN: R> install.packages(...)
- Bioconductor: source("http://bioconductor.org/biocLite.R"); biocLite(...)
Perl
Modules Perl : on utilise yum ou le CPAN
- yum list perl-*
Prérequis BioPerl:
yum install perl-YAML perl-Term-ReadLine-Gnu perl-Test-Most perl-CPAN-DistNameInfo
- ou le CPAN:
yum install perl-CPAN perl -MCPAN -e shell m BioPerl install LWP d /bioperl/ install CJFIELDS/BioPerl-1.6.924.tar.gz
Zotero
Installer le plug-in firefox à partir de https://www.zotero.org
Liste (et commandes) des choses à installer
Sur le site du master: http://www.m2p-bioinfo.ups-tlse.fr/index.php/P0_installation_PC
Installation/configuration de logiciels
alternatives
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 connecté sur le serveur vulcain qui gère donc la file d'impression. L'installation est détaillée sur la page : Salle P0 HP LasetJet 2420d
bootloader
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.
mkdir /clone cd /clone tar cpjf rootfs.tar.bz2 \ --exclude=/proc \ --exclude=/mnt \ --exclude=/sys \ --exclude=/lost+found \ --exclude=/media \ --exclude=/home \ --exclude=/clone \ --exclude=/run/media/guest \ /
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/
configuration du router wifi
Pas à pas avec captures d'écran : http://www.if-not-true-then-false.com/2013/fedora-19-schrodingers-cat-install-guide/