Catégories
Open-source Planet-libre Systeme

Ubuntu 12.10 Quantal – Script de post install

Je viens de mettre à jour mon dépôt GitHub des scripts de post installation d’Ubuntu pour prendre en compte le version 12.10 (Quantal). Pour rappel, ces scripts sont un moyen simple et modulaire de faire automatiquement un ensemble d’actions après l’installation standard du système d’exploitation.

Ce script fonctionne avec un fichier de configuration que vous pouvez adapter à vos besoins en suivant la documentation. Trois fichiers de configurations sont disponibles sur le GitHub:

Pour lancer le script avec le fichier de configuration pour Gnome 3, il suffit de saisir les lignes de commandes suivantes:

wget https://raw.github.com/nicolargo/ubuntupostinstall/master/ubuntu-12.10-postinstall.py
chmod a+x ubuntu-12.10-postinstall.py
sudo ./ubuntu-12.04-postinstall.py -c https://raw.github.com/nicolargo/ubuntupostinstall/master/ubuntu-12.04-gnomeshell-postinstall.cfg

L’objectif principal de ce script est bien sur de s’adapter à vous besoins. Je vous conseille donc de récupérer un fichier de configuration et de le modifier à votre convenance. Il suffira ensuite de lancer le script en passant en paramètre votre fichier de configuration. Vous pouvez pour vous aidez dans cette tache lire le précédant billet sur le sujet qui reste valable pour la nouvelle version du script.

Catégories
Open-source Planet-libre Systeme

Ubuntu 12.04 – Participez à la conception du script de post-install

Dans quelques semaines, la version 12.04 (alias Precise Pangolin) de la distribution Ubuntu va sortir. C’est une version LTS (« Long Time Support ») qui sera intéressante pour une utilisation aussi bien personnelle que professionnelle. L’orientation grand-public de Canonical (l’éditeur d’Ubuntu) est, je le pense, un bien pour la promotion et la diffusion des systèmes GNU/Linux.

D’un autre coté, pour nous, les geeks/hackers, il est nécessaire d’effectuer pas mal d’actions après l’installation du système (« post-installation ») pour disposer d’un environnement adapté à nos besoins. Depuis la version Ubuntu 11.04, je mets à disposition sur un GitHub un script de post-installation qui va permettre d’automatiser ces actions de post-installation.

Je vous propose donc de travailler ensemble sur la conception de la prochaine version du script qui sera dédié à Ubuntu 12.04.

Structure générale du script

La prochaine version du script sera développé en langage Python (BASH pour les ancienne verison) en se basant sur un squelette commun que j’utilise pour d’autres scripts.

Ce dernier effectuera les actions suivantes:

  • ajout de certains dépôts officiels et non-officiels
  • installation d’une liste de paquets (logiciels, librairies…) non présents dans la distribution standard
  • mise à jour du système
  • configuration de l’interface graphique (Gnome Shell actuellement mais il est possible aussi d’ajouter des customs pour Unity), Conky…
  • configuration VIM (.vimrc)
  • configuration SHELL (alias, prompt…)

Liste des dépôts à ajouter

Voici la listes des dépôts que le script ajoute à votre système:

  • ppa:gstreamer-developers (le PPA officiel des développeurs de GStreamer)
  • ppa:shutter (pour avoir la dernière version de Shutter, l’outil de capture d’écran)
  • ppa:chromium-daily/dev (le daily build de Chromium, le navigateur Web libre basée sur WebKit)
  • ppa:ubuntu-wine (Wine, pour exécuter certains programme Windows sous Ubuntu)
  • ppa:tualatrix/ppa (pour une version toute fraiche d’Ubuntu Tweak)
  • ppa:gnome-terminator/ppa (le terminal ultime…)
  • ppa:nilarimogard/webupd8 (le site WebUpd8 maintient ce PPA avec pas mal de logiciels)
  • ppa:webupd8team/jupiter (si vous avez un portable, ce PPA est fortement conseillé pour augmenter l’autonomie)
  • ppa:clipgrab-team/ppa (convertisseur vidéo ClipGrab)
  • ppa:stebbins/handbrake-releases (Handbrake)
  • http://repository.spotify.com (Spotify)
  • http://archive.getdeb.net/ubuntu (GetDeb, le projet maintien à jour une liste importante de logiciels libres)

