<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.zabe.fr - Prestataire informatique pour les petites entreprises &#187; Linux</title>
	<atom:link href="http://blog.zabe.fr/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zabe.fr</link>
	<description></description>
	<lastBuildDate>Sat, 22 Oct 2011 13:05:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Problème de kernel lors de la mise à jour vers la Debian Squeeze</title>
		<link>http://blog.zabe.fr/linux/probleme-de-kernel-lors-de-la-mise-a-jour-vers-la-debian-squeeze/</link>
		<comments>http://blog.zabe.fr/linux/probleme-de-kernel-lors-de-la-mise-a-jour-vers-la-debian-squeeze/#comments</comments>
		<pubDate>Sun, 13 Mar 2011 16:52:51 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mise à jour]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=243</guid>
		<description><![CDATA[La mise à jour de Lenny à Squeeze sur 5 serveurs Debian s'était bien passée mais hier j'ai eu quelques soucis sur un debian avec un noyau que j'avais recompilé moi même (ça je m'en suis souvenu après le reboot). <a href="http://blog.zabe.fr/linux/probleme-de-kernel-lors-de-la-mise-a-jour-vers-la-debian-squeeze/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>La mise à jour de Lenny à Squeeze sur 5 serveurs Debian s&#8217;était bien passée mais hier j&#8217;ai eu quelques soucis sur un debian avec un noyau que j&#8217;avais recompilé moi même (ça je m&#8217;en suis souvenu après le reboot).</p>
<p><span id="more-243"></span></p>
<p>La mise à jour s&#8217;était à peu près bien passée (en suivant <a href="http://blog.zabe.fr/linux/mise-a-jour-de-debian-de-lenny-a-squeeze/">ma procédure</a>), avec quelques messages d&#8217;avertissement mais aucun message au sujet des volumes RAID ou du pilote de carte réseau. Une fois la mise à jour faite, je me dis bon aller on va rebooter et regarder pour ces petits soucis vus lors de la mise à jour, après 10 minutes d&#8217;attente à ne pas pouvoir me connecter je me dis qu&#8217;il y a vraiment un souci et qu&#8217;un fsck ne prendrait pas autant de temps.<br />
Je vais donc au garage voir mon serveur et là je vois qu&#8217;il n&#8217;a pas pu booter car il n&#8217;a pas pu trouver la partition (raid 1 soft md0) où se trouve le système. Le message d&#8217;erreur suivant s&#8217;affichait (je ne me souviens plus du message exact) :</p>
<pre>Impossible de monter none sur /dev</pre>
<p><strong>Installation du nouveau kernel</strong></p>
<p>Je vous la fait court mais après plusieurs heures à essayer de voir d&#8217;où provenait le problème je me suis rendu compte que le système essayait de booter sur l&#8217;ancien kernel. J&#8217;ai donc téléchargé un iso de Debian Squeeze en netinstall afin de booter sur la console de récupération. La commande suivante à réglé mon souci :</p>
<pre>aptitude install linux-image-2.6.32-5-i686</pre>
<p>Bien sûr cette commande est a exécuter sur un OS en 32 bits, sur un 64 bits ce serait la le paquet linux-image-2.6.32-5-amd64</p>
<p><strong>Passage à Grub2</strong></p>
<p>Je profite de ce billet pour vous indiquer la commande pour passer définitivement en grub2, commande à exécuter lorsque vous ête sûr</p>
<pre>upgrade-from-grub-legacy</pre>
<p>Lors de cette mise à jour il m&#8217;a été demandé sur quels disques mettre à jour la MBR, j&#8217;ai sélectionné les 5 disques utilisés pour le RAID md0.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/probleme-de-kernel-lors-de-la-mise-a-jour-vers-la-debian-squeeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilisation de backuppc avec Windows 7 et VSS (shadow copy)</title>
		<link>http://blog.zabe.fr/linux/utilisation-de-vss-volume-shadow-copy-pour-windows-7-avec-backuppc-en-cours-de-redaction/</link>
		<comments>http://blog.zabe.fr/linux/utilisation-de-vss-volume-shadow-copy-pour-windows-7-avec-backuppc-en-cours-de-redaction/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 22:15:32 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[backuppc]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[sauvegarde]]></category>
		<category><![CDATA[volume shadow copy]]></category>
		<category><![CDATA[vss]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=110</guid>
		<description><![CDATA[!! 26/04/2011 - Article en cours de rédaction !!

Sous backuppc, les utilisateurs peuvent être avertis d'une erreur de sauvegarde des fichiers Outlook lorsque leur poste est sauvegardé par smb. Mais je voulais profiter de la rapidité et de la sécurité de SSH couplé à Rsync. Le problème de cette solution est que les fichiers ouverts, tout comme en sauvegardant en smb, no peuvent pas être sauvegardés.

Mon but est donc de procéder comme suit :

création d'une volume shadow copy puis montage de volume avant la sauvegarde
sauvegarde du postes par SSH/Rsync
démontage et suppression de la volume shadow copy <a href="http://blog.zabe.fr/linux/utilisation-de-vss-volume-shadow-copy-pour-windows-7-avec-backuppc-en-cours-de-redaction/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sous backuppc, les utilisateurs peuvent être avertis d&#8217;une erreur de sauvegarde des fichiers Outlook lorsque leur poste est sauvegardé par smb. Mais je voulais profiter de la rapidité et de la sécurité de SSH couplé à Rsync. Le problème de cette solution est que les fichiers ouverts, tout comme en sauvegardant en smb, no peuvent pas être sauvegardés.</p>
<p>Mon but est donc de procéder comme suit :</p>
<ul>
<li>création d&#8217;une volume shadow copy puis montage de volume avant la sauvegarde</li>
<li>sauvegarde du postes par SSH/Rsync</li>
<li>démontage et suppression de la volume shadow copy</li>
</ul>
<p><span id="more-110"></span></p>
<p>Cette solution a les avantages :</p>
<ul>
<li>d&#8217;une sauvegarde rapide</li>
<li>d&#8217;avoir une communication cryptée</li>
<li>de sauvegarder tous les fichiers, même ceux qui sont verouillés</li>
</ul>
<p>Les points négatifs sont :</p>
<ul>
<li>une installation assez lourde (Cygwin, scripts, exe) que je vais essayer d&#8217;optimiser/automatiser</li>
<li>une difficulté pour restaurer les fichiers à leur emplacement d&#8217;origine en effet les fichiers sont sauvegardés depuis un dossier monté spécialement (exemple : c:\shadow\C).</li>
</ul>
<h2>I &#8211; Copie du fichier vshadow.exe</h2>
<p>Le fichier vshadow.exe est l&#8217;exécutable utilisé pour gérer les clichés instantanés.</p>
<p>Afin d&#8217;éviter d&#8217;installer le SDK, voilà une archive regroupant les fichiers vshadow pour Windows XP, Vista, 7, 2003, 2008 et 2008 R2 : <a rel="attachment wp-att-293" href="http://blog.zabe.fr/linux/utilisation-de-vss-volume-shadow-copy-pour-windows-7-avec-backuppc-en-cours-de-redaction/attachment/vshadow-versions/"></a><a href="http://blog.zabe.fr/wp-content/uploads/2011/03/vshadow-versions.7z">vshadow versions</a></p>
<p>Je copie ce fichier dans le dossier c:\shadow\</p>
<h2>2 &#8211; Installation de Cygwin et paramétrage de l&#8217;authentification par clef publique</h2>
<h3>a &#8211; Installer Cygwin avec les paquets suivants :</h3>
<ul>
<li>nano</li>
<li>rsync</li>
<li>openssh</li>
<li>cygrunsrv</li>
</ul>
<p>Accepter l&#8217;installation des paquets dépendants.</p>
<p>Créer l&#8217;utilisateur qui sera utilisé pour effectuer les sauvegardes, je vais créer l&#8217;utilisateur backuppc et lui donner un mot de passe.<br />
Se reconnecter au PC sous ce nouveau compte et exécuter cygwin en tant qu&#8217;admin (clic droi, exécuter&#8230;).</p>
<p>Lancez les commandes suivantes :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ssh-host-config -y<br />
cygrunsrv -S sshd</div></div>
<h3>b &#8211; Ajout de la clef publique</h3>
<p>Depuis le serveur connectez-vous en ssh à la machine en train d&#8217;installer :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># faire un cat de la clef publique et copier cette ligne<br />
su backuppc<br />
ssh nomdelamachine<br />
# entrer le mot de passe de l'utilisateur backuppc<br />
nano /home/backuppc/.ssh/authorized_keys<br />
# coller la ligne de la clef publique, bien vérifier que tout soit sur une seule ligne et enregistrer le fichier</div></div>
<p>Essayez de vous connecter à nouveau, cette fois aucun mot de passe ne devrait être demandé, en effet la clef publique sera utilisée pour la connexion</p>
<h3>c &#8211; Eviter l&#8217;expiration du mot de passe des comptes Windows créés</h3>
<p>Sur une ligne de commande classique exécutée en tant qu&#8217;admin, lancez les commandes suivantes afin de désactiver l&#8217;expiration des mots de passes des comptes cyg_server et backuppc :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">wmic path Win32_UserAccount where Name='backuppc' set PasswordExpires=false<br />
wmic path Win32_UserAccount where Name='cyg_server' set PasswordExpires=false</div></div>
<h2>3 &#8211; Scripts pour l&#8217;utilisation de VSS</h2>
<h3>a &#8211; Fichier VssSnapshot.vbs</h3>
<p>Un script doit être mis en place sur la machine, je me suis inspiré du <a href="http://serverfault.com/questions/119120/how-to-use-a-volume-shadow-copy-to-make-backups" target="_blank">script disponible sur cette page</a>.</p>
<p>Mais je l&#8217;ai simplifié pour les test, seul le volume shadow de C est monté. De plus j&#8217;avais un bloquage au moment de démonter l&#8217;image j&#8217;ai dont ajouté quelques lignes pour éviter ce blocage.</p>
<p>Mon script vssShadow.vbs à placer sur chaque poste sauvegardé dans le dossier C:\shadow\</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">''# VssSnapshot.vbs<br />
''# http://serverfault.com/questions/119120/how-to-use-a-volume-shadow-copy-to-make-backups/119592#119592<br />
Option Explicit<br />
<br />
Dim fso: Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)<br />
<br />
''# -- MAIN SCRIPT -------------------------------------------<br />
Dim args, snapshotId, targetPath, success, vshadowPath<br />
Set args = WScript.Arguments.Named<br />
vshadowPath = &quot;C:\shadow\&quot;<br />
CheckEnvironment<br />
<br />
Log &quot;preparing VSS mount point...&quot;<br />
targetPath = PrepareVssMountPoint(args(&quot;target&quot;))<br />
<br />
If args.Exists(&quot;unmount&quot;) Then<br />
Log &quot;nothing else to do&quot;<br />
ElseIf targetPath &amp;lt;&amp;gt; vbEmpty Then<br />
Log &quot;mount point prepared at: &quot; &amp;amp; targetPath<br />
Log &quot;creating VSS snapshot for volume: &quot; &amp;amp; args(&quot;volume&quot;)<br />
snapshotId = CreateVssSnapshot(args(&quot;volume&quot;))<br />
<br />
If snapshotId &amp;lt;&amp;gt; vbEmpty Then<br />
Log &quot;snapshot created with ID: &quot; &amp;amp; snapshotId<br />
success = MountVssSnapshot(snapshotId, targetPath)<br />
If success Then<br />
Log &quot;VSS snapshot mounted sucessfully&quot;<br />
Else<br />
Die &quot;failed to mount snapshot&quot;<br />
End If<br />
Else<br />
Die &quot;failed to create snapshot&quot;<br />
End If<br />
Else<br />
Die &quot;failed to prepare mount point&quot;<br />
End If<br />
<br />
Log &quot;finished&quot;<br />
<br />
''# -- FUNCTIONS ---------------------------------------------<br />
Function PrepareVssMountPoint(target) ''# As String<br />
Dim cmd, result, outArray<br />
Dim path, snapshot, snapshotId<br />
Dim re, matches, match<br />
<br />
PrepareVssMountPoint = VbEmpty<br />
target = fso.GetAbsolutePathName(target)<br />
<br />
If Not fso.FolderExists(fso.GetParentFolderName(target)) Then<br />
Die &quot;Invalid mount point: &quot; &amp;amp; target<br />
End If<br />
<br />
''# create or unmount (=delete existing snapshot) mountpoint<br />
If Not fso.FolderExists(target) Then<br />
If Not args.Exists(&quot;unmount&quot;) Then fso.CreateFolder target<br />
Else<br />
<br />
Set re = New RegExp<br />
re.MultiLine = False<br />
re.Pattern = &quot;- Exposed locally as: ([^\r\n]*)&quot;<br />
<br />
cmd = vshadowPath &amp;amp; &quot;vshadow -q&quot;<br />
<br />
result = RunCommand(cmd, false)<br />
<br />
outarray = Split(result, &quot;*&quot;)<br />
<br />
For Each snapshot In outArray<br />
snapshotId = ParseSnapshotId(snapshot)<br />
If snapshotId &amp;lt;&amp;gt; vbEmpty Then<br />
Set matches = re.Execute(snapshot)<br />
If matches.Count = 1 Then<br />
path = Trim(matches(0).SubMatches(0))<br />
If fso.GetAbsolutePathName(path) = target Then<br />
cmd = vshadowPath &amp;amp; &quot;vshadow -ds=&quot; &amp;amp; snapshotId<br />
RunCommand cmd, true<br />
Exit For<br />
End If<br />
End If<br />
End If<br />
Next<br />
<br />
If args.Exists(&quot;unmount&quot;) Then fso.DeleteFolder target<br />
End If<br />
<br />
PrepareVssMountPoint = target<br />
End Function<br />
<br />
Function CreateVssSnapshot(volume) ''# As String<br />
Dim cmd, result<br />
<br />
If Not fso.DriveExists(volume) Then<br />
Die &quot;Drive &quot; &amp;amp; volume &amp;amp; &quot; does not exist.&quot;<br />
End If<br />
<br />
cmd = vshadowPath &amp;amp; &quot;vshadow -p &quot; &amp;amp; Replace(UCase(volume), &quot;:&quot;, &quot;&quot;) &amp;amp; &quot;:&quot;<br />
result = RunCommand(cmd, false)<br />
CreateVssSnapshot = ParseSnapshotId(result)<br />
End Function<br />
<br />
Function MountVssSnapshot(snapshotId, target) ''# As Boolean<br />
Dim cmd, result<br />
<br />
If fso.FolderExists(targetPath) Then<br />
cmd = vshadowPath &amp;amp; &quot;vshadow -el=&quot; &amp;amp; snapshotId &amp;amp; &quot;,&quot; &amp;amp; targetPath<br />
result = RunCommand(cmd, true)<br />
Else<br />
Die &quot;Mountpoint does not exist: &quot; &amp;amp; target<br />
End If<br />
<br />
MountVssSnapshot = (result = &quot;0&quot;)<br />
End Function<br />
<br />
Function ParseSnapshotId(output) ''# As String<br />
Dim re, matches, match<br />
<br />
Set re = New RegExp<br />
re.Pattern = &quot;SNAPSHOT ID = (\{[^}]{36}\})&quot;<br />
Set matches = re.Execute(output)<br />
<br />
If matches.Count = 1 Then<br />
ParseSnapshotId = matches(0).SubMatches(0)<br />
Else<br />
ParseSnapshotId = vbEmpty<br />
End If<br />
End Function<br />
<br />
Function RunCommand(cmd, exitCodeOnly) ''# As String<br />
Dim shell, process, output<br />
<br />
Dbg &quot;Running: &quot; &amp;amp; cmd<br />
<br />
Set shell = CreateObject(&quot;WScript.Shell&quot;)<br />
<br />
On Error Resume Next<br />
<br />
Set process = Shell.Exec(cmd)<br />
<br />
If Err.Number &amp;lt;&amp;gt; 0 Then<br />
Die Hex(Err.Number) &amp;amp; &quot; - &quot; &amp;amp; Err.Description<br />
End If<br />
On Error GoTo 0<br />
<br />
If Not cmd = vshadowPath &amp;amp; &quot;vshadow -q&quot; Then<br />
Do While process.Status = 0<br />
WScript.Sleep 100<br />
Loop<br />
End If<br />
output = Process.StdOut.ReadAll<br />
<br />
If process.ExitCode = 0 Then<br />
Dbg &quot;OK&quot;<br />
Dbg output<br />
Else<br />
Dbg &quot;Failed with ERRORLEVEL &quot; &amp;amp; process.ExitCode<br />
Dbg output<br />
If Not process.StdErr.AtEndOfStream Then<br />
Dbg process.StdErr.ReadAll<br />
End If<br />
End If<br />
<br />
If exitCodeOnly Then<br />
Runcommand = process.ExitCode<br />
Else<br />
RunCommand = output<br />
End If<br />
End Function<br />
<br />
Sub CheckEnvironment<br />
Dim argsOk<br />
<br />
If LCase(fso.GetFileName(WScript.FullName)) &amp;lt;&amp;gt; &quot;cscript.exe&quot; Then<br />
Say &quot;Please execute me on the command line via cscript.exe!&quot;<br />
Die &quot;&quot;<br />
End If<br />
<br />
argsOk = args.Exists(&quot;target&quot;)<br />
argsOk = argsOk And (args.Exists(&quot;volume&quot;) Or args.Exists(&quot;unmount&quot;))<br />
<br />
If Not argsOk Then<br />
Say &quot;VSS Snapshot Create/Mount Tool&quot; &amp;amp; vbNewLine &amp;amp; _<br />
vbNewLine &amp;amp; _<br />
&quot;Usage: &quot; &amp;amp; vbNewLine &amp;amp; _<br />
&quot;cscript /nologo &quot; &amp;amp; fso.GetFileName(WScript.ScriptFullName) &amp;amp; _<br />
&quot; /target:path { /volume:X | /unmount } [/debug]&quot; &amp;amp; _<br />
vbNewLine &amp;amp; vbNewLine &amp;amp; _<br />
&quot;/volume &nbsp;- drive letter of the volume to snapshot&quot; &amp;amp; _<br />
vbNewLine &amp;amp; _<br />
&quot;/target &nbsp;- the path (absolute or relative) to mount the snapshot to&quot; &amp;amp; _<br />
vbNewLine &amp;amp; _<br />
&quot;/debug &nbsp; - swich on debug output&quot; &amp;amp; _<br />
vbNewLine &amp;amp; vbNewLine &amp;amp; _<br />
&quot;Examples: &quot; &amp;amp; vbNewLine &amp;amp; _<br />
&quot;cscript /nologo &quot; &amp;amp; fso.GetFileName(WScript.ScriptFullName) &amp;amp; _<br />
&quot; /target:C:\Backup\DriveD /volume:D&quot; &amp;amp; &nbsp;vbNewLine &amp;amp; _<br />
&quot;cscript /nologo &quot; &amp;amp; fso.GetFileName(WScript.ScriptFullName) &amp;amp; _<br />
&quot; /target:C:\Backup\DriveD /unmount&quot; &amp;amp; _<br />
vbNewLine &amp;amp; vbNewLine &amp;amp; _<br />
&quot;Hint: No need to unmount before taking a new snapshot.&quot; &amp;amp; vbNewLine<br />
<br />
Die &quot;&quot;<br />
End If<br />
End Sub<br />
<br />
Sub Say(message)<br />
If message &amp;lt;&amp;gt; &quot;&quot; Then WScript.Echo message<br />
End Sub<br />
<br />
Sub Log(message)<br />
Say FormatDateTime(Now()) &amp;amp; &quot; &quot; &amp;amp; message<br />
End Sub<br />
<br />
Sub Dbg(message)<br />
If args.Exists(&quot;debug&quot;) Then<br />
Say String(75, &quot;-&quot;)<br />
Say &quot;DEBUG: &quot; &amp;amp; message<br />
End If<br />
End Sub<br />
<br />
Sub Die(message)<br />
If message &amp;lt;&amp;gt; &quot;&quot; Then Say &quot;FATAL ERROR: &quot; &amp;amp; message<br />
WScript.Quit 1<br />
End Sub</div></div>
<p>Il faut créer deux script utilisés par backuppc avant et après la sauvegarde afin de gérer le volume shadow copy.</p>
<p>Mon plus gros problème aura été de trouver pourquoi vshadow faisait des erreurs à chaque exécution depuis backuppc, cela est causé par le fait que lorsqu&#8217;un se connecte à Cygwin par ssh en authentification par clef, l&#8217;utilisateur n&#8217;est pas authentifié comme l&#8217;utilisateur normal mais comme le compte système. De ce fait, ce compte ne dispose pas des droits de gestion de VSS.</p>
<p>Une authentification est donc obligatoire. N&#8217;ayant rien trouvé dans le man ssh je me suis tourné vers expect qui permet d&#8217;automatiser des enchaînements de commandes.</p>
<h3>b &#8211; Fichier pre-backuppc.sh</h3>
<p>Script sur le serveur utilisé avant la sauvegarde (/home/backuppc/pre-backuppc.sh chez moi) :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/usr/bin/expect -f<br />
<br />
set force_conservative 1;<br />
set USER [lindex $argv 0]<br />
set HOST [lindex $argv 1]<br />
set timeout 30<br />
spawn ssh -o PubkeyAuthentication=no $USER@$HOST &quot;cscript.exe /nologo c:\\\\shadow\\\\vssSnapshot.vbs /target:C:\\\\shadow\\\\C /volume:C /debug\r&quot;<br />
expect &quot;password:\r&quot;<br />
send -- &quot;motdepasse\r&quot;<br />
set timeout 500<br />
expect OEF</div></div>
<h3>c &#8211; Fichier post-backuppc.sh</h3>
<p>Script sur le serveur utilisé après la sauvegarde (/home/backuppc/post-backuppc.sh chez moi) :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/usr/bin/expect -f<br />
<br />
set force_conservative 1;<br />
set USER [lindex $argv 0]<br />
set HOST [lindex $argv 1]<br />
set timeout 30<br />
spawn ssh -o PubkeyAuthentication=no $USER@$HOST &quot;cscript.exe /nologo c:\\\\shadow\\\\vssSnapshot.vbs /target:C:\\\\shadow\\\\C /unmount \r&quot;<br />
expect &quot;*password:*&quot;<br />
send -- &quot;motdepasse\r&quot;<br />
set timeout 500<br />
expect OEF</div></div>
<h2>4 &#8211; Optimisations et corrections de problèmes</h2>
<p>- Autoriser les réponses ICMP dans le firewall afin de pouvoir faire un ping</p>
<p>- Ajouter au moins les droits de lecture à l&#8217;utilisateur backuppc sur les dossiers/fichiers à sauvegarder</p>
<p>- Sous Windows XP vérifier que les services suivants sont bien en démarrage automatiques et sont démarrés :</p>
<ul>
<li>MS Software Shadow Copy Provider</li>
<li>Volume Shadow Copy</li>
</ul>
<p>Si il y a un pbl avec la création d&#8217;un utilisateur lancer la commande</p>
<p>mkpasswd.exe &gt; /etc/passwd</p>
<p>Si impossible de se connecter avec l&#8217;utilisateur backuppc essayer la commande ssh-user-config</p>
<h3>Masquer les comptes utilisés par Cygwin et backuppc</h3>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Windows Registry Editor Version 5.00<br />
<br />
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]<br />
&quot;backuppc&quot;=dword:00000000<br />
&quot;cyg_server&quot;=dword:00000000</div></div>
<p>&nbsp;</p>
<p>Quelques tutos qui m&#8217;ont aidé :</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/bb530725(v=vs.85).aspx#creating_a_shadow_copy_set" target="_blank">http://msdn.microsoft.com/en-us/library/bb530725(v=vs.85).aspx#creating_a_shadow_copy_set</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/bb530725(v=vs.85).aspx#creating_a_shadow_copy_set" target="_blank">http://geraldbrandt.com/2010/06/08/backuppc-with-sshrsyncvss-on-windows-server/</a></li>
<li><a href="http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=User_Scripts_-_Client_-_Windows_VSS">http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=User_Scripts_-_Client_-_Windows_VSS</a></li>
<li><a href="http://www.backupcentral.com/phpBB2/two-way-mirrors-of-external-mailing-lists-3/backuppc-21/complete-cygwin-vss-rsync-solution-for-windows-backup-106181/">http://www.backupcentral.com/phpBB2/two-way-mirrors-of-external-mailing-lists-3/backuppc-21/complete-cygwin-vss-rsync-solution-for-windows-backup-106181/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/utilisation-de-vss-volume-shadow-copy-pour-windows-7-avec-backuppc-en-cours-de-redaction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Résoudre les problèmes mdadm lors de la mise à jour de votre Debian vers la Squeeze</title>
		<link>http://blog.zabe.fr/linux/resoudre-les-problemes-mdadm-lors-de-la-mise-a-jour-de-votre-debian-vers-la-squeeze/</link>
		<comments>http://blog.zabe.fr/linux/resoudre-les-problemes-mdadm-lors-de-la-mise-a-jour-de-votre-debian-vers-la-squeeze/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 21:29:05 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[squeeze]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=217</guid>
		<description><![CDATA[Lancer la commande suivante : /usr/share/mdadm/mkconf Copier coller le contenu dans le fichier /etc/mdadm/mdadm.conf en vérifiant bien que vous avez tous vos array et qu&#8217;il n&#8217;y en a pas en double (j&#8217;ai eu le souci sur un array). J&#8217;ai dû &#8230; <a href="http://blog.zabe.fr/linux/resoudre-les-problemes-mdadm-lors-de-la-mise-a-jour-de-votre-debian-vers-la-squeeze/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lancer la commande suivante :</p>
<pre>/usr/share/mdadm/mkconf</pre>
<p>Copier coller le contenu dans le fichier /etc/mdadm/mdadm.conf en vérifiant bien que vous avez tous vos array et qu&#8217;il n&#8217;y en a pas en double (j&#8217;ai eu le souci sur un array).<br />
J&#8217;ai dû vérifier les uuid des array démarrés et utilisés actuellement avec les commandes</p>
<pre>mdadm --query --examine /dev/sda1
mdadm --query --examine /dev/sda2</pre>
<p>La commande suivante est peut-être plus rapide pour faire ce job</p>
<pre>mdadm --detail --scan</pre>
<p>Il existe aussi la commande suivante que je viens de découvrire</p>
<pre>blkid</pre>
<p>J&#8217;ai donc ensuite ignoré les lignes avec les uuid fantômes.</p>
<p>Je suis actuellement en train de chercher ce qu&#8217;il faut faire pour supprimer ces uuid fantômes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/resoudre-les-problemes-mdadm-lors-de-la-mise-a-jour-de-votre-debian-vers-la-squeeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problèmes avec onduleur Eaton sous Nut</title>
		<link>http://blog.zabe.fr/linux/problemes-avec-onduleur-eaton-sous-nut/</link>
		<comments>http://blog.zabe.fr/linux/problemes-avec-onduleur-eaton-sous-nut/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 21:12:38 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=212</guid>
		<description><![CDATA[!! Article en cours de rédaction !! Sites trouvés : http://blog.adlibre.org/technology/how-to-configure-eaton-ellipse-asr-ups-with-centos-5.html http://blog.shadypixel.com/monitoring-a-ups-with-nut-on-debian-or-ubuntu-linux/ http://doc.ubuntu-fr.org/onduleur_mge_ups_systems_psp http://forum.ubuntu-fr.org/viewtopic.php?id=86196 http://www.networkupstools.org/stable-hcl.html Contenu de mon fichier ups.conf [ONDULEUR] #driver = newhidups driver = usbhid-ups port = auto port = /dev/usb/hiddev0 desc = "Eaton" Retour de la commande &#8230; <a href="http://blog.zabe.fr/linux/problemes-avec-onduleur-eaton-sous-nut/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>!! Article en cours de rédaction !!</p>
<p>Sites trouvés :</p>
<p>http://blog.adlibre.org/technology/how-to-configure-eaton-ellipse-asr-ups-with-centos-5.html</p>
<p>http://blog.shadypixel.com/monitoring-a-ups-with-nut-on-debian-or-ubuntu-linux/</p>
<p>http://doc.ubuntu-fr.org/onduleur_mge_ups_systems_psp</p>
<p>http://forum.ubuntu-fr.org/viewtopic.php?id=86196</p>
<p>http://www.networkupstools.org/stable-hcl.html</p>
<p>Contenu de mon fichier ups.conf</p>
<pre>[ONDULEUR]
#driver = newhidups
driver = usbhid-ups
port = auto
port = /dev/usb/hiddev0
desc = "Eaton"</pre>
<p>Retour de la commande upsdrvctl start</p>
<pre>Network UPS Tools - UPS driver controller 2.4.3
Network UPS Tools - Generic HID driver 0.34 (2.4.3)
USB communication driver 0.31
No matching HID UPS found
Driver failed to start (exit status=1)</pre>
<p>Retour de la commande lsusb</p>
<pre>Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub</pre>
<p>Après un reboot l&#8217;onduleur semble ne plus être du tout reconnu. J&#8217;ai donc l&#8217;impression que l&#8217;onduleur ne fonctionne que quelques temps après avoir été branché mais qu&#8217;un problème de l&#8217;USB lui fait perdre contact avec le PC.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/problemes-avec-onduleur-eaton-sous-nut/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mise à jour de Debian de Lenny à Squeeze</title>
		<link>http://blog.zabe.fr/linux/mise-a-jour-de-debian-de-lenny-a-squeeze/</link>
		<comments>http://blog.zabe.fr/linux/mise-a-jour-de-debian-de-lenny-a-squeeze/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 20:47:02 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[squeeze]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=203</guid>
		<description><![CDATA[Petit tuto comme beaucoup d&#8217;autres pour la migration d&#8217;une Debian Lenny a une Debian Squeeze. Il faut tout d&#8217;abord mettre la distri Lenny à jour, voilà les commandes à lancer en root : aptitude update aptitude dist-upgrade Si des mises &#8230; <a href="http://blog.zabe.fr/linux/mise-a-jour-de-debian-de-lenny-a-squeeze/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Petit tuto comme beaucoup d&#8217;autres pour la migration d&#8217;une Debian Lenny a une Debian Squeeze.</p>
<p><span id="more-203"></span></p>
<p>Il faut tout d&#8217;abord mettre la distri Lenny à jour, voilà les commandes à lancer en root :</p>
<pre>aptitude update
aptitude dist-upgrade</pre>
<p>Si des mises à jour ont été installées notamment un changement du noyau il est recommandé de redémarrer.<br />
Ensuite ont peut continuer en changeant les sources :</p>
<pre>cp /etc/apt/sources.list /etc/apt/sources.list-lenny
sed 's/lenny/squeeze/g' /etc/apt/sources.list-lenny &gt; /etc/apt/sources.list</pre>
<p>Vu que la mise à jour est faite au travers de SSH, une déconnexion pourrait être catastrophique aussi je lance l&#8217;upgrade sous screen</p>
<pre>screen -S upgrade
aptitude update</pre>
<p>Voilà ce que donne un update sous aptitude</p>
<pre>Prendre : 1 http://ftp.fr.debian.org squeeze Release.gpg [1671B]
Prendre : 2 http://www.backports.org squeeze-backports Release.gpg [835B]
Ign http://www.backports.org squeeze-backports/main Translation-fr
Ign http://www.backports.org squeeze-backports/contrib Translation-fr
Ign http://www.backports.org squeeze-backports/non-free Translation-fr
Ign http://volatile.debian.org squeeze/volatile Release.gpg
Ign http://volatile.debian.org squeeze/volatile/main Translation-fr
Prendre : 3 http://www.backports.org squeeze-backports Release [61,2kB]
Prendre : 4 http://security.debian.org squeeze/updates Release.gpg [835B]
Ign http://security.debian.org squeeze/updates/main Translation-fr
Ign http://security.debian.org squeeze/updates/contrib Translation-fr
Ign http://volatile.debian.org squeeze/volatile/contrib Translation-fr
Ign http://volatile.debian.org squeeze/volatile/non-free Translation-fr
Ign http://security.debian.org squeeze/updates/non-free Translation-fr
Ign http://volatile.debian.org squeeze/volatile Release
Prendre : 5 http://security.debian.org squeeze/updates Release [38,4kB]
Prendre : 6 http://ftp.fr.debian.org squeeze/main Translation-fr [553kB]
Ign http://volatile.debian.org squeeze/volatile/main Packages
Prendre : 7 http://www.backports.org squeeze-backports/main Packages [24,4kB]
Prendre : 8 http://www.backports.org squeeze-backports/contrib Packages [14B]
Prendre : 9 http://www.backports.org squeeze-backports/non-free Packages [14B]
Ign http://volatile.debian.org squeeze/volatile/contrib Packages
Ign http://volatile.debian.org squeeze/volatile/non-free Packages
Ign http://volatile.debian.org squeeze/volatile/main Sources
Ign http://volatile.debian.org squeeze/volatile/contrib Sources
Ign http://volatile.debian.org squeeze/volatile/non-free Sources
Prendre : 10 http://security.debian.org squeeze/updates/main Packages [47,0kB]
Ign http://volatile.debian.org squeeze/volatile/main Packages
Ign http://volatile.debian.org squeeze/volatile/contrib Packages
Ign http://volatile.debian.org squeeze/volatile/non-free Packages
Ign http://volatile.debian.org squeeze/volatile/main Sources
Ign http://volatile.debian.org squeeze/volatile/contrib Sources
Ign http://volatile.debian.org squeeze/volatile/non-free Sources
Err http://volatile.debian.org squeeze/volatile/main Packages
  404 Not Found [IP : 86.59.118.153 80]
Err http://volatile.debian.org squeeze/volatile/contrib Packages
  404 Not Found [IP : 86.59.118.153 80]
Err http://volatile.debian.org squeeze/volatile/non-free Packages
  404 Not Found [IP : 86.59.118.153 80]
Err http://volatile.debian.org squeeze/volatile/main Sources
  404 Not Found [IP : 86.59.118.153 80]
Prendre : 11 http://security.debian.org squeeze/updates/contrib Packages [14B]
Prendre : 12 http://security.debian.org squeeze/updates/non-free Packages [14B]
Prendre : 13 http://security.debian.org squeeze/updates/main Sources [13,4kB]
Err http://volatile.debian.org squeeze/volatile/contrib Sources
  404 Not Found [IP : 86.59.118.153 80]
Err http://volatile.debian.org squeeze/volatile/non-free Sources
  404 Not Found [IP : 86.59.118.153 80]
Prendre : 14 http://security.debian.org squeeze/updates/contrib Sources [14B]
Prendre : 15 http://security.debian.org squeeze/updates/non-free Sources [14B]
Ign http://ftp.fr.debian.org squeeze/contrib Translation-fr
Ign http://ftp.fr.debian.org squeeze/non-free Translation-fr
Prendre : 16 http://ftp.fr.debian.org squeeze Release [69,3kB]
Prendre : 17 http://ftp.fr.debian.org squeeze/main Packages [6538kB]
Prendre : 18 http://ftp.fr.debian.org squeeze/contrib Packages [53,0kB]
Prendre : 19 http://ftp.fr.debian.org squeeze/non-free Packages [102kB]
Prendre : 20 http://ftp.fr.debian.org squeeze/main Sources [3720kB]
Prendre : 21 http://ftp.fr.debian.org squeeze/contrib Sources [33,9kB]
Prendre : 22 http://ftp.fr.debian.org squeeze/non-free Sources [61,7kB]
 11,3Mo téléchargés en 37s (301ko/s)
Lecture des listes de paquets... Fait

État actuel : 321 mises à jour restantes [+321], 10776 nouveaux paquets [+10775].</pre>
<p>Comme vous le voyez la branche volatile n&#8217;existe plus depuis la version Squeeze, vous pouvez donc supprimer de source.list toute ligne y faisant référence.</p>
<p>On peut maintenant passer à la mise à jour de la distribution</p>
<pre>aptitude dist-upgrade</pre>
<p>La mise à jour peut durer plusieurs heures, je vous recommande de conserver vos fichiers de configuration lorsque cela vous sera demandé.</p>
<p>Attention à tout message d&#8217;erreur ou d&#8217;avertissement concernant la carte réseau ou le raid, ne pas en tenir compte pourrait empêcher le démarrage de volumes RAID, le boot et/ou la connexion distante après le reboot.<br />
Sur les deux serveurs mis à jour j&#8217;ai eu à chaque fois des messages du type :</p>
<pre>W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169
W: mdadm: the array /dev/md/0 with UUID ba6fea8f:6b7003f9:03bea75a:cdb04b58
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!
W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare
W: mdadm: it to /etc/mdadm/mdadm.conf, and make the necessary changes.
W: mdadm: the array /dev/md/2 with UUID a480d83c:8cf557b8:b96b22ad:f40473f2
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!
W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare
W: mdadm: it to /etc/mdadm/mdadm.conf, and make the necessary changes.
W: mdadm: the array /dev/md/1 with UUID 480b18b3:861c5272:b96b22ad:f40473f2
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!
W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare
W: mdadm: it to /etc/mdadm/mdadm.conf, and make the necessary changes.</pre>
<p>Pour le problème de la carte réseau, vous pouvez suivre le tutoriel sur le post suivant : <a href="http://blog.zabe.fr/linux/module-r8169-manquant-lors-de-la-mise-a-jour-vers-squeeze/">http://blog.zabe.fr/linux/module-r8169-manquant-lors-de-la-mise-a-jour-vers-squeeze/</a></p>
<p>Pour le problème mdadm le post <a href="http://blog.zabe.fr/linux/resoudre-les-problemes-mdadm-lors-de-la-mise-a-jour-de-votre-debian-vers-la-squeeze/">http://blog.zabe.fr/linux/resoudre-les-problemes-mdadm-lors-de-la-mise-a-jour-de-votre-debian-vers-la-squeeze/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/mise-a-jour-de-debian-de-lenny-a-squeeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Module r8169 manquant lors de la mise à jour vers la Debian Squeeze</title>
		<link>http://blog.zabe.fr/linux/module-r8169-manquant-lors-de-la-mise-a-jour-vers-squeeze/</link>
		<comments>http://blog.zabe.fr/linux/module-r8169-manquant-lors-de-la-mise-a-jour-vers-squeeze/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 12:02:17 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[squeeze]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=194</guid>
		<description><![CDATA[Lors de la mise à jour d&#8217;une Debian Lenny a la version Squeeze de l&#8217;un de mes serveurs, j&#8217;ai obtenu le message d&#8217;erreur suivant : W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module &#8230; <a href="http://blog.zabe.fr/linux/module-r8169-manquant-lors-de-la-mise-a-jour-vers-squeeze/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Lors de la mise à jour d&#8217;une Debian Lenny a la version Squeeze de l&#8217;un de mes serveurs, j&#8217;ai obtenu le message d&#8217;erreur suivant :</strong></p>
<pre>W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169</pre>
<p><strong>Pour résoudre ce souci, j&#8217;ai trouvé la solution dans un forum, voilà la procédure :</strong></p>
<p>Connecté en root installer les packets suivants</p>
<pre>aptitude install firmware-linux firmware-linux-free firmware-linux-nonfree modconf</pre>
<p>Ensuite lancer modconf et activer les pilotes suivants :</p>
<pre>Dans la section kernel/drivers/pci/hotplug
activer
  fakephp (pas présent sur mon serveur)
  pci_hotplug
  shpchp</pre>
<pre>Dans la section kernel/drivers/net
activer
  8139too</pre>
<p>Source : <a href="http://lists.debian.org/debian-user-french/2011/02/msg00536.html">http://lists.debian.org/debian-user-french/2011/02/msg00536.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/module-r8169-manquant-lors-de-la-mise-a-jour-vers-squeeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajouter wdidle3 à un iso de l&#8217;ultimate boot cd et utilisation de wdidle3</title>
		<link>http://blog.zabe.fr/linux/ajouter-wdidle3-a-un-iso-de-lultimate-boot-cd/</link>
		<comments>http://blog.zabe.fr/linux/ajouter-wdidle3-a-un-iso-de-lultimate-boot-cd/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 10:59:31 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[4k]]></category>
		<category><![CDATA[EARS]]></category>
		<category><![CDATA[wdidle]]></category>
		<category><![CDATA[wdidle3]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=130</guid>
		<description><![CDATA[J&#8217;utilise pas mal de disques Western Digital Caviar Green dans les serveurs linux que j&#8217;assemble pour mes clients. En plus du &#171;&#160;problème&#160;&#187; des secteurs de 4k au lieu de 512 octets il existe un souci avec le parcage automatique des têtes qui &#8230; <a href="http://blog.zabe.fr/linux/ajouter-wdidle3-a-un-iso-de-lultimate-boot-cd/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;utilise pas mal de disques Western Digital Caviar Green dans les serveurs linux que j&#8217;assemble pour mes clients. En plus du &laquo;&nbsp;problème&nbsp;&raquo; des secteurs de 4k au lieu de 512 octets il existe un souci avec le parcage automatique des têtes qui fait grimper la valeur SMART load_cycle_count de manière dangereuse pour la santé des disques.</p>
<p>Afin d&#8217;augmenter l’intervalle de parcage des têtes voir de désactiver totalement ce parcage il faut utilise l&#8217;outil wdidle3. Cet outil nécessite de booter en mode DOS mais au lieu d&#8217;utiliser un cd entier juste pour wdidle il est plus intéressant de l&#8217;intégrer à l&#8217;UBCD qui comporte déjà pas mal d&#8217;utilitaires utiles.</p>
<h3>Intégration de wdidle à l&#8217;ISO de l&#8217;UBCD</h3>
<p>- Télécharger l&#8217;iso de l&#8217;UBCD : <a href="http://www.ultimatebootcd.com/" target="_blank">http://www.ultimatebootcd.com/</a></p>
<p>- Télécharger wdidle3 : <a href="http://support.wdc.com/product/download.asp?groupid=609&amp;sid=113" target="_blank">http://support.wdc.com/product/download.asp?groupid=609&amp;sid=113</a></p>
<p>- Décompresser l&#8217;iso au moyen de 7zip par exemple dans un dossier, nous allons utiliser le dossier d:\ubcd503 dans ce tutoriel</p>
<p>- Copier le fichier wdidle3.zip dans le dossier D:\ubcd503\ubcd\dosapps et renommer le en wdidle3.zip afin de ne pas avoir de souci avec les nom de plus de 8 caractères.</p>
<p>- Modifier le fichier c:\ubcd503\ubcd\custom\custom.ini et ajouter les lignes suivantes :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[User Defined]<br />
wdidle3; &quot;wdidle.exe&quot;; -$; wdidle3</div></div>
<p>- Modifier le fichier c:\ubcd-extracted\ubcd\custom\custom.cfg en ajoutant les lignes suivantes :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">LABEL -<br />
MENU LABEL Wdidle<br />
TEXT HELP<br />
Utilitaire wdidle<br />
ENDTEXT<br />
LINUX /boot/syslinux/memdisk<br />
INITRD /ubcd/images/fdubcd.img.gz<br />
APPEND raw ubcdcmd=wdidle3</div></div>
<p>- Ouvrez une ligne de commande et lancez la commande suivante afin de reconstruire l&#8217;ISO :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">D:\ubcd503\ubcd\tools\win32\ubcd2iso\ubcd2iso.cmd D:\ubcdnew.iso</div></div>
<p>- Gravez l&#8217;iso avec imgburn par exemple</p>
<h3>Utilisation de wdidle3 à partir de l&#8217;UBCD</h3>
<p>- Bootez sur le cd et sélectionner &laquo;&nbsp;User-defined&nbsp;&raquo;, là vous devriez avoir wdidle dans la liste des outils disponibles.</p>
<p>- Sélectionner wdidle puis une fois sur la ligne de commande vous pouvez taper la commande suivante afin de désactiver le parcage des têtes :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">wdidle3 /d</div></div>
<p>Page utilisée comme base pour la rédaction de ce tutoriel :  <a href="http://www.ultimatebootcd.com/customize.html" target="_blank">http://www.ultimatebootcd.com/customize.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/ajouter-wdidle3-a-un-iso-de-lultimate-boot-cd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mise en place de jobs cron pour phplist</title>
		<link>http://blog.zabe.fr/linux/mise-en-place-de-jobs-cron-pour-phplist/</link>
		<comments>http://blog.zabe.fr/linux/mise-en-place-de-jobs-cron-pour-phplist/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 15:32:19 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[phplist]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=94</guid>
		<description><![CDATA[Après avoir un peu galéré pour la mise en place de jobs cron pour lire les flux rss et traîter la file dans phplist je vous livre le résultat de mes recherche. Dans la doc il est donc qu&#8217;on peut &#8230; <a href="http://blog.zabe.fr/linux/mise-en-place-de-jobs-cron-pour-phplist/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Après avoir un peu galéré pour la mise en place de jobs cron pour lire les flux rss et traîter la file dans phplist je vous livre le résultat de mes recherche.</p>
<p>Dans la doc il est donc qu&#8217;on peut mettre une ligne de ce type pour éxécuter un job cron :</p>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>phplist<span style="color: #000000; font-weight: bold;">/</span>public_html<span style="color: #000000; font-weight: bold;">/</span>lists<span style="color: #000000; font-weight: bold;">/</span>admin<span style="color: #000000; font-weight: bold;">/</span>index.php <span style="color: #660033;">-pgetrss</span> <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>phplistigf.conf</div></div>
<p>He bien pas du tout, cela provoque une erreur au sujet de USER qui n&#8217;est pas défini.</p>
<p>Je suis tombé sur cette page <a href="http://docs.phplist.com/CommandLineScriptExamples" target="_blank">http://docs.phplist.com/CommandLineScriptExamples</a> où ils indiquent qu&#8217;il faut mettre un script en place par exemple à cet endroit /home/client/phplist.sh</p>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/bash</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Place config data in environment</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> CONFIG<br />
<br />
<span style="color: #666666; font-style: italic;"># Check the USER environment variable is set</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$USER</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> found USER variable<br />
<span style="color: #000000; font-weight: bold;">else</span><br />
<span style="color: #007800;">USER</span>=www-data<br />
<span style="color: #666666; font-style: italic;"># &nbsp; USER=listprocessor</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> USER<br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #666666; font-style: italic;"># run the PHPlist index file with all parameters passed to this script</span><br />
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>phplist<span style="color: #000000; font-weight: bold;">/</span>public_html<span style="color: #000000; font-weight: bold;">/</span>lists<span style="color: #000000; font-weight: bold;">/</span>admin<span style="color: #000000; font-weight: bold;">/</span>index.php <span style="color: #007800;">$*</span></div></div>
<p>Ne pas oublier de passer le script exécutable avec un chmod +x</p>
<p>Puis mettre les lignes suivantes dans le crontab :</p>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>phplist.sh <span style="color: #660033;">-pgetrss</span> <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>phplistigf.conf         <span style="color: #666666; font-style: italic;"># pour getrss</span><br />
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>phplist.sh -pprocessqueue -c <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>client<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>phplistigf.conf         <span style="color: #666666; font-style: italic;"># pour processqueue</span></div></div>
<p>Je précise le fichier de configuration car j&#8217;utilise une seule installation de phplist pour plusieurs site, le fichier de configuration est donc différent pour chaque site (base de données différentes, paramètres différents, etc.)</p>
<p>On peut rajouter un petit &gt;/dev/null à la fin des lignes cron une fois que tout fonctionne afin de ne pas avoir de mails contenant le retour de la console</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/mise-en-place-de-jobs-cron-pour-phplist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problème de ping d&#8217;une machine Linux avec son nom&#8230; erreur de débutant</title>
		<link>http://blog.zabe.fr/linux/problemes-de-ping-avec-le-nom-dun-serveur-linux-erreur-de-debutant/</link>
		<comments>http://blog.zabe.fr/linux/problemes-de-ping-avec-le-nom-dun-serveur-linux-erreur-de-debutant/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 00:14:10 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[erreur]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=66</guid>
		<description><![CDATA[Après avoir installé mon serveur de sauvegarde, j&#8217;ai constaté que je ne pouvais pas faire de ping de son nom depuis un pc sous windows ou mon autre serveur Linux. J&#8217;ai donc procédé à une vérification des ports ouverts, du &#8230; <a href="http://blog.zabe.fr/linux/problemes-de-ping-avec-le-nom-dun-serveur-linux-erreur-de-debutant/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Après avoir installé mon serveur de sauvegarde, j&#8217;ai constaté que je ne pouvais pas faire de ping de son nom depuis un pc sous windows ou mon autre serveur Linux. J&#8217;ai donc procédé à une vérification des ports ouverts, du paramétrage de samba, des règles des firewall, des logs de samba, etc. &#8230; rien d&#8217;anormal&#8230;</p>
<p>Avant d&#8217;abandonner&#8230; pour cette nuit <img src='http://blog.zabe.fr/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> , j&#8217;essai un dernier test depuis mon autre serveur Linux :</p>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">srv01:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>samba<span style="color: #666666; font-style: italic;"># nmblookup srv02</span><br />
querying srv02 on 192.168.2.255<br />
192.168.2.2 srv02<span style="color: #000000; font-weight: bold;">&lt;</span>00<span style="color: #000000; font-weight: bold;">&gt;</span></div></div>
<p>Bon il ne le trouve toujours pas, normal car le ping srv02 ne fonctionnait pas. Je fais donc le test dans l&#8217;autre sens sur l&#8217;autre serveur :</p>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">srv02:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>samba<span style="color: #666666; font-style: italic;"># nmblookup srv01</span><br />
querying srv01 on 192.255.255.255<br />
name_query failed to <span style="color: #c20cb9; font-weight: bold;">find</span> name srv01</div></div>
<p>Et là que vois-je ????? une adresse en 192.255.255.255 alors que sur l&#8217;autre l&#8217;adresse de broadcast était 192.168.2.2555.</p>
<p>He oui finalement ce n&#8217;était qu&#8217;une erreur de masque sur l&#8217;interface de mon serveur srv02, après avoir mis 255.255.255.0 tout est rentré dans l&#8217;ordre et tout le monde pouvait se pinguer joyeusement par le nom&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/problemes-de-ping-avec-le-nom-dun-serveur-linux-erreur-de-debutant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migration de backuppc d&#8217;une machine sous Debian Lenny à une autre</title>
		<link>http://blog.zabe.fr/linux/migration-de-backuppc-dune-machine-sous-debian-lenny-a-une-autre/</link>
		<comments>http://blog.zabe.fr/linux/migration-de-backuppc-dune-machine-sous-debian-lenny-a-une-autre/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 09:39:45 +0000</pubDate>
		<dc:creator>Sylvain</dc:creator>
				<category><![CDATA[backuppc]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[lenny]]></category>

		<guid isPermaLink="false">http://blog.zabe.fr/?p=49</guid>
		<description><![CDATA[Dans un précédent en cours de rédaction je décris comment installer Lenny sur des disques WD EARS avec clusters de 4KB. Suite à cela il a fallu que je transfert le logiciel backuppc, sa configuration et le pool de sauvegarde &#8230; <a href="http://blog.zabe.fr/linux/migration-de-backuppc-dune-machine-sous-debian-lenny-a-une-autre/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Dans un précédent en cours de rédaction je décris comment installer Lenny sur des disques WD EARS avec clusters de 4KB. Suite à cela il a fallu que je transfert le logiciel backuppc, sa configuration et le pool de sauvegarde sur cette nouvelle machine. La tâche a été assez facile, un peu de rsync, scp, chown, ln, etc. et le tour était joué. J&#8217;ai tout de même au quelques petits soucis donc j&#8217;explique la solution dans ce billet.</p>
<p>﻿﻿Après avoir tout transféré, les graphiques sur la page d&#8217;accueil de backuppc ne fonctionnaient plus. J&#8217;ai donc jeté un oeil dans le fichier error d&#8217;apache :</p>
<div id="_mcePaste">
<ol>
<li>Une fois backuppc installé sur la nouvelle machine, arrêter le service sur les deux machines.</li>
<li>Copier /etc/backuppc sur la nouvelle machine en sauvegardant la configuration actuelle ailleurs&#8230; juste au cas où <img src='http://blog.zabe.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Vérifier les droits sur les fichiers</li>
<li>Copier le pool de sauvegarde sur la nouvelle machine (srv02) pour moi c&#8217;était la commande suivante à lancer sur la nouvelle machine avec du rsync et du ssh :
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">rsync -apzv --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive --partial -e &quot;ssh -p 22 -i /root/.ssh/id_rsa&quot; root@srv01:/backup/backuppc/ /home/backuppc/&lt;br style=&quot;font-family: Georgia, 'Bitstream Charter', serif; color: #444444; line-height: 1.5;&quot; /&gt;</div></div>
<p>Il y a peut-être plus court comme commande mais au moins on voit bien toutes les options en clair.<br />
La copie a duré plusieurs heures car il y avait tout de même plus d&#8217;un tera-octet de données.</li>
<li>J&#8217;ai modifié le fichier de configuration afin d&#8217;indiquer que le pool se trouve sur /home/backuppc, c&#8217;est le paramètre suivant : $Conf{TopDir} = &#8216;/home/backuppc&#8217;;<br />
J&#8217;ai ensuite créé un lien symbolique de /var/lib/backuppc (dossier du pool par défaut) sur /home/backuppc, je ne sais pas si c&#8217;est nécessaire mais au moins je ne risque pas d&#8217;erreur avec un répertoire /var/lib/backuppc manquant.</li>
<li>Vu que je suis passé d&#8217;une Lenny 32 bits à une Lenny 64 bits j&#8217;ai eu un souci avec rrdtool qui ne voulait plus générer les graphiques et je me suis retrouvé avec le message suivant dans le error.log d&#8217;Apache :<br />
&laquo;&nbsp;ERROR: This RRD was created on another architecture&nbsp;&raquo;<br />
J&#8217;ai donc suivi les indications données ici : <a style="font-family: Georgia, 'Bitstream Charter', serif; color: #0066cc; line-height: 1.5;" href="http://tripleblack.net/~mmeija/?q=node/27" target="_blank">http://tripleblack.net/~mmeija/?q=node/27</a><br />
Lancez la commande suivante sur la nouvelle machine : cd /var/lib/backuppc/log &amp;&amp; rrdtool dump pool.rrd &gt;pool.rrd.xml<br />
Copier le fichier pool.rrd.xml sur la nouvelle machine avec un ptit scp par exemple.<br />
Faites une sauvegarde du fichier pool.rrd de la nouvelle machine puis lancez la commande qui va restaurer les données des graphiques : mv pool.rrd pool.rrd.old &amp;&amp; rrdtool restore pool.rrd.xml<br />
Vérifiez les droits sur les fichiers, je ne l&#8217;avais pas fait et le fichier pool.rrd était resté en root:root du coup les statistiques ne pouvaient pas être mises à jour.</li>
</ol>
</div>
<p>Et voilà vous pouvez relancer backuppc et ouvrir l&#8217;interface web. Petit rappel, si vous ne vous souvenez pas du mot de passe dans le cas où vous l&#8217;ayez enregistré dans votre navigateur il y a six mois <img src='http://blog.zabe.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> , un petit coup de <em>htpsswd /etc/backuppc/.htpasswd backuppc</em> vous permettra d&#8217;en définir un nouveau.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zabe.fr/linux/migration-de-backuppc-dune-machine-sous-debian-lenny-a-une-autre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

