Portail:Centos

De Ensiwiki
Aller à : navigation, rechercher
AttentionCette page documente CentOS 6, qui n'est plus utilisée depuis la rentrée 2016


Distribution Centos

  • Centos 6.7 64 bits
  • A l'installation, choisir le set d'installation : Software Development Workstation
  • Pour information, ce set d'installation contient les packages suivants (qui peuvent s'installer séparément via la commande : yum groupinstall <nom_groupe>) :
yum groupinstall base core debugging directory-client java-platform network-file-system-client \
 performance perl-runtime server-platform fonts print-client basic-desktop desktop-debugging \
desktop-platform general-desktop graphical-admin-tools input-methods legacy-x x11 \
internet-browser graphics emacs tex remote-desktop-clients desktop-platform-devel \
 development eclipse server-platform-devel technical-writing additional-devel \
virtualization-platform  virtualization virtualization-client

Passer en mode root avec su pour effectuer les opérations qui suivent

Installation des logiciels Ensimag (centos 6.7)

  • L'installation centos 6.7 est ensuite personnalisée pour répondre aux besoins pédagogiques Ensimag
  • Certains logiciels de développement sont installés dans leur toute dernière version
  • D'autres logiciels sont ajoutés
  • Dans la mesure du possible, les logiciels nécessaires sont recherchés dans des dépôts Centos 6.5
  • A défaut, les logiciels sont installés à partir de binaires existants ou des sources

Depôts Centos 6

