Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Mot-clefs : linux

Monitorix !

Frédéric Thouin

Cela faisait longtemp que je voulais un soft de monitoring sur mon serveur maison, sans non plus installer une usine type Nagios, mais qui me faisait tout de même une interface WEB pour surveiller le serveur à distance.

Avant j'utilisais multitail, glances, htop le tout en ssh via une session screen mais bon voila, c'est pas tip top et on a pas toujours une connexion ssh disponible.

Et voila que je tombe sur un article parlant de monitorix.

Facile à installer, à configurer, possibilité de mettre un htaccess pour bien sécuriser le tout.

Bref que du bonheur.

Exemples de screenshot :

site du projet :

monitorix

Lundi productif : gnome-session-properties : Préférences des applications au démarrage

Paquet Fedora du jour

gnome-session-properties Cet outil était jadis présent dans le menu Préférences de notre Fedora, depuis GNOME 3, cette application est toujours installée mais n'est plus présente ... un manque ... Il suffit de la lancer en ligne de commande afin d'en disposer ! Vous aurez à nouveau accès aux applications lancées au démarrage de votre session et surtout la possibilité d'en rajouter !

Installation en ligne de commande : yum install gnome-session

Installation avec l'interface graphique : GNOME > GNOME session manager

Localisation dans le menu : Pas disponible de les menus

Lancement en ligne de commande : /usr/bin/gnome-session-properties

Site web : http://www.gnome.org/

Minecraft Serveur At home

Frédéric Thouin

Et oui, je suis un Geek, je joue à MineCraft !

Pire que tout !! je joue seul mais sur un serveur perso !! WTF !!

Cela mérite une petite explication :

Configuration du client :

Je joue sur un eeePc : ASUS 1215B donc une configuration assez faible graphiquement et aussi au niveau du CPU.

J'ai testé de mettre Minecraft en condition minimal mais le FPS n'était pas trop au rendez-vous ( 15FPS max , même avec la version final 1.0).

Là, folie m'a pris de faire un test en créant un serveur Perso et ô bonheur je suis passé au dessus des 24 FPS \o/

Configuration du serveur :

Platforme : NEC Versa S970

CPU : Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz

RAM : 2 Go

System : Ubuntu 10.04 en mode texte. (une migration vers un serveur Fedora est en projet)

Installation et importation de la map solo :

On commence bien-sur par récupérer la version serveur de minecraft sur le site de minecraft

Et on la place dans un répertoire de son choix ( chez moi /media/minecraft )

il est maintenant possible de lancer le serveur sur le serveur avec cette commande :

java -Xmx1024M -Xms1024M -jar /media/minecraft/minecraft_server.jar nogui

Importation de la map perso : il suffit ce copier depuis votre serveur solo le répertoire comportant le monde de votre sauvagarde et la copier sur le serveur dans un répoertoire.

exemple :

scp -r ~/.minecraft/NOM_MAP user@ADRESSE_SERVEUR:/$MINECRAFT-SERVER_PATH/

Le nom de la map ( le répertoire contenant le monde ) doit être indiqué dans le fichier : /$MINECRAFT-SERVER_PATH/server.properties

level-name=NOM_MAP

Mise en place de Minecraft-server en mode service init

Cela évitera de lancer le serveur à la main quand on veut jouer.

voici mon script init :

#!/bin/bash
# /etc/init.d/minecraft

#Settings
SERVICE='minecraft_server.jar'
USERNAME="root"
MCPATH='/media/minecraft/'
BACKUPPATH='/media/minecraft/minecraft.backup/'

ME=`whoami`
as_user() {
  if [ "$ME" == "$USERNAME" ] ; then
    bash -c "$1"
  else
    su - $USERNAME -c "$1"
  fi
}

mc_start() {
  if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
  then
    echo "Tried to start but $SERVICE was already running!"
  else
    echo "$SERVICE was not running... starting."
    cd $MCPATH
    as_user "cd $MCPATH && screen -dmS minecraft java -Xmx512M -Xms512M -jar minecraft_server.jar  nogui"
    sleep 7
    if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
    then
      echo "$SERVICE is now running."
    else
      echo "Could not start $SERVICE."
    fi
  fi
}

mc_saveoff() {
        if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
   then
      echo "$SERVICE is running... suspending saves"
      as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER BACKUP STARTING. Server going readonly...\"\015'"
                as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-off\"\015'"
                as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'"
                sync
      sleep 10
   else
                echo "$SERVICE was not running. Not suspending saves."
   fi
}


mc_saveon() {
        if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
   then
      echo "$SERVICE is running... re-enabling saves"
                as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-on\"\015'"
                as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER BACKUP ENDED. Server going read-write...\"\015'"
   else
                echo "$SERVICE was not running. Not resuming saves."
   fi
}

mc_stop() {
        if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
        then
                echo "$SERVICE is running... stopping."
                as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map...\"\015'"
                as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'"
                sleep 10
                as_user "screen -p 0 -S minecraft -X eval 'stuff \"stop\"\015'"
                sleep 7
        else
                echo "$SERVICE was not running."
        fi
        if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
        then
                echo "$SERVICE could not be shut down... still running."
        else
                echo "$SERVICE is shut down."
        fi
}

