• Home
  • A Propos
  • Greasemonkey

29

déc

Mettre à jour Debian Lenny vers Squeeze [retour d'expérience]

Posted by Aymeric  Published in Linux, Niveau expert

J’ai un serveur dédié chez OVH (un « Kimsufi ») et j’ai voulu faire la mise à jour de Debian Lenny vers Squeeze.

Vous trouverez toutes les informations nécessaires sur cette page : http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html. Je vous conseille de suivre chaque étape très attentivement.

Attention car chez OVH on peut se retrouver avec une modification, que j’explique un peu plus bas, à faire dans /etc/init.d/fixudev sur les headers manquants (détails sur les headers des fichiers de init.d)…. vous devrez aussi vérifier les autres scripts que vous avez pu mettre vous-même dans /etc/init.d pour vous assurer qu’ils possèdent tous un en-tête sinon vous aurez un message d’erreur durant la mise à jour.

Voici un bref résumé des étapes à suivre (tout ce qui commence par # est une commande à taper) :

# apt-get update && apt-get upgrade
' une fois que votre système est à jour, vérifier que vous avez bien la dernière version du noyau mise à disposition par OVH
' pour cela visitez http://guide.ovh.com/KernelInstall qui explique ce qu'il faut faire (deux fichiers à télécharger puis un update-grub et un reboot!)
' je vous conseille les versions avec grsec pour plus de sécurité (elles sont notées "-grs-")
' si vous n'êtes pas sûr du noyau que vous avez actuellement, vous pouvez le savoir en tapant:
# uname -a
' maintenant il va falloir faire une sauvegarde de votre machine, et en particulier :
' le répertoire /etc/
' le répertoire /home/
' le répertoire qui contient vos sites web
' vos bases SQL
' ensuite, comme indiqué dans le tutoriel, vous devez sauvegarder certains éléments qui pourraient nous servir en cas de problème :
# mkdir svg_special; cp -R /var/lib/dpkg svg_special/; cp /var/lib/apt/extended_states svg_special/; dpkg --get-selections "*" > svg_special/dpkg_get_selection
' avant de continuer, il va falloir bidouiller le fichier /etc/init.d/fixudev puisqu'il n'est pas conforme et va vous créer une erreur dans la suite
' voici par quoi vous devez le remplacer :
#! /bin/sh
### BEGIN INIT INFO
# Provides:          fixudev
# Required-Start:
# Required-Stop:
# Default-Start:     S
# Default-Stop:
# Short-Description: remove fixed relation between MAC address and name of network device (00:15:f2:90:3e:a0 -> eth0)
# Description:       remove fixed relation between MAC address and name of network device (00:15:f2:90:3e:a0 -> eth0)
### END INIT INFO

case "$1" in
  start)
    # example:
    # # PCI device 0x1106:0x3065 (via-rhine)
    # SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:15:f2:90:3e:a0", NAME="eth0"

    for interface in `ifconfig -a | grep -e "^eth"|cut -d' ' -f1`; do
            MAC=`ifconfig $interface | grep -e "^$interface"|cut -d' ' -f11 | sed s/\:/\\\\\\\\:/g`
    # removes actual mac
    #       for file in `grep -i "$MAC" /etc/udev/rules.d/*|sort|uniq|cut -d':' -f1`; do
    #               perl -ni -e "print unless /$MAC/" ${file} && \
    #                       echo "removed HW address ${MAC} from ${file} (${interface})"
    #       done

    # removes *ANY* mac
            for file in `grep -re "^SUBSYSTEM==\"net\".*NAME=\"${interface}\"$" /etc/udev/|sort|uniq|cut -d':' -f1`; do
                    sed -i -e "/^SUBSYSTEM==\"net\".*NAME=\"${interface}\"$/d" ${file} && \
                            echo "removed HW address from ${file} (${interface})"
            done
    done
    ;;
  stop)
    ;;

  status)
    echo "Nothing here";
    ;;

  restart|reload)
    $0 start
    ;;
  *)
    echo "Usage: fixudev start"
    exit 1