Pour Gnome 3 (Gnome Shell):

  • ppa:gnome3-team/gnome3 (le PPA officiel des développeurs de Gnome 3)
  • ppa:webupd8team/gnome3 (pas mal d’extensions en plus)
  • ppa:webupd8team/themes (des thèmes pour Gnome Shell)

Listes des paquets à installer

Les logiciels suivants sont installés.

Développement:

[cc]

build-essential

vim

subversion

git git-core

rabbitvcs-nautilus

textadept

geany

wine

ubuntu-tweak

terminator

pyjupiter

nautilus-dropbox xclip zenity dropbox-share

[/cc]

Multimédia:

[cc]

vlc

x264

ffmpeg2theora

oggvideotools

istanbul

shotwell

mplayer

hugin

nautilus-image-converter

pavucontrol

gimp

gimp-save-for-web

ogmrip

transmageddon

guvcview

wavpack

mppenc

faac

flac

vorbis-tools

faad

lame

nautilus-script-audio-convert

cheese

sound-juicer

picard

arista

nautilus-arista

milkytracker

mypaint

libdvdread4

clipgrab

handbrake-gtk handbrake-cli

spotify-client-qt

shutter

[/cc]

Réseau:

[cc]

iperf

ifstat

wireshark

tshark

arp-scan

htop

netspeed

nmap

netpipe-tcp

[/cc]

Système: 

[cc]

preload

gparted

lm-sensors

compizconfig-settings-manager

hardinfo

fortune-mod

libnotify-bin

compiz-fusion-plugins-extra

ubuntu-restricted-extras

[/cc]

Web:

[cc]

chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra chromium-codecs-ffmpeg-nonfree

pidgin

pidgin-facebookchat

pidgin-plugin-pack

flashplugin-downloader

xchat

googleearth-package lsb-core ttf-mscorefonts-installer

[/cc]

Gnome 3:

[cc]

gnome-shell gnome-tweak-tool gnome-documents

conky-all ttf-ubuntu-font-family

[/cc]

Comment participer à la conception ?

Tout simplement en laissant un commentaire en bas de ce billet. Les actions à mener sont:

  • ajouter des dépôt manquants (attention, il ne faut proposer que des dépôts stables et pérennes)
  • ajout d’applications/librairies obligatoires (au sens geek du terme :))
  • autres actions à mener en post-install (merci de détailler)

Update:

Le script est disponible en version alpha (bien sur il ne faut pas le lancer sur votre machine mais seulement dans des VMs !):

Il est donc possible de le forker et de participer plus pratiquement à son évolution (par exemple en suivant ce billet).

J’attends vos idées !

Catégories
Nagios Open-source Planet-libre

Nagios Core 3.2.3 est disponible, les scripts de Nicolargo aussi !

Nagios vient de mettre à jour le coeur de son système de supervision en passante en version 3.2.3 avec quelques corrections de bugs au programme.

En parallèle j’ai modifié les scripts d’installation et de mise à jour de Nagios pour qu’il prenne en compte cette nouvelle version.

Si vous avez suivi mon tutoriel d’installation de Nagios (ou que vous avez utilisé le script), il suffit de saisir les commande suivantes pour effectuer une mise à jour de votre serveur:

rm -f nagiosautoupdate-ubuntu.sh

wget https://raw.github.com/nicolargo/nagiosautoinstall/master/nagiosautoupdate-ubuntu.sh

chmod a+x nagiosautoupdate-ubuntu.sh

sudo ./nagiosautoupdate-ubuntu.sh

Attention: cette méthode de mise à jour ne fonctionnera pas si vous avez installé Nagios à partir des dépôts officiels de votre distribution.

Et hop !

Catégories
Open-source Planet-libre Systeme

Que faire le 11.10.10 ?

Hier (le 10.10.10, sur le coup des 10h10) est sorti officiellement la version 10.10 de la plus populaire des distribution GNU/Linux: Ubuntu. Cela fait maintenant quelques semaines que j’utilise cette distribution à la fois sur mon PC desktop du boulot et sur mon PC portable personnel.

J’en ai profité pour valider mon script shell UbuntuPostInstall. Ce script de fainéant à pour but d’automatiser toutes une série d’actions que je fais plus ou moins systématiquement quand j’installe un PC sous Ubuntu Desktop.