mc_update() {
  if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
  then
    echo "$SERVICE is running! Will not start update."
  else
    MC_SERVER_URL=http://minecraft.net/`wget -q -O - http://www.minecraft.net/download.jsp | grep minecraft_server.jar\ | cut -d \" -f 2`
    as_user "cd $MCPATH && wget -q -O $MCPATH/minecraft_server.jar.update $MC_SERVER_URL"
    if [ -f $MCPATH/minecraft_server.jar.update ]
    then
      as_user "mv $MCPATH/minecraft_server.jar.update $MCPATH/minecraft_server.jar"
      echo "Minecraft successfully updated."
    else
      echo "Minecraft update could not be downloaded."
    fi
  fi
}

mc_backup() {
  if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
  then
#    echo "$SERVICE is running! Will not start backup."
#  else
    echo "Backing up minecraft data"
    if [ -d $BACKUPPATH/world_`date "+%m.%d.%Y"` ]
    then
      for i in 1 2 3 4 5 6
      do
        if [ -d $BACKUPPATH/world_`date "+%m.%d.%Y"`-$i ]
        then
          continue
        else
          as_user "cd $MCPATH && cp -r world $BACKUPPATH/world_`date "+%m.%d.%Y"`-$i"
          break
        fi
      done
    else
      as_user "cd $MCPATH && cp -r world $BACKUPPATH/world_`date "+%m.%d.%Y"`"
    fi
    echo "Backing up the minecraft server executable"
    if [ -f "$BACKUPPATH/minecraft_server_`date "+%m.%d.%Y"`.jar" ]
    then
      for i in 1 2 3 4 5 6
      do
        if [ -f "$BACKUPPATH/minecraft_server_`date "+%m.%d.%Y"`-$i.jar" ]
        then
          continue
        else
          as_user "cd $MCPATH && cp minecraft_server.jar \"$BACKUPPATH/minecraft_server_`date "+%m.%d.%Y"`-$i.jar\""
          break
        fi
      done
    else
      as_user "cd $MCPATH && cp minecraft_server.jar \"$BACKUPPATH/minecraft_server_`date "+%m.%d.%Y"`.jar\""
    fi
  fi
  echo "Backup complete"
}

#Start-Stop here
case "$1" in
  start)
    mc_start
    ;;
  stop)
    mc_stop
    ;;
  restart)
    mc_stop
    mc_start
    ;;
  update)
    mc_stop
    mc_backup
    mc_update
    mc_start
    ;;
  backup)
    mc_saveoff
    mc_backup
    mc_saveon
    ;;
  status)
    if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
    then
      echo "$SERVICE is running."
    else
      echo "$SERVICE is not running."
    fi
    ;;

  *)
  echo "Usage: /etc/init.d/minecraft {start|stop|update|backup|status|restart}"
  exit 1
  ;;
esac

exit 0

Il faut maintenant configurer ce service pour qu'il se lance au démarrage :

update-rc.d minecraft defaults

Cerise sur le gateau !

J'ai donc un serveur en place ! il est lancé automatiquement au démarrage du système. Et si je mettais en place une carte type google map du mon monde !

Pour cela je vais utiliser overviewer.

Voici un exemple de rendus : http://overviewer.org/example/s

Une fois avoir récupérer et installer overviewer, il faut penser à récupérer un texture pack depuis le répertoire du client et le placer sur le serveur.

Et enfin on peux lancer le rendus :

/usr/local/bin/overviewer.py --rendermodes='lighting,cave,night,spawn' /media/minecraft/p2/ /var/www/minecraft --textures-path /media/minecraft/MAPPER/overviewer-Minecraft-Overviewer-a690771/

bien-sur il faut aussi un serveur Web fonctionnel.

il ne reste plus qu'a mettre dans un script cette ligne de commande, la mettre dans une tache cron 1 fois par jour et le tour est joué.

Live-CDs Fedora francisés

Frédéric Thouin

Je vais reprendre en partie un post de DarthWoundt qui avec Casper est à l'origine de la francisation des Live-CD Fedora. Le post original que je vous conseil de suivre est là : LiveCDs Fedora en français.

Le problème est que les Live-CDs Fedora sont de base en anglais, et lorsqu'on les installe sur le disque dur, ceux-ci ne sont pas en français après l'instalation ( je fais cours). Il y a certes des façons de détourner ces problèmes mais elles ne sont pas innées surtout pour un nouvel utilisateur.

Il sera donc proposé dans ce post la liste des Live-CD francisés. Je vous conseille de passer part les fichiers Torrent et si possible de garder le seed une fois le téléchargement finit. Plus on sera nombreux à partager les isos, plus vite les téléchargements se feront.

I - Référencement des liveCDs disponibles :

Fedora 16 Gnome i686, par C@sp€r

Torrent: Fedora-16-Gnome-x86_64-FR.torrent

Fedora-16-Gnome-i686-FR

Fedora-16-Gnome-i686-FR.CHECKSUM

Fedora 16 Gnome x86_64, par slobberbone

Torrent: Fedora-16-Gnome-x86_64-FR.torrent

Fedora-16-Gnome-x86_64-FR.iso

Fedora-16-Gnome-x86_64-FR.CHECKSUM

Fedora 16 KDE i686, par penthium2

Torrent: Fedora-16-KDE-i686-FR.torrent

Fedora-16-KDE-i686-FR.iso

Fedora-16-KDE-i686-FR.CHECKSUM

Fedora 16 KDE x86_64, par Did

Torrent: Fedora-16-LXDE-i686-FR.torrent

Fedora-16-KDE-x86_64-FR.iso

Fedora-16-KDE-x86_64-FR.CHECKSUM

Fedora 16 LXDE i686, par DarthWound

Torrent: Fedora-16-LXDE-i686-FR.torrent

Fedora-16-LXDE-i686-FR.iso

