M2BBS - Atelier Système
From silico.biotoul.fr
m (→Liens) |
m (→Liens et autres) |
||
Line 1,073: | Line 1,073: | ||
= Liens et autres = | = Liens et autres = | ||
* Extensions de Gnome http://extensions.gnome.org | * Extensions de Gnome http://extensions.gnome.org | ||
- | + | * eBooks sur enseignant:Documents |
Revision as of 10:05, 12 September 2016
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.131 printer 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 cytoscape 195.220.42.146 router enseignant
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
- Linux network configuration explained on opensource.com
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();
- mysql.php
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', 'root', 'bioinfo'); var_dump($dbh);
Arrêt ici 1er jour (9h30 - 17h30) 06 sep 2016
R, librairies et RStudio
dnf install R.x86_64
Ensuite, pour les librairies R, on utilise
- dnf
- CRAN: R> install.packages(...)
- Bioconductor: source("http://bioconductor.org/biocLite.R"); biocLite(...)
R libraries
En cas de problème, par exemple si une librairie est dite non disponible, par exemple pour la version de R trop récente, essayer à partir d'un autre site miroir :
chooseCRANmirror()
et choisir un autre site. Cela peut aussi être dû à des erreurs de connexion en https, dans ce cas sélectionner le dernier HTTP mirrors
CRAN
- lattice
- reshape et/ou reshape2
- dplyr
- tidyr
- ggplot2
Bioconductor
- chipseq
- GenomicRanges
- edgeR
- DESeq2
- mixOmics
prérequis :
dnf install libxml2-devel mesa-libGL-devel mesa-libGLU-devel
packages CRAN R nécessaires :
root> R R> install.packages( c('lattice','ggplot2','reshape2','rgl','dplyr','tidyr') )
Pour RMarkdown, il faut mettre à jour certaines librairies :
R> install.packages(c('evaluate', 'formatR', 'highr', 'markdown', 'yaml', 'htmltools', 'caTools', 'bitops', 'knitr', 'rmarkdown'), repos='https://cran.univ-paris1.fr/')
packages Bioconductor R nécessaires :
R> source('http://bioconductor.org/biocLite.R') R> biocLite( c('chipseq','GenomicRanges','edgeR','genefilter','geneplotter','DESeq2','mixOmics') )
RStudio
wget https://download1.rstudio.org/rstudio-0.99.903-x86_64.rpm dnf -y install rstudio-0.99.903-x86_64.rpm
Documents utiles pour RStudio et RMarkdown sur http://rmarkdown.rstudio.com/ et http://rmarkdown.rstudio.com/lesson-1.html (RMarkdown cheatsheet et RMarkdown reference guide)
Prérequis pour générer du PDF:
dnf install texlive-framed texlive-titling
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
Conseil concernant les questions lors de la 1ère configuration de CPAN :
- Would you like to configure as much as possible automatically? [yes] yes
Conseils concernant les questions lors de l'installation de LWP :
- Should I do external tests?
- These test will detect if there are network problems and fail soft,
- so please disable them only if you definitely don't want to have any
- network traffic to external sites. [Y/n] n
- These tests *will* *fail* if you do not have network connectivity. [n] n
Conseils concernant les questions lors de l'installation de BioPerl :
- Do you want to run the Bio::DB::GFF or Bio::DB::SeqFeature::Store live database tests? y/n [n] n
- Install [a]ll BioPerl scripts, [n]one, or choose groups [i]nteractively? [a] a
- Do you want to run tests that require connection to servers across the internet
- (likely to cause some failures)? y/n [n] n
- Do you want to install 'xml_pp' (XML pretty printer)? [y] y
- Do you want to install 'xml_grep' (XML grep - grep XML files using XML::Twig's subset of XPath)? [y] y
- Do you want to install 'xml_split' (split big XML files)? [y] y
- Do you want to install 'xml_merge' (merge back files created by xml_split)? [y] y
- Do you want to install 'xml_spellcheck' (spellcheck XML files skipping tags)? [y] y
- Configuring G/GO/GOZER/mod_perl-1.31.tar.gz with Makefile.PL
- Enter `q' to stop search
- Please tell me where I can find your apache src
- [../apache_x.x/src] q
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
- download boost 1.55 (and not an other version) from http://www.boost.org/users/history/version_1_55_0.html
- then, untar (tar xjf ... for .tar.bz2 or tar xzf for .tar.gz)
- then, cd boost_1_55...
root> ./bootstrap.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
- abyss version : version 1.5.2 http://www.bcgsc.ca/platform/bioinfo/software/abyss/releases/1.5.2
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
prérequis : curses.h
pour trouver le rpm à installer :
dnf provides */curses.h
c'est bien sûr ncurses-devel donc :
dnf install ncurses-devel
La dernière version à récupérer sur http://www.htslib.org/download/
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
- dernière version à récupérer sur http://www.htslib.org/download/
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
guest> wget http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip unzip -l fastqc_v0.11.5.zip unzip fastqc_v0.11.5.zip # car tout est dans un sous-répertoire cd FastQC chmod +x fastqc ./fastqc
Ca marche !
cd mv Downloads/FastQC ~/bin/ cd ~/bin ln -s FastQC/fastqc
Java
Téléchargement de Java 1.6 d'Oracle depuis http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html car la plus récente nécessite de s'enregistrer. Donc afin d'éviter enregistrement jdk6u24 a été pris http://download.oracle.com/otn/java/jdk/6u24-b07/jdk-6u24-linux-x64-rpm.bin
Il faut lancer l'exécutable une fois téléchargé pour l'installation
root> ./jdk-6u24-linux-x64-rpm.bin
Cela installe Java dans /usr/java
Ensuite, il faut configurer le système pour choisir la nouvelle version d'installée avec la commande alternatives.
which java # on obtient /usr/bin/java ll /usr/bin/java # on obtient quelque chose comme lrwxrwxrwx 1 root root 22 10 juil. 2015 /usr/bin/java -> /etc/alternatives/java ll /etc/alternatives/java # donne quelque chose comme lrwxrwxrwx 1 root root 30 10 juil. 2015 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.fc23.x86_64/jre/bin/java
Pour sélectionner entre différentes version
root> alternatives --config java
On obtient quelque chose comme
Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.fc23.x86_64/jre/bin/java Enter to keep the current selection[+], or type selection number:
Pour ajouter une alternative (la version que l'on vient d'installer) :
alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_24/bin/java 16024
Puis
alternatives --config java
nous propose
Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.fc23.x86_64/jre/bin/java 2 /usr/java/jdk1.6.0_24/jre/bin/java Enter to keep the current selection[+], or type selection number: 2
Ensuite faire pareil pour le compilateur java (javac)
alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_24/bin/javac 16024 alternatives --config javac
Pour la commande alternatives, voir le manuel man alternatives. pour --install l'ordre des paramètres est :
alternatives --install link name path priority
- link est la commande à installer (obtenue avec de which java)
- name est le nom de l'alternative utilisée dans alternatives --config par exemple
- path est le chemin de l'exécutable (que l'on vient d'installer)
- priority est utilisée lors des mises à jour ou d'installations de logiciels qui remplace la commande. Par défaut, la priorité la plus forte est utilisée. Ainsi, si on installe jdk7u32 (1.7.0.32), la priorité devrait être plus importante (17032).
IGV (Integrated Genomics Viewer)
Soit par Java Web Start, soit en téléchargeant l'application (en tant qu'utilisateur et non root) :
wget http://data.broadinstitute.org/igv/projects/downloads/IGV_2.3.81.zip unzip -l IGV_2.3.81.zip unzip IGV_2.3.81.zip cd IGV_2.3.81 ./igv.sh cd ~/bin ln -s ~/Downloads/IGV_2.3.81/igv.sh igv
snpEff
wget http://downloads.sourceforge.net/project/snpeff/snpEff_latest_core.zip unzip -l snpEff_latest_core.zip unzip snpEff_latest_core.zip cd snpEff/
Là, il faut java >= 1.7
root> alternatives --config java guest> java -jar snpEff.jar
Python modules
python 3 + libs : theano, matplotlib
dnf install python3-theano python3-matplotlib
Arrêt ici 2èmé jour (9h30 - 18h00) 07 sep 2016
Scala IDE
- Scala IDE : http://scala-ide.org/download/sdk.html
Téléchargement et extraction du .tar.gz puis lancement sans problème de eclipse. L'ensemble a été déplacé dans /home/guest/bin/eclipse-4.4.1
lancement depuis n'importe où pour l'utilisateur guest :
eclipse
GNA
Nécessite Java 1.6, pour sélectionner la version de java :
root> alternatives --config java
Installé dans /home/guest/bin/GNA_8.4.0
Le script de lancement a dû être modifié car la mauvaise version de java était utilisée (cf. lignes 383-384 du fichier genetic_network_analyzer)
Pour le lancer de n'importe où (guest) :
GNA
COPASI
Site http://copasi.org/
Téléchargements : http://copasi.org/Download//
From binaries:
wget https://github.com/copasi/COPASI/releases/download/Build-104/COPASI-4.16.104-Linux-64bit.tar.gz tar tzf COPASI-4.16.104-Linux-64bit.tar.gz COPASI-4.16.104-Linux-64bit/ tar xzf COPASI-4.16.104-Linux-64bit.tar.gz COPASI-4.16.104-Linux-64bit/ cd COPASI-4.16.104-Linux-64bit/ ll ll bin/ bin/CopasiUI
Erreur, il manque une librairie sur le système : /home/guest/Downloads/COPASI-4.16.104-Linux-64bit/share/copasi/lib/CopasiUI: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
Recherche du paquet à installer :
root> dnf provides */libpng12.so.0
Il faut donc installer libpng12 :
root> dnf install libpng12
Ca marche donc il est déplacé dans /home/guest/bin/
mv ~/Downloads/COPASI-4.16.104-Linux-64bit ~/bin/
Et création du lien symbolique pour le lancer de n'importe où :
ln -s ~/bin/COPASI-4.16.104-Linux-64bit/bin/CopasiUI ~/bin/COPASI cd COPASI
Snoopy
wget http://www-dssz.informatik.tu-cottbus.de/track/download.php?id=176 -O snoopy-stable-linux-ubuntu64-2016-07-03.tgz tar tzf snoopy-stable-linux-ubuntu64-2016-07-03.tgz tar xzf snoopy-stable-linux-ubuntu64-2016-07-03.tgz 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
Ca fonctionne, on créé le lien symbolique et on le déplace dans bin et on ajoute le chemin des librairies dans ~/.bashrc :
cd .. mv snoopy2 ~/bin ln -s ~/bin/snoopy2/bin/snoopy ~/bin/
Dans geany ajouter la ligne suivante au fichier .bashrc (geany ~/.bashrc)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/bin/snoopy2/lib
Test :
bash # pour utiliser le nouveau .bashrc snoopy
VirtualBox
Site: https://www.virtualbox.org et pour les téléchargements pour linux https://www.virtualbox.org/wiki/Linux_Downloads
VirtualBox 5.1.4 pour Fedora 22
wget http://download.virtualbox.org/virtualbox/5.1.4/VirtualBox-5.1-5.1.4_110228_fedora22-1.x86_64.rpm dnf install VirtualBox-5.1-5.1.4_110228_fedora22-1.x86_64.rpm
pymol
Click on Download
Click in section Students and Instructors on http://pymol.org/educational/ then you will be brought to a regitration form.
- 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
Problem: download needs login, thus registration almost probably a licence
Site http://www.ks.uiuc.edu/Research/vmd/
Download page http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD
Qt 4.8
Il est déjà installé avec cette version (au 12 septembre 2016) :
dnf list qt # ou dnf info qt
Gromacs
avec dnf
dnf list gromacs root> dnf install gromacs
Webmin
- 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
- LVM puis parted, gparted
- gnome software / packages / yumex /
- packages installed with dnf: htop, glances, gimp, inkscape, tweak-tool...
- photo du groupe pour le site
A ajouter
- jupyter
- Sun Grid Engine (now Oracle ?)
- backup CentOS and restore in Virtual machines
- Neo4j
- cytoscape ?
- igraph ?
- scikitlearn ...
- firebug, dictionnaries?
Liens et autres
- Extensions de Gnome http://extensions.gnome.org
- eBooks sur enseignant:Documents