A l’heure de l’écriture de ce billet le script en est à sa version 0.94 (j’incrémente de 0.01 à chaque modification :)) et il fait les choses suivantes:

  • Installation d’aptitude (que je préfère à apt-get)
  • Configuration des dépôts Getdeb, Ubuntu Partner (je sais c’est mal, « ave maria »*3),  WebUpd8
  • Mise à jour des dépôts
  • Mise à jour du système
  • Installation de: dropbox (et de ces scripts de partage public), ppasearch, gstreamer (la totale !), vlc, shutter, chromium, pino, wine, x264, theora, mplayer, banshee, ubuntu tweak, build-essential gparted lm-sensors sensors-applet subversion compizconfig-settings-manager x264 ffmpeg2theora oggvideotools istanbul music-applet pidgin-facebookchat pidgin-plugin-pack drapes gnome-do gnome-do-plugins hardinfo shotwell moovida handbrake-gtk mplayer iperf ifstat vim wireshark hugin nautilus-image-converter flashplugin-installer rabbitvcs-nautilus tshark fortune pavucontrol sun-java6-jre sun-java6-plugin gimp gimp-save-for-web googleearth-package screenlets xchat ogmrip transmageddon rhythmbox arp-scan guvcview wavpack mppenc libmpcdec3 faac flac vorbis-tools faad lame nautilus-script-audio-convert libnotify-bin cheese ubuntu-tweak darktable sound-juicer picard htop
  • Installation du thème Equinox + icônes Faenza + Conky (et ma conf perso)
  • Installation de Google Earth
  • Configuration de LibDVDRead4 pour permettre la lecture des DVD protégés

Le script en question est téléchargeable à l’adresse suivante.

Pour lancer le téléchargement du script puis le lancer sur votre distribution Ubuntu:

wget http://svn.nicolargo.com/ubuntupostinstall/trunk/ubuntupostinstall.sh

chmod a+x ./ubuntupostinstall.sh

sudo ./ubuntupostinstall.sh

J’imagine que vous avez également des scripts du même genre sous le coude non ?

A vos commentaires !

Catégories
Nagios Open-source Reseau

Nagios 3.2.2 est disponible, les scripts Nicolargo aussi !

C’est la rentrée des classes dans le mini-monde de la supervision: en bon élève Nagios sort une nouvelle version de son coeur (Nagios Core 3.2.2). Pour une liste complète des nouveautés et corrections de bugs, je vous conseille la lecture de cette page.

En parallèle j’ai modifié les scripts d’installation et de mise à jour de Nagios pour qu’il prenne en compte cette nouvelle version.

Si vous avez suivi mon tutoriel d’installation de Nagios (ou que vous avez utilisé le script), il suffit de saisir les commande suivantes pour effectuer une mise à jour de votre serveur:

wget http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiosautoupdate-ubuntu.sh

chmod a+x nagiosautoupdate-ubuntu.sh

sudo ./nagiosautoupdate-ubuntu.sh

Attention: cette méthode de mise à jour ne fonctionnera pas si vous avez installé Nagios à partir des dépôts officiels de votre distribution.

Et hop !

Catégories
Nagios Open-source

Nouvelle version 1.4.15 pour les plugins Nagios

Nagios plugins

Nagios, l’outil de supervision libre, se base sur un système de plugin pour surveiller les éléments de votre réseau. Une nouvelle version (1.4.15) vient d’être mise à disposition (voir la liste des nouveautés ici).

Pour mettre à jour votre serveur, deux solutions:

Dans ce deuxième cas, il faut suivre les étapes suivantes:

Récupération du script

On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:

[shell]

wget http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiospluginsautoupdate-ubuntu.sh

chmod a+x nagiospluginsautoupdate-ubuntu.sh

[/shell]

PS: vous pouvez télécharger le script directement par l’URL suivante:

http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiospluginsautoupdate-ubuntu.sh

Lancement du script

Il suffit ensuite de lancer le script et de répondre aux questions posées par le système:

[shell]
sudo ./nagiospluginsautoupdate-ubuntu.sh
[/shell]

Et si la mise à jour se passe mal ?

Le script archive la configuration n-1, il suffit donc d’ouvrir un terminal et de saisir les commandes suivantes pour revenir dans l’ancienne version:

[shell]
cd /
sudo tar zxvf /tmp/nagiosplugins-backup.tgz
[/shell]

Informations sur la mise à jour

Si tout est ok, le message suivant devrait s’afficher:

Nagios Plugins version   1.4.15

Bonne upgrade !

Catégories
Developpement Nagios Open-source Reseau Systeme