esac
exit 1
' maintenant il est conseillé d'utiliser screen pour pouvoir se reconnecter (avec screen -r) à en cas de déconnexion
# screen
' il existe un bug avec splashy c'est pourquoi il est dit de le purger
# apt-get purge splashy
' si la commande ci-dessous ne retourne rien, alors c'est bon, mais dans tous les cas consultez http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html#package-status
# dpkg --audit
' maintenant il faut remplacer tous les "lenny" de /etc/apt/sources.list par des "squeeze"
' voici ce que ça donne chez moi :
' deb http://ftp.fr.debian.org/debian squeeze main non-free
' deb ftp://mir1.ovh.net/debian/ squeeze main contrib non-free
' deb-src ftp://mir1.ovh.net/debian/ squeeze main contrib non-free
' deb http://security.debian.org/ squeeze/updates main contrib non-free
' deb-src http://security.debian.org/ squeeze/updates main contrib non-free

' il est recommandé d'utiliser script qui permettra de sauvegarder ce qu'on va faire maintenant (qui pourra être utile en cas de problème)
# script -t 2>/root/upgrade-squeeze1.time -a /root/upgrade-squeeze1.script
' on commence par mettre à jour les listes des paquets
# apt-get update
' on va vérifier qu'on a la place suffisante (un message explicite apparait sinon)
# apt-get -o APT::Get::Trivial-Only=true dist-upgrade
' on va maintenant d'abord faire une mise à jour minimale
# apt-get upgrade
' là il va vous questionner... en général choisissez l'option par défaut si vous ne savez pas quoi répondre
' à noter qu'un nouveau php.ini va être créer, et il est conseillé d'y jeter un oeil pour voir les nouvelles options

' une fois cette étape un peu longue terminée, il faut installer udev :
# apt-get install udev
' maintenant on teste pour voir si tout s'est bien passé
# reboot

' [...]

' normalement le serveur redémarre sans problème
' on recommence à lancer screen et on sauvegarde les étapes suivantes avec script
# screen
# script -t 2>/root/upgrade-squeeze2.time -a /root/upgrade-squeeze2.script
' maintenant on peut faire une mise à jour complète !
# apt-get dist-upgrade

' chez moi il a supprimé mysql et j'ai été obligé de le réinstaller :
# apt-get install mysql-server mysql-client php5-mysql
' un dernier reboot pour s'assurer que tout fonctionne normalement
# reboot
' et enfin on va nettoyer tous les paquets
# apt-get autoremove

Si vous tombez sur ce genre de message :

Impossible de migrer vers le nouveau système de démarrage
Des tests ont montré que des problèmes existent dans le système de démarrage qui empêchent la migration vers la nouvelle séquence de démarrage :
insserv: warning: script ‘XXXX’ missing LSB tags and overrides, insserv: warning: script ‘YYYY’ missing LSB tags and overrides,
Si le problème indiqué concerne une modification locale, vous devrez le réparer vous-même. Si c’est un bogue dans un paquet, il devrait être signalé dans le système de suivi des bogues (BTS) et corrigé dans le paquet. Veuillez lire
« http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot » pour plus d’informations sur les méthodes de résolution des problèmes empêchant la transition.
Une fois que les problèmes ont été corrigés, vous pouvez réessayer la migration avec la commande « dpkg-reconfigure sysv-rc ».

C’est que vous devez aller modifier manuellement les fichiers correspondant à XXXX et YYYY qui se trouvent dans /etc/init.d/. L’origine est que l’en-tête spécial est manquante, ainsi que les fonctions start/stop.
Le squelette de votre fichier devrait être :

#! /bin/sh
### BEGIN INIT INFO
# Provides:          nom de votre script
# Required-Start:
# Required-Stop:
# Default-Start:     S
# Default-Stop:
# Short-Description: Une description du script
# Description:       Une description du script
### END INIT INFO

case "$1" in
  start)
    # votre code
    echo "XXXX started!"
    ;;
  stop)
    echo "XXXX stopped..."
    ;;

  status)
    echo "Nothing here";
    ;;

  restart|reload)
    $0 stop
    $0 start
    ;;
  *)
    echo "Usage: XXXX {start|stop|restart|status}"
    exit 1
