La vie d'un SysAdmin GNU/Linux

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

dimanche 20 novembre 2011

Upgrade SSD OCZ

J'ai voulu upgrader le firmware de mon SSD de marque OCZ. Avant toute chose il faut connaître le modèle et si possible la version du firmware actuel. hdparm doit répondre à cette simple question. Un rapide tour dans le man m'apprend que le l'option -i me donnera les infos voulu tel qu'obtenu lors du démarrage et -I beaucoup plus d'infos, c'est parti !

# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media

Model Number: OCZ-VERTEX2

Serial Number: OCZ-PRIVATE

Firmware Revision: 1.11

.... snip!

Cool j'ai les infos voulu direction le site du constructeur sélection de mon SSD et magie un outil pour gnu/linux qui plus est compilé en 32 ET 64Bit.

Après décompression, l'outil veux être root logique Je tente un simple:

fwupd

Celui-ci m'indique qu'il faut simplement indiquer le device qui sera ici /dev/sda, le firmware sera téléchargé automatiquement si j'ai bien compris.

fwupd /dev/sda

fwupd v2.12.05: update drive firmware

/dev/sda:

Model Number : OCZ-VERTEX2

Serial Number : OCZ-PRIVATE

Firmware Revision: 1.11

Accessing firmware file...

Updating firmware....

Firmware update succeeded.

Model Number : OCZ-VERTEX2

Serial Number : OCZ-PRIVATE

Firmware Revision: 1.35

Et c'est tout !! Quand les choses se passent bien il faut le dire aussi, merci ocz !

jeudi 27 octobre 2011

If you don't pay, you're the product, not the customer!

Un titre un peu pompeux il est vrai. Mais il faut bien choquer un peu et faire réagir !

aboutfree

If you don't pay, you're the product, not the customer!

lundi 26 septembre 2011

Rsyslog, logger autrement

Pour logger sous linux il existe de nombreux soft avec plus ou moins de fonctionnalité. Je connais bien syslog-ng et tente de l'utiliser pour mes besoins perso. Je parcours la liste des features et quelques concurrent. Un me tape à l'oeil, rsyslog avec quelques features sympa: regex, pas de perte de log en cas de coupure réseau une conf moins relou que syslog-ng (record de syslog-ng.conf: 25000 lignes ...), multi threadé, TCP possible, GPLv3 donc pas du tout le même modèle que syslog-ng qui fais le minimum et payant pour le reste. Ça tombe bien je vais pouvoir jouer avec le patch nginx du précédent billet.

Du point de vue client, je crée le dossier /var/spool/rsyslog que nous utiliserons plus tard. Dans /etc/rsyslog.d/remote.conf :

$WorkDirectory /var/spool/rsyslog

$ActionQueueType LinkedList

$ActionQueueFileName srvrfwd

$ActionResumeRetryCount -1

$ActionQueueSaveOnShutdown on

*.* @@(z9)machine:514

& ~

Pour résumer je définis donc un dossier de travail /var/spool/rsyslog ou les logs seront stocké en cas de besoin. Le tout est envoyé en remote sur mamachine en TCP (un @ = UDP, deux @@ = TCP) sur le port 514 compressé (z9). Le "& ~" permet de stopper à cette règle.

Du point de vue serveur pour nginx:

Le filtre pour les vhost access:

$template nginx_vhost_access, "/var/log/rsyslog/%HOSTNAME%/%programname%/%$year%/%$month%/%$day%/%msg:R,ERE,1,FIELD:^ (-a-z_\-\.+)--end%_access.log"

if $syslogfacility-text == 'local6' and $syslogseverity-text == 'notice' and $programname == 'nginx' then -?nginx_vhost_access

& ~

Le filtre pour les erreurs (sans vhost):

# error log without vhost

$template nginx_error, "/var/log/rsyslog/%HOSTNAME%/%programname%/%$year%/%$month%/%$day%/error.log"

if $syslogfacility-text == 'local6' and $syslogseverity-text == 'emerg' and $programname == 'nginx' and $msg contains 'error' then -?nginx_error

& ~

