<?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>Trucs Libres &#187; rsync</title>
	<atom:link href="http://fr.positon.org/tag/rsync/feed" rel="self" type="application/rss+xml" />
	<link>http://fr.positon.org</link>
	<description></description>
	<lastBuildDate>Tue, 23 Feb 2016 20:01:11 +0000</lastBuildDate>
	<language>fr-FR</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.7.1</generator>
	<item>
		<title>Cloner un système Linux vers un autre ordinateur</title>
		<link>http://fr.positon.org/cloner-un-systeme-linux-vers-un-autre-ordinateur</link>
		<comments>http://fr.positon.org/cloner-un-systeme-linux-vers-un-autre-ordinateur#comments</comments>
		<pubDate>Sun, 06 Apr 2014 15:54:06 +0000</pubDate>
		<dc:creator><![CDATA[dooblem]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gparted]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rsync]]></category>

		<guid isPermaLink="false">http://positon.org/?p=159</guid>
		<description><![CDATA[Après quelques recherches je n&#8217;ai trouvé aucun guide simple et efficace pour ça. La méthode suivante devrait fonctionner pour n&#8217;importe quelle distribution Linux (Ubuntu, Debian, Manjaro, Archlinux, Fedora&#8230;). Les systèmes source et cible doivent être sur la même architecture processeur (mais un transfert depuis 32bit vers 64bit devrait fonctionner). Il vous faut: 2 clés USB [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Après quelques recherches je n&#8217;ai trouvé aucun guide simple et efficace pour ça.<br />
La méthode suivante devrait fonctionner pour n&#8217;importe quelle distribution Linux (Ubuntu, Debian, Manjaro, Archlinux, Fedora&#8230;). Les systèmes source et cible doivent être sur la même architecture processeur (mais un transfert depuis 32bit vers 64bit devrait fonctionner).</p>
<p>Il vous faut:</p>
<ul>
<li>2 clés USB live (ou cds)</li>
<li>Pour un transfert plus rapide: des bons câbles ethernet (un seul câble entre les 2 ordis suffit), ou un disque usb avec une GROSSE partition ext4. Vous pouvez essayer en Wifi, mais ça risque d&#8217;être lent.</li>
</ul>
<h3>1. Démarrer les machines source et cible sur live USB/CD</h3>
<p>N&#8217;importe quel clé USB ou CD devrait faire l&#8217;affaire.<br />
Sur l&#8217;ordinateur cible, vous aurez besoin d&#8217;un outil pour partitionner votre disque dûr, comme <a href="http://gparted.org/" title="gparted">gparted</a>.<br />
<a href="http://rsync.samba.org/" title="rsync">rsync</a> est également nécessaire pour le transfert de données : il est inclus dans la plupart des systèmes live.</p>
<p>Exemples de live USB/CDs : <a href="http://www.ubuntu.com/" title="Ubuntu">Ubuntu</a>, <a href="http://manjaro.org/" title="Manjaro">Manjaro</a></p>
<h3>2. Partitionnez votre disque cible</h3>
<p>Utilisez un outil comme <a href="http://gparted.org/" title="gparted">gparted</a> pour partitionner votre disque cible, avec les mêmes partitions que votre système source (slash, swap, home&#8230;).<br />
Je vous recommande d&#8217;affecter des LABELs / étiquettes à vos partitions : c&#8217;est plus simple que les UUIDs pour la fstab.</p>
<h3>3. Monter toutes les partitions sur les 2 machines</h3>
<p>Sur les 2 systèmes, ouvrez un terminal root. Pour chaque partition de données (on ignore la swap) :</p>
<pre>
mkdir /mnt/slash
mount /dev/sdaX /mnt/slash
</pre>
<p>Si vous avez une partition home:</p>
<pre>
mkdir /mnt/home
mount /dev/sdaY /mnt/home
</pre>
<h3>4. Transférer les données (réseau ou usb)</h3>
<p>Cette partie peut être complexe. Choisissez la méthode que vous préférez.</p>
<h4>Réseau</h4>
<ol>
<li><strong>Configurez le réseau.</strong> Testez la connectivité avec la commande ping.<br />
Le plus simple est de brancher les PCs sur un réseau DHCP (comme la box de votre FAI) pour obtenir des adresses IP automatiques. Si vous reliez les 2 pcs avec un seul cable, vous devrez configurer les IPs avec NetworkManager (ips statiques ou réseau adhoc).</li>
<li>Sur le système source, en root, créez un fichier <code>/etc/rsyncd.conf</code> :
<pre>
uid = root
gid = root
use chroot = no

[all]
    path = /
</pre>
</li>
<li>Lancez le démon serveur rsync : <code>rsync --daemon</code></li>
<li>Sur le PC cible, pour chaque partition :
<pre>
rsync -avHX SOURCE_IP::all/mnt/slash/ /mnt/slash/
</pre>
<p>N&#8217;oubliez pas les &#8216;/&#8217; à la fin des chemins. <code>-a</code> pour conserver plusieurs attributs comme propriétaire et permissions, <code>-H</code> pour conserver d&#8217;éventuels liens en dûr, <code>-X</code> pour conserver les attributs étendus comme setuid. Vous pouvez également ajouter <code>-A</code> si vous utilisez des acls. L&#8217;avantage de rsync, c&#8217;est que vous pouvez arrêter et relancer le transfert quand vous voulez.</li>
</ol>
<h4>USB</h4>
<p>Préparez un disque USB avec une GROSSE partition ext4.</p>
<ol>
<li>Montez la partition USB sur le système source (<code>mount /dev/sdbX /mnt/usb</code>)</li>
<li>Pour chaque partition :
<pre>
rsync -avHX /mnt/slash/ /mnt/usb/slash/
</pre>
</li>
<li>Démontez (umount), débranchez et remontez le disque USB sur le système cible.</li>
<li>Pour chaque partition :
<pre>
rsync -avHX /mnt/usb/slash/ /mnt/slash/
</pre>
</li>
</ol>
<h3>5. Changer la fstab sur le système cible</h3>
<p>En tant que root, éditez <code>/mnt/slash/etc/fstab</code><br />
Pour chaque partition (swap y compris), remplacez le 1er champ avec le nouvel UUID ou LABEL (plus simple avec les LABELs) :<br />
<code>UUID=the-long-uuid</code>, or <code>LABEL=yourlabel</code></p>
<p>2 méthode pour obtenir les UUIDs / LABELs :</p>
<pre>
ls -l /dev/disk/by-uuid/
blkid /dev/sdaX
</pre>
<h3>6. Réinstaller Grub</h3>
<p>Nous allons utiliser un  <strong>chroot</strong> (environnement avec racine changée) pour lancer l&#8217;install <a href="http://www.gnu.org/software/grub/" title="Grub">grub</a> à l&#8217;intérieur du système migré.</p>
<p>Tout d&#8217;abord, monter (bind) les répertoires systèmes requis par grub. Lancer ensuite le chroot :</p>
<pre>
mount --bind /proc /mnt/slash/proc
mount --bind /sys /mnt/slash/sys
mount --bind /dev /mnt/slash/dev
mount --bind /run /mnt/slash/run
chroot /mnt/slash
</pre>
<p>Enfin, installer grub dans la zone d&#8217;amorçage (<a href="http://fr.wikipedia.org/wiki/Master_boot_record" title="master boot record">Master Boot Record</a>) de votre disque dûr, et mettre à jour le fichier de configuration de grub (avec les nouveaux uuids&#8230;) :</p>
<pre>
grub-install /dev/sda
update-grub
</pre>
<h3>7. Redémarrer la machine cible</h3>
<p>Voila ! Votre système devrait fonctionner sur le nouvel ordinateur.<br />
N&#8217;hésitez pas à commenter en cas de problème.</p>
]]></content:encoded>
			<wfw:commentRss>http://fr.positon.org/cloner-un-systeme-linux-vers-un-autre-ordinateur/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bsync : Synchronisation Bidirectionnelle avec Rsync</title>
		<link>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync</link>
		<comments>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync#comments</comments>
		<pubDate>Thu, 05 Dec 2013 22:22:36 +0000</pubDate>
		<dc:creator><![CDATA[dooblem]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bsync]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://fr.positon.org/?p=152</guid>
		<description><![CDATA[Bsync est un outil de synchronisation bidirectionnelle utilisant Rsync pour les transferts. Les fichiers déplacés sont également synchronisés de manière intelligente. Il utilise rsync pour les transferts de fichiers, find pour générer les snapshots de listes de fichiers, et ssh pour les les transferts distants. bsync est une alternative à Unison, écrit en Python 3. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Bsync est un outil de synchronisation bidirectionnelle utilisant Rsync pour les transferts. Les <strong>fichiers déplacés</strong> sont également synchronisés de manière intelligente.</p>
<p>Il utilise <a href="http://rsync.samba.org">rsync</a> pour les transferts de fichiers, <a href="http://www.gnu.org/software/findutils/">find</a> pour générer les snapshots de listes de fichiers, et <a href="http://www.openssh.com/">ssh</a> pour les les transferts distants.</p>
<p>bsync est une alternative à Unison, écrit en <a href="http://www.python.org/">Python 3</a>. Une grande force de bsync : il détecte et applique les déplacements de fichiers d&#8217;un dossier vers l&#8217;autre (Unison utilise des copies pour gérer les fichiers déplacés).</p>
<p>J&#8217;ai développé bsync pour synchroniser mon dossier de musique de mon laptop vers mon <a href="http://www.raspberrypi.org/">Raspberry Pi</a> de manière efficace, et pour synchroniser avec le laptop de ma compagne également.</p>
<p>Bsync est publié sous GPL. N&#8217;hésitez pas à soumettre bugs et suggestions dans les <a href="https://github.com/dooblem/bsync/issues">tickets GitHub</a>.</p>
<p><a href="https://github.com/dooblem/bsync">Infos, Téléchargement et Installation sur le dépôt GitHub.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fr.positon.org/bsync-synchronisation-bidirectionnelle-avec-rsync/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Restriction de commande Rsync par SSH</title>
		<link>http://fr.positon.org/restriction-de-commande-rsync-par-ssh</link>
		<comments>http://fr.positon.org/restriction-de-commande-rsync-par-ssh#comments</comments>
		<pubDate>Wed, 29 Dec 2010 17:36:00 +0000</pubDate>
		<dc:creator><![CDATA[dooblem]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://positon.org:81/?p=108</guid>
		<description><![CDATA[Vous disposez de deux systèmes et vous voulez mettre en place une sauvegarde sécurisée par rsync + SSH d&#8217;un système sur l&#8217;autre. De manière très simple, vous pouvez utiliser la commande : backup.example.com# rsync -avz --numeric-ids --delete root@myserver.example.com:/path/ /backup/myserver/ Pour faire la sauvegarde, vous devez être root sur le serveur, car certains fichiers ne sont [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Vous disposez de deux systèmes et vous voulez mettre en place une sauvegarde sécurisée par rsync + SSH d&#8217;un système sur l&#8217;autre.</p>
<p>De manière très simple, vous pouvez utiliser la commande :</p>
<pre>
backup.example.com# rsync -avz --numeric-ids --delete root@myserver.example.com:/path/ /backup/myserver/
</pre>
<p>Pour faire la sauvegarde, vous devez être root sur le serveur, car certains fichiers ne sont lisibles que par root.</p>
<p>Problème : vous allez autoriser backup.example.com à faire n&#8217;importe quoi sur myserver.example.com, alors qu&#8217;un simple accès en lecture seule sur un dossier suffit.</p>
<p>Pour résoudre ce problème, il suffit d&#8217;utiliser la directive <code>command=""</code> dans le fichier <code>authorized_keys</code> pour filtrer la commande lancée.</p>
<p>Pour trouver cette commande, on lance rsync en ajoutant l&#8217;option <code>-e'ssh -v'</code> :</p>
<pre>
rsync -avz -e'ssh -v' --numeric-ids --delete root@myserver.example.com:/path/ /backup/myserver/ 2&gt;&amp;1 | grep &quot;Sending command&quot;
</pre>
<p>On obtient un résultat du genre :</p>
<pre>
debug1: Sending command: rsync --server --sender -vlogDtprze.iLsf --numeric-ids . /path/
</pre>
<p>Maintenant, il suffit d&#8217;ajouter la commande avant la clé dans le fichier <code>/root/.ssh/authorized_keys</code> :</p>
<pre>
command=&quot;rsync --server --sender -vlogDtprze.iLsf --numeric-ids . /path/&quot; ssh-rsa AAAAB3NzaC1in2EAAAABIwAAABio......
</pre>
<p>Et pour encore plus de sécurité, on pourra ajouter un filtre par IP, et autres options :</p>
<pre>
from=&quot;backup.example.com&quot;,command=&quot;rsync --server --sender -vlogDtprze.iLsf --numeric-ids . /path/&quot;,no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAAB3NzaC1in2EAAAABIwAAABio......
</pre>
<p>Maintenant, vous pouvez essayer d&#8217;ouvrir un shell ssh, ou de lancer d&#8217;autres commandes rsync non autorisées&#8230;</p>
<p>Notes :</p>
<ul>
<li>Attention, si vous changez les options de la commande rsync, à ne pas oublier de modifier aussi le fichier <code>authorized_keys</code>.</li>
<li>Plus besoin de chroot compliqué, vous pouvez oublier mon précédent article : <a href="/sftp-chroot-rsync">SFTP-chroot-rsync</a></li>
</ul>
<p><ins>Voir aussi</ins> :</p>
<ul>
<li><code>man ssh #/AUTHORIZED_KEYS FILE FORMAT</code></li>
<li><code>man rsync</code></li>
<li><code>view /usr/share/doc/rsync/scripts/rrsync.gz</code> (restricted rsync, vous permet de gérer précisément les options autorisées)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fr.positon.org/restriction-de-commande-rsync-par-ssh/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SFTP chroot + rsync</title>
		<link>http://fr.positon.org/sftp-chroot-rsync</link>
		<comments>http://fr.positon.org/sftp-chroot-rsync#comments</comments>
		<pubDate>Fri, 09 Oct 2009 16:12:00 +0000</pubDate>
		<dc:creator><![CDATA[dooblem]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[SFTP]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://positon.org:81/?p=62</guid>
		<description><![CDATA[On le trouve partout. Voici comment créer des partages sftp en chroot. Dans le fichier /etc/ssh/sshd_config : # on utilise le sftp interne d'openssh # car la commande /usr/lib/openssh/sftp-server ne sera pas disponible dans le chroot Subsystem sftp internal-sftp Match group sftp ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp MAJ 17/06/2010 : Attention à [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>On le trouve partout. Voici comment créer des partages sftp en chroot.</p>
<p>Dans le fichier <code>/etc/ssh/sshd_config</code> :</p>
<pre>
# on utilise le sftp interne d'openssh
# car la commande /usr/lib/openssh/sftp-server ne sera pas disponible dans le chroot
Subsystem sftp internal-sftp

Match group sftp
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
</pre>
<p><strong>MAJ 17/06/2010 :</strong> Attention à la syntaxe ! Les commentaires doivent commencer en début de ligne uniquement, et il ne doit pas y avoir d&#8217;espace en fin de la ligne <code>ForceCommand internal-sftp</code>.</p>
<p>Il suffit ensuite de créer des utilisateurs appartenant au groupe sftp, et le tour est joué.<br />
On teste par :</p>
<pre>
sftp user@myserver.com
</pre>
<p><strong>Problème si on veut utiliser la commande rsync pour transférer des fichiers</strong>, car la commande rsync n&#8217;est pas disponible dans le chroot.</p>
<p>En premier lieu, on autorise d&#8217;autres commandes que &#8220;internal-sftp&#8221; en commentant la ligne :</p>
<pre>
#ForceCommand internal-sftp
</pre>
<p>Ensuite, on crée l&#8217;arborescence suivante dans le dossier chroot :</p>
<pre>
bin/
bin/bash
bin/rsync
lib/
lib/libncurses.so.5
lib/ld-linux.so.2
lib/libacl.so.1
lib/libpopt.so.0
lib/libattr.so.1
lib/i686
lib/i686/cmov
lib/i686/cmov/libdl.so.2
lib/i686/cmov/libc.so.6
</pre>
<p>Il s&#8217;agit des commandes <code>bash</code> et <code>rsync</code>, ainsi que toutes leurs librairies (que l&#8217;on peut obtenir à l&#8217;aide de la commande <code>ldd</code>)</p>
<p>Note : l&#8217;utilisateur doit avoir <code>/bin/bash</code> comme shell par défaut.</p>
<p>Note 2 : le dossier du chroot doit appartenir à root, bien que ça soit le dossier de l&#8217;utilisateur. Pour permettre à l&#8217;utilisateur d&#8217;écrire dedans, il faut créer un sous dossier où il a les droit. C&#8217;est une contrainte importante, mais nécessaire à la sécurité d&#8217;un chroot, vous dirons les programmeurs d&#8217;OpenSSH.</p>
<p><ins>Références</ins> :</p>
<ul>
<li><code>man sshd_config</code></li>
<li><a href="http://www.debian-administration.org/articles/590" title="http://www.debian-administration.org/articles/590">http://www.debian-administration.org/articles/590</a></li>
<li><a href="http://www.howtoforge.org/chrooted-ssh-sftp-tutorial-debian-lenny" title="http://www.howtoforge.org/chrooted-ssh-sftp-tutorial-debian-lenny">http://www.howtoforge.org/chrooted-ssh-sftp-tutorial-debian-lenny</a></li>
<li><a href="http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/" title="http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/">http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fr.positon.org/sftp-chroot-rsync/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sauvegarde intelligente avec rsync</title>
		<link>http://fr.positon.org/sauvegarde-intelligente-avec-rsync</link>
		<comments>http://fr.positon.org/sauvegarde-intelligente-avec-rsync#comments</comments>
		<pubDate>Tue, 29 Jul 2008 13:43:00 +0000</pubDate>
		<dc:creator><![CDATA[dooblem]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[rsync]]></category>

		<guid isPermaLink="false">http://positon.org:81/?p=35</guid>
		<description><![CDATA[rsync est un outil très puissant de copie/transfer/sauvegarde de fichiers sous Unices. Pour effectuer une sauvegarde triviale, on peut l&#8217;utiliser de la manière suivante : rsync -av MES_DONNEES DOSSIER_SAUVEGARDE Plutôt que de refaire une copie intégrale de mes données dans le dossier de sauvegarde à chaque sauvegarde, il est plus intelligent d&#8217;utiliser rsync combiné avec [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>rsync est un outil très puissant de copie/transfer/sauvegarde de fichiers sous Unices.</p>
<p>Pour effectuer une sauvegarde triviale, on peut l&#8217;utiliser de la manière suivante :</p>
<pre>
rsync -av MES_DONNEES DOSSIER_SAUVEGARDE
</pre>
<p>Plutôt que de refaire une copie intégrale de mes données dans le dossier de sauvegarde à chaque sauvegarde, il est plus intelligent d&#8217;utiliser rsync combiné avec le système de fichiers ext3 pour faire des sauvegardes incrémentales.</p>
<pre>
cp -al DOSSIER_SAUVEGARDE_HIER DOSSIER_SAUVEGARDE
rsync -av MES_DONNEES DOSSIER_SAUVEGARDE
</pre>
<p>Le cp -al recopie le dossier en créant des nouveau répertoire, mais en faisant des liens en dur vers les fichiers. En faisant un rsync par dessus, seuls les fichiers modifiés sont copiés. Ainsi, on utilise de l&#8217;espace disque en plus seulement pour les nouveaux fichiers. Le plus fort, c&#8217;est qu&#8217;on peut accéder à chaque dossier de sauvegarde de manière très rapide car ils sont tous identiques aux originaux. Un mini système de gestion de versions très simple à mettre en place.</p>
<p>Mais le plus fort c&#8217;est que rsync peut tout faire à notre place :</p>
<pre>
rsync -av --link-dest=DOSSIER_SAUVEGARDE_HIER MES_DONNEES DOSSIER_SAUVEGARDE
</pre>
]]></content:encoded>
			<wfw:commentRss>http://fr.positon.org/sauvegarde-intelligente-avec-rsync/feed</wfw:commentRss>
		<slash:comments></slash:comments>
		</item>
	</channel>
</rss>