esac
exit 1

Tags: debian, howto, Linux, Niveau expert

1 comment

22

mar

Forcer l’IPv4 au lieu de l’IPv6 sur Linux [astuce]

Posted by Aymeric  Published in Linux, Niveau intermédiaire

[niveau intermédiaire]

J’ai constaté que l’utilisation de la commande apt-get étant devenue lente, dû au fait qu’il essaie de se connecter en ipv6 au lieu d’ipv4.

Pour modifier ce comportement, et forcer votre Linux à résoudre en ipv4 de manière générale, il suffit de modifier le fichier /etc/gai.conf en enlevant le commentaire sur la ligne :
precedence ::ffff:0:0/96 100

Tags: ipv6, Linux, Niveau intermédiaire

no comment

28

sept

Couper facilement une vidéo [traitement vidéo]

Posted by Aymeric  Published in Linux, MacOS, Niveau intermédiaire, Vidéo, Windows

[niveau intermédiaire]

(Cet article suppose que vous ayez des connaissances de base, comme comment lancer un exécutif en ligne de commande, dans le cas contraire vous pouvez vous référez à cet article qui propose deux autres solutions pour Windows)

Pour cela vous aurez besoin de mencoder (qui se trouve dans le répertoire de MPlayer disponible pour Windows, Linux et Mac à http://www.mplayerhq.hu/MPlayer/releases/). Vous devez ensuite lancer une console et taper la commande :
mencoder -ss 00:10:00 mon_fichier.avi -o mon_fichier_split.avi -oac copy -ovc copy
Pour couper les dix premières minutes de votre vidéo.

Si vous souhaitez couper la fin de la vidéo, il faudra faire :
mencoder -endpos 00:02:00 mon_fichier.avi -o mon_fichier_split.avi -oac copy -ovc copy
Pour couper les deux dernières minutes de votre vidéo.

Le format est sous la forme hh:mm:ss.

Tags: encodage, Niveau intermédiaire, traitement vidéo, vidéo

no comment

17

sept

Retour à la ligne pour une commande shell [linux]

Posted by Aymeric  Published in Astuce, Linux, Niveau intermédiaire, Programmation

[niveau intermédiaire]

Difficile de trouver un titre correspondant à la problématique.
Il se trouve que lorsque vous tapez la commande suivante dans un shell, vous obtenez le résultat ci-dessous:

debian:~/tmp# ls
test1.txt test deux.txt test_trois.txt
debian:~/tmp# for i in $(find . -name « *.txt »); do echo $i; done
./test1.txt
./test_trois.txt
./test
deux.txt

Comme on peut le constater, « test deux.txt » ayant un espace dans son nom, il est affiché sur deux lignes dans notre résultat au lieu d’une seule ligne.

Pour fixer ce problème, il suffit de modifier la variable IFS qui détermine le séparateur, puisque par défaut le séparateur va être un espace.
Pour se faire nous devons mettre notre commande dans un script :

#!/bin/bash
# on demande à ce que le séparateur soit sur le retour à la ligne
IFS=’
‘
for i in $(find . -name « *.txt »); do
echo $i;
done

Le résultat de l’exécution de notre script :

debian:~/tmp# ./script.sh
./test1.txt
./test_trois.txt
./test deux.txt

Plus d’informations sur http://tldp.org/LDP/abs/html/internalvariables.html#IFS

Tags: Astuce, Linux, Niveau intermédiaire, Programmation, shell

no comment

21

juil

Mount un disque USB NTFS en read/write [Linux]

Posted by Aymeric  Published in Linux, Niveau expert

[niveau expert]

Il peut arriver qu’on ait un problème avec Windows et qu’il ne soit plus possible de démarrer sur ce dernier. Du coup, comment manipuler le disque dur ? Ou comment tout sauvegarder vers un disque dur USB externe ?

On peut utiliser un LiveCD : un Linux qui se grave sur un CD et sur lequel on va booter, sans devoir l’installer. Il existe des tas de LiveCD, mais, après en avoir testé plusieurs, j’en ai finalement trouvé un qui supporte le type ntfs-3g nécessaire pour monter un disque NTFS en écriture. Il s’agit de MCNLive (à noter que d’après certains forums, Ubuntu le permet aussi). Je vous conseille la version Delft à télécharger ici : ftp://ftp.nluug.nl/pub/os/Linux/distr/mandrakeclubnl/mcnlive/Delft/

Une fois l’image gravée, et le système amorcé à partir du CD, lancez une console puis assurez vous que tous les systèmes sont « unmountés »:

umount -a

Puis monter votre disque USB en write:

mount -w -t ntfs-3g /dev/sda1 /mnt/win_c

Dans le cas où vous avez un message indiquant « Mount is denied because NTFS logfile is unclean », vous devez essayer de brancher votre disque sur un Windows allumé, puis éteignez Windows. Cela va arrêter correctement le disque dur. Puis il suffit de le reconnecter à votre linux et de relancer la commande.

Ensuite vous devriez avoir accès en écriture à votre disque.

Tags: Linux, mount, Niveau expert, ntfs

no comment

26

jan

Agrandir la taille d’un disque dur de VirtualBox [Machine Virtuelle]

Posted by Aymeric  Published in Astuce, Linux, Niveau expert

[niveau expert]

Si vous utilisez VirtualBox pour lancer une machine virtuelle sous Linux, et que vous souhaitez agrandir la taille de votre disque original, alors voici la solution (via VirtualDebian):
1) Téléchargez CloneZilla (au format .iso)
2) Arrêtez votre machine virtuelle (VM), puis dans VirtualBox créez un nouveau disque dur de plus grande capacité
3) Dans les préférences de votre VM ajoutez le nouveau disque dur comme esclave primaire, puis indiquez que vous souhaitez monter l’image iso de CloneZilla
4) Démarrez la VM en bootant sur CloneZilla (faites F12 au démarrage de la VM puis choisissez le lancement depuis le disque)
5) Répondez aux diverses questions de CloneZilla, et enfin choisissez la copie « Disque à Disque »
6) Sélectionnez le disque d’origine comme source, et le nouveau disque comme cible; vous pouvez indiquer que vous souhaitez copier le « boot » également afin de pouvoir démarrer sur le nouveau disque
7) Une fois la copie terminée, vous stoppez la VM puis modifiez les préférences en indiquant que notre nouveau disque est le maître primaire
8) Téléchargez GParted et indiquez le comme disque optique de votre VM
9) Démarrez la VM sur GParted, puis répondez aux questions, et entre autres sélectionnez « Start X to use GParted »
10) Si la zone Swap est activée, vous devez la désactiver (plus d’info sur VirtualDebian)
11) Faites les modifications nécessaires sur vos partitions (en l’occurrence il faut agrandir hda1)
12) Une fois terminée, vous pouvez démarrer sur votre nouveau disque dur qui devrait être une copie parfaite de l’ancien système mais avec plus de place !

