Le blog de llaumgui

Linux en général, Fedora / CentOS en particulier...

Aller au contenu | Aller au menu | Aller à la recherche

mardi 10 novembre 2009

Script pour accélérer la mise à jour de paquet dans l'infrastructure du Fedora Projects

En temps que packageur pour Fedora & EPEL, je suis sauvant amené à consulter cette page pour me remémorer la procédure de mise à jour d'un package dans Fedora. Le problème est qu'en cas de paquet à maintenir conjointement (eZ Components par exemple), on se retrouve vite à répéter les mêmes taches dans x terminaux...

Lire la suite...

jeudi 21 août 2008

a2ensite & a2dissite sous Enterprise Linux et Fedora

S'il y a bien une chose que j'apprécie sur Debian, c'est la façon dont ils ont packagé Apache. En effet, sous Debian, les fichiers vhost sont déposés dans /etc/apache2/site-available (bon, apache2 vs httpd c'est discutable…) et pour activer un vhost il suffit de faire un lien vers le fichier dans le répertoire /etc/apache2/site-enabled.

Pour cela, les packagers ont crée 2 scripts a2ensite (activation) et a2dissite (désactivation). Sur les serveurs que je gère, à base de RHEL tout comme à base de Fedora, j'ai pris l'habitude de travailler de la même façon. J'ai alors porté les 2 scripts cité plus haut pour ces environnements. J'en ai aussi profité pour les modifier et en améliorer quelque peu la lisibilité (les goûts et les couleurs...).

Comme en ce moment je suis clairement dans une politique de packaging, je me suis fait un petit rpm qui va me permettre de reporter facilement ces 2 scripts sur mes nouveaux serveurs et aussi de créer les 2 répertoires site-(enabled|disabled). Si vous aussi vous appréciez les a2scripts de Debian ainsi que cette façon de travailler, je vous les mets à disposition.

Je pense aussi très prochainement intégrer mon script new_site dans ce RPMs donc affaire à suivre…

Remarque : Le RPMs pour propager des scripts et des configurations sur des serveurs c'est quand même le top ! Un rpm –qa et j'ai la version du script en place

Télécharger les RPM :

vendredi 31 août 2007

Mise à jour automatique de Dotclear 2.0 et de ses plugins, à partir du SVN (update)