Fedora-16-LXDE-i686-FR.CHECKSUM

Fedora 16 LXDE x86_64, par Did

Torrent: Fedora-16-LXDE-x86_64-FR.torrent

Fedora-16-LXDE-x86_64-FR.iso

Fedora-16-LXDE-x86_64-FR.CHECKSUM

Fedora 16 Xfce i686 et x86_64

Xfce contient un paquet qui déclenche une erreur critique à l'heure où ce post a été rédigé.

Serveur Alternatif ( Merci a Did ) :

http://alez.fr/fedora_FR.php

Migration vers boot express card SSD

Frédéric Thouin

Quel bonne nouvelle de voir que le kmod-staging était de retour pour ma fedora 15 et donc le module kernel phison. Celui-ci me permet enfin d'utiliser mon expresscard verbatim SSD 16Go. Et là l'idée me prends de migrer ma partition racine (20Go, ocupé 9.3Go) qui est sur mon HDD SATA 5200rpm 500Go vers l'express card.

Problématique

Mon DELL Studio 1737 ne reconnait pas mon expresscard comme périphérique bootable, donc grub ne le voit pas non plus. Mon ExpressCard SSD demande obligatoirement un module kernel spécifique ( phison ) contenu dans les kmod-staging.

Etat des lieux

voici actuelement la séquance de boot de mon system : grub :

title Fedora (2.6.40.3-0.fc15.x86_64)
        root (hd0,2)
        kernel /boot/vmlinuz-2.6.40.3-0.fc15.x86_64 ro root=UUID=d5cb1ae8-748b-4af6-94cb-92188effabb7 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=fr_FR.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=fr-latin9 rhgb quiet
        initrd /boot/initramfs-2.6.40.3-0.fc15.x86_64.img
title Fedora (2.6.40-4.fc15.x86_64)
        root (hd0,2)

grub récupère le kernel et initramfs sur la partition /dev/sda3.

Principe du futur boot

Utilisé la partition STATA /dev/sda3 qui contient grub et les fichiers du kernel comme partition de boot utiliser pour grub et le chargement du noyau et indiquer où est la nouvelle racine du systeme. A la fin du boot la partition /dev/sda3 ne sera pas montée.

Préparation de l'enviroment de travail

Pour bien faire il me faut un live USB qui contient le module phison.

Avec l'aide du soft : Fedora LiveUSB creator je crée donc une distrib fedora 15 avec une persistance des données.

Je boot dessus et j'intègre les dépôts RPM-fusion afin d'installer le kmod-staging.

Hop cela installe en même temps le dernier kernel, et à partir de maintenant le module phison est monté quand le ssd est présent au démarage.

Génaration de la racine SSD

Reboot sur liveUSB et préparation de la futur racine :

une fois booté sur le liveUSB je monte la racine SATA ( /dev/sda3 ) dans /source, et la futur racine SSD ( /dev/sdc1 ) dans /dest

Copie de la racine