Tags: Astuce, disque dur, Linux, machine virtuelle, Niveau expert, virtualbox

no comment

10

déc

Utiliser la fonction mail() de PHP avec exim4 [Linux]

Posted by Aymeric  Published in Linux, Niveau intermédiaire

[niveau intermédiaire]

Si vous utilisez une Debian ainsi que PHP, vous voulez certainement pouvoir envoyer des emails grâce à la fonction mail() qu’offre le langage. Pour cela, on va utiliser exim4 qui est en général déjà installé sur votre Debian toute fraiche (normalement vous avez également /usr/sbin/sendmail qui redirige sur /usr/sbin/exim4). Si vous n’avez pas exim d’installé, je vous invite à aller lire ce billet de Paperblog.

Par défaut exim4 est configuré pour n’envoyer les emails qu’aux utilisateurs locaux. Pour modifier ce comportement, vous devez modifier le fichier /etc/exim4/update-exim4.conf.conf en mettant :

dc_eximconfig_configtype=’internet’

Redémarrer exim4 et vous devriez maintenant pouvoir envoyer des emails au monde entier. Attention cependant de bien bloquer le port 25 de votre machine au monde extérieur (mais pas en local) afin d’éviter que quiconque puisse utiliser votre serveur SMTP.

Tags: debian, email, Linux, Niveau intermédiaire, php