Installer plusieurs dépots

  • Installer RepoForge (nommé rpmforge auparavant) pour centos 6 (afin d'avoir accès à une liste plus large de logiciels) :
  • Installer ElRepo (essentiellement drivers pour centos 6)
  • Installer Epel (afin d'avoir accès à une liste plus large de logiciels)

Tout cela se fait avec:

rpm -Uvh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
  • Installer springdale-computational (liste de logiciels scientifiques dont python3
cd /etc/pki/rpm-gpg/
wget -q http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias
rpm --import RPM-GPG-KEY-puias
  • Creer /etc/yum.repos.d/puias-computational.repo
echo '[PUIAS_6_computational]
name=PUIAS computational Base $releasever - $basearch
mirrorlist=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch/mirrorlist
#baseurl=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias
priority=20' > /etc/yum.repos.d/puias-computational.repo
  • Gestion des priorités des dépôts Centos :
    • Permet de protéger par priorités les dépôts utilisés. Ordre de priorité défini : centos / elrepo /rpmforge / epel
yum install yum-plugin-priorities
  • Créer un fichier properties.sh avec ce contenu
## priorities.sh
#! /bin/bash

# Fichiers
FILES="/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/elrepo.repo /etc/yum.repos.d/rpmforge.repo /etc/yum.repos.d/epel.repo /etc/yum.repos.d/puias-computational.repo"

# Priorités respectives
set 1 5 10 15 20

for f in ${FILES}; do
  echo -n "Ajout de priority=$1 dans $f..."
  cat $f | sed -e "s/priority=.*/priority=$1/g" -e "s/^$/priority=$1\n/g" > tmp-priorities
  # Suppression des lignes rajoutés après des commentaires
  cat tmp-priorities | sed -r 'N;s/(#.*\n)prio.*/\1/;P;D' > tmp-prio2
  mv tmp-prio2 tmp-priorities
  echo "priority=$1" >> tmp-priorities
  uniq < tmp-priorities > tmp-priorities2
  mv -f tmp-priorities2 $f
  rm -f tmp-priorities
  if grep "priority=${1}$" $f 1>/dev/null 2>/dev/null; then
    echo "OK"
  else
    echo "KO!!"
    exit 1
  fi

  shift # On passe à la priorité d'après
done
  • Ne pas oublier de le rendre éxecutable avec
chmod +x priorities.sh
  • Puis lancez le
./priorities.sh
  • Vérification des dépôts utilisés :
yum repolist all | grep enabled
  • L'affichage doit ressembler à
adobe-linux-x86_64 Adobe Systems Incorporated enabled: 1+1
base CentOS-6 - Base enabled: 6 381
elrepo ELRepo.org Community Enterprise Linu enabled: 276
epel Extra Packages for Enterprise Linux enabled: 7 972+1 282
extras CentOS-6 - Extras enabled: 13
rpmforge RHEL 6 - RPMforge.net - dag enabled: 4 582+15
updates CentOS-6 - Updates enabled: 969

Gestion du PATH pour tous les utilisateurs

  • Ajout dans PATH pour tous les utilisateurs : méthode /etc/profile.d indépendante des mises à jour système (ne pas modifier directement /etc/profile)
  • Exemple : ajout /usr/local/bin
cd /etc/profile.d
echo 'pathmunge /usr/local/bin' > /etc/profile.d/usr-local-bin.sh
chmod +x /etc/profile.d/usr-local-bin.sh

Packages Centos 6 Ensimag

  • Packages à installer :
yum install -y automake binutils binutils-devel libtorrent rtorrent bison bzr cmake cryptsetup curl cvs darcs \
ddd dosfstools doxygen emacs emacs-auctex emacs-auctex-doc xdvipdfmx xdvik ethtool fakeroot file filezilla firefox flex gawk gcc gcc-c++ gdb \
gedit-plugins gimp git-core git-email git-gui gitk git-svn gcc-gnat gnupg gnuplot gtkwave hal indent \
libQGLViewer libQGLViewer-devel PyQt4 qt qt-demos qt-designer qt4 qt4-devel qt4-designer readline-devel \
SDL-devel SDL_image-devel SDL_net-devel SDL_ttf-devel SDL_mixer-devel tbb-devel tbb-doc libtool lsof lvm2 make mdadm \
meld mercurial minicom mutt nmap libreoffice libreoffice-langpack-es libreoffice-langpack-de libreoffice-langpack-ar \
libreoffice-langpack-ru libreoffice-langpack-pt-PT libreoffice-langpack-zh-Hans \
paraview planner perl python python-devel ipython python-tools quota rsync rdesktop squashfs-tools strace screen socat subversion \
tcpdump telnet thunar thunderbird traceroute unrar unzip valgrind vim gvim vpnc wine wireshark wireshark-gnome xournal zip \
pidgin ant yakuake ffmpeg llvm ocaml inkscape yasm alpine hdf5 hdf5-devel ImageMagick \
texlive texlive-latex texlive-texmf-latex.noarch texlive-doc icedtea-web java-1.6.0-openjdk java-1.6.0-openjdk \
pl ppl-swiprolog qhull-devel blas-devel lapack-devel freeglut freeglut-devel kdesdk patch \
recordmydesktop openmpi openmpi-devel valgrind-openmpi ncurses ncurses-devel ncurses-libs.x86_64 \
opencv opencv-devel uucp spice-glib swig expect qemu-img qemu-kvm qemu-kvm-tools gtest gtest-devel \
kmod-sk98lin p7zip vinagre ruby ruby-irb python3 python3-devel python3-tools jwhois \
glibc-devel.i686 libgcc.i686 libstdc++-devel.i686 flash-plugin libXrandr-devel.i686 texinfo\
compiz-fusion-gnome libcompizconfig compizconfig-backend-gconf \
compiz-fusion compiz-fusion-extras ccsm emerald
  • Correctifs :
# Problème : /usr/lib64/paraview/paraview: error while loading shared libraries: libhdf5.so.6: cannot open shared object file: No such file or directory
# Correctif :
ln -s /usr/lib64/libhdf5.so.7 /usr/lib64/libhdf5.so.6

Gnat

  • Demandeur : Enseignant responsable gnat algo 1A, Frédéric Wagner
  • Suppression gcc-gnat (4.4.7, aucune dépendance)
yum remove gcc-gnat
  • gnat-gpl (adacore) 2013
  • 03/09/2013 Télécharger:
cd /usr/local/localuser/Téléchargements
tar xvf gnat-gpl-2013-x86_64-pc-linux-gnu-bin.tar.gz
cd gnat-gpl-2013-x86_64-pc-linux-gnu-bin
./doinstall
# Installer dans /opt/gnat (Valeur à entrer lors de l'installation)
# ...
# Supprimer les installeurs
rm -rf /usr/local/localuser/Téléchargements/gnat-gpl-2013*
  • Installation dans /opt/gnat
  • Script de génération des "liens" pour gnat dans /usr/local/bin (Il faut créer le fichier generate-gnat.sh dans /usr/local/bin/ avec ce contenu) :
## /usr/local/bin/generate-gnat.sh
#!/bin/bash
FILES="gnat gnat2xml gnatbind gnatcheck gnatchop gnatclean gnatfind gnatkr gnatlink gnatls gnatmake gnatmem gnatmetric gnatname gnatpp gnatprep gnatspark gnatstub gnattest gnatxref gprbuild gprclean gprconfig gprinstall gprof gprslave gps_exe gps"

for f in $FILES
do
rm -f "/usr/local/bin/$f"
echo "exec /opt/gnat/bin/$f \$*" > "/usr/local/bin/$f"
chmod ugo+rx "/usr/local/bin/$f"
done
  • Génération des liens
chmod u+x /usr/local/bin/generate-gnat.sh
/usr/local/bin/generate-gnat.sh
yum install p7zip
7za x adasdl_alpha20120723a.7z
mv adasdl_alpha20120723a /opt/adasdl_alpha20120723a
ln -s /opt/adasdl_alpha20120723a /opt/adasdl
cd /opt/adasdl/Thin
export PATH=/opt/gnat/bin:$PATH
make conf2x11
make all
cd AdaSDL
gprinstall -p adasdl.gpr
  • Rajouter au ~/.bashrc
export PATH=/opt/gnat/bin:$PATH
  • Note :

S'il y a des erreurs à l'édition de liens faire:

yum install glibc-devel

Blender

chown -R root /opt/blender-2.68-linux-glibc211-x86_64
chgrp -R root /opt/blender-2.68-linux-glibc211-x86_64
ln -s /opt/blender-2.68-linux-glibc211-x86_64 /opt/blender
ln -s /opt/blender/blender /usr/local/bin/blender

Scilab

chown -R root /opt/scilab-5.4.1
chgrp -R root /opt/scilab-5.4.1
ln -s /opt/scilab-5.4.1 /opt/scilab
ln -s /opt/scilab/bin/scilab /usr/local/bin/scilab

Java (Oracle)

alternatives --install /usr/bin/java java /usr/java/latest/jre/bin/java 20000
ln -s /usr/java/latest/jre/bin/javaws /usr/bin/javaws
alternatives --install /usr/bin/javaws javaws /usr/java/latest/jre/bin/javaws 20000
alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so libjavaplugin.so.x86_64 /usr/java/latest/jre/lib/amd64/libnpjp2.so 20000
alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 20000
ln -s /usr/java/latest/bin/jar /usr/bin/jar
alternatives --install /usr/bin/jar jar /usr/java/latest/bin/jar 20000
  • Java : Swap between OpenJDK and Sun/Oracle JDK versions. Choix d'oracle.
alternatives --config java
# Choisir : /usr/java/latest/jre/bin/java
alternatives --config javac
# Choisir : /usr/java/latest/bin/javac
alternatives --config javaws
# Choisir : /usr/java/latest/jre/bin/javaws
# En cas de problème :
ln -s /usr/java/latest/jre/bin/javaws /etc/alternatives/javaws
alternatives --config javaws
# Fin en cas de problème
alternatives --config libjavaplugin.so.x86_64
# Choisir : /usr/java/latest/jre/lib/amd64/libnpjp2.so
alternatives --config jar
# Choisir : /usr/java/latest/bin/jar
  • Java : vérification des versions utilisées
java -version
javac -version
javaws -version
--> firefox : about plugins
  • export JAVA_HOME pour tous les utilisateurs
# /etc/profile.d/java.sh
export JAVA_HOME="/usr/java/latest"

Eclipse

  • Supprimer la version installée lors de l'installation Centos 6.4
yum remove eclipse
eclipse-standard-kepler-SR1-linux-gtk-x86_64.tar.gz
eclipse-jee-kepler-SR1-linux-gtk-x86_64.tar.gz
eclipse-cpp-kepler-SR1-linux-gtk-x86_64.tar.gz
eclipse-java-kepler-SR1-linux-gtk-x86_64.tar.gz
  • Installation :
mkdir /opt/eclipse-4.3
cd /opt/eclipse-4.3
tar xzpf ../eclipse-standard-kepler-SR1-linux-gtk-x86_64.tar.gz
mv eclipse eclipse-standard
tar xzpf ../eclipse-java-kepler-SR1-linux-gtk-x86_64.tar.gz
mv eclipse eclipse-java
tar xzpf ../eclipse-jee-kepler-SR1-linux-gtk-x86_64.tar.gz
mv eclipse eclipse-jee
tar xzpf ../eclipse-cpp-kepler-SR1-linux-gtk-x86_64.tar.gz
mv eclipse eclipse-cpp
chown -R root eclipse-*
chgrp -R root eclipse-*
  • On partage les fichiers communs à travers des liens "hard" :
cd /opt/eclipse-4.3
mkdir lnk
cat > cr_lnk.sh << EOD
#!/bin/bash
exec ln -f "\$1" lnk/\`cat "\$1" | sha1sum - | cut -d ' ' -f 1\`
EOD
cat > use_lnk.sh << EOD
#!/bin/bash
exec ln -f lnk/\`cat "\$1" | sha1sum - | cut -d ' ' -f 1\` "\$1"
EOD
chmod +x cr_lnk.sh use_lnk.sh
find eclipse-* -type f -exec ./cr_lnk.sh '{}' ';'
find eclipse-* -type f -exec ./use_lnk.sh '{}' ';'
rm -rf lnk
rm *.sh
for N in eclipse-*; do mv $N `echo $N | sed -e 's/eclipse-//g'`; done
cd ..
  • Nettoyage et liens symboliques
rm -rf /opt/eclipse-*.tar.gz
ln -s /opt/eclipse-4.3 /opt/eclipse
ln -s /opt/eclipse/standard/eclipse /usr/local/bin/eclipse
ln -s /opt/eclipse/standard/eclipse /usr/local/bin/eclipse-standard
ln -s /opt/eclipse/cpp/eclipse /usr/local/bin/eclipse-cpp
ln -s /opt/eclipse/java/eclipse /usr/local/bin/eclipse-java
ln -s /opt/eclipse/jee/eclipse /usr/local/bin/eclipse-jee

Netbeans

chmod u+x netbeans-7.3.1-linux.sh
./netbeans-7.3.1-linux.sh
  • Customize : ajouter apache tomcat
  • Répertoires d'installation : mettre /opt/... pour toutes les installations
  • Fin d'installation : décocher la case "contribute to the netbeans project"
  • Liens symboliques
ln -s /opt/netbeans-7.3.1 /opt/netbeans
ln -s /opt/apache-tomcat-7.0.34 /opt/apache-tomcat
ln -s /opt/glassfish-4.0 /opt/glassfish
ln -s /opt/netbeans/bin/netbeans /usr/local/bin/netbeans

R

tar xvf R-3.0.1.tar.gz
cd R-3.0.1
./configure
make
make install
  • R est installé dans /usr/local/bin

Octave

# pcre-8.33.tar.gz
tar xvf pcre-8.33.tar.gz
cd pcre-8.33
./configure
make
make install
cd ..
rm -rf pcre-8.33
  • Installation octave :
# octave-3.6.4.tar.gz
tar xvf octave-3.6.4.tar.gz
cd octave-3.6.4
./configure --disable-docs
make
make install
cd ..
rm -rf octave-3.6.4
  • Installation effectuée dans /usr/local/bin
  • Extra packages : http://octave.sourceforge.net/packages.php
    • specfun
    • control
    • signal
    • audio
    • communications
    • general
    • image
    • io
    • miscellaneous
    • missing-functions
    • octgpr
  • Télécharger les tar.gz des packages et installer :
octave
octave >
pkg install audio-1.1.4.tar.gz
pkg install general-1.3.2.tar.gz
pkg install io-1.2.2.tar.gz
pkg install miscellaneous-1.2.0.tar.gz
pkg install missing-functions-1.0.2.tar.gz
pkg install octgpr-1.2.0.tar.gz
pkg install specfun-1.1.0.tar.gz
pkg install control-2.4.3.tar.gz
pkg install signal-1.2.2.tar.gz
pkg install communications-1.1.1.tar.gz
pkg install image-2.0.0.tar.gz
pkg list
  • Pour désinstaller un package : pkg uninstall image

kompozer

git-cola

make prefix=/usr install

libre office

  • Mise en oeuvre de liens symboliques standard
cd /usr/local/bin
ln -s /usr/bin/oocalc localc
ln -s /usr/bin/oodraw lodraw
ln -s /usr/bin/ooffice loffice
ln -s /usr/bin/ooimpress loimpress
ln -s /usr/bin/oomath lomath
ln -s /usr/bin/ooviewdoc loviewdoc
ln -s /usr/bin/oowriter lowriter

latex-beamer

bleachbit

  • Objet : optimisation de l'espace disque utilisé, suppression des fichiers temporaires et inutiles
  • Installation à partir d'un rpm, cf. : http://bleachbit.sourceforge.net/

Autres logiciels

Divers

  • Installations par binaires : binaires mis dans /opt, puis liens symboliques vers les applications dans /usr/local/bin
  • Chercher un rpm installé, ex : jre
rpm -qa jre
  • Update base de recherche locate
updatedb
  • Pour pouvoir lire un périphérique de stockage fonctionnant avec NTFS comme un disque dur externe ou votre partition Windows :
yum install ntfs-3g
  • Utiliser son compte avec sudo comme sous Ubuntu. Il faut être en root pour effectuer ces opérations
visudo

Il faut ajouter la ligne suivante dans le fichier

votrelogin    ALL=(ALL)      ALL

Puis enregistrer le fichier comme sous vim.