cp -a /source/* /dest

Préparation au reboot

INITRD

Là un point important qu'il faut bien prendre en compte est que l'image initramfs-2.6.40.3-0.fc15.x86_64.img actuelle placer sur /dev/sda3 ne contient pas le module phison, donc de base le boot du kernel ne peut pas voir l'expressCard. Il faut donc créer un initramfs avec le module phison. Biensur cette image devra etre dans le répertoire /boot de /dev/sda3 ( actuelement monté dans /source)

 mkinitrd --preload phison -f /source/boot/initramfs-2.6.40.3-0.fc15.x86_64ssd.img 2.6.40.3-0.fc15.x86_64

Cette commande est donc composé de :

--preload phison : indique qu'un module complémentaire doit etre intégré à l'image.

-f /source/boot/initramfs-2.6.40.3-0.fc15.x86_64ssd.img : indique le nom de l'image à créer

2.6.40.3-0.fc15.x86_64 : indique la version du kernel à utiliser pour générer l'initrd.

Nous somme donc avec une image initrd contenant le module phison, et une image ne contenant pas ce module.

Je rajoute donc une nouvelle ligne dans le grub.conf de la partition /dev/sda3 (/source/boot/grub.conf) :

title Fedora SSD (2.6.40.3-0.fc15.x86_64)
        root (hd0,2)
        kernel /boot/vmlinuz-2.6.40.3-0.fc15.x86_64 ro root=UUID=6530d8a4-7406-4163-9735-64c4b9175b83 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=fr_FR.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=fr-latin9 rhgb quiet
        initrd /boot/initramfs-2.6.40.3-0.fc15.x86_64ssd.img

J'indique donc à grub que ses fichiers seront du hd0,2 (/dev/sda3) et que la racine du système n'est plus sur UUID du /dev/sda3, mais sur l'UUID de l'expresscard (/dev/sdb1).

Et biensur je lui dis d'utiliser le initrd contenant le module phison ( /boot/initramfs-2.6.40.3-0.fc15.x86_64ssd.img ).

FSTAB

Il faudra bien-sur modifier le fstab de la nouvelle racine ( actuellement monter dans /dest/etc/fstab) et changer l'UUID de /dev/sda3 pour celui de /dev/sdc1.

UUID=6530d8a4-7406-4163-9735-64c4b9175b83 /                       auto    defaults        1 1

SELINUX

Puis qu'on a effectué une simple copie de la racine SATA vers la racine SSD il faut obligatoirement préparer le premier boot en SSD pour que SELINUX relabèlise les fichiers de la nouvelle racine.

Dans le cas contraire le système de démarrera pas car SELINUX refusera de donner accès aux fichiers système ( une solution par très propre est de rajouter selinux=0 dans la ligne du kernel dans grub.conf A NE PAS FAIRE).

Pour cela il faut créer un fichier .autorelabel à la racine du du futur filesystem racine. donc ici :

touch /dest/.autorelabel

Lors du boot, selinux voyant se fichier, il tentera de relabéliser le filesystem, cela peut prendre un certain temps, et dans mon cas j'ai du rebooter 2 fois pour que la relabélisation soit complète.

résumer

On a donc copier la racine sur le ssd, générer un initrd spécifique avec le module phison ( prise en charge de l'expresscard) copier dans le /boot (de la partition SATA), ajouter une entré dans le grub.conf (de la partition SATA), modifier le fstab ( de la partition SSD), préparé la racine SSD pour que selinux relabélise le file system)

REBOOT

C'est le moment de prier crom, car on va rebooté le système. au reboot on indique bien à grub de booter sur l'entrée Fedora SSD (2.6.40.3-0.fc15.x86_64) et la magie s'opère.

Et le futur ?

La dificulté de tout cela sera dans les mise à jours du kernel (c'est pas tout les jours), et de grub ( c'est encore plus rare).

Pour les mise à jours du kernel il ne faudra simplement pas oublier de régénérer un initrd pour la nouvelle version de kernel, copie le nouveau kernel et l'initrd_ssd dans le repertoire /boot de la partition /dev/sad1. et modifier le grub.conf dans la partition /dev/sda3.

Pour les mise a jours de grub, je vois pas trop, à la limite je ne le metterais pas à jours.

Conclusion

temps de boot

voila mon temps de boot avant :

Sep  1 08:12:35 dellp2 systemd[1]: Startup finished in 1s 457ms 538us (kernel) + 7s 17ms 520us (initrd) + 38s 393ms 430us (userspace) = 46s 868ms 488us.

et après :

Sep  1 11:06:29 dellp2 systemd[1]: Startup finished in 1s 415ms 263us (kernel) + 11s 357ms 679us (initrd) + 20s 101ms 712us (userspace) = 32s 874ms 654us.

soit un gain de 14secondes. ce qui est bien mais pas top.

vitesse des disques

hdparm -Tt /dev/sda
/dev/sda:
 Timing cached reads:   3204 MB in  2.00 seconds = 1603.48 MB/sec
 Timing buffered disk reads: 224 MB in  3.04 seconds =  73.71 MB/sec

hdparm -Tt /dev/sdb
/dev/sdb:
 Timing cached reads:   3312 MB in  2.00 seconds = 1657.42 MB/sec
 Timing buffered disk reads: 328 MB in  3.02 seconds = 108.74 MB/sec

Soit un gain de 35MB/sec ce qui là n'est pas négligeable, et l'ouverture des applications est réellement plus rapide.

Pour rappelle l'expresscard Verbatim SSD 16Go sur mon pc est conecté en PCIexpress 1X !!

Donc cela m'ouvre la porte vers l'envie d'acheter un disque SATA SSD qui là donnera bien plus de performances.

Création d'un dépôt RPM à base de Fedora

Alexandre Frandemiche

Introduction

Je vais partir du principe que nous allons créer un dépôt RPM pour Fedora 14 et CentOS/RHEL 5 dans /var/www/html/linux/. Voici l'arborescence :

/var/www/html/linux/fedora/14/i386/
/var/www/html/linux/fedora/14/x86_64/
/var/www/html/linux/el5/5/i386/
/var/www/html/linux/el5/5/x86_64/

Chacun des chemins cités ci-dessus est un dépôt. Ainsi, dans ce qui suit on remplacera /path/myrepo par /var/www/html/linux/fedora/14/i386/ puis pour l'ensemble des commandes par /var/www/html/linux/fedora/14/x86_64/ et ainsi de suite pour chacune des architecture des distributions que concerne notre dépôt.

Vos rpm seront donc présents avant la génération de createrepo et repoview ;)
MyRepo

Préparation des chemins contenant les RPM

su -lc 'mkdir -p /var/www/html/linux/fedora/14/i386/'
su -lc 'mkdir -p /var/www/html/linux/fedora/14/x86_64/'
su -lc 'mkdir -p /var/www/html/linux/el5/5/i386/'
su -lc 'mkdir -p /var/www/html/linux/el5/5/x86_64/'


Pour el5, on peut installer des pré-configuration lors de l'installation de l'OS, du coup, $releaseversion n'est pas forcément 5, mais peut être 5Workstation, 5client ou 5Server. Dans ce cas on en profite pour créer des liens symboliques :
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Workstation'
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Client'
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Server
'

Installer un dépôt RPM

Installation d'un serveur web

Tout d'abord commençons par installer un serveur Apache :
su -lc 'yum install httpd'

Configuration du dépôt

Pour configurer notre dépôt, nous allons utiliser l'outil createrepo :
su -lc 'yum install createrepo'

Créons dans /etc/httpd/conf.d/ un fichier de configuration pour notre dépôt dans Apache :
su -lc 'vi /etc/httpd/conf.d/repository.conf'

Voici le contenu du fichier :

<Directory /var/www/html/>
    Options Indexes
    Options Indexes FollowSymLinks
    Order allow, deny
    Allow from all
</Directory>

Création du dépôt

La commande de base pour créer une dépôt est createrepo :
createrepo /path/monrepo

Le plus souvent, on crée un dépôt en générant une base sqlite (cela nous sera utile pour repoview), pour cela, il faut utiliser l'option -d :
createrepo -d  /path/monrepo

L'option -g permet de prendre en compte un groupe de RPM définit dans un fichier comps.xml :
createrepo -d -g /path/comps.xml /path/monrepo

Ainsi, nous pourrons utiliser les commandes yum grouptruc avec notre dépôt !

L'option --unique-md-filenames semble utile, notamment lorsque 'lon a plusieurs mirroir, permet ede donner un nom unique aux metadatas.
L'option --checksum sha est indispensable pour le dépôt EL-5 (la valeur par défaut, sha256, est ok pour fedora >= 11 et EL >= 6)

Donc au final on se retrouve avec :

createrepo --unique-md-filenames --checksum sha -d -g /path/comps.xml /path/monrepo

Génération de repoview

Un dépôt, c'est bien, de quoi le parcourir avec un design sympa, c'est mieux !

Installation de Repoview

su -lc 'yum install repoview'

Utiliser l'option -d sur la commande createrepo afin de créer la base sqlite qui sera utilisée par repoview.

Création des page html via repoview

Ensuite, c'est très simple on demande à repoview de créer les pages qui permettront de naviguer dans notre dépôt !
repoview /path/monrepo

Pour terminer, assurons-nous de disposer des droits pour l'utilisateur apache :
su -lc 'chmod o+rX /path/monrepo'

Exemple de fichier Comps.xml afin de créer des groupes de rpm

Si vous désirez installer l'ensemble de vos rpm dans votre repo, ou un sous-ensemble spécifique, vous devrez créer un fichier de groupes : comps.xml. Pour notre exemple, si nous voulions que myrpm.noarch.rpm soit installé par défaut et mybinrpm.i386.rpm soit une option, nous créerions un fichier de comps.xml comme ceci :

    <comps>
    <!--  <meta> -->
    <!-- Meta information will go here eventually -->
    <!--  </meta> -->
      <group>
        <id>mygroup</id>
        <name>MyGroup</name>
        <default>true</default>
        <description>Default RPMS from MyRepo</description>
        <uservisible>true</uservisible>
        <packagelist>
          <packagereq type="default">myrpm</packagereq>
          <packagereq type="optional">mybinrpm</packagereq>
        </packagelist>
      </group>
    </comps>

Pensez à relancer createrepo afin que vos groupes soient accessibles par les personnes ayant votre dépôt de configuré !

Ajout de pages manquantes

Cette opération est effectuée qu'un seule fois à la création de l'arborescence, puis à l'ajout d'un release ou d'une distribution.

Index principal dans /var/www/html/

Notre dépôt est prêt, reste à y ajouter quelques pages et feuilles de style !
su -lc 'vi /var/www/html/index.html
Voici le contenu :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<head>
        <meta content="text/html; charset=utf-8" http-equiv="content-type" />
        <title>RepoView: MyRpo</title>
        <link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/css/repostyle.css" type="text/css" rel="stylesheet" />
        <meta content="index,follow" name="robots" />
        <link rel="shortcut icon" href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/favicon.ico" />
</head>
<body>
    <div id="page">
        <div id="top">
            <h1><span><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">My - Packages</a></span></h1>
        </div>
        <p id="prelude"><a href="http://www.opti-time.com/">Site</a> | <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">Dépôt</a></p>
        <div id="wrapper">
            <div id="main">
                <div id="content">
                    <h2>Download mirrors</h2>
                    <ul class="pkglist">
                        <li><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html" class="inpage">http://monurl/linux/</a> - <strong>primary</strong></li>
                    </ul>
                    <h2>Distribution choice</h2>
                    <h3>Fedora - Maintained version</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/fedora/14/index.html" class="inpage">Fedora 14 (Laughlin)</a> -
                                                        repository auto-configuration package : <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/fedora/14/x86_64/my-repo-fedora-2.0-0.0.fc14.noarch.rpm">My-repository-fc-14.rpm</a>
                        </li>
                    </ul>
                    <h3>Enterprise Linux (RHEL / CentOS / Other clones)</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/el5/5/index.html" class="inpage">Enterprise Linux 5.5</a> -
                            repository auto-configuration package : <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/el5/5/x86_64/my-repo-el5-2.0-0.0.el5.noarch.rpm">My-repository-el-5.rpm</a>
                        </li>

                    </ul>
                    <h2>Other resources</h2>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/RPM-GPG-KEY-MyRepo.gpg" class="inpage">RPM-GPG-KEY-MyRepo</a>: the GnuPG public key of the key pair used to sign MyRepo's packages
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        <div id="footer">
            <ul id="w3c">
                <li>
                    <a id="vxhtml" href="http://validator.w3.org/check/referer">XHTML 1.1 valide</a>
                </li>
                <li>
                    <a id="vcss" href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2.0 valide</a>
                </li>
            </ul>
            <p>
                by <a href="http://mricon.com/trac/wiki/Repoview">Repoview</a> | Designed for <a href="http://www.myRepo.org/">MyRepo</a>
            </p>
        </div>
    </div>
</body>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>

su -lc 'vi /var/www/html/css/repostyle.css
Voici le contenu :

ul, ul li {
    list-style: none;
    }
a:link, a:visited {
    color: #000;
    text-decoration: underline;
    }
a:hover {
    color: #000;
    text-decoration: none;
    }
.nav {
    text-align: right;
    color: gray;
    font-size: small;
    }
.nactive {
    border-bottom: 1px dotted blue;
    background-color: lavender;
    color: blue;
    font-size: small;
    text-decoration: none;
    }
.ninactive {
    color: gray;
    font-size: small;
    }
.nlink {
    text-decoration: none;
    color: blue;
    font-size: small;
    }
.nlink:hover {
    background-color: lavender;
    border-bottom: 1px dotted blue;
    font-size: small;
    }
.inpage {
    text-decoration: none;
    color: blue;
    }
.inpage:hover {
    background-color: mistyrose;
    color: red;
    border-bottom: 1px dotted red;
    }
.levbar {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 11em;
    height: 100%;
    border-right: 4px dotted gray;
    border-bottom: 4px dotted gray;
    background-color: gainsboro;
    }
.main {
    position: absolute;
    left: 13em;
    width: 75%;
    }
h1,h2,h3,h4,h5 {
    border-bottom: 1px dotted gray;
    border-top: 1px dotted gray;
    background-color: whitesmoke;
    font-weight: normal;
    }
.pagetitle {
    border-top: 1px dotted gray;
    border-bottom: 1px dotted gray;
    padding-top: 5%;
    padding-bottom: 5%;
    margin-top: 5%;
    margin-bottom: 5%;
    text-align: center;
    width: 100%;
    color: gray;
    background-color: white;
    }
dt  {
    font-weight: bold;
    margin-top: 1%;
    }
th  {
    background-color: whitesmoke;
    text-align: left;
    }
.field  {
    background-color: whitesmoke;
    text-align: right;
    }
.levbarlist {
    list-style-type: none;
    padding: 5%;
    border-top: 1px dotted gray;
    border-bottom: 1px dotted gray;
    background-color: whitesmoke;
    }
.pkglist {
    padding-top: 2%;
    padding-bottom: 2%;
    list-style-type: circle;
    }
.letterlist {
    background-color: whitesmoke;
    }
.letterlist a {
    padding-left: 0.2em;
    padding-right: 0.2em;
    }
.footernote {
    text-align: right;
    font-size: small;
    background-color: whitesmoke;
    border-top: 1px dotted gray;
    color: gray;
    }
.repoview {
    text-decoration: none;
    color: gray;
    border-bottom: 1px dotted gray;
    font-size: small;
    }
.repoview:hover {
    background-color: lavender;
    border-bottom: 1px dotted blue;
    color: blue;
    font-size: small;
    }

NB : Ce style est très fortement/probablement inspiré de celui qu'utilise Remi pour ses dépôts !

Index de redirection dans /var/www/html/linux/

su -lc 'vi /var/www/html/linux/index.html'
Voici le contenu :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="refresh" content="0; url=../index.html" />
<title>Repository MyRepo</title>
<meta name="robots" content="noindex,follow" />
<link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../css/repostyle.css" type="text/css" rel="stylesheet" />
</head>

<body>
<p><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../index.html">Packages MyRepo</a></p>
</body>
</html>

Index dans chacun des dépôts

Ici placez cet index autant de fois que de distributions supportée par votre dépôt
su -lc 'vi /var/www/html/linux/fedora/14/index.html'
Voici le contenu :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <meta content="text/html; charset=utf-8" http-equiv="content-type" />
    <title>Opti-Time - Fedora 14</title>
    <link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/i386/repoview/layout/repostyle.css" type="text/css" rel="stylesheet" />
    <meta content="index,follow" name="robots" />
    <link rel="shortcut icon" href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../favicon.ico" />
</head>
<body>
    <div id="page">
        <div id="top">
            <h1><span><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../../index.html">MyRepo- Packages</a></span></h1>
        </div>
        <p id="prelude"><a href="http://www.myrepo.com/">Site</a> | <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">Dépôt</a></p>
        <div id="wrapper">
            <div id="main">
                <div id="content">
                        <h2>Fedora 14 (Laughlin)</h2>
                    <h3>MyRepo</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/i386/repoview/index.html" class="inpage">i386</a>
                        </li>
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/x86_64/repoview/index.html" class="inpage">x86_64</a>
                        </li>
                    </ul>
                    <!--<h3>MyRepo-test</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/test/i386/repoview/index.html" class="inpage">i386</a>
                        </li>
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/test/x86_64/repoview/index.html" class="inpage">x86_64</a>
                        </li>
                    </ul>-->
                </div>
            </div>
            <div id="sidebar">
                <h2>fedora 14</h2>
                <ul class="levbarlist">
                    <li>
                        <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../../index.html" class="nlink" title="Back to distribution choice">Back to distribution choice</a>
                    </li>
                </ul>
            </div>
        </div>
        <div id="footer">
            <ul id="w3c">
                <li>
                    <a id="vxhtml" href="http://validator.w3.org/check/referer">XHTML 1.1 valide</a>
                </li>
                <li>
                    <a id="vcss" href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2.0 valide</a>
                </li>
            </ul>
            <p>
                by <a href="http://mricon.com/trac/wiki/Repoview">Repoview</a> | Designed for <a href="http://www.myrepo.com/">MyRepo</a>
            </p>
        </div>
    </div>
</body>

<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>

NB : changez donc fedora et 14 par el5 et 5 pour CentOS et RHEL.

Terminons par redonner la propriété du répertoire /var/www/html/ à apache :
su -lc 'chown -Rf apache:apache /var/www/html/'Merci Remi !
su -lc 'chmod o+rX /path/monrepo'

Scripts de régénération automatique des dépôts

Tâche que vous allez vous trouvez à faire souvent, voici donc un script pour le dépôt el5.5 (effectué avec les droits root) :

#!/bin/sh

chown -R apache:apache /var/www/html/linux/el5/
createrepo -g ~/comps.xml -d /var/www/html/linux/el5/5/i386/
createrepo -g ~/comps.xml -d /var/www/html/linux/el5/5/x86_64/
repoview /var/www/html/linux/el5/5/i386/
repoview /var/www/html/linux/el5/5/x86_64/
#permet d'avoir le même style que l'index.html
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/el5/5/i386/repoview/layout/
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/el5/5/x86_64/repoview/layout/
/etc/init.d/httpd reload

Et pour Fedora 14 :

#!/bin/sh

chown -R apache:apache /var/www/html/linux/fedora/
createrepo -g ~/comps.xml -d /var/www/html/linux/fedora/14/i386/
createrepo -g ~/comps.xml -d /var/www/html/linux/fedora/14/x86_64/
repoview /var/www/html/linux/fedora/14/i386/
repoview /var/www/html/linux/fedora/14/x86_64/
#permet d'avoir le même style que l'index.html
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/fedora/14/i386/repoview/layout/
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/fedora/14/x86_64/repoview/layout/
/etc/init.d/httpd reload

Génération de la clé GPG et du fichier myrepo.repo

Pour finaliser votre dépôt, il vous faut une clé GPG qui va authentifier vos rpm présents sur le dépôt, je vous invite à lire GnuPG : Signature et Chiffrement afin de créer votre propre clé GPG.
Ensuite, il va falloir ajouter la définition de votre dépôt et la clé GPG à chacun de vos "clients" de votre dépôt.
Voici le fichier qui sera dans /etc/yum.repo.d/
su -lc 'vi /etc/yum.repo.d/myrepo.repo'

[MyRepo]
name=MyRepo Repository for Enterprise Linux $releasever - $basearch
baseurl=http://repository.opti-time.net:81/linux/el5/$releasever/$basearch/
enabled=1
#failovermethod=priority
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MyRepo.gpg

Et comme un exemple est toujours mieux qu'un beau discours, voici le contenu de mon fichier myrepo.spec qui me permet de générer un rpm pour ajouter MyRepo !

Name:           myrepo-repo-el5
Version:        1.0
Release:        0.0%{?dist}
Summary:        This package is the repository of MyRepo

Group:          Applications/ProjectManagement
License:        GPL
URL:            http://www.myrepo.org/linux/
Vendor:        Slobberbone
Source0:        %{name}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:    noarch

%description
Repository RHEL / Centos for MyRepo

%prep

%setup -q

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/yum.repos.d/
mkdir -p %{buildroot}%{_sysconfdir}/pki/rpm-gpg/
install -c -m 755  optitime.repo %{buildroot}%{_sysconfdir}/yum.repos.d/
install -c -m 755 RPM-GPG-KEY-Opti-TimeSA.gpg %{buildroot}%{_sysconfdir}/pki/rpm-gpg/

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%{_sysconfdir}/yum.repos.d/optitime.repo
%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Opti-TimeSA.gpg

%changelog
* Wed  Aug 17 2011 MyRepo <slobberbone@myrepo.org> 1.0-1.1
- initial release

Bien-sur, il faudra en faire un pour Fedora 14, en remplaçant el5 par fc ;)
Il ne faut pas oublier que lorsque vous mettez vos RPM sur le dépôt que ceux-ci soient signés grâce à la commande :
rpmsign --addsign monrpm.rpm

Conclusion

Vous voilà fin prêt ! La technique n'est peut-être pas orthodoxe, mais ça a le mérite de fonctionner ! Comme d'habitude, je vous invite à me laisser des commentaires afin de l'améliorer !

Man Of Man @ HOME

Frédéric Thouin

Dans un ancien article je vous avais parler du super Man of Man. Et bien j'ai décidé de l'auto héberger.

Apres une petit configuration DNS en utilisant un CNAME home.penthium2.org vers mon enregistrement DynDNS, l'ouverture du port qui va bien sur ma livebox ( ARG ) voici donc : HOME MAN OF MAN

Mise à jour de la carte Software Wars

Thomas Canniot Vous connaissez certainement la carte « Software Wars », par Steven Hilton et Andy Tai. Et bien comme cette dernière n’était plus à jour depuis des années, j’ai occupé mon week-end à la mettre à jour et la refaire en SVG.

Je vous en propose donc la consultation ci-dessous ou depuis la page prévue à cet effet.

software_wars_small.png




N’hésitez pas à laisser un petit commentaire, si j’ai fais une erreur quelque part, sait-on jamais !

Not that bad...

Thomas Canniot

[mrtom@localhost ~]$ systemd-analyze
Startup finished in 3240ms (kernel) + 3616ms (initrd) + 19751ms (userspace) = 26608ms

Soirée Fedora|Lyon

Fedora Lyon

Bonjour à tous!

Les Fedoristas Lyonnais se réuniront mercredi 19 Janvier au Chevreul pour célébrer la Nouvelle Année 2011! (boire, manger etc...)

Comme d'habitude, rendez-vous au Chevreul à partir de 18h30, pensez à laisser un petit mot si vous comptez passer pour le repas.

L'adresse: Bar le Chevreul 35 Rue Saint-Jérôme 69007 Lyon.

kiko

Fedora 8 est de retour !

Thomas Canniot

C’est la fin des vacances et j’en ai profité pour remettre une petite Fedora 8. Séquence souvenirs.

Alors que la prochaine version de Fedora n’est pas prévue avant le mois de mars, au plus tôt, Fedora 8 s’affiche avec toute sa maturité sur mon PC. Qu’elle était belle cette Fedora 8 ! Sortie le 8 novembre 2007… cela ne nous rajeunit vraiment pas ! Encore moins l’association Fedora-fr, qui abordait ces premiers mois d’activité. Fedora 8 était proposée avec un noyau Linux 2.6.23, Firefox 2.0.0.19, GNOME 2.20 et KDE 3.5.14. Ce fut la dernière version de KDE 3 proposée par Fedora, avant le grand chamboulement vers la 4, sans concession aucune de la part du Projet.

Fedora 8 c’était aussi les débuts de PulseAudio, la refonte de system-config-printer et de system-config-firewall, une version entièrement libre de Java 1.7, IcedTea ainsi que les prémices des environnements de bureaux connectés aux services web, avec GNOME Online Desktop. C’était le bon temps ! Comme nous le rappelle Patrice à chaque sortie d’une nouvelle version, Fedora 8 était l’une des versions les plus performantes que le Projet n’est jamais sortie.

Je vous laisse en compagnie des captures d’écrans et des notes de versions. Bonne et heureuse année à tous !

Soirée Fedora|Lyon

Fedora Lyon

Bonjour à tous,

Nouvelle soirée Fedora|Lyon mardi 07/12 à partir de 18h30 à la veille de la Fête des Lumières.

Venez nous rencontrer la team-fedora|lyon. Faire connaissance, manger autour d'un copieux repas et boire autour d'une/des bonne(s) bière(s).

L'adresse: Bar le Chevreul 35 Rue Saint-Jérôme 69007 Lyon.

On vous attend!

kiko

Install Party: Sup'Info...on y était...

Fedora Lyon

Bonjour à tous!

Ce samedi 27 novembre 2010, de 10 h à 17 h, une install party était organisée par le Labo-Linux Lyon de SUPINFO, en collaboration avec l'ALDIL et des communautés Linux. Fedora était bien de la party ;)" class="smiley

De belles salles, bien équipées avec de la fibre optique...

Il y a eu pas mal de monde, surtout l'après-midi.

Pas de demande d'install Fedora mais Haikel, Yann et moi avons aidé dans les différents problèmes techniques, configurations et autres. Agrémentés de discussions interessentes.

Une bonne journée en somme.

Pour rappel Le lieu : "SUPINFO Lyon" : Les Jardins d'Osaka 16 rue Jean Desparmet. 69008 LYON

Passez tous un bon we!

kiko

Soirée Fedora|Lyon

Fedora Lyon

Bonjour tout le monde!

Nouvelle soirée Fedora|Lyon ce soir 10/11 à partir de 18h30 en cette veille de long we pour certains.

Venez boire des bierres au bar le Chevreul et passer un super bon moment à discuter autour du Libre. Le nombre de personnes pour la restauration étant déjà prévu.

L'adresse: Bar le Chevreul 35 Rue Saint-Jérôme 69007 Lyon.

On vous attend!

kiko

Des drivers wifi Broadcom open-source

Edouard Bourguignon

Il semblerait que le choix du materiel pour un poste sous Linux devient de plus en plus facile. Après ATI/AMD, Intel, et un peu VIA, qui déjà proposent plus ou moins des pilotes libres, on vient d'apprendre que Broadcom fera de même. Avec en plus, a priori des pilotes complètement open-source (pas de binaire fermé?). Cela concerne les chipsets pour wifi 802.11n, les actuels BCM4313, BCM43224, BCM43225 seront donc supportés mais aussi tous ceux qui supportent la couche mac80211. Le pilote s'appelle brcm80211 et sera intégré aux prochains kernel si tout ce passe bien (2.6.37?).

L'annonce est ici

PS: Nvidia doit commencer à se sentir seul...

Nouvelle rentrée 2009 pour Fedora-Fr Lyon...

Fedora Lyon

Bonjour à tous,

Je me présente, je suis François Trachez alias kiko.

Sereinity nous ayant quitté en ce début dannée pour de nouveaux horizons, je reprend les activités Fedora-Fr sur Lyon.

Je remercie tout dabord Sereinity pour toute son energie dépensée à organiser les soirées Fedora et autre stand des Journées du Libres.
Ensuite je remercie toutes les personnes ayant participées de près ou de loin à ces memes évènements (karl, killwin, fabien, pingoomax, yann…).
Toutes ces franches rigolades au 6e continent, aux restos et aux bars (ben oui avec un “s”…on est adepte des “bars parallèles”….mdr), les discussions constructives…

Je souhaite donc que toute cette energie, cette sympathie, cette bonne humeur, et cette envie autour du Libre continuent encore en cette belle année 2009…

Lannée commence fort avec les JDLL (les 16 et 17/10 prochains) et je lance un appel aux bonnes volontées pour venir aider directement ou indirectement à cet évènement qui prend de plus en plus dampleur cette année.
Pour cela, jorganise une soirée rencontres le jeudi 10/09 au resto le Cheuvreul (35 r St Jérôme 69007 LYON), avant la soirée Fedora-Fr (le 22/09).

Je vous attend donc pour les retrouvailles (pour certains) et de nouvelles rencontres (pour les autres).
Venez nombreux.

Rendez vous donc pour le jeudi 10/09 au Cheuvreul, à partir de 19-19h30 (noubliez pas de me dire qui est sur de venir).

kiko.

Ajouter un disque à une pile RAID 1

Fabien Amann Les disques se rebellent

Linux Identity Kit : Fedora 11

Fabien Amann Trois de mes articles publiés

Squid pour l’Iran

Fabien Amann Mettre en place un serveur proxy