2 comments

8

juin

Un seul clavier et une seule souris pour deux ordinateurs (ou plus) [Application]

Posted by Aymeric  Published in Application, Linux, MacOS, Niveau débutant, Partage, Windows

[niveau: débutant]

EDIT (21/10/2011) : Sinon je vous conseille plutôt ShareMouse, un autre programme du genre sauf qu’il est beaucoup plus simple à configurer, et qu’il permet l’échange de fichiers entre les différentes ordinateurs.

Vous travaillez de chez vous et possédez donc un ordinateur personnel ainsi qu’un ordinateur portable pour le boulot. Vous utilisez donc deux claviers et deux souris, et si vous disposez les deux sur le même bureau vous ne savez plus où vous en êtes, sans parler de la place que tout le matériel prend… Il existe des solutions matériel — un switch que vous activez à chaque fois que vous voulez passer de tel ordinateur à tel autre.

Je vous présente une solution logiciel : Synergy.

Ce tout petit programme (disponible sous Windows, Mac et Linux) vous permet de partager souris et clavier entre plusieurs ordinateurs avec différents systèmes d’exploitation, et sans matériel spécifique.

Le principe : vous avez deux (ou plus) ordinateurs sur un même réseau local et vous voulez n’utiliser qu’un seul clavier/souris. Il suffit d’installer Synergy sur chaque système, et tout devient partagé ! En option, le copier/coller est aussi partagé entre les différents systèmes.

La configuration du logiciel permet d’indiquer où se trouve les autres systèmes par rapport à l’ordinateur source (celui qui a le clavier et la souris). Par exemple mon ordinateur perso est à gauche sur mon bureau, tandis que le portable du boulot est à droite. Ainsi, après réglages, si je bouge ma souris vers la droite de mon écran perso, elle apparaît sur celui du boulot, tandis que le clavier transfert lui aussi ses fonctions vers le nouveau système. Un mouvement vers la gauche me fait revenir aussitôt sur le premier poste.

D’une très grande fluidité, cette application augmentera votre confort et productivité.

Tags: Application, Linux, MacOS, Niveau débutant, Partage, Windows

no comment

6

juin

Transférer plusieurs fichiers par FTP sous Linux [Linux]

Posted by Aymeric  Published in Linux, Niveau expert

[niveau: expert]

Si vous êtes un utilisateur assidu de Linux, vous devez forcément vous retrouver à piloter une machine distante avec un accès en console seulement. Et il arrivera un jour où vous aurez besoin de transférer par FTP des dizaines de fichiers/sous-répertoires en une fois. On se dit d’abord qu’on va utiliser la commande ftp, mais dès qu’on s’attaque à toute une arborescence ça commence à devenir compliqué et long… Il existe des solutions, comme NcFTP en mode récursive (avec NcFTPGet et NcFTPPut qui sont bien pratiques pour des scripts automatiques), mais je vais vous parler de Midnight Commander !

Midnight Commander (appelé mc) est un gestionnaire de fichiers pour Unix-like qui propose une vértiable interface utilisateur en mode console, avec un écran partagé en deux (source image) :
20090606_midnight_commander
Et comme vous le voyez sur l’image, vous avez accès (grâce aux flèches du clavier et autres touches raccourcis) à des menus, et vous pouvez vous déplacer dans l’arborescence de gauche indépendamment de celle de droite.

Et cette petite merveille de mc permet également la gestion de fichiers distants en mode FTP. Pour cela, une fois mc lancé, il suffit de taper :
cd ftp://login:password@votre.site.ftp:port/dir/
Et le panneau actif va ouvrir le répertoire FTP distant. Vous n’aurez ensuite plus qu’à sélectionner le répertoire local que vous souhaitez transférer, puis appuyer sur F5 et mc se chargera de recopier l’arborescence et tout son contenu sur votre serveur. Simple, rapide et efficace.

mc apparaît donc ici comme un excellent client FTP avec (G)UI, et le tout dans une console (et donc via SSH par exemple).

