Le Site du dernier matou

Le site qui fait miaou!

Aucun commentaire

Installation
Après avoir installé une Debian 8 "Jessie" sans environnement de bureau, je vous propose mon installation et ma configuration d'Openbox. Tout au long des installations, j'installe aussi les paquets recommandés (réglage par défaut de Debian).

Pour commencer, j'installe le gestionnaire de connexion lightdm, le gestionnaire de fenêtres openbox et un émulateur de terminal xterm :

sudo aptitude install lightdm openbox xterm

Pour voir le résultat :

sudo service lightdm start

ou redémarrage de l'ordinateur.
l'écran de connexion
Après avoir renseigné identifiant et mot de passe, Openbox se lance avec aucune notification. Qu'il est discret ce gestionnaire de fenêtres!
Openbox

Personnalisation du menu
Allez un clic droit, pour faire apparaître le menu. Pas grand chose dans le menu mais on va y remédier avec trois paquets :

sudo aptitude install menu-xdg openbox-menu obmenu

Un menu intitulé Debian apparaît avec tout les programmes déjà installés. Au besoin n'hésitez pas à redémarrez OpenBox (entrée "Restart" dans le menu) :
le menu d'Openbox
Pour personnaliser le menu, l'utilitaire Openox menu editor ( dans Debian>Applications>Système>Administration) un peu rustique mais très efficace.
Openbox menu editor
Pour les acharnées du fichier texte, vous pouvez aussi éditer le fichier "~/.config/openbox/menu.xml".

Personnalisation d'Openbox
Pour personnaliser Openbox vous avez du déjà remarquer "Obconf" dans le menu. Mais pour plus d'options, l'édition du fichier rc.xml est requise. S'il n'est pas présent dans le répertoire de configuration récupérer le dans "/etc/xdg/"

cp /etc/xdg/openbox/rc.xml ~/.config/openbox

Vous pouvez ajouter ou modifier des raccourcis clavier dans la section "keyboard" :
Pour lancer une application, ici le lanceur d'applications "gmrun" (ce serait ce une mise en abîme) à l'appui des touches alt et F2 :

    <keybind key="A-F2">
      <action name="Execute">
        <command>gmrun</command>
      </action>
    </keybind>

Ou pour placer vos fenêtres en 1/4, 1/2 et 2/3 d'écran à l'aide de la touche super et du pavé numérique :

    <keybind key="W-KP_1">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>50%</width>
        <height>50%</height>
        <x>0</x>
        <y>50%</y>
      </action>
    </keybind>
    <keybind key="W-KP_2">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>100%</width>
        <height>50%</height>
        <x>0</x>
        <y>50%</y>
      </action>
    </keybind>
    <keybind key="W-KP_3">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>50%</width>
        <height>50%</height>
        <x>50%</x>
        <y>50%</y>
      </action>
    </keybind>
    <keybind key="W-KP_4">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>50%</width>
        <height>100%</height>
        <x>0</x>
        <y>0</y>
      </action>
    </keybind>
    <keybind key="W-KP_5">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>66%</width>
        <height>66%</height>
        <x>center</x>
        <y>center</y>
      </action>
    </keybind>
    <keybind key="W-KP_6">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>50%</width>
        <height>100%</height>
        <x>50%</x>
        <y>0</y>
      </action>
    </keybind>
    <keybind key="W-KP_7">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>50%</width>
        <height>50%</height>
        <x>0</x>
        <y>0</y>
      </action>
    </keybind>
    <keybind key="W-KP_8">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>100%</width>
        <height>50%</height>
        <x>0</x>
        <y>0</y>
      </action>
    </keybind>
    <keybind key="W-KP_9">
      <action name="Unmaximize"/>
      <action name="MoveResizeTo">
        <width>50%</width>
        <height>50%</height>
        <x>50%</x>
        <y>0</y>
      </action>
    </keybind>

Ou encore pour lancer des menus d'Openbox :

    <keybind key="A-F1">
      <action name="ShowMenu">
        <menu>root-menu</menu>
        <position>
          <x>center</x>
          <y>center</y>
        </position>
      </action>
    </keybind>
    <keybind key="A-F3">
      <action name="ShowMenu">
        <menu>client-list-combined-menu</menu>
      </action>
    </keybind>