Ceci nous produira donc automatiquement une arbo /var/log/rsyslog/nginx/YYYY/MM/JJ/vhost_access.log

Et c'est tout

vendredi 23 septembre 2011

Nginx syslog

nginx-logo Nginx le serveur qui monte de plus en plus possède nombre de fonctionnalité sympa mais pour moi un des manques de nginx est l'impossibilité de logger via syslog. En effet sur de grande ferme de serveur, centraliser les logs est très important. Un patch est disponible en attendant l'intégration dans le trunk. J'utilise le paquet dotdeb qui l'intègre déjà. Je passerais donc sur l'intégration du patch. Pour l'utiliser :

dans /etc/nginx/nginx.conf :

syslog local6 nginx;

toujours dans ce fichier

http { log_format access '$server_name access - $remote_addr - $remote_user $time_local $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; log_format error '$server_name access - $remote_addr - $remote_user $time_local $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';

Nous définissons le format de notre log. Ensuite il faut l'activer pour chaque vhost en modifiant le access_log et error_log de tel façon:

access_log syslog:notice|/var//log/nginx/vhost_access.log access; error_log syslog:error|/var//log/nginx/vhost_error.log error;

J'ai choisi de logger en syslog et garder une trace en local pour la durée de mon test. C'est tout ! Je vous vois venir : oui mais ensuite ? on vois ça au prochain billet avec notre ami rsyslog

lundi 12 septembre 2011

Utilisation du cloudNAS OVH

OVH Propose depuis peu une beta de leurs NAS dans les nuages. En gros un accès webdav et 100Go durant toute la beta test.

Comment le mettre en place sous notre OS préféré ? grâce au module FUSE davfs2 qui fais ça très bien avec une bonne couche de cache pour éviter les inconvénient de l'accès distant. Installer le paquet davfs2 :

apt install davfs2

éditer /etc/davfs2/secrets et ajouter à la fin la ligne suivante :

https://cloud.ovh.fr/votreuser votrelogin votremotdepasse

ensuite passons au fstab pour ajouter ceci :

https://cloud.ovh.fr/votreuser /mnt/cloudNAS davfs defaults,rw,uid=votreuser 0 0

WebDAV n'étant pas POSIX il faut imposer les droits désiré. uid=votreuser permet donc à votre utilisateur de lire et écrire, sans cette option root seulement peux le faire ce qui serais très dommage ...

on crée bien sur le dossier /mnt/cloudNAS et on mount le tout :

mount /mnt/cloudNAS

et si c'est correcte vous voila avec un volume tout beau

mercredi 7 septembre 2011

Créer une clef USB d'installations de debian

Plusieurs solution existe pour créer une clef USB d'installations debian. Je choisis donc la plus simple et compatible avec un grand nombre d'OS (ie tout sauf les produits M$).

Télécharger le fichier boot.img.gz 32 Bit, 64Bit pour debian squeeze.

On prend une clef USB vierge et on met violemment notre boot.img comme ceci :

zcat boot.img.gz > /dev/sdX

Dernière étape il suffit de télécharger l'iso de notre choix (ici une netinstall) et de copier le .iso à la racine de notre clef usb que nous auront au préalable monter

samedi 20 août 2011

Montage du NAS de la Freebox

De retour de vacances avec plein de photos / vidéos je me suis intéressé à monter le disque dur à partir de mon serveur. Pour commencer il faut installer le paquet nécessaire au CIFS (mais pourquoi diable il n'y a pas de NFS de dispo ??!) :

apt-get install cifs-utils

Ensuite dans notre fstab on ajoute la petite ligne qui va bien :

//mafreebox.freebox.fr/disque\040dur /mnt/freebox cifs guest,iocharset=utf8,file_mode=0777,dir_mode=0777,defaults 0 0

on le monte et c'est tout bon ;)

mkdir /mnt/freebox ; mount /mnt/freebox

dimanche 17 juillet 2011

Freebox, Révolution dans la saccade des films

Je viens (enfin) de recevoir ma freebox v6. Je ne regrette absolument pas ma v5 sauf sur un point: la lecture des fichiers vidéo. En effet beaucoup voir que des saccades. Le problème se situe au niveau des PB frames, je ne rentrerais pas dans les détails mais dans la solution grâce à avidemux.

avidemux --audio-map --force-unpack --load FICHIERS_KO.avi --save-unpacked-vop FICHIERS_OK.avi

Et voila le problème est résolu, plus qu'a renvoyer le film dans la box en attendant bien sur un nouveau firmware de la part de free.

mardi 5 juillet 2011

Google Analytics

Mesurer son audience est primordial, connaître la provenance de ses visiteurs. Sous php5.3 il éxiste le plugin googletools mais incompatible. J'ai essayé pour faire un rapport de bug mais c'était déjà le cas. Autre alternative forker et patcher: supprimer les passages par référence.

Ça se passe ici donc

https://github.com/yanntech/Dotclear-googleTools

lundi 27 juin 2011

Modification du PATH

Je suis toujours sur ruby et les joies de gem. Il y a donc quelques binaires à utiliser: bundle, rails, rake, thin, rdoc et j'en passent. Pour appeler les binaires on peux utiliser le $PATH complet mais c'est vite fatiguant. Nous allons donc modifier notre PATH pour ajouter le directory qui nous intéresse.

Il faut créer un fichier dans

/etc/profile.d/path.sh

#!/bin/bash

PATH=/var/lib/gems/1.8/bin:$PATH

Et c'est tout ! vos prochains bash prendront automatiquement ce nouveau PATH supplémentaire. J'ai choisi de le mettre en premier pour ne pas avoir de mauvaise surprise et avoir mes binaires gem prioritaire sur les binaires de ma distribution.

mardi 21 juin 2011

Upgrade de redmine

redmine logo Redmine outils de gestionnaire de projet que j'utilise régulièrement est sorti il y a peu en version 1.2.0 stable. Je ne suis pas particulièrement à l'aise quant à la migration d'application ruby car je sais d'avance que je vais me battre avec ruby et ses gems. Je lis la documentation qui est plutôt bien faîte dans l'ensemble, ok ça me semble assez facile et logique:

  • backup de la base,
  • download des sources & décompression
  • copie du "config/database.yml config/email.yml" (deprecated d'ailleurs email)
  • copie du dossier files
  • quelques commande "rake" :

rake config/initializers/session_store.rb

rake generate_session_store

rake db:migrate RAILS_ENV=production

et la paf ! comme prévu, erreur je n'ai pas la bonne version de rack. Bêtement je me dis qu'un

gem update rack

m'installe la dernière version et je suis tranquille, non non il faut la version indiqué, rebelotte mais en spécifiant la version :

gem install rack v=1.1.0

et maintenant je peux lancer mon "rake db:migrate ..." sans encombre.

Pour finaliser l'upgrade je coupe "thin" puis modifie la configuration pour pointer sur le nouveau dossier et démarrer thin.

Enjoy ;-)

lundi 13 juin 2011

kcore

Suite à un troll poilu sur un manque d'espace disque d'un serveur ou la solution était la suppression d'un gros fichiers de 18Go ayant pour chemin /proc/kcore. Mais qu'est-ce que kcore exactement ?

Tout d'abord il faut savoir que ce qui est contenu dans /proc est une interaction possible avec le kernel et nous, /proc étant un pseudo file system. En éffet il est possible de voir le type de notre CPU via la lecture de /proc/cpuinfo et beaucoup d'autre informations qui sont lisible ou inscriptible pour donner des ordres de configuration au noyau. Revenons à kcore c'est une vue de la ram en read-only accessible par root uniquement.

samedi 11 juin 2011

Backport de munin 2.0beta1 sur mon PPA

Je viens de finir le backport de munin 2.0beta1. Cette version comporte encore pas mal de bug. Je vous invite à voir la doc d'install de Benoit

vendredi 10 juin 2011

Personal Package Archive ou PPA

Je viens de finir la création de mon PPA sur lanchpad Pour l'ajouter :

add-apt-repository ppa:yanntech/backports