Tags: ftp, Linux, Niveau expert

no comment

Me Suivre

Suivre @aymkdn

Catégories

  • À bookmarker
  • Android
  • Application
  • Astuce
  • Debug
  • Divers
  • Images
  • Linux
  • MacOS
  • Navigateur
  • Niveau débutant
  • Niveau expert
  • Niveau intermédiaire
  • Partage
  • Performance
  • Programmation
  • Sécurité
  • Téléphonie
  • Vidéo
  • Web Design
  • Windows

Mots-clefs

android Application Astuce astuces convertisseur css Debug débutant email extensions facebook firefox ftp GMail google IE Images intermédiaire internet explorer javascript jquery Linux mobile musique Navigateur Niveau débutant Niveau expert Niveau intermédiaire Nokia Partage Performance php Programmation recherche regexp sharepoint Sécurité traitement vidéo téléphone Téléphonie vidéo Web Design Windows wordpress À bookmarker

Archives

  • février 2012
  • janvier 2012
  • décembre 2011
  • novembre 2011
  • octobre 2011
  • septembre 2011
  • août 2011
  • juillet 2011
  • juin 2011
  • mai 2011
  • mars 2011
  • février 2011
  • novembre 2010
  • septembre 2010
  • août 2010
  • juillet 2010
  • juin 2010
  • mars 2010
  • février 2010
  • janvier 2010
  • décembre 2009
  • novembre 2009
  • octobre 2009
  • septembre 2009
  • août 2009
  • juillet 2009
  • juin 2009
  • mai 2009
  • avril 2009

Blogroll

  • Ajaxian
  • Alsacreations
  • iPhon.fr
  • Life Hacker
  • Performance Web
  • StandBlog

Pages

  • A Propos
  • Greasemonkey

Méta

  • Flux RSS
  • Administration

Recent Entries

  • Transformer/convertir une vidéo vers le format mp4 et ogg (ogv) gratuitement [vidéo]
  • Trouver les paramètres dans l’url [Javascript]
  • Comment cropper / rogner / recadrer un film [Vidéo]
  • Un algorithme court et rapide pour Array.unique() [Javascript]
  • Alternatives à IMNRC() et ProcessImn() pour déterminer la présence d’une personne [Sharepoint]
  • DOMContentLoaded pour cross browser (multi-navigateurs) [Javascript]
  • IE9 en mode standard et Sharepoint… bug du bouton OK [Sharepoint]
  • Appeler un lien relatif dans une masterpage [Sharepoint]
  • Define the preview image for your masterpage [Sharepoint]
  • Convertir un MKV en AVI [vidéo]

Recent Comments

  • Aymeric in Mettre à jour Debian Lenny vers Squeeze [retour d…
  • merci in Equivalent de ModalBox de okonet.ru en jQuery [jav…
  • Aymeric in Simple effet highlight sur un element avec jQuery …
  • rragen in Simple effet highlight sur un element avec jQuery …
  • sebozor in Les widgets de la sidebar Wordpress ne se sauvegar…
  • Aymeric in Les widgets de la sidebar Wordpress ne se sauvegar…
  • sebozor in Les widgets de la sidebar Wordpress ne se sauvegar…
  • Aymeric in Carte SD endommagée sur un téléphone Android [s…
  • Fify in Carte SD endommagée sur un téléphone Android [s…
  • Aymeric in Simuler un click sur un bouton ou un lien [Program…
  • Random Selection of Posts

    • Importer des emails Thunderbird/Outlook dans GMail [Google Astuce]
    • Revenir à l’actualité récente de Facebook suite à la mise à jour [Astuce]
    • Bloquer les popups de publicité d’Avira AntiVir [Astuce]
    • Bien télécharger sur eMule [Astuces]
    • Si vous avez l’erreur « The security validation for this page is invalid » [Sharepoint]
    • Encoder les caractères spéciaux d’une URL en Java (comme Javascript.escape()) [Programmation]
    • Retrouver un mot de passe [Windows/Mac OS X]
© 2008 Kodono is proudly powered by WordPress
Theme designed by Roam2Rome