Je mets très souvent mon blog à jour à partir de la dernière version SVN de Dotclear 2.0. Jusqu'à présent, je faisais un svn co sur ma machine locale, puis je virais les répertoires inutiles (rm -rf `find ./ -name .svn`) et enfin j'envoyais le tout sur mon ftp. On obtient alors une version de Dotclear à jour et sans fichiers .svn. Le revers de la médaille étant le temps passé à faire la manip'. Je me suis donc fais un petit script pour automatiser tout ça :

  1. Mise à jours des sources de Dotclear à partir du SVN.
  2. Mise à jour et téléchargement de nouveaux plugins à partir du SVN de Dotclear.
  3. Mise à jour de la base de données (visite de la page d'admin).
  4. Vidage le cache.

Comme je suis un Geek très flémard et qui n'a peur de rien : j'ai mis le tout en tâche cron.

#!/bin/bash
###############################################################################
#
# dc-svn-co :
# Mise à jour d'une installation Dotclear 2.0 à partir des sources du SVN.
#
# Dépendances requises :
#       - subversion
#       - curl
#
# Attention : L'utilisation de ce script permet de mettre à jour votre instance
# de Dotclear à partir d'une version dite instable !
# Utiliser à vos risques et périls !
#
# Licence Dotclear : http://www.dotclear.net/license.html
#
# by Guillaume Kulakowski a.k.a LLaumgui <guillaume at llaumgui dot com>
# Version 2.0
#
###############################################################################
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not,
#  - write to the Free Software
#       Foundation, Inc., 51 Franklin Street, Fifth Floor,
#       Boston, MA  02110-1301, USA.
#   - See http://www.gnu.org/licenses/gpl.html
###############################################################################


######################################
# Variables :

# Chemin vers l'installation de Dotclear :
DC_CORE_PATH="/home/www.xxx.com/www"

# Chemin vers les plugins de Dotclear :
DC_PLUGIN_PATH="$DC_CORE_PATH/plugins"

# Chemin vers le cache :
DC_CACHE_PATH="$DC_CORE_PATH/cache"

# Liste des plugins à récupérer à partir du svn :
DC_PLUGIN_LIST="antiflood commentsWikibar dayMode emailNotification gallery related sitemaps spamplemousse2"

# Chemin vers votre administration (pour la requête de mise à jour) :
DC_URL="http://www.xxx.com/admin/"


SVN_DC_URL="https://svn.dotclear.net/2.0/trunk"
SVN_DC_PLUGIN_URL="https://svn.dotclear.net/2.0/plugins"





######################################
# # #                            # # #
# # #   /!\ On touche plus /!\   # # #
# # #                            # # #
######################################

###
# Mise à jour à partir du SVN :
function svnCo() {

    cd "$1"
    svn co "$2" ./
}



###
# Mise à jour de la liste des plugins à partir du svn :
function svnPlugin () {

        for plugin in $DC_PLUGIN_LIST; do
                echo -e "\n\n###############  $plugin   ###############"
               
                # Création du répertoire pour les nouveaux plugins :
                if [ ! -d $DC_PLUGIN_PATH/$plugin ]; then
                        echo "Le répertoire $plugin n'existe pas !"
                        echo "Création du répertoire $plugin."
                        mkdir "$DC_PLUGIN_PATH/$plugin"
                fi;
               
                svnCo "$DC_PLUGIN_PATH/$plugin" "$SVN_DC_PLUGIN_URL/$plugin"
        done;
}



###
# Mise à jour de la base par appel de l'url de l'admin :
function updateDB() {

        curl $DC_URL
}



###
# On vide le cache
function cleanCache() {
       
        rm -rf "$DC_CACHE_PATH/cbfeed"
        rm -rf "$DC_CACHE_PATH/cbtpl"
}





echo "################################################################################"
echo "#                                                                              #"
echo "#               Mise à jour de Dotclear à partir des sources SVN               #"
echo "#                                                                              #"
echo "################################################################################"
svnCo "$DC_CORE_PATH" "$SVN_DC_URL"

echo -e "\n\n\n\n\n\n################################################################################"
echo "#                                                                              #"
echo "#                      Mise à jour de la liste des plugins                     #"
echo "#                                                                              #"
echo "################################################################################"
svnPlugin

echo -e "\n\n\n\n\n\n################################################################################"
echo "#                                                                              #"
echo "#                           Opérations de mise à jours                         #"
echo "#                                                                              #"
echo "################################################################################"
echo ""
echo -e "\n### Mise à jour de la base de données ###"
updateDB

echo -e "\n\n###          Vidage du cache          ###"
cleanCache

Je mets à disposition mon script (sous licence GPL) tout en précisant que son utilisation réfléchie ne pose pas de problème (pas plus qu'un checkout) mais qu'une mise à jour automatisée au moment où la révision Subversion plante (ça peut arriver), fait buger le site jusqu'à la mise à jour suivante...

Mise à jour : Métro-sexualisation du code pour un rapport par mail (crontab) plus lisible.

lundi 6 août 2007

Serveur mail postfix / postfix-mysql / Dovecot / RoundCube / spamassassin sous CentOS 5

Après le passage de Scenario-PaintBall sur un serveur dédié (spb-box), je me suis lancé dans la configuration du serveur mail. Pour rappel, le serveur est une dedibox sous CentOS 5.
Afin de pouvoir gérer plusieurs domaines et plusieurs comptes facilement, postfix est configuré en multi-domaines et virtual-user et afin d'ajouter facilement des comptes, les informations sont stockées en base MySQL via postfix-mysql.

Lire la suite...

dimanche 27 mai 2007

Script de conversion vidéo au format des Meizu M3 & M6 via Nautilus Actions

Suite à une réflexion sur les forums de Meizu Me, j'ai adapté mon script de conversion flv via Nautilus Actions pour convertir au format des Meizu M3 et M6.

Le kit se compose :

  • D'une image pour votre menu contextuel (à mettre dans ~/.icons).
  • D'un fichier d'importations Nautilus Actions.
  • D'un script shell (à mettre dans ~/bin/).

Important : Le script est réglé pour un Meizu M6, processeurs de M3, commentez la ligne 38 et décommentez la 39.

Dépendances :

  • ffmpeg
  • zenity
  • nautilus-actions

Ensuite pour convertir une vidéo au format adéquat, suffit de faire un clic droit.

PS : Comme je suis une buse, je me suis rendu compte que le pack 1.1 du script de conversion flv ne comportait pas le bon script shell ;-). Je publie donc la 1.1.1 qui est une vrai 1.1 (toujours dur les numéros de versions).

vendredi 20 avril 2007

Version 1.1 de mon script de convertion au format FLV via Nautilus Action

Une petite mise à jour de mon script de conversion vers le format caca-proprio-fermé qui a le vent en poupe : le flv.

Parmi les quelques (en fait 2, mais dire quelques peut faire croire que j'ai vachement taffé dessus ;-)) nouveautés :

  • Possibilité de ré-encoder le flv (modification du fichier d'import de Nautilus Actions).
  • Boite affichant le débug une fois la conversion achevée.

Pour la doc, faut lire le README, pour la licence, c'est le LICENCE (GPL v2), pour l'installation automatique... J'ai la flemme ;-).

dimanche 17 septembre 2006

Version finale du script de migration de Xoops vers punBB

Quelques semaines après le lancement du débat et le début du projet, je viens de terminer mon script de migration de Xoops vers punBB. Ce script migre les données d'un site sous Xoops muni d'un forum CBB pour les transférer dans l'interface de punBB.

Lire la suite...