Démarrage automatique
Pour lancer des applications dès le démarrage, il faut créer un fichier "autostart.sh" dans "~/.config/openbox":

# Gestionnaire de transparence
compton &
# Activation du pavé numérique
numlockx on &
# Un fond d'écran
feh --bg-center /usr/share/wallpapers/joy/images/contents/1280x800.png &
# Lancement de conky
conky &
# Lancement de la barre de taches Tint2
tint2 &

Pensez à les installer avant :

sudo aptitude install compton numlockx feh conky-std tint2

On arrive au résultat suivant :
Openbox Conky Tint2

Comme il n'est de bonne compagnie qui ne se quitte :

sudo aptitude install obsession

et ajouter ces lignes à "menu.xml" :

		<item label="Quitter">
			<action name="Execute">
				<execute>obsession-logout</execute>
			</action>
		</item>

Vous obtiendrez un menu comme celui-ci, lorsque vous choisissez l'entrée "Quitter" du menu :
Obsession

Au final
Openbox a beaucoup d'autres possibilités de configuration et de personnalisation, j'en présenterai dans de prochains articles. Un dernier mot pour l'empreinte mémoire, Openbox occupe de deux à presque sept fois moins de mémoire et est donc démarre tout aussi rapidement.
Quelques mesures : Openbox et Tint2 : 80Mo, LXDE : 180Mo, XFCE : 190Mo, MATE : 220Mo, Gnome : 410Mo, KDE : 530Mo.

1 commentaire

Ça commence le 7 août 2016, le service mdadm envoie 4 mails intitulés :

  1. DegradedArray event on /dev/md0
  2. DegradedArray event on /dev/md1
  3. DegradedArray event on /dev/md2
  4. DegradedArray event on /dev/md3

Je lance donc un diagnostic des disques grâce aux données SMART :

smartctl -i /dev/sda
smartctl -i /dev/sdb

Si pour le disque "sdb" le résultat est normal, pour le disque "sda" c'est du grand n'importe quoi! Il m'annonce une capacité de plusieurs To et n'arrive pas à me donner toutes les informations. Je note les numéros de série des disques pour les repérer une fois le serveur ouvert. Dans mon cas j'ai du procéder par élimination car je n'obtenais pas le numéro de série du disque défaillant.

Bref, un disque de mon serveur est en train d'admettre ses limites, il va falloir le changer pour éviter la perte de données. Vu que les deux disques ont le même âge (8ans) et ont eu la même utilisation, je choisis de changer les deux disques. Je vais donc changer mes Western Digital Caviar Green 500Go par des Western Digital Red 1To. Je passe du modèle "économie d'énergie" au modèle prévu pour serveur (utilisation 24/24).

Après quelques recherches, je trouve ce tutoriel qui va me permettre de procéder au changement de disque sans trop de problème. Je suis donc le tutoriel section 5.2. Je retire les différentes partitions du disque "sda" des différents ensembles RAID (/boot, /, swap, /home) :

mdadm --manage /dev/md0 --remove /dev/sda1
mdadm --manage /dev/md1 --remove /dev/sda2
mdadm --manage /dev/md2 --remove /dev/sda5
mdadm --manage /dev/md3 --remove /dev/sda6

Extinction et ouverture du serveur pour accéder aux disques. Première remarque la poussière est trop présente à mon goût, je commence par un grand nettoyage. Grâce au numéro de série récupéré précédemment, j'identifie les disques. Le disque "sda" était sur la connexion "primaire" du serveur mais je ne sais pas si on peut se fier à çà. Je retire le disque défectueux et le remplace par un neuf.

Remontage et mise sous tension du serveur. Le disque est reconnu sans souci et comme l'indique le tutoriel, je copie la table des partitions du 500 Go vers le 1 To.

sfdisk -d /dev/sdb | sfdisk /dev/sda

Premier problème, la table des partitions ainsi copiée n'est pas alignée avec les cylindres du nouveau disque. Vu que le disque est vierge, je fais au plus simple et recrée les partitions "à la main" afin qu'elles soient alignées. J'ajoute les différentes partitions du nouveau disque aux différents ensembles RAID.