Script de mise à jour automatique de Nagios

Aprés l’installation automatique, voici un nouveau script shell « maison » permettant de mettre simplement à jour votre serveur Nagios (core et plugins inclus).

Ce script est une synthése des articles « Comment mettre à jour son serveur Nagios ? » et « Mise à jour des plugins Nagios« . Il ne doit être utilisé que si vous avez installé Nagios à partir de cette procédure ou de ce script d’installation automatique.

Le script est distribué sous licence GPL. Libre à vous de le modifier pour l’adapter à vos besoins. Si des âmes charitables veulent modifier le script pour l’adapter à d’autres distribution GNU/Linux ou BSD, je suis preneur pour les mettre en téléchargement sur mon serveur.

Récupération du script

On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:

cd /tmp
wget --no-check-certificate https://raw.github.com/nicolargo/nagiosautoinstall/master/nagiosautoupdate.py
chmod a+x nagiosautoupdate.py

PS: vous pouvez télécharger le script directement par l’URL suivante (GitHub).

Lancement du script

Il suffit ensuite de lancer le script et de répondre aux questions posées par le système (en root ou précédé de la commande sudo):

./nagiosautoupdate.py

Et si la mise à jour se passe mal ?

Le script archive la configuration n-1, il suffit donc d’ouvrir un terminal et de saisir les commandes suivantes pour revenir dans l’ancienne version (en root ou précédé de la commande sudo):

cd /
tar zxvf /tmp/nagios-backup.tgz
chown -R nagios:nagios /usr/local/nagios

Informations sur la mise à jour

Dans la version 0.9 du script la mise à jour se fera vers:

Nagios Core version      4.0.0
Nagios Plugins version   1.5
NRPE version             2.15
Catégories
Developpement Nagios Open-source Reseau Systeme

Script d’installation automatique de Nagios

Il y a plusieurs méthodes pour installer Nagios, le système de supervision libre, sur un nouveau serveur. La plus simple est d’utiliser les dépôts officiels de votre distribution GNU/Linux, avec le désavantage de ne pas avoir les dernières versions disponibles. La seconde est de suivre pas à pas mon tutoriel (PART 1 et 2) qui permet de faire une compilation depuis les sources.

Je vous propose dans ce billet une troisième voie, qui mixe la simplicité de la première méthode et la finesse de la seconde.

J’ai développé un petit script (sous licence GPL) permettant d’automatiser l’installation d’un serveur Nagios complet sur une distribution GNU/Linux Ubuntu (j’ai validé le script sur Ubuntu Desktop et Ubuntu Server). Libre à vous de modifier ce script pour l’adapter à vos besoins. Si des âmes charitables veulent modifier le script pour l’adapter à d’autres distribution GNU/Linux ou BSD, je suis preneur pour les mettre en téléchargement sur mon SVN.

Récupération du script

On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:

wget --no-check-certificate https://raw.github.com/nicolargo/nagiosautoinstall/master/nagiosautoinstall-ubuntu.sh
chmod a+x nagiosautoinstall-ubuntu.sh

PS: vous pouvez télécharger le script directement sur GitHub.

Lancement du script

Il suffit ensuite de lancer le script et de répondre aux questions posées par le système (en root ou précédé de la commande sudo):

./nagiosautoinstall-ubuntu.sh

Informations sur l’installation

Dans la version 0.8 du script la configuration finale est la suivante:

Nagios Core version      4.0.0
Nagios Plugins version   1.5
Utilisateur système:     nagios
Groupe système:          nagios
Utilisateur pour l'interface Web (http://localhost/nagios/): nagiosadmin
Catégories
Open-source Systeme

Mon script post install Ubuntu

ub_installer10Si comme moi vous êtes amené à installer/ré-installer régulièrement des PC sous GNU/Linux, un certain nombres d’actions post installation sont à effectuer (installation de logiciel, configuration desktop…).

Comme j’ai horreur de refaire plusieurs fois la même chose, je me suis créé un petit script shell qui:

  • ajoute les dépôts PPA que j’utilise régulièrement
  • installe les logiciels manquant dans la distribution d’origine

Étant de nature partageur, voici le script que vous pouvez adapter à vos besoins.

Le script a été validé pour les versions GNU/Linux Ubuntu Desktop 10.0410.10 et 11.04.

Récupération du script directement sur GitHub ou en saisissant les commandes suivantes:

wget http://svn.nicolargo.com/ubuntupostinstall/trunk/ubuntupostinstall.sh

chmod a+x ./ubuntupostinstall.sh

Après l’avoir édité et si nécessaire adapté à votre besoin, vous pouvez lancer le script:

sudo ./ubuntupostinstall.sh

Et vous chers lecteurs, avez vous dans vos répertoires des scripts shell du même type ?

Catégories
Open-source Systeme

Création d’un script de démarrage sous Linux

Dans cet article nous allons voir comment automatiser le démarrage d’un service ainsi que son arrêt sur un système GNU/Linux (plus particulièrement sur une distribution Ubuntu 8.04 Server).

A titre d’exemple, nous allons voir comment lancer un portail Liferay au démarrage de la machine, et comment l’arrêter proprement lors d’un reboot ou d’un shutdown.

Création du script

Nous allons donc créer un script nommé ‘liferay‘ que l’on va placer dans le répertoire /etc/init.d .

#!/bin/sh

# le nom du service
SERVICE_NAME=Liferay
# le répertoire où se trouvent les exécutables du service
SERVICE_DIRECTORY=/opt/Portal/bin
# le nom du script de démarrage du service
SERVICE_STARTUP_SCRIPT=startup.sh
# le nom du script d'arrêt du service
SERVICE_SHUTDOWN_SCRIPT=shutdown.sh

usage()
{
        echo "-----------------------"
        echo "Usage: $0 (stop|start|restart)"
        echo "-----------------------"
}

if [ -z $1 ]; then
        usage
fi

service_start()
{
        echo "Starting service '${SERVICE_NAME}'..."
        OWD=`pwd`
        cd ${SERVICE_DIRECTORY} && ./${SERVICE_STARTUP_SCRIPT}
        cd $OWD
        echo "Service '${SERVICE_NAME}' started successfully"
}

service_stop()
{
        echo "Stopping service '${SERVICE_NAME}'..."
        OWD=`pwd`
        cd ${SERVICE_DIRECTORY} && ./${SERVICE_SHUTDOWN_SCRIPT}
        cd $OWD
        echo "Service '${SERVICE_NAME}' stopped"
}

case $1 in
        stop)
                service_stop
        ;;
        start)
                service_start
        ;;
        restart)
                service_stop
                service_start
        ;;
        *)
                usage
esac
exit 0

Maintenant, il faut donner les permissions d’exécution sur ce script

# chmod a+x /etc/init.d/liferay

Automatisation

Maintenant que le script est créé, il ne reste plus qu’à faire en sorte que le service se lance au démarrage de la machine et qu’il se stoppe à l’arrêt de celle-ci. Le runlevel qui nous intéresse ici est le numéro 2, mais on peut appliquer cette configuration pour les autres.

Il existe 2 méthodes pour procéder: la première consiste à créer des liens symboliques à la main dans le répertoire /etc/rc2.d en respectant les conventions de nommage, et la seconde (plus simple), consiste à utiliser la commande update-rc.d (c’est cette méthode que nous allons utiliser).

Avant tout chose, il faut déterminer le moment exact où le script s’exécutera:

  • Démarrage du service
    Le service liferay doit se lancer une fois que le serveur de base de données est démarré (en l’occurrence, il s’agit de MySQL).
    En regardant dans le répertoire /etc/rc2.d, on voit que le service mysql démarre à la position 19 (ce numéro peut changer suivant les configurations), donc nous allons démarrer le service liferay à la position 20.
  • Arrêt du service
    Le service liferay doit s’arrêter avant que le serveur de base de données ne s’arrête.
    En regardant dans le répertoire /etc/rc6.d (le runlevel 6 est consacré à l’arrêt de la machine), on voit que le service mysql s’arrête en position 18. Nous allons donc arrêter le service liferay en position 17.

Voici donc la commande qui permet de configurer le service comme décrit précédemment:

# update-rc.d liferay start 20 2 . stop 17 6 .

Désactiver un service

Pour désactiver le lancement automatique d’un service au démarrage, il existe 3 possibilités:

  • utiliser la commande update-rc.d
    # update-rc.d -f liferay remove
  • supprimer le lien symbolique du répertoire /etc/rcX.d (où X représente le numéro de runlevel désiré)
  • retirer les permissions d’exécution sur le script situé dans le répertoire /etc/init.d

Pour plus d’infos, consulter la documentation de la commande update-rc.d.