mdadm --manage /dev/md0 --add /dev/sda1
mdadm --manage /dev/md1 --add /dev/sda2
mdadm --manage /dev/md2 --add /dev/sda5
mdadm --manage /dev/md3 --add /dev/sda6

Les ensembles RAID se reconstruisent et je patiente en surveillant l'évolution :

cat /proc/mdstat

Après vérification, je n'ai pas eu besoin de mettre à jour le fichier de configuration :

mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf

Et voilà mon serveur est de nouveau équipé de deux disques sains. Cependant je veux utiliser mes deux nouveaux disques et profiter de l'espace supplémentaires. Je retire donc des ensembles RAID les partitions du "petit" disque de 500Go :

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb5
mdadm --manage /dev/md3 --remove /dev/sdb6

Extinction du serveur, changement du disque de 500Go pour un de 1To et mise sous tension du serveur. Le disque est reconnu, je copie la table de partition, cette fois-ci pas de problème d'alignement :

sfdisk -d /dev/sda | sfdisk /dev/sdb

J'ajoute les différentes partitions aux différents ensembles RAID :

mdadm --manage /dev/md0 --add /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdb2
mdadm --manage /dev/md2 --add /dev/sdb5
mdadm --manage /dev/md3 --add /dev/sdb6

Et comme précédemment, je suis l'évolution et je vérifie la mise à jour du fichier de configuration :

cat /proc/mdstat
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf

Cette fois-ci c'est fini, deux disques sains, plus grand et aucune données perdues.

Les mauvaises blagues en bonus :

  1. Je n'ai pas tout de suite noter les numéros de série, j'ai du brancher les disques sur un dock pour repérer le défectueux.
  2. J'ai détecté le problème d'alignement des cylindres après avoir fait la synchronisation des deux disques de 1To. Comme je n'ai pas réussi à "bouger" les partitions sans perdre de données, j'ai du tout recommencer.
  3. J'ai cru que l'ensemble RAID "md2" était inutile, je l'ai supprimé et refait une synchronisation. C'était la partition SWAP! J'ai du recommencer mes tables de partitions et mes synchronisations.

Au final, ça aurait du durer une matinée, ça m'a pris deux jours. Heureusement tout tourne parfaitement depuis ce jour et pour longtemps j'espère.

1 commentaire
Pour ceux qui ont pu voir mon site sur de petits écrans (téléphone), vous avez remarqué que les images débordées du cadre de l'article.

Rien de dramatique mais rien de très joli non plus.

Solution : Une nouvelle entrée CSS pour les images "max-width: 90%;". Ainsi celles-ci ne font plus qu'au maximum 90% du cadre de l'article.

2 commentaires

La tour dans son armoire
Pas moyen de retourner la tour pour optimiser l'espace, sinon je perds l'accès aux port USB, au lecteur optique ou au bouton d'alimentation. L'idée est donc d'installer tous les éléments de la tour sur une planche normalement prévue pour faire une séparation dans ce meuble.
Après un repérage des vis de fixation dans la tour, j'ai percé la planche à un diamètre de ?mm afin de placer les vis qui sont sous la carte mère.
Les 6 vis de fixation sur la planche
Une vis de fixation sur la planche
Je place ensuite la carte mère et ses vis.
La carte mère fixée
La carte mère fixé avec ses vis
Pour placer la carte graphique, il faut soit plier ou couper la pate de fixation de celle-ci ou faire une encoche dans la planche. La première solution me semblant trop dangereuse pour le matériel, j'opte pour la seconde. L'encoche est réalisé en perçant 4 trous à la perceuse puis en les regroupant.
Un trou dans la planche
La carte graphique placé
Après deux essais infructueux pour fixer le bloc d'alimentation avec de la colle ou de l'adhésif double-face, je me rabats sur de l'adhésif large.
Je fais de même pour le lecteur optique et le disque dur.
Le bloc d'alimentation fixé
Tout est fixé
Le résultat final sur la planche était assez satisfaisant mais quelques problèmes subsistent.