<?xml
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Vader[FR] : ce n'est pas un blog, c'est un Sith</title>
	<link>https://vader-fr.fr/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://vader-fr.fr/spip.php?id_rubrique=5&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>Vader[FR] : ce n'est pas un blog, c'est un Sith</title>
		<url>https://vader-fr.fr/local/cache-vignettes/L144xH144/siteon0-c1872.jpg?1771612673</url>
		<link>https://vader-fr.fr/</link>
		<height>144</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Redonner un peu de punch &#224; un vieux pc portable</title>
		<link>https://vader-fr.fr/spip.php?article202</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article202</guid>
		<dc:date>2025-09-22T08:42:54Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>



		<description>
&lt;p&gt;Sur un PC portable, il n'y a que 3 &#233;l&#233;ments mat&#233;riels qui peuvent &#234;tre facilement modifi&#233;s ou chang&#233;s : batterie m&#233;moire vive disque dur &lt;br class='autobr' /&gt;
Le processeur pourrait &#234;tre chang&#233;, mais ce n'est plus le m&#234;me niveau de complexit&#233;. &lt;br class='autobr' /&gt;
Ensuite, le syst&#232;me d'exploitation, la configuration des caches, le choix de l'interface graphique et les services actifs auront une influence sur les performances. &lt;br class='autobr' /&gt;
Il faudra donc : identifier le mat&#233;riel choisir certains composants &#224; changer si possible installer les (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://vader-fr.fr/local/cache-vignettes/L150xH150/laptop_by_metalmarious-6e379.svg?1771613035' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Sur un PC portable, il n'y a que 3 &#233;l&#233;ments mat&#233;riels qui peuvent &#234;tre &lt;strong&gt;facilement&lt;/strong&gt; modifi&#233;s ou chang&#233;s :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; batterie&lt;/li&gt;&lt;li&gt; m&#233;moire vive&lt;/li&gt;&lt;li&gt; disque dur&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le processeur pourrait &#234;tre chang&#233;, mais ce n'est plus le m&#234;me niveau de complexit&#233;.&lt;/p&gt;
&lt;p&gt;Ensuite, le syst&#232;me d'exploitation, la configuration des caches, le choix de l'interface graphique et les services actifs auront une influence sur les performances.&lt;/p&gt;
&lt;p&gt;Il faudra donc :&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; identifier le mat&#233;riel&lt;/li&gt;&lt;li&gt; choisir certains composants &#224; changer si possible&lt;/li&gt;&lt;li&gt; installer les nouveaux composants&lt;/li&gt;&lt;li&gt; param&#233;trer le syst&#232;me d'exploitation et les logiciels pour tirer parti au mieux du mat&#233;riel.&lt;/li&gt;&lt;/ol&gt;&lt;div class=&#034;onglets_bloc_initial&#034;&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;1) Identifier le mat&#233;riel&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;h3 class=&#034;spip&#034;&gt;1) Identifier le mat&#233;riel&lt;/h3&gt;
&lt;p&gt;Exemple avec un Asus de la s&#233;rie K53S, portable datant apparemment de 2012.&lt;br class='autobr' /&gt;
Il en existe plusieurs mod&#232;les, lesquels ont &#224; leur tour plusieurs d&#233;riv&#233;s : K53SC, K53SD, K53SJ, K53SK, K53SM, K53SV.&lt;/p&gt;
&lt;p&gt;L'&#233;tiquette sur le repose poignets donne plusieurs informations qui permettront d'identifier le mat&#233;riel avec pr&#233;cision, et donc de pouvoir choisir des composants compatibles.&lt;br class='autobr' /&gt;
&lt;span class='spip_document_711 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH227/asus_k53s_2-c856b.jpg?1771613035' width='500' height='227' alt=&#034;Autocollant Asus K53S&#034; title=&#034;Autocollant Asus K53S&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; CPU Pentium B960 &#224; 2.2 Ghz&lt;/li&gt;&lt;li&gt; M&#233;moire vive 4 Go&lt;/li&gt;&lt;li&gt; Disque dur 500 Go - l'utilitaire de disques indique que le mod&#232;le est ST9500325AS.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Les diff&#233;rents outils syst&#232;me permettent aussi d'obtenir les caract&#233;ristiques mat&#233;rielles.&lt;/p&gt;
&lt;p&gt;Une recherche combinant ainsi plusieurs caract&#233;ristiques techniques sp&#233;cifiques &#224; ce mod&#232;le, comme &#034;&lt;a href=&#034;https://duckduckgo.com/?q=Asus+K53S+Pentium+B960&amp;t=ffab&amp;ia=web&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Asus K53S Pentium B960&lt;/a&gt;&#034; filtrera les r&#233;sultats.&lt;/p&gt;
&lt;p&gt;Le site Asus donnant peu voire pas de caract&#233;ristiques techniques (ou alors &#224; chercher dans les manuels qu'il faut t&#233;l&#233;charger un par un), le site icecat permettra d'identifier le mod&#232;le &lt;a href=&#034;https://icecat.biz/fr/p/asus/k53sd-sx256v/notebooks-k53sd-sx256v-11912343.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;K53SD-SX256V&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Une fois le mod&#232;le identifi&#233;, on peut chercher les &lt;a href=&#034;https://www.asus.com/fr/supportonly/k53sd/helpdesk_manual/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;manuels&lt;/a&gt; sur le site d'Asus. Manuel qui ne donnera pas beaucoup plus d'informations sur les caract&#233;ristiques techniques. Il faudra donc se contenter des informations sur icecat.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Intel&#174; Pentium&#174; B960 2,2 GHz&lt;/li&gt;&lt;li&gt; 4 Go DDR3-SDRAM 1333 MHz
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Type de m&#233;moire interne : DDR3-SDRAM&lt;/li&gt;&lt;li&gt; Fr&#233;quence de la m&#233;moire : 1333 MHz&lt;/li&gt;&lt;li&gt; Emplacements m&#233;moire : 2x SO-DIMM&lt;/li&gt;&lt;li&gt; M&#233;moire interne maximale : 8 Go&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; 500 Go HDD
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Interface du disque dur : SATA&lt;/li&gt;&lt;li&gt; Taille du disque dur : 2.5&#034;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Windows 7 Home Premium 64-bit&lt;/li&gt;&lt;li&gt; Batterie Lithium-Ion (Li-Ion)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cela semble &#234;tre le m&#234;me mod&#232;le (couleur, processeur, m&#233;moire vive, disque dur, syst&#232;me d'exploitation install&#233;).&lt;/p&gt;
&lt;p&gt;D'apr&#232;s le site &lt;a href=&#034;https://icecat.biz/fr/p/seagate/st9500325as/momentus-internal+hard+drives-5400.6+500gb-1775815.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;icecat&lt;/a&gt; et le site du constructeur &lt;a href=&#034;https://www.seagate.com/docs/pdf/datasheet/disc/ds_momentus_5400_6.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Seagate&lt;/a&gt; (tableau page 2, 1ere colonne 500 Go, on y retrouve le &lt;i&gt;Model Number&lt;/i&gt;), les dimensions du disque sont :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Largeur 69,85 mm&lt;/li&gt;&lt;li&gt; Hauteur 9,5 mm&lt;/li&gt;&lt;li&gt; Profondeur 100,5 mm&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Et son interface est SATA 3Gb/s.&lt;/p&gt;
&lt;dl class='spip_document_714 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;a href='https://vader-fr.fr/IMG/pdf/asus_k53sd-sx256v.pdf' title='PDF - 762.2 kio' type=&#034;application/pdf&#034;&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L64xH64/pdf-b8aed.svg?1772810829' width='64' height='64' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;Caract&#233;ristiques du portable (icecat)&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;dl class='spip_document_713 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;a href='https://vader-fr.fr/IMG/pdf/ds_momentus_5400_6.pdf' title='PDF - 87.1 kio' type=&#034;application/pdf&#034;&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L64xH64/pdf-b8aed.svg?1772810829' width='64' height='64' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;Caract&#233;ristiques du disque dur (Seagate)&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;dl class='spip_document_718 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;a href='https://vader-fr.fr/IMG/pdf/asus_k53sd_manuel_fr.pdf' title='PDF - 9.7 Mio' type=&#034;application/pdf&#034;&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L64xH64/pdf-b8aed.svg?1772810829' width='64' height='64' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;Manuel Asus K53SD&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;2) choisir les composants &#224; changer&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;h3 class=&#034;spip&#034;&gt;2) choix des composants &#224; changer&lt;/h3&gt;
&lt;p&gt;Comme indiqu&#233; pr&#233;c&#233;demment, il est parfois possible de changer le processeur pour un plus puissant (et qui chaufferait plus), mais les 3 composants que l'on peut facilement modifier sont :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; batterie&lt;/li&gt;&lt;li&gt; m&#233;moire vive&lt;/li&gt;&lt;li&gt; disque dur&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&#034;spip&#034;&gt;Batterie&lt;/h3&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Pour un usage stationnaire, non nomade, &#224; moins de craindre une coupure de courant il est pr&#233;f&#233;rable de retirer la batterie et de fonctionner uniquement sur secteur.&lt;/strong&gt;&lt;br class='autobr' /&gt;
Ainsi, on &#233;vite de charger et faire chauffer en permanence la batterie qui devra ensuite alimenter le pc portable, ce qui usera la batterie plus rapidement.&lt;br class='autobr' /&gt;
Les batteries ont en effet un nombre de cycles de charge limit&#233;.&lt;/p&gt;
&lt;p&gt;Pour citer &lt;a href=&#034;https://www.commentcamarche.net/informatique/ordinateurs/1451-tester-la-batterie-d-un-pc-portable-sous-windows/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Comment &#231;a Marche&lt;/a&gt; :&lt;br class='autobr' /&gt;
&lt;q&gt;La plupart du temps, les batteries des ordinateurs sont consid&#233;r&#233;es comme &#233;tant en fin de vie apr&#232;s avoir subi plus de 1000 cycles de charge. Mais une autre donn&#233;e, qui indique son usure r&#233;elle, doit &#233;galement retenir votre attention : sa capacit&#233; de charge maximale. Lorsqu'elle est neuve, la batterie est pr&#233;vue pour fournir une certaine capacit&#233;, exprim&#233;e en mAh (milliamp&#232;re-heure). Au cours des cycles de charge-d&#233;charge, qui endommagent la batterie, cette capacit&#233; vient &#224; diminuer. En dessous de 80 % de sa capacit&#233; initiale, la batterie est souvent jug&#233;e comme &#233;tant trop us&#233;e et doit &#234;tre remplac&#233;e.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Il ne faudra toutefois pas laisser la batterie se d&#233;charger trop longtemps. Il est recommand&#233; de la charger au moins tous les 3 mois.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une recherche &#034;&lt;a href=&#034;https://duckduckgo.com/?t=ffab&amp;q=batterie+Asus+K53S&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;batterie Asus K53S&lt;/a&gt;&#034; donnera plusieurs r&#233;sultats :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; sur asusbatterieshop - qui n'est pas associ&#233; &#224; la marque Asus de quelque mani&#232;re que ce soit - l'&lt;a href=&#034;https://www.asusbatterieshop.fr/batterie-pc-asus-k53s.htm&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;article&lt;/a&gt; sur les batteries Asus K53S donne de bonnes informations :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; il existe 2 types, avec une diff&#233;rence visuelle :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; type A, 6 cellules 4400 mAh, dimensions 265 x 50 x 21mm (L x l x h)&lt;/li&gt;&lt;li&gt; type B, 9 cellules 6600 mAh, dimensions 265 x 50 x 45mm (L x l x h) plus grande mais meilleure capacit&#233;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; batterie de forte capacit&#233;, le bas de la batterie d&#233;passera d'environ 1 &lt;a href=&#034;https://fr.wikipedia.org/wiki/Pouce_(unit%C3%A9)&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;inch&lt;/a&gt; - ce qui correspond environ &#224; 2.54 centim&#232;tres, soit les 2.4 centim&#232;tres de diff&#233;rence dans les hauteurs de batteries type A et B.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Les deux batteries sont compatibles.&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Si l'autonomie avec la batterie de 4400 mAh est de 5 heures environ, l'autonomie avec la batterie de 6600 mAh serait th&#233;oriquement de 7 heures et demi.&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on peut &#233;galement en trouver sur le site de la &lt;a href=&#034;https://www.fnac.com/mp25957019/Batterie-ASUS-K53S/w-4&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Fnac&lt;/a&gt; (4400mAh | 10.8V)&lt;/li&gt;&lt;li&gt; ainsi que sur &lt;a href=&#034;https://www.cdiscount.com/informatique/r-batterie+asus+k53s.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;cdiscount&lt;/a&gt; avec la m&#234;me r&#233;f&#233;rence A32-K53 que sur le site asusbatterieshop.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le d&#233;tail ou descriptif technique permettra de s'assurer de la compatibilit&#233; de la batterie.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Plusieurs commandes sont disponibles sous Linux afin de conna&#238;tre les caract&#233;ristiques de la batterie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Upower&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; avec l'option -e (&#233;num&#233;rer) on peut obtenir la liste des sources d'&#233;nergie disponibles.&lt;/li&gt;&lt;li&gt; puis l'option -i (informations) permettra d'obtenir les informations pour une source d'&#233;nergie donn&#233;e&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;upower -e /org/freedesktop/UPower/devices/battery_BAT1 /org/freedesktop/UPower/devices/line_power_ADP1 /org/freedesktop/UPower/devices/DisplayDevice&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;upower -i /org/freedesktop/UPower/devices/battery_BAT1&lt;/code&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; native-path : BAT1&lt;/li&gt;&lt;li&gt; vendor : MSI Corp.&lt;/li&gt;&lt;li&gt; model : MS-16GD&lt;/li&gt;&lt;li&gt; power supply : yes&lt;/li&gt;&lt;li&gt; updated : lun. 14 oct. 2024 21:48:41 (12 seconds ago)&lt;/li&gt;&lt;li&gt; has history : yes&lt;/li&gt;&lt;li&gt; has statistics : yes&lt;/li&gt;&lt;li&gt; battery
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; present : yes&lt;/li&gt;&lt;li&gt; rechargeable : yes&lt;/li&gt;&lt;li&gt; state : fully-charged&lt;/li&gt;&lt;li&gt; warning-level : none&lt;/li&gt;&lt;li&gt; energy : 44,2557 Wh&lt;/li&gt;&lt;li&gt; energy-empty : 0 Wh&lt;/li&gt;&lt;li&gt; energy-full : 44,2557 Wh &lt;strong&gt;(90,61 %)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; energy-full-design : 48,84 Wh&lt;/li&gt;&lt;li&gt; energy-rate : 0 W&lt;/li&gt;&lt;li&gt; voltage : 12,527 V&lt;/li&gt;&lt;li&gt; charge-cycles : N/A&lt;/li&gt;&lt;li&gt; percentage : 100%&lt;/li&gt;&lt;li&gt; capacity : &lt;strong&gt;90,6136%&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; icon-name : 'battery-full-charged-symbolic'&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Acpi&lt;/strong&gt; donnera des informations sur le mat&#233;riel&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; l'option -V (majuscule) indique un mode verbeux&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;acpi -V Battery 0: Full, 100% Battery 0: design capacity 4400 mAh, last full capacity 3987 mAh Adapter 0: on-line Thermal 0: ok, 55.0 degrees C Thermal 0: trip point 0 switches to mode critical at temperature 105.0 degrees C Cooling 0: Processor 0 of 3 Cooling 1: x86_pkg_temp no state information available Cooling 2: intel_powerclamp 0 of 100 Cooling 3: Processor 0 of 3&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ici seules les 2 lignes &#034;Battery 0 : &#034; nous int&#233;ressent.&lt;br class='autobr' /&gt;
Au maximal, la capacit&#233; d'origine est de 4400 mAh, et la capacit&#233; actuelle est de 3987 mAh, ce qui correspond &#224; environ 90% de la capacit&#233; d'origine.&lt;/p&gt;
&lt;p&gt;Ainsi, un portable disposant de 5 heures d'autonomie en bureautique au d&#233;part, sera r&#233;duit &#224; 4 heures 30 minutes d'autonomie, perdant 30 minutes d'autonomie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les fichiers&lt;/strong&gt; dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/sys/class/power_supply/&lt;/code&gt; contiennent aussi des informations&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ls /sys/class/power_supply/BAT1/ alarm charge_full current_now hwmon2/ power/ status type voltage_now capacity charge_full_design cycle_count manufacturer present subsystem/ uevent capacity_level charge_now device/ model_name serial_number technology voltage_min_design &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis un d&#233;tail sur le contenu du fichier&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;cat /sys/class/power_supply/BAT1/charge_full /sys/class/power_supply/BAT1/charge_full_design 3987000 4400000&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; 3987000 correspond &#224; 3987 mAh = 90% de la capacit&#233; d'origine&lt;/li&gt;&lt;li&gt; 4400000 correspond &#224; 4400 mAh&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&#034;spip&#034;&gt;M&#233;moire vive&lt;/h3&gt;
&lt;p&gt;&lt;q&gt;Le temps d'acc&#232;s &#224; un mot de la m&#233;moire vive est de quelques dizaines ou centaines de nanosecondes tandis que celui d'un dispositif &#224; disque dur est de quelques millisecondes (c'est-&#224;-dire dix mille &#224; cent mille fois plus lent).&lt;/q&gt; Source : &lt;a href=&#034;https://fr.wikipedia.org/wiki/M%C3%A9moire_vive&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pour rappel des informations rassembl&#233;es &#224; l'onglet pr&#233;c&#233;dent :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; 4 Go DDR3-SDRAM 1333 MHz
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Type de m&#233;moire interne : DDR3-SDRAM&lt;/li&gt;&lt;li&gt; Fr&#233;quence de la m&#233;moire : 1333 MHz&lt;/li&gt;&lt;li&gt; Emplacements m&#233;moire : 2x SO-DIMM&lt;/li&gt;&lt;li&gt; M&#233;moire interne maximale : 8 Go&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;On peut donc chercher sur un site comme &lt;a href=&#034;https://www.materiel.net/memoire/l442/+fb-C000005345+fi454-l2h2+fi62-l8h8+fv133-4140+fv292-1370/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;materiel.net&lt;/a&gt; des barrettes correspondant aux caract&#233;ristiques support&#233;es : 8 Go max, 2 barrettes de 4 Go chacune, DDR3, et si possible fr&#233;quence de 1333 Mhz.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://www.materiel.net/produit/201108290026.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Cet article&lt;/a&gt; correspond donc parfaitement au composant recherch&#233;.&lt;br class='autobr' /&gt;
Co&#251;t : 62.95 &#8364;&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_715 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH304/asus_k53s_ram-b4bce.png?1771613035' width='500' height='304' alt=&#034;M&#233;moire vive (RAM) compatible Asus K53S&#034; title=&#034;M&#233;moire vive (RAM) compatible Asus K53S&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Disque dur&lt;/h3&gt;
&lt;p&gt;Le disque dur d'un PC portable, surtout s'il s'agit d'un disque dur &#034;classique&#034; &#224; plateaux &#034;&lt;a href=&#034;https://fr.wikipedia.org/wiki/Disque_dur&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;strong&gt;H&lt;/strong&gt;ard &lt;strong&gt;D&lt;/strong&gt;isk &lt;strong&gt;D&lt;/strong&gt;rive&lt;/a&gt;&#034; peut avantageusement &#234;tre remplac&#233; par un disque flash &lt;a href=&#034;https://fr.wikipedia.org/wiki/SSD&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;strong&gt;S&lt;/strong&gt;olid-&lt;strong&gt;S&lt;/strong&gt;tate &lt;strong&gt;D&lt;/strong&gt;rive&lt;/a&gt;.&lt;br class='autobr' /&gt;
Un SSD pourra &#234;tre remplac&#233; par un autre SSD de plus grande capacit&#233;.&lt;/p&gt;
&lt;p&gt;Voir aussi l'&lt;a href=&#034;https://support.accessoires-asus.com/hc/fr/articles/10400957373213-Puis-je-remplacer-un-HDD-par-un-SSD&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;article&lt;/a&gt; sur le support Asus.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Avantages :&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; un SSD est mat&#233;riellement plus r&#233;sistant qu'un disque dur.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; n'ayant aucune pi&#232;ce m&#233;canique en mouvement, pas de t&#234;te de lecture susceptible de toucher un plateau du disque lorsqu'on d&#233;place le portable.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; il ne fera &#233;galement aucun bruit.&lt;/li&gt;&lt;li&gt; un disque SSD chauffera moins&lt;/li&gt;&lt;li&gt; les SSD surclassent par ailleurs les disques durs au niveau des performances (d&#233;bit, latence n&#233;gligeable, consommation &#233;lectrique).&lt;/li&gt;&lt;li&gt; le temps d'acc&#232;s moyen d'un HDD est compris entre 12 et 16 ms, contre 0.1 ms pour un SSD.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Limites :&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Les puces de m&#233;moire flash ont cependant un nombre limit&#233; de cycles d'&lt;strong&gt;&#233;criture&lt;/strong&gt;, ce qui fait que l'ensemble de l'unit&#233; a une capacit&#233; limit&#233;e en termes de volume total de donn&#233;es &#233;crites (la lecture n'est pas affect&#233;e par ce probl&#232;me).&lt;/li&gt;&lt;li&gt; Les disques durs, bien que pouvant tomber en panne &#224; tout moment, n'ont pas cette limitation a priori.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Il faudra donc limiter le nombre d'&#233;critures sur le SSD, en rempla&#231;ant le cache disque par un cache en m&#233;moire vive. Cela se fera lors de la configuration du syst&#232;me d'exploitation et des logiciels.&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;D'o&#249; l'int&#233;r&#234;t de prendre le maximum de m&#233;moire vive support&#233; par le pc portable.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour rappel des informations rassembl&#233;es &#224; l'onglet pr&#233;c&#233;dent :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Interface du disque dur : SATA&lt;/li&gt;&lt;li&gt; Taille du disque dur : 2.5&#034;&lt;/li&gt;&lt;li&gt; Dimensions du disque pr&#233;c&#233;dent :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Largeur 69,85 mm&lt;/li&gt;&lt;li&gt; Hauteur 9,5 mm&lt;/li&gt;&lt;li&gt; Profondeur 100,5 mm&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;L&#224; encore, on peut chercher, par exemple sur &lt;a href=&#034;https://www.materiel.net/disque-ssd/l429/+fb-C000001076+fi62-l500+fv2734-18076+fv63-1345/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;materiel.net&lt;/a&gt; des disques correspondant aux caract&#233;ristiques support&#233;es : format 2.5&#034; (qui tend &#224; dispara&#238;tre au profit des M2), au moins 500 Go, hauteur maximale 9.5 mm.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_716 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH295/asus_k53s_ssd-5238a.png?1771613035' width='500' height='295' alt=&#034;Disque SSD compatible Asus K53S&#034; title=&#034;Disque SSD compatible Asus K53S&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Les caract&#233;ristiques physiques des 3 disques trouv&#233;s sont les m&#234;mes :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Largeur 69.85 mm&lt;/li&gt;&lt;li&gt; Hauteur 7 mm&lt;/li&gt;&lt;li&gt; Profondeur 100.2 mm&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#034;https://www.materiel.net/produit/202307190081.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Cet article&lt;/a&gt; correspond donc au composant recherch&#233;.&lt;br class='autobr' /&gt;
Le mod&#232;le choisi fait 2 To soit 4 fois la capacit&#233; du disque initial.&lt;br class='autobr' /&gt;
Co&#251;t :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; 60 &#8364; pour 500 Go&lt;/li&gt;&lt;li&gt; 92 &#8364; pour 1 To&lt;/li&gt;&lt;li&gt; 169.95 &#8364; pour 2 To&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;3) Installer les nouveaux composants&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;h3 class=&#034;spip&#034;&gt;3) Installer les nouveaux composants&lt;/h3&gt;&lt;h3 class=&#034;spip&#034;&gt;Disque dur&lt;/h3&gt;
&lt;p&gt;Avant d'installer un nouveau - et donc vide de donn&#233;es - disque dur - dans le portable, il faudra soit :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; cloner l'ancien disque afin de transf&#233;rer le syst&#232;me d'exploitation et les donn&#233;es&lt;/li&gt;&lt;li&gt; repartir sur un nouveau syst&#232;me d'exploitation mais sauvegarder d'abord les donn&#233;es sur un support externe pour pouvoir les restaurer sur le nouveau disque&lt;/li&gt;&lt;/ul&gt;&lt;p class='filet_sep filet_sep_1'&gt;&lt;/p&gt;
&lt;p&gt;Les utilisateurs de Windows pourront opportun&#233;ment passer &#224; un syst&#232;me plus performant, moins lourd, moins cher, plus s&#251;r et avec une &#233;norme logith&#232;que gratuite.... bref : Linux.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Ubuntu est un syst&#232;me d'exploitation grand public, dont les d&#233;riv&#233;s comme &lt;a href=&#034;https://fr.wikipedia.org/wiki/Xubuntu&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Xubuntu&lt;/a&gt; ou &lt;a href=&#034;https://fr.wikipedia.org/wiki/Lubuntu&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Lubuntu&lt;/a&gt; utilisent des environnements graphiques plus l&#233;gers (Xfce ou Lxqt).
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; les liens vers les sites officiels sont dans les articles wikipedia&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://fr.wikipedia.org/wiki/Linux_Mint&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Mint&lt;/a&gt; est un autre syst&#232;me d'exploitation grand public.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Ces deux versions de Linux sont tr&#232;s facile d'usage.&lt;br class='autobr' /&gt;
Si besoin, un club/association Linux local pourra aider.&lt;/p&gt;
&lt;p class='filet_sep filet_sep_1'&gt;&lt;/p&gt;
&lt;p&gt;Clonage ou transfert de donn&#233;es, dans les deux cas il faudra utiliser un adaptateur ou une station d'accueil USB-SATA&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; soit pour brancher le nouveau disque et cloner l'ancien avant changement&lt;/li&gt;&lt;li&gt; soit pour acc&#233;der aux donn&#233;es de l'ancien apr&#232;s changement&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;un simple &lt;a href=&#034;https://www.materiel.net/recherche/adaptateur%20usb-sata/?sort=1&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;adaptateur&lt;/a&gt; (25 &#8364; environ) est beaucoup moins cher qu'une &lt;a href=&#034;https://www.materiel.net/recherche/dock%20USB-SATA/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;station d'accueil&lt;/a&gt; (80 &#8364; et plus).&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://www.materiel.net/produit/201504090169.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;exemple&lt;/a&gt; &#224; 25.95 &#8364;&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Clonage&lt;/h3&gt;
&lt;p&gt;Un outil libre et gratuit comme &lt;a href=&#034;https://www.commentcamarche.net/telecharger/utilitaires/6085-clonezilla/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Clonezilla&lt;/a&gt; permettra d'effectuer facilement le clonage.&lt;/p&gt;
&lt;p&gt;Tutoriels :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; sur &lt;a href=&#034;https://www.it-connect.fr/tuto-clonezilla-creer-image-disque-sauvegarde-pc/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;it-connect&lt;/a&gt;, en fran&#231;ais.&lt;/li&gt;&lt;li&gt; sur &lt;a href=&#034;https://www.malekal.com/clonezilla-tutoriel-clonage-de-disque/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;malekal&lt;/a&gt;, aussi en fran&#231;ais&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Avantage&lt;/strong&gt; : tr&#232;s simple. Brancher le disque &#224; l'adaptateur, d&#233;marrer l'ordinateur avec le m&#233;dia &#034;Live&#034; de Clonezilla, choisir l'ancien disque comme disque source et le nouveau comme disque de destination, cloner l'int&#233;gralit&#233; du disque.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Inconv&#233;nient&lt;/strong&gt; : si le nouveau disque dispose d'une plus grande capacit&#233;, il faudra modifier le partitionnement pour &#233;tendre la partition principale ou ajouter une ou plusieurs partitions sur l'espace libre.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Transfert des donn&#233;es&lt;/h3&gt;
&lt;p&gt;C'est le plus simple : brancher l'ancien disque &#224; l'adaptateur, acc&#233;der au disque, r&#233;cup&#233;rer les donn&#233;es.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Installer les nouveaux composants&lt;/h3&gt;
&lt;p&gt;Il faudra pour changer ces composants d&#233;monter le &lt;i&gt;bottom case&lt;/i&gt; (capot inf&#233;rieur) du portable.&lt;br class='autobr' /&gt;
&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Cela annulera la garantie sur le portable&lt;/strong&gt; &lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;ce qui ne devrait pas &#234;tre g&#234;nant pour un vieux pc.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Cette op&#233;ration se fait bien s&#251;r portable &#233;teint, d&#233;branch&#233;, et batterie retir&#233;e.&lt;/strong&gt;&lt;br class='autobr' /&gt;
Mettre un tissu entre l'&#233;cran et le clavier permettra de le prot&#233;ger.&lt;/p&gt;
&lt;p&gt;Il existe pour cela des tutoriels et autres vid&#233;os :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; article sur le &lt;a href=&#034;https://support.accessoires-asus.com/hc/fr/articles/15766946220573-D%C3%A9monter-et-remplacer-le-bottom-case-de-votre-PC-portable-Asus&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;support officiel Asus&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; tutoriel sur ifixit concernant le &lt;a href=&#034;https://fr.ifixit.com/Tutoriel/D%C3%A9montage+Asus+K53S/29527&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;d&#233;montage&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; d&#233;brancher le wi-fi (&#233;tape 3) n'est pas utile.&lt;/li&gt;&lt;li&gt; seules les &#233;tapes 1, 2 et 4 serviront.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; autre tutoriel sur ifixit concernant le &lt;a href=&#034;https://fr.ifixit.com/Tutoriel/Asus+K53E-BBR3+Hard+Drive+Replacement/73386&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;remplacement du disque dur&lt;/a&gt; - en anglais mais les photos peuvent servir.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on voit bien &#224; l'&lt;a href=&#034;https://fr.ifixit.com/Tutoriel/Asus+K53E-BBR3+Hard+Drive+Replacement/73386#s147601&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#233;tape 4&lt;/a&gt; (cliquer sur la loupe pour agrandir l'image) l'emplacement de la m&#233;moire vive, &#224; c&#244;t&#233; de celui du disque dur.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Vid&#233;os Youtube :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://www.youtube.com/watch?v=idVjSM1DAzA&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;d&#233;montage asus k53s , d&#233;sassemblage , open pour changement/ r&#233;paration du connecteur&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le retrait du disque est montr&#233;&lt;/li&gt;&lt;li&gt; le retrait de la carte wi-fi n'est pas utile&lt;/li&gt;&lt;li&gt; une fois pass&#233; la m&#233;moire vive (RAM) la vid&#233;o ne nous est plus utile&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.youtube.com/watch?v=E2oFl2UCpco&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;r&#233;paration connecteur charge / jack asus k/x53s sans soudure !&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; m&#234;mes remarques concernant la carte wi-fi et la m&#233;moire vive.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://www.youtube.com/watch?v=jQDcHTgmV0Y&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;comment remplacer le disque dur et la m&#233;moire vive sur un pc Asus&lt;/a&gt; - en anglais mais il suffit de suivre ce qu'il se passe &#224; l'&#233;cran.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;dl class='spip_document_717 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;a href='https://vader-fr.fr/IMG/jpg/asus_k53s_ifixit_demontage_01.jpg' title='D&#233;montage de l'Asus K53S' type=&#034;image/jpeg&#034;&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L150xH112/asus_k53s_ifixit_demontage_01-2f4ed-f1dd3.jpg?1771613035' width='150' height='112' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:150px;'&gt;&lt;strong&gt;D&#233;montage de l'Asus K53S&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;p class='filet_sep filet_sep_1'&gt;&lt;/p&gt;
&lt;p&gt;Il suffira donc de :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; d&#233;visser les 4 vis indiqu&#233;es sur l'image pour sortir la cage du disque dur, le changer et le remettre dans le portable&lt;/li&gt;&lt;li&gt; &#233;carter l&#233;g&#232;rement les rails pour glisser l'ancienne barrette de m&#233;moire vive hors de ses rails, puis glisser les nouvelles barrettes &#224; leurs places, &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;sans forcer&lt;/strong&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; il y a &#224; environ 1/3 de la largeur de la barrette un d&#233;trompeur (fl&#232;che rouge).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;4) Syst&#232;me d'exploitation et logiciels&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;h3 class=&#034;spip&#034;&gt;4) Syst&#232;me d'exploitation et logiciels&lt;/h3&gt;
&lt;p&gt;Comme dit pr&#233;c&#233;demment, en raison de la limitation du nombre d'&#233;critures sur le disque SSD, une partie des &#233;critures sur disque sera report&#233;e sur la m&#233;moire vive.&lt;/p&gt;
&lt;p&gt;En plus de limiter l'usure, cela va am&#233;liorer les performances.&lt;/p&gt;
&lt;p&gt;&lt;q&gt;Le temps d'acc&#232;s &#224; un mot de la m&#233;moire vive est de quelques dizaines ou centaines de nanosecondes tandis que celui d'un dispositif &#224; disque dur est de quelques millisecondes (c'est-&#224;-dire dix mille &#224; cent mille fois plus lent).&lt;/q&gt; Source : &lt;a href=&#034;https://fr.wikipedia.org/wiki/M%C3%A9moire_vive&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Voir &lt;a href=&#034;https://sebsauvage.net/wiki/doku.php?id=linux-ssd&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;cet article&lt;/a&gt; sur le wiki de sebsauvage.net.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;R&#233;duire le swappiness&lt;/strong&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; c'est la propension du syst&#232;me &#224; swapper, c'est &#224; dire &#224; &#034;sortir&#034; des blocs m&#233;moire vers le disque (swap) afin de laisser pr&#233;ventivement de la m&#233;moire libre pour le lancement de nouvelles applications&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sudo bash -c 'echo &#034;vm.swappiness=10&#034; &gt;&gt; /etc/sysctl.conf'&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sudo sysctl -p&lt;/code&gt; pour prise en compte du param&#232;tre&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sysctl vm.swappiness&lt;/code&gt; pour v&#233;rifier&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Activer zram&lt;/strong&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; dans la pratique, l'activation de zram va virtuellement &#233;liminer le swapping sur disque.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Mettre /tmp en tmpfs&lt;/strong&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le r&#233;pertoire des fichiers temporaires de Linux (/tmp) est tr&#232;s sollicit&#233; par les applications et le syst&#232;me qui y &#233;crivent continuellement de petits fichiers, parfois rapidement cr&#233;&#233;s et supprim&#233;s. Ce r&#233;pertoire est vid&#233; &#224; chaque red&#233;marrage, mais il reste situ&#233; sur disque, ce qui provoque beaucoup d'&#233;critures.&lt;/li&gt;&lt;li&gt; modifier le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/fstab&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tmpfs /tmp tmpfs defaults,relatime,mode=1777,nosuid,size=4196M 0 0&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tmpfs /var/tmp tmpfs defaults,relatime,mode=1777,nosuid,size=4196M 0 0&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Si vous aviez d&#233;j&#224; une ligne concernant /tmp, commentez-la en mettant un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#&lt;/code&gt; en d&#233;but de ligne.&lt;/li&gt;&lt;li&gt; sur certaines versions de Linux, /tmp est d&#233;j&#224; en tmpfs. V&#233;rifier avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;df -h&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Firefox&lt;/strong&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Firefox utilise la m&#233;moire et le disque pour garder en cache des donn&#233;es (images, pages, css, etc.). Il est possible de demander &#224; Firefox de ne plus utiliser le disque.&lt;/li&gt;&lt;li&gt; Non seulement cela r&#233;duit les &#233;critures disque, mais cela am&#233;liore les performances de Firefox.&lt;/li&gt;&lt;li&gt; dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;about:config&lt;/code&gt; (dans la barre d'adresse du navigateur)
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;browser.cache.memory.capacity = 256000&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;browser.cache.memory.max_entry_size=50000&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;browser.cache.disk.enable = false&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Chrome&lt;/strong&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Chrome ne poss&#232;de aucune option permettant de couper le cache disque. Cons&#233;quence : Il &#233;crit comme un goret sur disque. La solution est de mettre le r&#233;pertoire cache de Chrome en tmpfs dans votre /etc/fstab.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_719 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH191/firefox_about_config_cache-18251.png?1771613035' width='500' height='191' alt=&#034;Configuration du cache de Firefox&#034; title=&#034;Configuration du cache de Firefox&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Pr&#233;sentation de Linux (Fedora)</title>
		<link>https://vader-fr.fr/spip.php?article168</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article168</guid>
		<dc:date>2016-08-28T10:49:16Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>


		<dc:subject>Linux</dc:subject>

		<description>
&lt;p&gt;G&#233;n&#233;ralit&#233;s &lt;br class='autobr' /&gt;
Linux Fedora est un syst&#232;me d'exploitation de type Linux, appartenant &#224; la famille RedHat, plus particuli&#232;rement d&#233;di&#233;e aux serveurs. Ubuntu est une distribution Linux, de la famille Debian, plus accessible au grand public. Il existe plusieurs familles et plusieurs types de distribution Linux. Par exemple, EdUbuntu est une version de Ubuntu con&#231;ue pour l'&#233;ducation, et KUbuntu une version d'Ubuntu avec environnement graphique KDE au lieu de l'environnement Unity par d&#233;faut. (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;

/ 
&lt;a href="https://vader-fr.fr/spip.php?mot6" rel="tag"&gt;Linux&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://vader-fr.fr/local/cache-vignettes/L150xH46/arton168-715a3.png?1771605878' class='spip_logo spip_logo_right' width='150' height='46' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;div class=&#034;onglets_bloc_initial&#034;&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;G&#233;n&#233;ralit&#233;s&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong&gt;Linux Fedora&lt;/strong&gt; est un &lt;strong&gt;syst&#232;me d'exploitation&lt;/strong&gt; de type Linux, appartenant &#224; la famille RedHat, plus particuli&#232;rement d&#233;di&#233;e aux serveurs.&lt;br class='autobr' /&gt;
Ubuntu est une distribution Linux, de la famille Debian, plus accessible au grand public.&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Il existe RedHat Enterprise, mais pas Debian Enterprise&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;br class='autobr' /&gt;
Il existe plusieurs familles et plusieurs types de distribution Linux. &lt;br class='autobr' /&gt;
Par exemple, EdUbuntu est une version de Ubuntu con&#231;ue pour l'&#233;ducation, et KUbuntu une version d'Ubuntu avec environnement graphique KDE au lieu de l'environnement Unity par d&#233;faut.&lt;/p&gt;
&lt;p&gt;Les principaux avantages de Linux sont :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le prix : les diff&#233;rentes distributions Linux sont g&#233;n&#233;ralement gratuites, &#224; l'exception de celles con&#231;ues pour les professionnels (gros serveurs...)&lt;/li&gt;&lt;li&gt; les mises &#224; niveau de la distribution (Fedora en version 14-&gt;16-&gt;17-&gt;19-&gt;20-&gt;21...) seront &#233;galement gratuites, contrairement &#224; W$ 98-&gt;XP-&gt;Vista-&gt;&#034;7&#034;-&gt;8...
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; de plus, la mise &#224; niveau est transparente pour l'utilisateur, les fichiers de donn&#233;es et de configuration ne sont pas modifi&#233;s, et les logiciels sont mis &#224; jour.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; des environnements graphiques diff&#233;rents selon les besoins de l'utilisateur ou la puissance de la machine.&lt;/li&gt;&lt;li&gt; la documentation : le code source &#233;tant ouvert, de nombreux utilisateurs partagent leurs connaissances sur le syst&#232;me. M&#234;me si certaines proc&#233;dures peuvent para&#238;tre assez compliqu&#233;es - installation d'un pilote d'une carte graphique pour les jeux&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;A ce titre il est pr&#233;f&#233;rable d'avoir une carte Nvidia plut&#244;t qu'ATI, car (&#8230;)&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;, par exemple - tout est d&#233;taill&#233; pas &#224; pas.&lt;/li&gt;&lt;li&gt; la s&#233;curit&#233; : de par les mises &#224; jour fr&#233;quentes, le nombre de d&#233;veloppeurs ayant acc&#232;s au code source - ouvert - &#233;tant important, les erreurs et failles sont tr&#232;s vite corrig&#233;es, presque toutes avant la publication de la distribution en version &#034;stable&#034;.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Par ailleurs, Linux dispose d'un certain nombre d'outils de s&#233;curit&#233; comme le pare-feu &lt;i&gt;iptables&lt;/i&gt; ou encore &lt;a href=&#034;http://fr.wikipedia.org/wiki/SELinux&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;SELinux&lt;/a&gt; pour limiter les angles d'attaque. Malheureusement, ces outils ne sont pas toujours actifs &#034;par d&#233;faut&#034; sur certaines distributions.&lt;/li&gt;&lt;li&gt; Des outils d'audit, de d&#233;tection et suppression de virus (pour les partages avec les machines Windows) et autres rootkits existent &#233;galement.&lt;/li&gt;&lt;li&gt; en cas de probl&#232;me, notamment d'une application graphique, il est possible de passer par un terminal, ou au pire en mode de d&#233;pannage avec un acc&#232;s normal au syst&#232;me, mais sans l'environnement graphique.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; disposer d'un m&#233;dia Live Linux pourra s'av&#233;rer utile.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; la logith&#232;que : les diff&#233;rentes distributions Linux ont acc&#232;s &#224; un ensemble de logiciels - &#233;galement gratuits - assez fourni, pour tous les usages, &#224; un niveau &#034;familial&#034;. Les applications d&#233;di&#233;es &#224; un usage professionnel pourront &#234;tre payantes.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Parmi la logith&#232;que, on peut remarquer la pr&#233;sence de logiciels pour l'accessibilit&#233; de l'ordinateur : loupe, lecteur d'&#233;cran, clavier virtuel... et m&#234;me gestionnaire de table braille&lt;/li&gt;&lt;li&gt; de m&#234;me pour les pilotes mat&#233;riels, fournis par la distribution ou le constructeur, bien que tous les constructeurs ne fournissent pas de pilote pour Linux.&lt;/li&gt;&lt;li&gt; Linux est m&#234;me capable de faire fonctionner des applications Windows (pas toutes) avec Wine ou PlayOnLinux (entre autres).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Les listes d'applications dans les onglets suivants ne sont pas exhaustives&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Linux peut se tester par un m&#233;dia Live (CD/DVD/USB) sans besoin d'installation, ou en installant le syst&#232;me Linux sur une machine virtuelle.&lt;/p&gt;
&lt;p&gt;Il faut rechercher la version de Fedora en ad&#233;quation avec son mat&#233;riel, en particulier si on a un processeur et syst&#232;me d'exploitation &lt;strong&gt;32 ou 64 bits&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Par exemple, sur un poste en 32 bits, il faut r&#233;cup&#233;rer le fichier &lt;i&gt;Fedora-Live-Workstation-i686-21-5.iso&lt;/i&gt;.&lt;br class='autobr' /&gt;
C'est donc une distribution Fedora, l'image &#233;tant de type &#034;Live&#034;, qui peut se tester sans avoir &#224; s'installer, et le &#034;type de produit&#034; sp&#233;cifique dans ce cas correspond &#224; un poste de travail, avec bureau graphique Gnome.&lt;br class='autobr' /&gt;
la version i686 (ou i386/i586 selon les distributions) correspond &#224; l'architecture 32 bits, tandis que x86_64 correspond &#224; 64 bits&lt;/p&gt;
&lt;p&gt;Le &#034;type de produit&#034; &#233;tait obligatoirement &#224; pr&#233;ciser &#224; l'utilitaire de mise &#224; jour syst&#232;me &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;fedup&lt;/code&gt; &#224; partir de la version 20. Depuis, cette restriction a &#233;t&#233; abandonn&#233;e.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Installation&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Au d&#233;but de l'installation, il est demand&#233; de choisir la langue d'installation, l'agencement du clavier, puis ensuite le disque et sch&#233;ma de partitionnement (par d&#233;faut ou personnalis&#233;), et enfin le type d'installation (poste de travail avec interface graphique, serveur web...).&lt;/p&gt;
&lt;p&gt;Malheureusement, le programme d'installation de Fedora (Anaconda) est plus &#034;flou&#034; et moins pratique depuis Fedora 17.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; On ne peut choisir manuellement les paquets que l'on souhaite, &#224; la place on est limit&#233; &#224; un &#034;type de produit&#034;, les autres paquets devront donc &#234;tre install&#233;s plus tard&lt;/li&gt;&lt;li&gt; il y a &#233;galement moins de souplesse dans le partitionnement des disques que l'on peut choisir. L'option &#034;remplir jusqu'&#224; la taille maximale&#034; a par ailleurs disparu.&lt;/li&gt;&lt;li&gt; ...&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;i&gt;&lt;u&gt;&lt;strong&gt;le mot de passe Administrateur&lt;/strong&gt;&lt;/u&gt;&lt;/i&gt;&lt;br class='autobr' /&gt;
Il faut d'embl&#233;e d&#233;finir le mot de passe Administrateur (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt;). &lt;br class='autobr' /&gt;
Ceci sera indispensable pour r&#233;aliser l'installation de nouveaux logiciels et autres t&#226;ches d'administration telles que gestion des services, du pare-feu....&lt;/p&gt;
&lt;p&gt;La cr&#233;ation d'un utilisateur sera &#233;galement demand&#233;e, car l'utilisateur administrateur n'a pas le droit (par d&#233;faut) de se connecter &#224; une session graphique.&lt;br class='autobr' /&gt;
Un utilisateur peut &#234;tre cr&#233;&#233; avec des droits de type administrateur, auquel cas son mot de passe lui sera redemand&#233; lorsqu'il tentera d'effectuer une action d'administration. &lt;br class='autobr' /&gt;
Cela peut para&#238;tre contraignant, mais c'est aussi une s&#233;curit&#233; qui emp&#234;che un programme malveillant d'effectuer une action de s&#233;curit&#233; sans votre consentement explicite.&lt;/p&gt;
&lt;p&gt;L'interface Gnome par d&#233;faut &#233;tant peu ergonomique, il est conseill&#233; d'installer par la suite l'interface Gnome &#034;classique&#034; par son paquet &#034;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;gnome-classic-session&lt;/code&gt;&#034;.&lt;br class='autobr' /&gt;
Sur une distribution Ubuntu, l'interface par d&#233;faut est Unity, qui est semblable &#224; Gnome (en r&#233;alit&#233; une surcouche de Gnome).&lt;/p&gt;
&lt;p&gt;Il existe plusieurs interfaces graphiques (ou environnements graphiques) pour les syst&#232;mes Linux, et un utilisateur pourra &#224; la connexion choisir celle qu'il pr&#233;f&#232;re si plusieurs ont &#233;t&#233; install&#233;es :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Gnome, qui ressemble &#224; l'interface graphique Mac&lt;/li&gt;&lt;li&gt; KDE, visuellement similaire &#224; Windows&lt;/li&gt;&lt;li&gt; Xfce, g&#233;n&#233;ralement appr&#233;ci&#233; pour sa l&#233;g&#232;ret&#233; et sa simplicit&#233;&lt;/li&gt;&lt;li&gt; LXDE, un environnement encore plus l&#233;ger que XFCE&lt;/li&gt;&lt;li&gt; MATE, qui ressemble au Gnome classique en version 2, qui &#233;tait ergonomique&lt;/li&gt;&lt;li&gt; Enlightenment&lt;/li&gt;&lt;li&gt; ...&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Installations de paquets&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;L'utilisation de la logith&#232;que est d&#233;crit dans l'onglet &#034;Applications - Outils syst&#232;me&#034;.&lt;/strong&gt;&lt;/p&gt;
&lt;dl class='spip_document_374 spip_documents spip_documents_left' style='float:left;width:645px;'&gt;
&lt;dt&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH512/fedora-gnome-logiciels01-73db9.png?1771664444' width='500' height='512' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Outils syst&#232;me&lt;/strong&gt;&lt;/dt&gt;
&lt;dd class='spip_doc_descriptif' style='width:350px;'&gt;Installation de paquets&lt;br class='autobr' /&gt;
Logith&#232;que&lt;br class='autobr' /&gt;
Mise &#224; jour des paquets
&lt;/dd&gt;
&lt;/dl&gt;&lt;dl class='spip_document_375 spip_documents spip_documents_left' style='float:left;width:646px;'&gt;
&lt;dt&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH513/fedora-gnome-logiciels02-d01d6.png?1771664444' width='500' height='513' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Autre (Other)&lt;/strong&gt;&lt;/dt&gt;
&lt;dd class='spip_doc_descriptif' style='width:350px;'&gt;PackageKit
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Lorsque l'on veut installer un nouveau logiciel ou module de logiciel (paquet), il faut &#233;crire : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yum install leNouveauLogiciel&lt;/code&gt; (avant Fedora 22) ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dnf&lt;/code&gt; (&#224; partir de Fedora 22)&lt;br class='autobr' /&gt;
Se r&#233;f&#233;rer au &lt;a href=&#034;http://doc.fedora-fr.org/wiki/YUM_:_Configuration_du_gestionnaire_de_paquets&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;site officiel&lt;/a&gt; pour le d&#233;tail des commandes, au besoin.&lt;/p&gt;
&lt;p&gt;On se sert aussi de la recherche de paquets pour savoir si le logiciel est d&#233;j&#224; install&#233; sur sa machine :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rpm -q nom_paquet&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rpm -qa | grep -i nom_paquet&lt;/code&gt; pour voir la liste de tous les paquets, que l'on filtre ensuite avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grep&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Dans yum, il est possible de faire une recherche :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; non seulement sur le nom du paquet mais aussi sur la description : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;# yum search &lt;mot clef&gt;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; ou un fichier fourni (pour savoir quel paquet fourni la commande ou l'outil recherch&#233;) : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yum provides */le_nom_du_fichier&lt;/code&gt;. ici, on utilise le joker pour la recherche du fichier, quel que soit son arborescence&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Avec YUM on dispose toujours des derniers paquets car celui-ci interroge les d&#233;p&#244;ts &#224; chaque op&#233;ration.&lt;/p&gt;
&lt;p&gt;Yum dispose d'extensions comme yumex ou PackageKit, en mode graphique, permettant de voir la liste des logiciels disponibles dans la la logith&#232;que de yum, class&#233;s par type (jeu, graphisme, vid&#233;o, utilitaires...).&lt;br class='autobr' /&gt;
Packagekit a ensuite &#233;t&#233; remplac&#233; par gnome-software, l'outil Gnome de la logith&#232;que.&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yum&lt;/code&gt; a ensuite &#233;t&#233; remplac&#233; par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dnf&lt;/code&gt;, qui s'utilise plus ou moins de la m&#234;me mani&#232;re, mais en moins bien.&lt;br class='autobr' /&gt;
Un exemple :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yum&lt;/code&gt; pr&#233;venait du paquet &lt;strong&gt;B&lt;/strong&gt; manquant, emp&#234;chant l'installation du paquet &lt;strong&gt;A&lt;/strong&gt;, et donnait la possibilit&#233; avec l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--skip-broken&lt;/code&gt; d'installer/mettre &#224; jour tous les paquets sauf ceux dont les d&#233;pendances ne sont pas r&#233;cup&#233;rables.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dnf&lt;/code&gt; en revanche, fait l'inverse, il indique qu'il y a un probl&#232;me de d&#233;pendance pour &lt;strong&gt;A&lt;/strong&gt;, mais aucune option ne permet de d&#233;terminer o&#249; est le probl&#232;me. Il n'y a plus de resolvedep, et m&#234;me en niveau de d&#233;bogage maximal, la seule information qu'il donne est &#034;probl&#232;me de d&#233;pendance&#034;. Ce qui n'aide pas &#224; r&#233;soudre le probl&#232;me. Il est bien s&#251;r possible d'exclure (avec une ou plusieurs options &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--exclude&lt;/code&gt;) le ou les paquets ayant un probl&#232;me de d&#233;pendance, mais &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dnf&lt;/code&gt; proposera purement et simplement de forcer l'installation...&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Aultre foy&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb3&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Syntaxe de &#034;autrefois&#034; en vieux fran&#231;ois tel que le parloient les roys de France&#034; id=&#034;nh3&#034;&gt;3&lt;/a&gt;]&lt;/span&gt;, dans les anciens temps, toutes les actions d'administrations &#233;taient regroup&#233;es dans le menu &#034;Syst&#232;me&#034;.&lt;br class='autobr' /&gt;
C'&#233;tait tr&#232;s pratique, mais &#231;a, c'&#233;tait avant.&lt;/p&gt;
&lt;p&gt;A pr&#233;sent, il faut chercher dans les cat&#233;gories &#034;Outils Syst&#232;mes&#034;, &#034;Utilitaires&#034; et &#034;Autre&#034; du menu &#034;Applications&#034;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;l'environnement Gnome&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Les diff&#233;rences entre les barres de menu de&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Gnome 2, dans les versions pr&#233;c&#233;dentes de Fedora (et autres distributions Linux) :&lt;/li&gt;&lt;/ul&gt;&lt;dl class='spip_document_376 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH7/barre_gnome2-82dad.png?1771664444' width='500' height='7' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Barre Gnome 2&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;Il y a 3 menus :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Applications&lt;/strong&gt;, pour les applications utilisateurs (jeux, bureautique...),&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Raccourcis&lt;/strong&gt; pour les emplacements particuliers (Documents, Images, T&#233;l&#233;chargements, se connecter &#224; un serveur),&lt;/li&gt;&lt;li&gt; et &lt;strong&gt;Syst&#232;me&lt;/strong&gt; pour toutes les actions d'administration (installer un logiciel, g&#233;rer les services, le pare-feu, les connexions r&#233;seau...).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Ensuite, on peut ajouter dans la barre de menus (en haut de l'&#233;cran par d&#233;faut) autant de liens d'applications et d'applets (monteur de disque, moniteur syst&#232;me...) qu'il y a de place, ce qui permet d'une part de lancer ses applications pr&#233;f&#233;r&#233;es d'un clic o&#249; que l'on soit, et ce pour un grand nombre d'applications, et d'autre part de surveiller de mani&#232;re simple, d'un coup d'&#339;il, son syst&#232;me (mont&#233;e en charge, bonne connexion/d&#233;connexion d'un p&#233;riph&#233;rique de stockage...).&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Gnome 3 dans sa premi&#232;re version, &#224; partir de Fedora 16&lt;/li&gt;&lt;/ul&gt;&lt;dl class='spip_document_377 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH9/barre_gnome3-bf6cd.png?1771664444' width='500' height='9' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Barre Gnome 3&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;Le menu &lt;strong&gt;Syst&#232;me&lt;/strong&gt; a disparu, il faut se d&#233;brouiller pour trouver les options d'administration dans les diff&#233;rents menus d'&lt;strong&gt;Applications&lt;/strong&gt;, entre &#034;Outils Syst&#232;mes&#034;, &#034;utilitaires&#034;, &#034;Divers&#034; et &#034;Autres&#034;.&lt;br class='autobr' /&gt;
On peut toujours ajouter quelques liens d'applications, mais plus d'applet comme le monteur de disques ou le moniteur syst&#232;me, lequel permettait de visualiser la charge en temps r&#233;el.&lt;/p&gt;
&lt;p&gt;Il est toujours possible d'utiliser une applet Gnome/KDE, prenant plus de place &#224; l'&#233;cran mais affichant plus d'informations : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Ksensors&lt;/code&gt; (entre autres).&lt;/p&gt;
&lt;p&gt;Par ailleurs, les sous-menus (par exemple les jeux par type : action/aventure/simulation...) n'existent plus, il n'est donc pas possible d'arranger ses menus avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;alacarte&lt;/code&gt;, qui ne pourra qu'activer/d&#233;sactiver et ajouter/enlever des items de menu... au risque de faire planter l'interface graphique.&lt;br class='autobr' /&gt;
De m&#234;me pour Wine. Au lieu d'avoir des sous-menus par application, comme dans le menu &#034;d&#233;marrer&#034; de Windows, tout est m&#233;lang&#233;.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Gnome 3 dans sa version suivante, version &#034;classique&#034; (la version par d&#233;faut est pire).&lt;/li&gt;&lt;/ul&gt;&lt;dl class='spip_document_378 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH8/barre_gnome3_fc24-b2653.png?1771664444' width='500' height='8' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Barre Gnome 3, Fedora 24&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;M&#234;mes menus que pr&#233;c&#233;demment, mais d&#233;sormais ni applets ni liens dans la barre de menus.&lt;br class='autobr' /&gt;
Seulement la barre de titre de &lt;strong&gt;LA&lt;/strong&gt;, la &lt;strong&gt;SEULE&lt;/strong&gt; et &lt;strong&gt;UNIQUE&lt;/strong&gt; fen&#234;tre actuellement s&#233;lectionn&#233;e, qui a le focus. Et comme on ne peut s&#233;lectionner qu'une seule fen&#234;tre... il n'y aura donc jamais qu'un seul titre, ce qui perd - stupidement - une place consid&#233;rable.&lt;/p&gt;
&lt;p&gt;Il y a toutefois quelques applets (comme l'applet m&#233;t&#233;o) qui peuvent venir se positionner sur cette barre.&lt;/p&gt;
&lt;p&gt;Il s'agit ici de l'environnement Gnome classique, et non la version &#034;par d&#233;faut&#034; de Gnome 3.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Accessoires&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Il existe une pl&#233;thore d'applications disponibles dans la logith&#232;que Linux (Fedora, Ubuntu...).&lt;br class='autobr' /&gt;
Les applications seront donc simplement list&#233;es sans entrer dans les d&#233;tails.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Calculatrice : une calculatrice, classique, en mode Basique, Avanc&#233;, Financier, Programmation&lt;/li&gt;&lt;li&gt; Cartes : gnome-maps est un outil de visualisation de cartes, utilisant des donn&#233;es libres d'&lt;a href=&#034;http://openstreetmap.fr/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;OpenStreetMap&lt;/a&gt;. &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Requiert une connexion internet.&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; CHMSee : Un visualiseur de documents CHM, le format des &lt;a href=&#034;http://fr.wikipedia.org/wiki/Microsoft_Compressed_HTML&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;fichiers d'aide de MicroSoft&lt;/a&gt;&lt;/li&gt;&lt;li&gt; ClamTK : un antivirus pour Linux - afin de d&#233;contaminer les fichiers partag&#233;s avec des postes Windows, pour qu'un Windows n'en infecte pas un autre. On peut aussi le lancer par son interface KlamAV dans Outils Syst&#232;mes, si le paquet a &#233;t&#233; install&#233;.&lt;/li&gt;&lt;li&gt; Eekboard : Clavier virtuel&lt;/li&gt;&lt;li&gt; gestionnaire de fichiers : L'explorateur des fichiers et r&#233;pertoires. On peut aussi passer par le menu Emplacements.&lt;/li&gt;&lt;li&gt; gDesklets : gestion des DeskLets, petites applications sur le bureau, comme par exemple l'applet m&#233;t&#233;o.&lt;/li&gt;&lt;li&gt; Gedit : &#233;quivalent de Kwrite pour Gnome ou Notepad++ sous Windows. l'avantage de Gedit sur Kwrite est de g&#233;rer des onglets.&lt;/li&gt;&lt;li&gt; &lt;a href='https://vader-fr.fr/spip.php?article98' class=&#034;spip_in&#034;&gt;Gourmet&lt;/a&gt; : Gestionnaire de recettes de cuisine, un parmi d'autres. &lt;a href=&#034;http://thinkle.github.io/gourmet/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Site officiel&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://keepass.fr/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;KeePass&lt;/a&gt; gestionnaire de mots de passe. Les mots de passe sont stock&#233;s dans un fichier crypt&#233;.&lt;/li&gt;&lt;li&gt; MetroMap : Plan des m&#233;tros de Paris, Londres, Moscou.. avec recherche d'itin&#233;raire&lt;/li&gt;&lt;li&gt; M&#233;t&#233;o &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Requiert une connexion internet.&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; OpenStego : Permet de cacher un texte dans une image selon le proc&#233;d&#233; de la &lt;a href=&#034;http://fr.wikipedia.org/wiki/St%C3%A9ganographie&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;st&#233;ganographie&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; PDFMod : Un &#233;diteur de PDF&lt;/li&gt;&lt;li&gt; Pondus, permettant de suivre son poids&lt;/li&gt;&lt;li&gt; Rechercher des fichiers : Recherche avanc&#233;e par nom, date, contenu, taille...&lt;/li&gt;&lt;li&gt; ScreenRuler, une r&#232;gle d'&#233;cran (mesure les objets &#224; l'&#233;cran)&lt;/li&gt;&lt;li&gt; StarDict : Un dictionnaire&lt;/li&gt;&lt;li&gt; Thesaurus : dictionnaire des synonymes&lt;/li&gt;&lt;li&gt; Traducteur de langues &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Requiert une connexion internet.&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Unit Convertor : Convertisseur d'unit&#233;s, distance, poids, vitesse... dans divers syst&#232;mes de mesures.&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://doc.ubuntu-fr.org/xpad&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Xpad&lt;/a&gt; ou Gnote : Post-it sur le bureau&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Acc&#232;s universel&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Jovie, lecteur d'&#233;cran&lt;/li&gt;&lt;li&gt; KMag, une loupe d'&#233;cran&lt;/li&gt;&lt;li&gt; KMouseTool&lt;/li&gt;&lt;li&gt; KMouth, lecteur d'&#233;cran, peut utiliser Jovie&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Bureautique&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Adobe Reader &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;&#224; t&#233;l&#233;charger sur le site/d&#233;p&#244;t d'Adobe&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://fr.wikipedia.org/wiki/Calibre_%28logiciel%29&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Calibre&lt;/a&gt; : gestionnaire de biblioth&#232;ques (livres au format &lt;a href=&#034;https://fr.wikipedia.org/wiki/EPUB_%28format%29&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;epub&lt;/a&gt;)&lt;/li&gt;&lt;li&gt; CHMSee : voir onglet pr&#233;c&#233;dent&lt;/li&gt;&lt;li&gt; Dictionnaire&lt;/li&gt;&lt;li&gt; Evolution : calendrier/agenda/client de messagerie&lt;/li&gt;&lt;li&gt; Gestionnaire de projets&lt;/li&gt;&lt;li&gt; HTMLDoc : conversion de fichiers source HTML en fichiers HTML index&#233;s, PostScript ou PDF&lt;/li&gt;&lt;li&gt; Kapow Punch Clock, une horloge de pointage pour mesurer le temps pass&#233; sur un projet.&lt;/li&gt;&lt;li&gt; Libre Office Calc, Draw, Impress, Writer... : suite bureautique LibreOffice, &lt;i&gt;fork&lt;/i&gt; d'OpenOffice,&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://fr.wikipedia.org/wiki/Skrooge&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Skrooge&lt;/a&gt;, Grisbi, GnuCash... : gestionnaire de comptes.&lt;/li&gt;&lt;li&gt; StarDict : voir onglet pr&#233;c&#233;dent&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.sweethome3d.com/fr/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Sweet Home 3D&lt;/a&gt; : outil d'architecture en 2D et 3D, tr&#232;s simple d'utilisation.&lt;/li&gt;&lt;li&gt; Tellico et Verbiste : dictionnaires&lt;/li&gt;&lt;li&gt; YAGF : Yet Another Graphical Front-end for cuneiform and tesseract OCR engines, Un outil de scan et de reconnaissance orthographique pour extraire le texte pr&#233;sent sous la forme d'image.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Divers&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Configuration de l'impression&lt;/li&gt;&lt;li&gt; Connexions r&#233;seau&lt;/li&gt;&lt;li&gt; journal des alertes de s&#233;curit&#233; &lt;a href=&#034;http://doc.fedora-fr.org/wiki/SELinux&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;SELinux&lt;/a&gt;&lt;/li&gt;&lt;li&gt; langue&lt;/li&gt;&lt;li&gt; lecteur d'&#233;cran ORCA&lt;/li&gt;&lt;li&gt; &#233;diteur du menu&lt;/li&gt;&lt;li&gt; statistiques de l'alimentation&lt;/li&gt;&lt;li&gt; gestion de la date&lt;/li&gt;&lt;li&gt; gestion des utilisateurs&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - &#201;ducation&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Il existe une pl&#233;thore d'applications &#233;ducative et ludo-&#233;ducative sur Linux, pour tous ages et tous usages, la plupart &#233;tant fournies avec l'environnement KDE (d'o&#249; le K en d&#233;but de nom), mais utilisable dans un environnement Gnome.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;La liste suivante, tout comme celles des autres onglets, n'est pas exhaustive.&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Blinken : jeu de m&#233;moire&lt;/li&gt;&lt;li&gt; Calculatrice chimique&lt;/li&gt;&lt;li&gt; Cantor&lt;/li&gt;&lt;li&gt; GChem3D, GchemCalc, GChemPaint, GChemTable pour la chimie&lt;/li&gt;&lt;li&gt; GeoGebra, pour apprendre l'alg&#232;bre et la g&#233;om&#233;trie&lt;/li&gt;&lt;li&gt; GSpectrum&lt;/li&gt;&lt;li&gt; KAlgebra + mobile&lt;/li&gt;&lt;li&gt; Kalzium : chimie&lt;/li&gt;&lt;li&gt; Kanagram&lt;/li&gt;&lt;li&gt; Kbruch&lt;/li&gt;&lt;li&gt; KGeography&lt;/li&gt;&lt;li&gt; KHangMan : jeu du pendu&lt;/li&gt;&lt;li&gt; Kig&lt;/li&gt;&lt;li&gt; Kiten : apprendre le japonais&lt;/li&gt;&lt;li&gt; KLettres&lt;/li&gt;&lt;li&gt; KmPlot&lt;/li&gt;&lt;li&gt; Kstars : plan&#233;tarium&lt;/li&gt;&lt;li&gt; KTouch&lt;/li&gt;&lt;li&gt; KTurtle : apprendre la programmation&lt;/li&gt;&lt;li&gt; KWordQuizz&lt;/li&gt;&lt;li&gt; Marble : un globe terrestre et lunaire, disposant de plusieurs &#034;habillages&#034;, avec cartes routi&#232;res, vue satellite, carte politique, carte historique de 1689, la terre de nuit, pr&#233;cipitations, temp&#233;ratures...&lt;/li&gt;&lt;li&gt; Pairs : jeu de m&#233;moire&lt;/li&gt;&lt;li&gt; Parley&lt;/li&gt;&lt;li&gt; Rocs&lt;/li&gt;&lt;li&gt; Stellarium : un logiciel de plan&#233;tarium open source et gratuit. &lt;a href=&#034;http://www.stellarium.org/fr/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Site officiel&lt;/a&gt; en fran&#231;ais&lt;/li&gt;&lt;li&gt; Step&lt;/li&gt;&lt;li&gt; Suite &#233;ducative Gcompris : un logiciel &#233;ducatif qui propose des activit&#233;s vari&#233;es (&gt; 100) aux enfants de 2 &#224; 10 ans. &lt;a href=&#034;http://gcompris.net/index-fr.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;site officiel fran&#231;ais&lt;/a&gt; et l'article d&#233;di&#233; sur &lt;a href=&#034;http://fr.wikipedia.org/wiki/GCompris&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;wikipedia&lt;/a&gt;..&lt;/li&gt;&lt;li&gt; Tableau p&#233;riodique des &#233;l&#233;ments&lt;/li&gt;&lt;li&gt; Tux Math : deux jeux fonctionnant sur des principes math&#233;matiques. 1) calculer l'&#233;quation d'une m&#233;t&#233;orite pour la d&#233;truire et ainsi prot&#233;ger les igloos des pingouins. 2) travail sur les fractions dans un champ d'ast&#233;ro&#239;des.&lt;/li&gt;&lt;li&gt; Tux Paint : voir onglet suivant&lt;/li&gt;&lt;li&gt; Typespeed : apprendre &#224; taper au clavier&lt;/li&gt;&lt;li&gt; Visionneuse de mol&#233;cules&lt;/li&gt;&lt;li&gt; Visionneuse de spectres : aucun rapport avec les fant&#244;mes, il s'agit de physique.&lt;/li&gt;&lt;li&gt; Visionneuse de structures cristallines&lt;/li&gt;&lt;li&gt; &#201;diteur de structure chimique&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Graphisme&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;L&#224; encore, un large choix d'applications&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Blender : outil de cr&#233;ation d'objets 3D&lt;/li&gt;&lt;li&gt; CinePaint&lt;/li&gt;&lt;li&gt; Geeqie&lt;/li&gt;&lt;li&gt; Gpick, pour prendre une couleur&lt;/li&gt;&lt;li&gt; gscan2pdf&lt;/li&gt;&lt;li&gt; Gwenview : gestion d'images avec de nombreux outils d'import/export&lt;/li&gt;&lt;li&gt; ImageMagick : outil d'&#233;ditions d'images. Une version en ligne de commande est disponible, permettant d'automatiser des traitements de masse.&lt;/li&gt;&lt;li&gt; Inkscape : &#233;dition d'images, notamment pour les SVG&lt;/li&gt;&lt;li&gt; KolorChooser&lt;/li&gt;&lt;li&gt; KolourPaint : dessin&lt;/li&gt;&lt;li&gt; KRuler : r&#232;gle d'&#233;cran&lt;/li&gt;&lt;li&gt; KSnapshot&lt;/li&gt;&lt;li&gt; LibreOffice Draw&lt;/li&gt;&lt;li&gt; Okular&lt;/li&gt;&lt;li&gt; Outil de num&#233;risation Simple Scan&lt;/li&gt;&lt;li&gt; Shotwell : gestion de galerie d'images&lt;/li&gt;&lt;li&gt; TuxPaint : dessin&lt;/li&gt;&lt;li&gt; GIMP : &#233;dition d'images, &#233;quivalent de Photoshop&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Internet&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Afficheur distant&lt;/li&gt;&lt;li&gt; Empathy : application de chat&lt;/li&gt;&lt;li&gt; EtherApe : vue du r&#233;seau et des &#233;quipements connect&#233;s&lt;/li&gt;&lt;li&gt; Filezilla : client FTP&lt;/li&gt;&lt;li&gt; Firefox : navigateur&lt;/li&gt;&lt;li&gt; Konqueror : navigateur&lt;/li&gt;&lt;li&gt; Links : navigateur en mode texte, pratique en cas de d&#233;faillance de l'interface graphique.&lt;/li&gt;&lt;li&gt; Mozilla Thunderbird : client de messagerie et agenda&lt;/li&gt;&lt;li&gt; Mumble : client de communication vocale, tr&#232;s l&#233;ger, pl&#233;biscit&#233; par les joueurs. murmur est la version serveur, &#233;galement gratuite.&lt;/li&gt;&lt;li&gt; Net Activity Viewer : surveillance de l'activit&#233; r&#233;seau de votre machine (services, ports, processus...)&lt;/li&gt;&lt;li&gt; &lt;a href='https://vader-fr.fr/spip.php?article36' class=&#034;spip_in&#034;&gt;Skype&lt;/a&gt; : client de communication vocale&lt;/li&gt;&lt;li&gt; Transmission : gestion de t&#233;l&#233;chargements de type Torrent.&lt;/li&gt;&lt;li&gt; visionneur de bureaux distants&lt;/li&gt;&lt;li&gt; visionneur TigerVNC&lt;/li&gt;&lt;li&gt; Wireshark : capture de trames&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Jeux&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Tout comme pour les applications ludo-&#233;ducatives, les jeux libres et gratuits sont l&#233;gion sur Linux.&lt;br class='autobr' /&gt;
Et &#224; la d&#233;j&#224; longue liste des jeux disponibles dans la logith&#232;que, s'ajoutent :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; les &#034;vieux&#034; jeux que les &#233;mulateurs comme la DosBox ou ZSnes pourront faire fonctionner. Ces jeux peuvent &#234;tre t&#233;l&#233;charg&#233;s sur des sites d'Abandonware.&lt;/li&gt;&lt;li&gt; les jeux Windows, qui fonctionneront &#233;ventuellement avec Wine, PlayOnLinux ou &#233;quivalent, et dont certains sont par ailleurs Abandonware.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Parmi les jeux natifs Linux, on peut citer :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; 0AD, jeu de strat&#233;gie&lt;/li&gt;&lt;li&gt; Advanced Strategic Command, idem&lt;/li&gt;&lt;li&gt; Armacycles/Armagetron/GLTron/Cycles3D... des jeux de course de moto dans le style de &#034;Tron&#034;.&lt;/li&gt;&lt;li&gt; Bomber&lt;/li&gt;&lt;li&gt; Bovo&lt;/li&gt;&lt;li&gt; Cave9&lt;/li&gt;&lt;li&gt; Chromium B.S.U&lt;/li&gt;&lt;li&gt; FreeCiv, jeu de strat&#233;gie de type Civilisation&lt;/li&gt;&lt;li&gt; TuxRacer, un jeu de glisse et collecte de poissons avec Tux.&lt;/li&gt;&lt;li&gt; SuperTux, jeu de plate forme style Super Mario avec Tux&lt;/li&gt;&lt;li&gt; SuperTuxKart, jeu de Kart du style Mario Kart, avec Tux et les autres mascottes du monde libre&lt;/li&gt;&lt;li&gt; Pingus, jeu de logique dans le style des Lemmings&lt;/li&gt;&lt;li&gt; Flare, moteur et jeu de r&#244;le dans le style de Diablo, mais en plus simple d'utilisation&lt;/li&gt;&lt;li&gt; Valyria Tear, jeu de r&#244;le&lt;/li&gt;&lt;li&gt; FlightGear, simulateur de vol&lt;/li&gt;&lt;li&gt; Charles River RC Flight Simulateur, simulateur de vol pour avion radio command&#233;&lt;/li&gt;&lt;li&gt; VegaStrike, simulateur de vol spatial&lt;/li&gt;&lt;li&gt; OpenArena, un Quake-Like&lt;/li&gt;&lt;li&gt; Battle Tanks, une bataille de chars en 2D&lt;/li&gt;&lt;li&gt; BZFlag, jeu de style FPS mais avec des chars, en 3D. Divers modes de jeu (CTF, FFA...)&lt;/li&gt;&lt;li&gt; Tremulous, un FPS&lt;/li&gt;&lt;li&gt; CrossFire, un RPG multi joueurs&lt;/li&gt;&lt;li&gt; Naev, je de combat spatial en 2D&lt;/li&gt;&lt;li&gt; TORCS, The Open Racing Car Simulator, simulateur de conduite automobile&lt;/li&gt;&lt;li&gt; Speed Dreams, simulateur de course automobile&lt;/li&gt;&lt;li&gt; LinCity, gestion de ville &#224; la Sim City&lt;/li&gt;&lt;li&gt; XMoto, simulateur de motocross en 2D&lt;/li&gt;&lt;li&gt; Atomic Tanks, jeu d'artillerie tour par tour&lt;/li&gt;&lt;li&gt; Sorched 3D, jeu d'artillerie tour par tour&lt;/li&gt;&lt;li&gt; Bataille pour Wesnoth, jeu de strat&#233;gie tour par tour&lt;/li&gt;&lt;li&gt; Wormux, jeu de type Worms, en 2D&lt;/li&gt;&lt;li&gt; OpenLieroX, jeu de type Worms&lt;/li&gt;&lt;li&gt; Kapman, un clone de Pacman&lt;/li&gt;&lt;li&gt; Konquest, un jeu en tour par tour de conqu&#234;te spatiale, en 2D.&lt;/li&gt;&lt;li&gt; Palapeli, un jeu de puzzle, permettant aussi de faire ses propres puzzles.&lt;/li&gt;&lt;li&gt; Minetest, &#233;quivalent de Minecraft, pour lequel il existe une pl&#233;thore de mods&lt;/li&gt;&lt;li&gt; ... tous les autres petits jeux du style Majhong, jeux de cartes, billard, bataille navale, puissance 4, mines, casse brique, golf, jeux de blocs, &#233;checs, jeux d'arcade en 2D, pendu, anagrammes, Sudoku, Asteroid, jeux de m&#233;moire, de logique...&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Outils Syst&#232;me&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; AcetoneISO2, gestionnaire de disques virtuels&lt;/li&gt;&lt;li&gt; Ailurus, outil d'information et de configuration de Linux (applications, bash, menus, d&#233;p&#244;ts...), mais aussi de Firefox (extensions, optimisation...)&lt;/li&gt;&lt;li&gt; Analyse d'utilisation des disques : permet de voir rapidement et facilement quels sont les r&#233;pertoires les plus gourmands.&lt;/li&gt;&lt;li&gt; BleachBit, utilitaire de nettoyage&lt;/li&gt;&lt;li&gt; Chkrootkit, d&#233;tecteur de rootkits&lt;/li&gt;&lt;li&gt; Discover, utilitaire de d&#233;couverte des possibilit&#233;s de Linux&lt;/li&gt;&lt;li&gt; DosBox/DOSEmu : &#233;mulateurs DOS&lt;/li&gt;&lt;li&gt; Fedora Live USB creator/Fedora Media Writer&lt;/li&gt;&lt;li&gt; FTP Administration&lt;/li&gt;&lt;li&gt; Gestionnaire de Machine Virtuelle&lt;/li&gt;&lt;li&gt; GSmartControl : gestion des donn&#233;es SMART des disques pour suivre leur &#233;tat de sant&#233;&lt;/li&gt;&lt;li&gt; Hardware Lister : liste du mat&#233;riel d&#233;tect&#233;&lt;/li&gt;&lt;li&gt; KlamAV : interface KDE de gestion de l'antivirus Clam&lt;/li&gt;&lt;li&gt; KSensors : affiche sur le bureau des informations sur le mat&#233;riel (temp&#233;rature, voltage, CPU/RAM utilis&#233;es, vitesse CPU, Uptime....) en fonction des choix de l'utilisateur.&lt;/li&gt;&lt;li&gt; &#034;Logiciels&#034; : Logith&#232;que, permettant de t&#233;l&#233;charger et installer des logiciels open-source et gratuits, compil&#233;s pour la distribution.&lt;/li&gt;&lt;li&gt; M&#233;tamorphose2 : renommeur massif pour fichiers et dossiers&lt;/li&gt;&lt;li&gt; Moniteur syst&#232;me : surveillance RAM/CPU/R&#233;seau/Disques utilis&#233;s, liste des processus...&lt;/li&gt;&lt;li&gt; Outils r&#233;seau : vue p&#233;riph&#233;riques, pings, statistiques, traceroutes, scan de ports, finger, whois&lt;/li&gt;&lt;li&gt; Paquets : installation et mise &#224; jour de logiciels.&lt;/li&gt;&lt;li&gt; Param&#232;tres : menu d'administration, de l'arri&#232;re plan &#224; la souris en passant par le r&#233;seau, le bluetooth, l'acc&#232;s universel... &#233;quivalent du panneau de configuration de W$&lt;/li&gt;&lt;li&gt; SecTool : audit de s&#233;curit&#233; de la machine&lt;/li&gt;&lt;li&gt; UNetbootin : cr&#233;ation d'un m&#233;dia bootable&lt;/li&gt;&lt;li&gt; USB Viewer : visualisation des p&#233;riph&#233;riques connect&#233;s en USB&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Programmation&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Eclipse : environnement de programmation tr&#232;s complet, disposant de tout un tas de plugins.&lt;/li&gt;&lt;li&gt; Geany : &#233;diteur de texte am&#233;lior&#233;, pour diff&#233;rents langages de programmation (PHP, Perl...)&lt;/li&gt;&lt;li&gt; gPHPEdit : &#233;diteur de texte con&#231;u pour le PHP&lt;/li&gt;&lt;li&gt; pgAdmin 3 : administration de base de donn&#233;es PostGres&lt;/li&gt;&lt;li&gt; QT4 designer&lt;/li&gt;&lt;li&gt; Sqliteman : administration de bases de donn&#233;es SQLite&lt;/li&gt;&lt;li&gt; Sysprof&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Son et vid&#233;o&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Audacious : lecteur audio &#233;quivalent de Winamp, pouvant d'ailleurs utiliser des th&#232;mes Winamp&lt;/li&gt;&lt;li&gt; Audacity : &#233;diteur audio&lt;/li&gt;&lt;li&gt; Avidemux : &#233;diteur vid&#233;o, existe en GTK et QT.&lt;/li&gt;&lt;li&gt; Brasero : outil de gravure&lt;/li&gt;&lt;li&gt; Cheese : utilitaire webcam, photo/vid&#233;o avec quelques effets&lt;/li&gt;&lt;li&gt; Convertisseur audio&lt;/li&gt;&lt;li&gt; Devede : &#233;diteur de DVD vid&#233;os&lt;/li&gt;&lt;li&gt; EasyTag : pour g&#233;rer les &#233;tiquettes (titre, num&#233;ro de piste, album, auteur, genre, ann&#233;e....) d'un ou plusieurs fichiers audio&lt;/li&gt;&lt;li&gt; Enregistreur de sons&lt;/li&gt;&lt;li&gt; &#233;diteur de sous-titres, Gaupol, Gnome Subtitles : cr&#233;ation et gestion de fichiers de sous-titres&lt;/li&gt;&lt;li&gt; GTKRecordMyDesktop / QTRecordMyDesktop, Istanbul Desktop Session Recorder : enregistreur d'&#233;cran ou de fen&#234;tre&lt;/li&gt;&lt;li&gt; Handbrake : &#233;diteur vid&#233;o&lt;/li&gt;&lt;li&gt; ISO Master : gestion d'image disque ISO&lt;/li&gt;&lt;li&gt; Kamoso : utilitaire webcam pouvant g&#233;rer plusieurs cam&#233;ras&lt;/li&gt;&lt;li&gt; Make MKV : utilitaire vid&#233;o&lt;/li&gt;&lt;li&gt; Ogg Convert&lt;/li&gt;&lt;li&gt; Pitivi : &#233;diteur vid&#233;o&lt;/li&gt;&lt;li&gt; Presence : vid&#233;o-conf&#233;rence&lt;/li&gt;&lt;li&gt; SoundJuicer : extracteur de CD audio&lt;/li&gt;&lt;li&gt; Transcodeur Vid&#233;o&lt;/li&gt;&lt;li&gt; Video4Linux&lt;/li&gt;&lt;li&gt; Visionneur de webcam&lt;/li&gt;&lt;li&gt; VLC : lecteur multim&#233;dia pouvant lire/enregistrer/convertir/diffuser, avec effets audio/video&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Utilitaires&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Analyseur d'utilisation des disques (baobab)&lt;/li&gt;&lt;li&gt; Disques : gestion des disques (p&#233;riph&#233;riques mat&#233;riels, partitions, points de montage...)&lt;/li&gt;&lt;li&gt; Gestionnaire d'archives&lt;/li&gt;&lt;li&gt; Journaux syst&#232;me&lt;/li&gt;&lt;li&gt; Moniteur syst&#232;me&lt;/li&gt;&lt;li&gt; Mots de passe et cl&#233;s&lt;/li&gt;&lt;li&gt; Outil de personnalisation (gnome tweak tool)&lt;/li&gt;&lt;li&gt; Sauvegardes&lt;/li&gt;&lt;li&gt; Table de caract&#232;res&lt;/li&gt;&lt;li&gt; Visionneur d'images&lt;/li&gt;&lt;li&gt; Visionneur de bureaux distants&lt;/li&gt;&lt;li&gt; Visionneur de documents (PDF) Evince&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Wine&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;q&gt;Wine est l'acronyme r&#233;cursif anglophone de &#171; Wine Is Not an Emulator &#187;, litt&#233;ralement Wine n'est pas un &#233;mulateur, (jeu de mot qu'on peut traduire par &#171; le vin n'est pas un &#233;mulateur &#187;). Jusqu'en 1997, Wine &#233;tait l'acronyme de &#171; WINdows Emulator &#187;2. Ce logiciel est une impl&#233;mentation libre de l'interface de programmation Windows b&#226;tie sur X et UNIX (BSD, Linux), c'est-&#224;-dire qu'il permet d'utiliser sur Linux ou Mac OS X des programmes con&#231;us pour fonctionner sous Windows. Le logiciel n'a donc pas besoin du syst&#232;me d'exploitation Windows pour fonctionner.&lt;/q&gt; Source : wikipedia&lt;/p&gt;
&lt;p&gt;Le menu Wine propose quelques outils, plus tous les liens de type &#034;menu d&#233;marrer&#034; fournis avec les applications Windows install&#233;es, tous m&#233;lang&#233;s (merci Gnome 3)&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Notepad&lt;/code&gt; est un &#233;diteur de texte tr&#232;s simple&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Regedit&lt;/code&gt; est l'&#233;diteur du registre Windows de Wine&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Wine Boot&lt;/code&gt; simule un red&#233;marrage de la machine Windows&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Wine Configuration&lt;/code&gt; permet de configurer les lecteurs, librairies, propri&#233;t&#233;s graphiques et audio de Wine, de mani&#232;re g&#233;n&#233;rale ou par application.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Wine File&lt;/code&gt; est un explorateur de fichiers/r&#233;pertoires de type WIndows, qui permettra de contr&#244;ler ce que Wine voit du syst&#232;me h&#244;te Linux&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Wine Help&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Wine Software Uninstaller&lt;/code&gt; pour d&#233;sinstaller les logiciels Windows install&#233;s avec Wine&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Wine Wordpad&lt;/code&gt; est un &#233;diteur de texte un petit peu plus sophistiqu&#233; que Notepad&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Applications - Autre&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Liste non exhaustive&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Chargeur de d&#233;marrage (GRUB)&lt;/li&gt;&lt;li&gt; Configuration syst&#232;me&lt;/li&gt;&lt;li&gt; gestion de SELinux&lt;/li&gt;&lt;li&gt; gestion des th&#232;mes&lt;/li&gt;&lt;li&gt; gestion des volumes logiques&lt;/li&gt;&lt;li&gt; Param&#232;tres du serveur X NVidia&lt;/li&gt;&lt;li&gt; Samba : service de partage de fichiers &#034;&#224; la Windows&#034;&lt;/li&gt;&lt;li&gt; Services&lt;/li&gt;&lt;li&gt; &#201;conomiseur d'&#233;cran&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;Il existe &lt;a href=&#034;https://fr.wikipedia.org/wiki/Red_Hat_Enterprise_Linux&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;RedHat Enterprise&lt;/a&gt;, mais pas Debian Enterprise&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;A ce titre il est pr&#233;f&#233;rable d'avoir une carte Nvidia plut&#244;t qu'ATI, car Nvidia diffuse et met &#224; jour des pilotes pour Linux.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb3&#034;&gt;
&lt;p&gt;&lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh3&#034; class=&#034;spip_note&#034; title=&#034;Notes 3&#034; rev=&#034;appendix&#034;&gt;3&lt;/a&gt;] &lt;/span&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;Syntaxe de &#034;autrefois&#034; en vieux fran&#231;ois tel que le parloient les roys de France&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Expressions r&#233;guli&#232;res</title>
		<link>https://vader-fr.fr/spip.php?article173</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article173</guid>
		<dc:date>2016-07-27T08:09:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>


		<dc:subject>PHP</dc:subject>
		<dc:subject>Linux</dc:subject>

		<description>
&lt;p&gt;Que ce soit sous Linux Bash (sed, grep, find...), PHP (preg_match et preg_replace) ou Perl, il est possible de simplifier des traitements en faisant correspondre une cha&#238;ne &#224; un motif (pattern). &lt;br class='autobr' /&gt;
Certains motifs utilisent des expressions r&#233;guli&#232;res &#233;tendues, n&#233;cessitant une option (-r pour sed, -E pour grep...) ou un param&#233;trage &#224; v&#233;rifier (PHP/Perl). &lt;br class='autobr' /&gt;
Article non exhaustif &lt;br class='autobr' /&gt;
Les caract&#232;res sp&#233;ciaux (^, $, ?, +, *, [ , ], (, )...) seront prot&#233;g&#233;s par un \ afin de ne pas &#234;tre interpr&#233;t&#233;s (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;

/ 
&lt;a href="https://vader-fr.fr/spip.php?mot2" rel="tag"&gt;PHP&lt;/a&gt;, 
&lt;a href="https://vader-fr.fr/spip.php?mot6" rel="tag"&gt;Linux&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Que ce soit sous Linux Bash (sed, grep, find...), PHP (preg_match et preg_replace) ou Perl, il est possible de simplifier des traitements en faisant correspondre une cha&#238;ne &#224; un motif (pattern).&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Certains motifs utilisent des expressions r&#233;guli&#232;res &#233;tendues, n&#233;cessitant une option (-r pour sed, -E pour grep...) ou un param&#233;trage &#224; v&#233;rifier (PHP/Perl).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Article non exhaustif&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Les caract&#232;res sp&#233;ciaux (^, $, ?, +, *, [ , ], (, )...) seront prot&#233;g&#233;s par un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\&lt;/code&gt; afin de ne pas &#234;tre interpr&#233;t&#233;s&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;onglets_bloc_initial&#034;&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;G&#233;n&#233;ralit&#233;s&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Les composantes d'une expression r&#233;guli&#232;re sont :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; les ancres - elles d&#233;finissent quelle partie de la cha&#238;ne il faut comparer au motif.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^&lt;/code&gt; pour le d&#233;but de la cha&#238;ne&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$&lt;/code&gt; pour la fin de la cha&#238;ne.&lt;/li&gt;&lt;li&gt; en cas de comparaison (et/ou remplacement) d'une partie de cha&#238;ne, l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;g&lt;/code&gt; permettra un traitement pour chaque correspondance au motif.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; les m&#233;ta-caract&#232;res
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.&lt;/code&gt; signifie &#034;n'importe quel caract&#232;re&#034;. Un &#034;.&#034; simple devra &#234;tre prot&#233;g&#233; par un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; les types de caract&#232;res, indiqu&#233;s entre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[ ]&lt;/code&gt; - valable pour un seul caract&#232;re &#224; comparer. Il faudra utiliser des quantificateurs pour comparer plusieurs caract&#232;res.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; au d&#233;but de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[ ]&lt;/code&gt;, le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^&lt;/code&gt; indique une n&#233;gation. Ainsi, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[^0-9]&lt;/code&gt; signifie &#034;tout sauf num&#233;rique&#034;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[0-9]&lt;/code&gt; pour du num&#233;rique.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[a-z]&lt;/code&gt; pour de l'alphab&#233;tique en minuscule&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[A-Z]&lt;/code&gt; pour de l'alphab&#233;tique en majuscule&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[a-zA-Z0-9]&lt;/code&gt; pour de l'alphanum&#233;rique.&lt;/li&gt;&lt;li&gt; Il est possible de lister les valeurs &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[abcdef567]&lt;/code&gt; ou de mettre une liste implicite &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[a-f5-7]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; le &#034;-&#034; en tant que caract&#232;re sera donc mis en premier dans la liste, afin de ne pas tester une liste implicite. exemple, soit &#034;-&#034;, soit 0, soit 9 : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[-09]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; il existe aussi des types d&#233;finis et des raccourcis
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\d&lt;/code&gt; est ainsi l'&#233;quivalent de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[0-9]&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\w&lt;/code&gt; celui de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[a-zA-Z0-9]&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\s&lt;/code&gt; un caract&#232;re d'espacement (espace, tabulation...), &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\t&lt;/code&gt; une tabulation simple, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\b&lt;/code&gt; indique un s&#233;parateur de mot...&lt;/li&gt;&lt;li&gt; les inverses sont alors en majuscule. &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\D&lt;/code&gt; &#233;tant tout sauf num&#233;rique.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; le respect ou non de la casse pourra &#234;tre indiqu&#233; par l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;i&lt;/code&gt;, juste en dehors de l'expression r&#233;guli&#232;re&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; les sous-cha&#238;nes, entre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;( )&lt;/code&gt; - permettent de comparer une .. sous-cha&#238;ne, pouvant &#234;tre compos&#233;e de plusieurs expressions
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; exemple, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^(Q|q)$&lt;/code&gt; correspond &#224; un q majuscule ou minuscule, le &#034;ou&#034; logique &#233;tant repr&#233;sent&#233; par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|&lt;/code&gt;. C'est l'&#233;quivalent de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^[qQ]$&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^(perl|linux|php)$&lt;/code&gt; &#224; la cha&#238;ne enti&#232;re &#034;perl&#034; OU &#034;linux&#034; ou &#034;php&#034;. contrairement &#224; la notation &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[ ]&lt;/code&gt;, la comparaison se fait sur plusieurs caract&#232;res.&lt;/li&gt;&lt;li&gt; une cha&#238;ne unique, sans utilisation de OU logique ou de r&#233;p&#233;tition de la sous-cha&#238;ne, pourra &#234;tre simplement indiqu&#233;e. voir exemple qui suit.&lt;/li&gt;&lt;li&gt; autre exemple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^Mem(Free|Total):&lt;/code&gt; cherche en d&#233;but de cha&#238;ne &#034;MemFree :&#034; ou &#034;MemTotal :&#034;&lt;/li&gt;&lt;li&gt; exemple dans ce code PHP &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$patterns[&#034;max_essais_logins&#034;]=&#034;/^[a]{0}(0*[3-9]|(0*[1-9]0*)+0|(0*[1-9]+0*)+[1-9])$/&#034;;&lt;/code&gt; qui contr&#244;le une cha&#238;ne num&#233;rique sup&#233;rieure &#224; 3.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[a]{0}&lt;/code&gt; s&#233;pare le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^&lt;/code&gt; de la sous-cha&#238;ne, afin de le comprendre comme &#034;d&#233;but de cha&#238;ne globale&#034; et non &#034;diff&#233;rent de sous-cha&#238;ne qui suit&#034;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Il n'existe pas de &#034;et&#034; logique en expression r&#233;guli&#232;re, mais il est possible de le simuler par un non &#034;ou&#034; des valeurs inverses.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le &#034;non&#034; logique se met devant l'ouverture de la sous-cha&#238;ne, exemple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^(valeur1|valeur2)&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Les sous-cha&#238;nes sont automatiquement mises dans des variables num&#233;rot&#233;es &#224; partir de 1 et peuvent &#234;tre r&#233;utilis&#233;es dans un remplacement.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; exemple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;s/^.+: +([0-9]+) kB/$1/&lt;/code&gt; via un remplacement, extrait de la cha&#238;ne les seuls caract&#232;res num&#233;riques situ&#233;s avant un &#034; kB&#034;, et ce pour la premi&#232;re occurrence dans la ligne.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; les quantificateurs - situ&#233;s apr&#232;s le type de caract&#232;re ou la sous-cha&#238;ne. Par d&#233;faut, vaut 1.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;?&lt;/code&gt; signifie &#034;z&#233;ro ou 1 fois&#034;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;*&lt;/code&gt; signifie &#034;z&#233;ro &#224; n fois&#034; (sans limite)&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;+&lt;/code&gt; signifie &#034;au moins 1 &#224; n fois&#034;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{a,b}&lt;/code&gt; signifie &#034;de a &#224; b fois&#034;. a ou b peuvent &#234;tre absents, afin de ne sp&#233;cifier que le maximum ou minimum.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; ainsi, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{0,}&lt;/code&gt; est un &#233;quivalent de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;*&lt;/code&gt;&lt;/li&gt;&lt;li&gt; exemple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^(\.|\.\.)$&lt;/code&gt;, afin de ne pas traiter &#034;.&#034; et &#034;..&#034; dans la liste des r&#233;pertoires Unix/Linux, peut &#234;tre remplac&#233; par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^\.{1,2}$&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^\.\.?$&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Exemples d'utilisation&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; PHP
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; preg_match permet de comparer le contenu d'une variable &#224; un motif. preg_replace fera le remplacement.&lt;/li&gt;&lt;li&gt; Ici, on d&#233;termine le type de donn&#233;e avant un bindValue d'une requ&#234;te param&#233;trable (PDO)&lt;/li&gt;&lt;li&gt; les caract&#232;res encadrant le motif &#233;tant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/&lt;/code&gt;, les options s'indiqueraient de mani&#232;re &#034;/motif/options&#034;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; par exemple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;preg_match(&#034;/^linux/i&#034;,$chaine)&lt;/code&gt; sera insensible &#224; la casse et cherchera en d&#233;but de cha&#238;ne le terme &#034;linux&#034; avec ou sans majuscules.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;if (preg_match(&#034;/[\w]+/&#034;,$param)){ $typ_param=PDO::PARAM_STR; }&lt;/code&gt; si la cha&#238;ne contient (peut importe o&#249;) un voire plus caract&#232;res alphab&#233;tiques, c'est une cha&#238;ne de caract&#232;res
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\w&lt;/code&gt; peut &#234;tre remplac&#233; par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\D&lt;/code&gt;, signifiant &#034;tout sauf num&#233;rique&#034;. Ici, l'expression est assez permissive car c'est le type &#034;par d&#233;faut&#034;, qui peut &#234;tre surcharg&#233; par les deux suivants.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;if (preg_match(&#034;/^[+-]?\d+$/&#034;,$param)){ $typ_param=PDO::PARAM_INT; }&lt;/code&gt; si la cha&#238;ne ne contient, du d&#233;but &#224; la fin, qu'un (ou pas) +/- suivi d'un ou plusieurs caract&#232;res num&#233;riques, c'est un entier sign&#233;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;if (preg_match(&#034;/^$/&#034;,$param)){ $typ_param=PDO::PARAM_NULL; }&lt;/code&gt; si la cha&#238;ne, entre son d&#233;but et sa fin, ne contient rien, c'est un param&#232;tre null&lt;/li&gt;&lt;li&gt; Le motif suivant v&#233;rifie si la cha&#238;ne entr&#233;e est un num&#233;rique, sup&#233;rieur ou &#233;gal &#224; 3&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$patterns[&#034;max_essais_logins&#034;]=&#034;/^[a]{0}(0*[3-9]|(0*[1-9]0*)+0|(0*[1-9]+0*)+[1-9])$/&#034;;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; commence par z&#233;ro fois la lettre a. En fait, cela permet d'interpr&#233;ter le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^&lt;/code&gt; comme &#034;d&#233;but de cha&#238;ne&#034; et non &#034;non &#233;gal &#224; la sous-cha&#238;ne qui suit&#034;&lt;/li&gt;&lt;li&gt; puis contient ensuite soit &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;0*[3-9]&lt;/code&gt; soit &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(0*[1-9]0*)+0&lt;/code&gt; soit &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(0*[1-9]+0*)+[1-9]&lt;/code&gt; r&#233;p&#233;t&#233; au moins une fois, et termine&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;0*[3-9]&lt;/code&gt; = un chiffre de 3 &#224; 9 tout seul, pr&#233;c&#233;d&#233; ou non de z&#233;ros.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(0*[1-9]0*)+0&lt;/code&gt; = une cha&#238;ne contenant au moins un chiffre de 1 &#224; neuf, et qui terminera par z&#233;ro&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(0*[1-9]+0*)+[1-9]&lt;/code&gt; = une cha&#238;ne contenant au moins un chiffre de 1 &#224; neuf, et qui terminera par un chiffre de 1 &#224; neuf, donc compl&#233;mentaire &#224; la cha&#238;ne pr&#233;c&#233;dente&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; PERL
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;=~&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;!~&lt;/code&gt; permettent de comparer le contenu d'une variable &#224; un motif.&lt;/li&gt;&lt;li&gt; Ici, on utilise un op&#233;rateur ternaire : si la valeur commence &#233;ventuellement par + ou -, suivi d'un ou plusieurs chiffres, on met la valeur dans le tableau, sinon on sort.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; l'op&#233;rateur ternaire existe aussi en PHP. exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$page=(isset($_POST[&#034;page&#034;]))?$_POST[&#034;page&#034;]:&#034;accueil&#034;;&lt;/code&gt; affecte &#224; la variable page la valeur transmise en POST si celle-ci existe, sinon la valeur &#034;accueil&#034;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;($valeur=~/^[+-]{0,1}[0-9]+$/)?push(@rray,$valeur):last;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;s/&lt;\/{0,1}head&gt;//gi;&lt;/code&gt; le s indique que l'on remplace (substitute) la cha&#238;ne &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;/head&gt;&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;head&gt;&lt;/code&gt; (le / &#233;tant prot&#233;g&#233;), par une cha&#238;ne vide, avec les options g (global, ne pas s'arr&#234;ter &#224; la premi&#232;re occurrence) et i (insensible &#224; la casse)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Linux : find et sed, voir &lt;a href='https://vader-fr.fr/spip.php?article165' class=&#034;spip_in&#034;&gt;ici&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Autres
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;3\.14(15?)?&lt;/code&gt; 3.14 ET 3.141 ET 3.1415&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(ab)([c]{0,1}|[c]{3})z&lt;/code&gt; abz ET abcz ET abcccz&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(abc)[c]{2}z&lt;/code&gt; abcz ET abcccz MAIS PAS abz&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(ab)[c]{0,1}z&lt;/code&gt; abz ET abcz&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[\\]*[\*]*&lt;/code&gt; un nombre quelconque de &#8220;\&#8221; suivi d'un nombre quelconque de &#8220;*&#8221;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;([^&#034;]*)&lt;/code&gt; une cha&#238;ne entre quotes contenant 0 &#224; n fois tout sauf &#034;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^0?[0-3]?[0-7]{1,2}$&lt;/code&gt; commence par 0 (0 ou 1 fois) puis 0 &#224; 3 (0 ou 1 fois) puis 0 &#224; 7 (1 ou 2 fois) et termine&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\b[\w.]{1,12}\b&lt;/code&gt; un mot de 1 &#224; 12 caract&#232;res alphanum&#233;riques ou &#034;.&#034;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^\$\w+$&lt;/code&gt; une cha&#238;ne contenant uniquement le nom d'une variable scalaire sans toutefois correspondre &#224; une variable sp&#233;ciale comme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$*&lt;/code&gt; (PERL)&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^(#.*|\s*)$&lt;/code&gt; une cha&#238;ne commen&#231;ant par soit un di&#232;se suivi de n'importe quoi en n'importe quelle quantit&#233; soit ne contenant (&#233;ventuellement) que des caract&#232;res de s&#233;paration, jusqu'&#224; la fin de la cha&#238;ne. un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\s*#&lt;/code&gt; au lieu du simple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#&lt;/code&gt; permettrait de g&#233;rer les lignes de commentaires commen&#231;ant par des caract&#232;res d'espacement.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Migration de serveur linux - samba</title>
		<link>https://vader-fr.fr/spip.php?article160</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article160</guid>
		<dc:date>2016-03-01T15:28:09Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>



		<description>
&lt;p&gt;Installation du serveur et r&#233;cup&#233;ration des donn&#233;es &lt;br class='autobr' /&gt;
Installation du nouveau serveur, l'ancien serveur reste utilis&#233;. &lt;br class='autobr' /&gt;
r&#233;cup&#233;ration des utilisateurs et groupes de l'ancien serveur r&#233;cup&#233;rer /etc/group et /etc/passwd du &#034;vieux&#034; serveur dans le r&#233;pertoire root du nouveau, r&#233;pertoire personnel de l'utilisateur root o&#249; l'on se trouve par d&#233;faut apr&#232;s s'&#234;tre connect&#233; en root. scp root@IP_OLD &lt;img alt=&#034;:/&#034; title=&#034;:/&#034; class=&#034;no_image_filtrer format_png&#034; src=&#034;https://vader-fr.fr/plugins/auto/couteau_suisse/v1.16.1/img/smileys/mouais.png&#034; width=&#034;19&#034; height=&#034;19&#034;/&gt;etc/group group_old scp root@IP_OLD &lt;img alt=&#034;:/&#034; title=&#034;:/&#034; class=&#034;no_image_filtrer format_png&#034; src=&#034;https://vader-fr.fr/plugins/auto/couteau_suisse/v1.16.1/img/smileys/mouais.png&#034; width=&#034;19&#034; height=&#034;19&#034;/&gt;etc/passwd passwd_old &lt;br class='autobr' /&gt;
Toute cette proc&#233;dure est justifi&#233;e par (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;div class=&#034;onglets_bloc_initial&#034;&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Installation du serveur et r&#233;cup&#233;ration des donn&#233;es&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Installation du nouveau serveur, l'ancien serveur reste utilis&#233;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;r&#233;cup&#233;ration des utilisateurs et groupes de l'ancien serveur&lt;/h3&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; r&#233;cup&#233;rer &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/group&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/passwd&lt;/code&gt; du &#034;vieux&#034; serveur dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt; du nouveau, r&#233;pertoire personnel de l'utilisateur &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt; o&#249; l'on se trouve par d&#233;faut apr&#232;s s'&#234;tre connect&#233; en &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt;.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp root@IP_OLD:/etc/group group_old&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp root@IP_OLD:/etc/passwd passwd_old&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Toute cette proc&#233;dure est justifi&#233;e par le fait que &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;smbpasswd&lt;/code&gt; contient l'uid et doit &#234;tre rapatri&#233; enti&#232;rement, donc il faudra prot&#233;ger les UID et privil&#233;gier les anciens (utilisateurs d&#233;clar&#233;s dans Samba).&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; les groupes et utilisateurs &#034;nouveaux&#034; dont les gid/uid sont en conflit avec des groupes et utilisateurs de samba sur l'ancien serveur devront &#234;tre modifi&#233;s.&lt;/li&gt;&lt;li&gt; Par exemple, pour modifier l'utilisateur et le groupe ftptrans/transfert et leur mettre un nouvel uid/gid &#224; 502.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;usermod -u 502 ftptrans&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;groupmod -g 502 transfert&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; il est pr&#233;f&#233;rable de sauvegarder les anciens fichiers &lt;i&gt;group&lt;/i&gt; et &lt;i&gt;passwd&lt;/i&gt; du nouveau serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cp /etc/group /root/group_new&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cp /etc/passwd /root/passwd_new&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;1) Groupes&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Supprimer les CTRL-M de group_old s'il y en a&lt;/li&gt;&lt;li&gt; extraction des groupes samba (par exemple &gt;= 1000) de l'ancien serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat group_old | awk -F: '{ if ($3 &gt; 999) print $0 }' | sort -t':' -k3n -k1&gt; fic_g_old1000&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; extraction des groupes syst&#232;me et utilisateurs non samba (&lt; 1000) du nouveau serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat group_new | awk -F: '{ if ($3 &lt; 1000 ) print $0 }' | sort -t':' -k3n -k1 &gt; fic_g_new1000&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; sauvegarde du fichier des groupes du nouveau serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mv /etc/group /etc/group_orig&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; recr&#233;ation du fichier des groupes
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat fic_g_new1000 fic_g_old1000 &gt; /etc/group&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;2) Utilisateurs&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; extraction des utilisateurs samba (par exemple &gt;= 1002) de l'ancien serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat passwd_old | awk -F: '{ if ($3 &gt; 1001 ) print $0 }' | sort -t':' -n -k3 &gt; fic_u_old1000&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; extraction des utilisateurs (&lt; 1002) du nouveau serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat passwd_new | awk -F: '{ if ($3 &lt; 1002 ) print $0 }' | sort -t':' -n -k3 &gt; fic_u_new1000&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; sauvegarde du fichier des utilisateurs du nouveau serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mv /etc/passwd /etc/passwd_orig&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; recr&#233;ation du fichier des utilisateurs
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat fic_u_new1000 fic_u_old1000 &gt; /etc/passwd&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;il peut &#234;tre utile de mettre ces commandes dans un fichier de script afin de r&#233;g&#233;n&#233;rer les fichiers passwd et group en cas de changements avec nouveaux utilisateurs ou nouvelles machines reli&#233;es &#224; Samba&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;D&#233;sactiver sur le nouveau serveur le d&#233;marrage automatique des services &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;smb&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;nmb&lt;/code&gt;, pour &#233;viter les conflits avec l'ancien serveur lors du transfert des donn&#233;es.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;new_serv:~ # chkconfig -d smb
smb 0:off 1:off 2:off 3:off 4:off 5:off 6:off
new_serv:~ # chkconfig -d nmb
nmb 0:off 1:off 2:off 3:off 4:off 5:off 6:off&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;R&#233;cup&#233;rer de l'ancien serveur les fichiers suivant avec la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp&lt;/code&gt; : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp root@IP_OLD:/fichier /fichier&lt;/code&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/hosts&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/ssh/sshd-banner&lt;/code&gt; qu'il faudra &#233;diter pour signaler que l'on est sur un nouveau serveur et &#233;viter la confusion avec l'ancien&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&#034;spip&#034;&gt;R&#233;cup&#233;ration des donn&#233;es de l'ancien serveur&lt;/h3&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Les donn&#233;es des partages Samba ainsi que les fichiers &lt;i&gt;netlogon&lt;/i&gt; pour les postes rattach&#233;s &#224; un domaine g&#233;r&#233; par Samba.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/lib/samba/&lt;/code&gt;, &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;s'assurer que les services smb/nmb sont arr&#234;t&#233;s sur le nouveau serveur&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/samba/&lt;/code&gt;,&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/shadow&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/HOSTNAME&lt;/code&gt; (si le nouveau a &#233;t&#233; mal nomm&#233; pendant masterisation)&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/spool/cron/tabs/root&lt;/code&gt; il faudra red&#233;marrer le serveur cron par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;service crond restart&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/ssh/sshd_config&lt;/code&gt; il faudra red&#233;marrer le serveur ssh par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;service sshd restart&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;avec la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@IP_OLD_SERVER:/repertoire_source/ /repertoire/destination/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;En raison du volume de certains r&#233;pertoires, lancer les synchronisations le soir ou le week-end.&lt;/strong&gt;&lt;/p&gt;
&lt;div class='cs_blocs'&gt;&lt;h4 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='#_foo'&gt;Pour automatiser les synchronisations&lt;/a&gt;&lt;/h4&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;:attention &#224; titre exp&#233;rimental :attention&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; g&#233;n&#233;rer la cl&#233; ssh du nouveau serveur par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh-keygen&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;ne pas mettre de passphrase&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; Au lieu de g&#233;n&#233;rer la cl&#233; de mani&#232;re interactive, il est possible de passer par une seule commande :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh-keygen -t rsa -P &#034;&#034; -f .ssh/id_rsa&lt;/code&gt;&lt;/li&gt;&lt;li&gt; l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-q&lt;/code&gt; permettra un silence total, le &#034;random art&#034; de la cl&#233; ne sera pas affich&#233;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; envoyer la cl&#233;, par d&#233;faut dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.ssh/id_rsa.pub&lt;/code&gt; dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.ssh/authorized_keys&lt;/code&gt; de l'ancien serveur &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;en &#233;crasant ou &#224; la place de l'ancien fichier&lt;/strong&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; en &#233;tant dans le r&#233;pertoire de root : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp .ssh/id_rsa.pub root@IP_OLD:/root/.ssh/authorized_keys&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strike&gt; se connecter au nouveau serveur depuis l'ancien en SSH de mani&#232;re &#224; avoir la cl&#233; du nouveau dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.ssh/known_hosts&lt;/code&gt; de l'ancien serveur&lt;/strike&gt;&lt;/li&gt;&lt;li&gt; &lt;strike&gt; red&#233;marrer le service ssh de l'ancien serveur par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;service sshd restart&lt;/code&gt; :&lt;/strike&gt;&lt;/li&gt;&lt;li&gt; tester la connexion directe sans mot de passe depuis le nouveau serveur vers l'ancien serveur.&lt;/li&gt;&lt;li&gt; tester un &lt;i&gt;rsync&lt;/i&gt; de la m&#234;me mani&#232;re sur &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/home/netlogon&lt;/code&gt; par la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@&lt;/code&gt;&lt;i&gt;IP_OLD&lt;/i&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;:/home/netlogon/ /home/netlogon/&lt;/code&gt;&lt;/li&gt;&lt;li&gt; copier-coller la liste des synchronisations &#224; faire dans un fichier de liste, un partage par ligne, du type &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/home/netlogon/&lt;/code&gt; sans oublier le dernier &#034;/&#034;.&lt;/li&gt;&lt;li&gt; la boucle pour la commande des synchronisations est : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;for ligne in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat liste_synchros&lt;/code&gt; ; do rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@&lt;/code&gt;&lt;i&gt;IP_OLD&lt;/i&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;:$ligne $ligne; done;&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Exemple de fichier de liste&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat liste_synchros&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; /var/lib/samba/
/etc/samba/
/etc/shadow
/var/spool/cron/tabs/root
/etc/ssh/sshd_config
/home/data/
/home/user/
/home/echanges/
/home/netlogon/&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Exemple de fichier de script&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat synchros.sh&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; #!/bin/bash
IP_OLD=&#034;&#034;; #&#160;adresse IP de l'ancien serveur, sur lequel on se connecte pour r&#233;cup&#233;rer les donn&#233;es. Permet de r&#233;utiliser le script en ne changeant que cette variable.
reponse=&#034;z&#034;;
until [ $reponse == &#034;y&#034; -o $reponse == &#034;n&#034; ] ; do echo &#034;Afficher &#224; l'&#233;cran (en plus du fichier journal) le d&#233;tail des fichiers t&#233;l&#233;charg&#233;s ? y/n&#034;; read reponse ; done;
nblignes=$(cat liste_synchros | grep -vE &#034;^$&#034; | wc -l);
echo &#034;Il y a $nblignes dossiers &#224; copier&#034; | tee -a synchros.log;
tabtaille[0]=$nblignes;
tabtailleh[0]=$nblignes;
totalk=0;
compteur=1;
echo &#034;On d&#233;termine la taille des fichiers et dossiers &#224; t&#233;l&#233;charger, cela peut prendre un peu de temps.&#034; | tee -a synchros.log
for ligne in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat liste_synchros&lt;/code&gt; ; do echo -n &#034;$ligne&#034; | tee -a synchros.log; taillek=$(ssh root@$IP_OLD du -s $ligne 2&gt;/dev/null | grep &#034;$ligne&#034; | awk '{ print $1 }'); totalk=$(expr $totalk + $taillek); tabtaille[$compteur]=$taillek; if [ $taillek -gt 1024 ] then taillem=$(expr $taillek / 1024); if [ $taillem -gt 1024 ] then tailleg=$(expr $taillem / 1024); restm=$(expr $tailleg \* 1024); taillem=$(expr $taillem - $restm); tabtailleh[$compteur]=&#034;$tailleg Go et $taillem Mo&#034;; else tabtailleh[$compteur]=&#034;$taillem Mo&#034;; fi else tabtailleh[$compteur]=&#034;$taillek Ko&#034;; fi echo &#034; : ${tabtailleh[$compteur]}&#034; | tee -a synchros.log; compteur=$(expr $compteur + 1);
done;
if [ $totalk -gt 1024 ]
then totalm=$(expr $totalk / 1024); if [ $totalm -gt 1024 ] then totalg=$(expr $totalm / 1024); if [ $totalg -gt 1024 ] then totalt=$(expr $totalg /1024); totalh=&#034;$totalt To&#034;; else totalh=&#034;$totalg Go&#034;; fi else totalh=&#034;$totalm Mo&#034;; fi
else totalh=&#034;$totalk Ko&#034;;
fi echo &#034;Total : $totalh&#034; | tee -a synchros.log;
compteur=1;
tailledlk=0;
for ligne in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat liste_synchros&lt;/code&gt; ; do if [ $tailledlk -gt 1024 ] then tailledlm=$(expr $tailledlk / 1024); if [ $tailledlm -gt 1024 ] then tailledlg=$(expr $tailledlm / 1024); tailledlh=&#034;$tailledlg Go&#034;; else tailledlh=&#034;$tailledlm Mo&#034;; fi else tailledlh=&#034;$tailledlk Ko&#034;; fi taillelocale=$(du -sh $ligne | awk '{ print $1 }'); echo &#034;====== synchronisation de $ligne - $compteur/$nblignes - ${tabtailleh[$compteur]} &#224; t&#233;l&#233;charger, $taillelocale sur disque ======&#034; | tee -a synchros.log; echo &#034;T&#233;l&#233;charg&#233; jusqu'&#224; maintenant : $tailledlh sur $totalh&#034; | tee -a synchros.log; dispo=$(df $ligne | tail -n 1 | awk '{ print $3 }'); echo &#034;Il reste $dispo Ko, il faut ${tabtaille[$compteur]} Ko&#034; | tee -a synchros.log; if [ $dispo -gt ${tabtaille[$compteur]} ] then echo &#034;Il y a assez de place sur la destination&#034; | tee -a synchros.log; if [ $reponse == &#034;y&#034; ] then rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@$IP_OLD:$ligne $ligne 2&gt;&amp;1 | tee -a synchros.log; else rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@$IP_OLD:$ligne $ligne 2&gt;&amp;1 1&gt;&gt;synchros.log; fi else echo &#034;Il n'y a pas assez de place sur la destination&#034; | tee -a synchros.log; fi tailledlk=$(expr ${tabtaille[$compteur]} + $tailledlk); compteur=$(expr $compteur + 1); done; echo &#034;====== fin du script le $(date) ======&#034; | tee -a synchros.log;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Ne pas oublier de changer la valeur de l'adresse IP_OLD (ancien serveur) indiqu&#233;e &#224; la premi&#232;re ligne &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Il ne restera plus qu'&#224; rendre le script ex&#233;cutable : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;chmod u+x synchros.sh&lt;/code&gt;&lt;br class='autobr' /&gt;
Et enfin &#224; le lancer &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;./synchros.sh&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Il peut &#234;tre utile de lancer deux fois &#224; la suite le script, au cas o&#249; un transfert ne se ferait pas correctement.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Afin de voir si tous les transferts se sont bien pass&#233;s, il est possible de regarder le fichier journal &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;less synchros.log&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Migration sur site&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;h3 class=&#034;spip&#034;&gt;L'ancien serveur reste accessible aux utilisateurs&lt;/h3&gt;
&lt;p&gt;Synchroniser les donn&#233;es, m&#234;me si cela a &#233;t&#233; fait &#224; l'&#233;tape pr&#233;c&#233;dente, afin de mettre &#224; jour.&lt;br class='autobr' /&gt;
en utilisant une commande du type &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@IP_OLD_SERVER:/repertoire_source/ /repertoire/destination/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;il faudra aussi copier les r&#233;pertoires et fichiers syst&#232;me/de configuration&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/lib/samba&lt;/code&gt;, &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;s'assurer que les services smb/nmb sont arr&#234;t&#233;s sur le nouveau serveur&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/samba&lt;/code&gt;,&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/shadow&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;strike&gt;/etc/hosts&lt;/strike&gt; car fait pr&#233;c&#233;demment&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/HOSTNAME&lt;/code&gt; (si le nouveau a &#233;t&#233; mal nomm&#233; pendant masterisation)&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/spool/cron/tabs/root&lt;/code&gt; il faudra red&#233;marrer le serveur ssh par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;service sshd restart&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/ssh/sshd_config&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;strike&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/ssh/sshd-banner&lt;/code&gt;&lt;/strike&gt; car fait pr&#233;c&#233;demment&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;en utilisant la commande scp de la mani&#232;re suivante : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp -r root@IP_OLD:/chemin/repertoire /chemin/&lt;/code&gt;, &lt;strong class=&#034;caractencadre-spip spip&#034;&gt;sans le &#034;/&#034; final pour le chemin &lt;u&gt;source&lt;/u&gt; cette fois.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;par exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp -r root@10.233.185.93:/etc/samba /etc/&lt;/code&gt; (r&#233;pertoire )ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp -r root@10.233.185.93:/var/spool/cron/tabs/root /var/spool/cron/tabs/&lt;/code&gt; (fichier)&lt;/p&gt;
&lt;p&gt;:attention &#224; titre exp&#233;rimental :attention &lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Pour automatiser les synchronisations, voir onglet pr&#233;c&#233;dent, et relancer le m&#234;me script.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si l'authentification par cl&#233; fonctionne pour les synchronisations par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rsync&lt;/code&gt;, alors il en sera de m&#234;me pour les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scp&lt;/code&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Interruption de service&lt;/h3&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;les utilisateurs n'auront plus acc&#232;s au serveur &#224; cet instant&lt;br class='autobr' /&gt;
:attention Pr&#233;venir ou faire pr&#233;venir les utilisateurs :attention&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Arr&#234;ter &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;smb&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;nmb&lt;/code&gt; sur l'ancien serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;service smb stop&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;service nmb stop&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; r&#233;activer le d&#233;marrage automatique des services &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;smb&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;nmb&lt;/code&gt;, sur le nouveau serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;chkconfig -a&lt;/code&gt; &lt;i&gt;nom_service&lt;/i&gt; (smb/nmb)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Permuter les adresses IP entre l'ancien et le nouveau serveur,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; en console ou en SSH
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; en cas de connexion &#224; l'ancien serveur depuis le nouveau en SSH, en commen&#231;ant par mettre l'adresse provisoire sur l'ancienne machine avant de mettre l'adresse d&#233;finitive sur le nouveau&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Arr&#234;ter les 2 machines&lt;/li&gt;&lt;li&gt; Effectuer la manutention n&#233;cessaire (d&#233;placement machines, c&#226;bles &#8230;)&lt;/li&gt;&lt;li&gt; Red&#233;marrer les 2 machines (th&#233;oriquement automatique &#224; la mise sous tension)&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&#034;spip&#034;&gt;R&#233;ouverture du service&lt;/h3&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;les utilisateurs acc&#232;dent d&#233;sormais au nouveau serveur&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; V&#233;rifier les services smb/nmb sur le nouveau serveur
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;service&lt;/code&gt; &lt;i&gt;nom_service&lt;/i&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;status&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Tester avec les utilisateurs.&lt;/li&gt;&lt;li&gt; Derni&#232;res synchronisations
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/root&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Ne pas oublier de mettre &#224; jour la documentation de site.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Bonus : d&#233;tail du script synchro&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;div class='cs_blocs'&gt;&lt;h4 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='#_foo'&gt;Rappel : le code du script de synchronisation&lt;/a&gt;&lt;/h4&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#!/bin/bash
IP_OLD=&#034;&#034;; # adresse IP de l'ancien serveur, sur lequel on se connecte pour r&#233;cup&#233;rer les donn&#233;es. Permet de r&#233;utiliser le script en ne changeant que cette variable.
reponse=&#034;z&#034;;
until [ $reponse == &#034;y&#034; -o $reponse == &#034;n&#034; ] ; do echo &#034;Afficher &#224; l'&#233;cran (en plus du fichier journal) le d&#233;tail des fichiers t&#233;l&#233;charg&#233;s ? y/n&#034;; read reponse ; done;
nblignes=$(cat liste_synchros | grep -vE &#034;^$&#034; | wc -l);
echo &#034;Il y a $nblignes dossiers &#224; copier&#034; | tee -a synchros.log;
tabtaille[0]=$nblignes;
tabtailleh[0]=$nblignes;
totalk=0;
compteur=1;
echo &#034;On d&#233;termine la taille des fichiers et dossiers &#224; t&#233;l&#233;charger, cela peut prendre un peu de temps.&#034; | tee -a synchros.log
for ligne in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat liste_synchros&lt;/code&gt; ; do echo -n &#034;$ligne&#034; | tee -a synchros.log; taillek=$(ssh root@$IP_OLD du -s $ligne 2&gt;/dev/null | grep &#034;$ligne&#034; | awk '{ print $1 }'); totalk=$(expr $totalk + $taillek); tabtaille[$compteur]=$taillek; if [ $taillek -gt 1024 ] then taillem=$(expr $taillek / 1024); if [ $taillem -gt 1024 ] then tailleg=$(expr $taillem / 1024); restm=$(expr $tailleg \* 1024); taillem=$(expr $taillem - $restm); tabtailleh[$compteur]=&#034;$tailleg Go et $taillem Mo&#034;; else tabtailleh[$compteur]=&#034;$taillem Mo&#034;; fi else tabtailleh[$compteur]=&#034;$taillek Ko&#034;; fi echo &#034; : ${tabtailleh[$compteur]}&#034; | tee -a synchros.log; compteur=$(expr $compteur + 1);
done;
if [ $totalk -gt 1024 ]
then totalm=$(expr $totalk / 1024); if [ $totalm -gt 1024 ] then totalg=$(expr $totalm / 1024); if [ $totalg -gt 1024 ] then totalt=$(expr $totalg /1024); totalh=&#034;$totalt To&#034;; else totalh=&#034;$totalg Go&#034;; fi else totalh=&#034;$totalm Mo&#034;; fi
else totalh=&#034;$totalk Ko&#034;;
fi echo &#034;Total : $totalh&#034; | tee -a synchros.log;
compteur=1;
tailledlk=0;
for ligne in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat liste_synchros&lt;/code&gt; ; do if [ $tailledlk -gt 1024 ] then tailledlm=$(expr $tailledlk / 1024); if [ $tailledlm -gt 1024 ] then tailledlg=$(expr $tailledlm / 1024); tailledlh=&#034;$tailledlg Go&#034;; else tailledlh=&#034;$tailledlm Mo&#034;; fi else tailledlh=&#034;$tailledlk Ko&#034;; fi taillelocale=$(du -sh $ligne | awk '{ print $1 }'); echo &#034;====== synchronisation de $ligne - $compteur/$nblignes - ${tabtailleh[$compteur]} &#224; t&#233;l&#233;charger, $taillelocale sur disque ======&#034; | tee -a synchros.log; echo &#034;T&#233;l&#233;charg&#233; jusqu'&#224; maintenant : $tailledlh sur $totalh&#034; | tee -a synchros.log; dispo=$(df $ligne | tail -n 1 | awk '{ print $3 }'); echo &#034;Il reste $dispo Ko, il faut ${tabtaille[$compteur]} Ko&#034; | tee -a synchros.log; if [ $dispo -gt ${tabtaille[$compteur]} ] then echo &#034;Il y a assez de place sur la destination&#034; | tee -a synchros.log; if [ $reponse == &#034;y&#034; ] then rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@$IP_OLD:$ligne $ligne 2&gt;&amp;1 | tee -a synchros.log; else rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@$IP_OLD:$ligne $ligne 2&gt;&amp;1 1&gt;&gt;synchros.log; fi else echo &#034;Il n'y a pas assez de place sur la destination&#034; | tee -a synchros.log; fi tailledlk=$(expr ${tabtaille[$compteur]} + $tailledlk); compteur=$(expr $compteur + 1); done; echo &#034;====== fin du script le $(date) ======&#034; | tee -a synchros.log;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Et l'explication d&#233;taill&#233;e :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#!/bin/bash&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; comme tout script Linux bash (ou m&#234;me php en ligne de commande, voir onglet &#034;Scripts&#034; de &lt;a href='https://vader-fr.fr/spip.php?article196' class=&#034;spip_in&#034;&gt;cet article&lt;/a&gt;), on commence par indiquer quel interpr&#233;teur utiliser.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;IP_OLD=&#034;&#034;; # adresse IP de l'ancien serveur, sur lequel on se connecte pour r&#233;cup&#233;rer les donn&#233;es. Permet de r&#233;utiliser le script en ne changeant que cette variable.&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Initialisation de plusieurs variables, ici il s'agit de l'adresse IP de l'ancien serveur, qui est toujours en production. Sera utilis&#233;e &#224; 2 reprises, pour d&#233;terminer la taille puis faire le rsync&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;reponse=&#034;z&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;until [ $reponse == &#034;y&#034; -o $reponse == &#034;n&#034; ] ; do echo &#034;Afficher &#224; l'&#233;cran (en plus du fichier journal) le d&#233;tail des fichiers t&#233;l&#233;charg&#233;s ? y/n&#034;; read reponse ; done;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;nblignes=$(cat liste_synchros | grep -vE &#034;^$&#034; | wc -l);&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Afin de savoir &#224; quelle &#233;tape on en est, on affiche le fichier liste par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat&lt;/code&gt;&lt;/li&gt;&lt;li&gt; puis on redirige la sortie standard vers une deuxi&#232;me commande pour en enlever (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-v&lt;/code&gt;) les lignes vides avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grep&lt;/code&gt;.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; L'expression r&#233;guli&#232;re (utilisable gr&#226;ce &#224; l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-E&lt;/code&gt;) signifie : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^&lt;/code&gt; d&#233;but de ligne &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$&lt;/code&gt; fin de ligne, donc ligne ne contenant rien entre les deux, donc vide&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo &#034;Il y a $nblignes dossiers &#224; copier&#034; | tee -a synchros.log;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; On affiche le nombre de lignes, et donc de dossiers &#224; traiter.&lt;/li&gt;&lt;li&gt; le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tee&lt;/code&gt; fait un affichage &#224; l'&#233;cran + envoi dans un fichier,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-a&lt;/code&gt; ajoute &#224; la fin du fichier au lieu de l'&#233;craser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tabtaille[0]=$nblignes;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tabtailleh[0]=$nblignes;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;totalk=0;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;compteur=1;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; initialisation des 2 tableaux contenant la taille des dossiers en Ko pour les calculs et en Ko/Mo/Go/To &#034;lisible par un humain&#034;, ainsi que le total et un compteur.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; en BASH, les tableaux commencent &#224; z&#233;ro, or les lignes sont compt&#233;es &#224; partir de 1, c'est pourquoi le nombre de lignes est mis en case 0.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo &#034;On d&#233;termine la taille des fichiers et dossiers &#224; t&#233;l&#233;charger, cela peut prendre un peu de temps.&#034; | tee -a synchros.log&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; m&#234;me remarque que pr&#233;c&#233;demment concernant le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tee&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;for ligne in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat liste_synchros&lt;/code&gt; ;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Pour chaque ligne du fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;liste_synchros&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; do&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; faire&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; echo -n &#034;$ligne&#034; | tee -a synchros.log;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; m&#234;me remarque que pr&#233;c&#233;demment concernant le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tee&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; taillek=$(ssh root@$IP_OLD du -s $ligne 2&gt;/dev/null | grep &#034;$ligne&#034; | awk '{ print $1 }');&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; On d&#233;termine la taille en utilisant la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;du&lt;/code&gt; (disk usage, ne pas confondre avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;df&lt;/code&gt;, disk free) sur l'ancien serveur, actuellement en production, &#224; distance par SSH.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-s&lt;/code&gt; signifie que l'on veut le &lt;i&gt;summary&lt;/i&gt;, autrement dit le r&#233;sum&#233; pour le dossier, sa taille globale, et non le d&#233;tail de chaque fichier.&lt;/li&gt;&lt;li&gt; l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-h&lt;/code&gt; afficherait le r&#233;sultat dans une forme lisible par un humain : en Ko, Mo, Go...&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;2&gt;/dev/null&lt;/code&gt; renvoie les messages de la sortie standard n&#176;2, r&#233;serv&#233;e aux messages d'erreurs, et en l'occurrence &#224; la banni&#232;re SSH, vers le vide.&lt;/li&gt;&lt;li&gt; le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;grep&lt;/code&gt; qui suit ne retiendra que la ligne contenant le nom du dossier dont l'on souhaite d&#233;terminer la taille&lt;/li&gt;&lt;li&gt; le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;awk&lt;/code&gt; final ne gardera que le premier champ - le s&#233;parateur par d&#233;faut &#233;tant l'espace - qui contient la taille du dossier.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; totalk=$(expr $totalk + $taillek);&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on incr&#233;mente la taille totale avec la taille du dossier &#224; t&#233;l&#233;charger. les tailles sont indiqu&#233;es en Ko par d&#233;faut.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tabtaille[$compteur]=$taillek;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la taille du dossier est stock&#233;e dans une case du tableau, &#224; l'indice correspondant au num&#233;ro de ligne.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if [ $taillek -gt 1024 ]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; then&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; taillem=$(expr $taillek / 1024);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if [ $taillem -gt 1024 ]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; then&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tailleg=$(expr $taillem / 1024);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; restm=$(expr $tailleg \* 1024);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; taillem=$(expr $taillem - $restm);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tabtailleh[$compteur]=&#034;$tailleg Go et $taillem Mo&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; else&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tabtailleh[$compteur]=&#034;$taillem Mo&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; fi&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; else&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tabtailleh[$compteur]=&#034;$taillek Ko&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; fi&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on calcule ensuite la taille en Mo si la taille en Ko d&#233;passe 1024 Ko, puis la taille en Go si la taille en Mo d&#233;passe 1024 Mo, de sorte &#224; obtenir un format lisible par un humain, qui est enregistr&#233; dans le tableau tabtailleh.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; echo &#034; : ${tabtailleh[$compteur]}&#034; | tee -a synchros.log;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; La valeur de la case est ensuite affich&#233;e.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; compteur=$(expr $compteur + 1);&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on incr&#233;mente le compteur&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;done;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; fin de la premi&#232;re boucle &lt;i&gt;pour&lt;/i&gt; de calcul des tailles des dossiers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;if [ $totalk -gt 1024 ]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;then&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; totalm=$(expr $totalk / 1024);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if [ $totalm -gt 1024 ]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; then&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; totalg=$(expr $totalm / 1024);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if [ $totalg -gt 1024 ]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; then&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; totalt=$(expr $totalg /1024);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; totalh=&#034;$totalt To&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; else&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; totalh=&#034;$totalg Go&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; fi&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; else&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; totalh=&#034;$totalm Mo&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; fi&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;else&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; totalh=&#034;$totalk Ko&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;fi &lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo &#034;Total : $totalh&#034; | tee -a synchros.log;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; de la m&#234;me mani&#232;re que pr&#233;c&#233;demment, on calcule la taille totale &#224; t&#233;l&#233;charger dans un format lisible par un humain.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;compteur=1;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on r&#233;initialise le compteur avant la deuxi&#232;me boucle.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tailledlk=0;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on initialise aussi une variable qui servira au calcul du cumul de taille de t&#233;l&#233;chargement, afin de mieux visualiser la progression&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;for ligne in &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat liste_synchros&lt;/code&gt; ; &lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Pour chaque ligne du fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;liste_synchros&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; do &lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; faire&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if [ $tailledlk -gt 1024 ]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; then&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tailledlm=$(expr $tailledlk / 1024);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if [ $tailledlm -gt 1024 ]&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; then&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tailledlg=$(expr $tailledlm / 1024);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tailledlh=&#034;$tailledlg Go&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; else&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tailledlh=&#034;$tailledlm Mo&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; fi&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; else&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tailledlh=&#034;$tailledlk Ko&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; fi&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; de la m&#234;me mani&#232;re que pr&#233;c&#233;demment, on calcule la taille totale d&#233;j&#224; t&#233;l&#233;charg&#233;e dans un format lisible par un humain.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; taillelocale=$(du -sh $ligne | awk '{ print $1 }');&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on utilise &#224; nouveau la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;du&lt;/code&gt; mais cette fois en local et avec les deux options &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;s&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;h&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; echo &#034;====== synchronisation de $ligne - $compteur/$nblignes - ${tabtailleh[$compteur]} &#224; t&#233;l&#233;charger, $taillelocale sur disque ======&#034; | tee -a synchros.log;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; echo &#034;T&#233;l&#233;charg&#233; jusqu'&#224; maintenant : $tailledlh sur $totalh&#034; | tee -a synchros.log;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; affichage de diverses donn&#233;es : nom du dossier &#224; synchroniser, num&#233;ro de ligne (du fichier liste) trait&#233;e sur nombre total de lignes, taille du dossier &#224; t&#233;l&#233;charger et en local, ainsi que progression globale.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; dispo=$(df $ligne | tail -n 1 | awk '{ print $3 }');&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; calcul de la taille disponible sur la partition contenant le dossier cible avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;df&lt;/code&gt; (&lt;i&gt;disk free&lt;/i&gt;)
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Par d&#233;faut, la taille est en Ko.&lt;/li&gt;&lt;li&gt; le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tail -n 1&lt;/code&gt; enl&#232;ve la ligne de titre pour ne garder que la derni&#232;re ligne&lt;/li&gt;&lt;li&gt; le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;awk&lt;/code&gt; affiche le troisi&#232;me champ &#224; savoir le nombre de Ko libres.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; echo &#034;Il reste $dispo Ko, il faut ${tabtaille[$compteur]} Ko&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if [ $dispo -gt ${tabtaille[$compteur]} ]&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; si le nombre de Ko libres est sup&#233;rieur &#224; la taille en Ko du dossier distant &#224; t&#233;l&#233;charger, qui a &#233;t&#233; enregistr&#233;e pr&#233;c&#233;demment dans le tableau&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; then&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; alors&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; echo &#034;Il y a assez de place sur la destination&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; if [ $reponse == &#034;y&#034; ]&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; si la r&#233;ponse &#224; la question initiale est &#034;y&#034; (affichage &#224; l'&#233;cran du d&#233;tail de la liste des fichiers au t&#233;l&#233;chargement)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; then&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@$IP_OLD:$ligne $ligne 2&gt;&amp;1 | tee -a synchros.log;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; else&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; si la r&#233;ponse &#224; la question initiale est &#034;n&#034; (ne pas afficher &#224; l'&#233;cran le d&#233;tail de la liste des fichiers au t&#233;l&#233;chargement)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; rsync --numeric-ids -avz --rsh=&#034;ssh -c arcfour&#034; root@$IP_OLD:$ligne $ligne 2&gt;&amp;1 1&gt;&gt;synchros.log;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; fi&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; fin du si pour d&#233;tail de la liste des fichiers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; else&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; echo &#034;Il n'y a pas assez de place sur la destination&#034;;&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; fi&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; fin du si pour espace libre&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; tailledlk=$(expr ${tabtaille[$compteur]} + $tailledlk);&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; compteur=$(expr $compteur + 1);&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on incr&#233;mente le compteur via un calcul num&#233;rique ex&#233;cut&#233; par la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;expr&lt;/code&gt; et on fait de m&#234;me pour la taille t&#233;l&#233;charg&#233;e.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; done;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; fin de la deuxi&#232;me boucle &lt;i&gt;pour&lt;/i&gt; des synchronisations&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; echo &#034;====== fin du script le $(date) ======&#034; | tee -a synchros.log;&lt;/code&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; fin du script, m&#234;me remarque que pr&#233;c&#233;demment concernant le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tee&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Script bash linux d'archivage des journaux avec rotation des archives</title>
		<link>https://vader-fr.fr/spip.php?article170</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article170</guid>
		<dc:date>2016-02-25T21:56:39Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>



		<description>
&lt;p&gt;Ce petit script assez simple recherche, via la commande find les fichiers de taille sup&#233;rieure &#224; celle param&#233;tr&#233;e, puis les met dans une archive compress&#233;e tar gz. Si l'archive a bien &#233;t&#233; cr&#233;e, le fichier original est vid&#233;. En cas d'existence d'une ancienne archive, leurs num&#233;ros sont incr&#233;ment&#233;s jusqu'&#224; 9, la neuvi&#232;me (et donc plus ancienne) archive &#233;tant effac&#233;e. &lt;br class='autobr' /&gt;
Bien s&#251;r, pour les (quelques) logiciels qui ont leur propre syst&#232;me de rotation de journal, cela va archiver et empiler les (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://vader-fr.fr/local/cache-vignettes/L128xH128/arton170-8624c.png?1772007835' class='spip_logo spip_logo_right' width='128' height='128' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Ce petit script assez simple recherche, via la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; les fichiers de taille sup&#233;rieure &#224; celle param&#233;tr&#233;e, puis les met dans une archive compress&#233;e tar gz.&lt;br class='autobr' /&gt;
Si l'archive a bien &#233;t&#233; cr&#233;e, le fichier original est vid&#233;.&lt;br class='autobr' /&gt;
En cas d'existence d'une ancienne archive, leurs num&#233;ros sont incr&#233;ment&#233;s jusqu'&#224; 9, la neuvi&#232;me (et donc plus ancienne) archive &#233;tant effac&#233;e.&lt;/p&gt;
&lt;p&gt;Bien s&#251;r, pour les (quelques) logiciels qui ont leur propre syst&#232;me de rotation de journal, cela va archiver et empiler les fichiers journaux et leurs sauvegardes.&lt;br class='autobr' /&gt;
Une solution pourrait &#234;tre de ne pas traiter que les fichiers, mais &#233;galement les r&#233;pertoires, en se cantonnant par contre &#224; la racine du r&#233;pertoire des journaux. (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/log&lt;/code&gt;)&lt;/p&gt;
&lt;p&gt;De m&#234;me, un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; bas&#233; sur la date de derni&#232;re modification du fichier permettrait de nettoyer les anciennes archives pour les journaux dont le nom &#233;volue avec leur propre syst&#232;me de rotation.&lt;/p&gt;
&lt;p&gt;Ce script pourra ensuite &#234;tre lanc&#233; automatiquement par une t&#226;che &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cron&lt;/code&gt;, que l'on ajoutera par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;crontab -e&lt;/code&gt; en &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt;&lt;br class='autobr' /&gt;
Auquel cas il ne faudra pas oublier de rediriger les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo&lt;/code&gt; du script vers un fichier de log, comme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/log/logrotate.log&lt;/code&gt;&lt;/p&gt;
&lt;div class='cs_blocs'&gt;&lt;h4 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='#_foo'&gt;Exemple d'une d&#233;finition de t&#226;che cron programm&#233;e pour se lancer tous les jours &#224; 20h00&lt;/a&gt;&lt;/h4&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# For details see man 4 crontabs # Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed 0 20 * * * /usr/local/src/logrotate.sh&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Au d&#233;but du fichier, on retrouve le &lt;i&gt;shebang&lt;/i&gt;, indiquant l'interpr&#233;teur de commande, ainsi que les principaux param&#232;tres.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#!/bin/bash
# script d'archivage des logs de plus de X Mio, avec vidage des logs et rotation des archives # param&#232;tres du script
rep_log=&#034;/var/log&#034;;
rep_arch=&#034;/media/KastorPollux/Software/Linux/log&#034;;
fichier_liste=&#034;/tmp/liste_temp_logrotate&#034;; # gestion des fichiers avec espaces via mise en liste, sinon il faudrait 2 scripts, un de recherche et un de traitement en -exec du find taille_limite=5; # en Mio, ce qui n'est pas n&#233;gligeable pour 1) des journaux, donc du texte 2) une multitude de journaux
delai=15; # d&#233;lai en jours pour effacement des anciennes archives
# fin des param&#232;tres&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une petite fonction permettra de g&#233;rer les erreurs fatales en affichant un message avant de sortir brutalement du script en revoyant un code d'erreur.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# fonction pour les erreurs fatales
erreur(){ echo &#034;ERREUR : $1&#034;&gt;&amp;2; exit $2
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Au d&#233;but du script &#224; proprement parler, un certain nombre de v&#233;rifications sont faites :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le r&#233;pertoire des fichiers journaux
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-d&lt;/code&gt; est il bien un r&#233;pertoire ? (et donc existe il ?)&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-r&lt;/code&gt; est il lisible ?
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on ne teste que pour la lecture seule car les droits d'effacement du fichier journal ou de son contenu seront v&#233;rifi&#233;s au cas par cas par la suite.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; le r&#233;pertoire des archives
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-d&lt;/code&gt; est il bien un r&#233;pertoire ? (et donc existe il ?)
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; si non, il est cr&#233;&#233;. l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-p&lt;/code&gt; de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mkdir&lt;/code&gt; permet de cr&#233;er les r&#233;pertoires parents si besoin.&lt;/li&gt;&lt;li&gt; En cas d'&#233;chec de la cr&#233;ation du r&#233;pertoire, on sort en renvoyant un code d'erreur.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-w&lt;/code&gt; est il modifiable ? il faudra en effet y cr&#233;er et modifier des fichiers.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; le r&#233;pertoire o&#249; l'on cr&#233;era la liste temporaire
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; est il modifiable ? (et donc existe il ?)&lt;/li&gt;&lt;li&gt; r&#233;cup&#233;r&#233; par la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dirname&lt;/code&gt; sur le nom complet du fichier liste indiqu&#233; en param&#232;tre, c'est donc forc&#233;ment un r&#233;pertoire.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;les tests des droits lecture/&#233;criture sont ceux valables pour l'utilisateur en cours.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;if [ -d &#034;$rep_log&#034; -a -r &#034;$rep_log&#034; ] then # repertoire &#034;$rep_log&#034; existe en tant que repertoire, et on peut le lire if [ ! -d &#034;$rep_arch&#034; ] then mkdir -p &#034;$rep_arch&#034; # si le mkdir ne signale pas d'erreur if [ ! $? -eq 0 ] then erreur &#034;Le r&#233;pertoire $rep_arch n'a pu &#234;tre cr&#233;&#233;&#034; 82 fi fi if [ ! -w &#034;$rep_arch&#034; ] then erreur &#034;Le repertoire $rep_arch n'est pas modifiable&#034; 81 fi rep_liste=$(dirname &#034;$fichier_liste&#034;); if [ ! -w &#034;$rep_liste&#034; ] then erreur &#034;Le repertoire $rep_liste n'est pas modifiable, impossible de cr&#233;er la liste&#034; 83 fi&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si on arrive jusque l&#224;, alors tout est en place et les choses devraient bien se passer.&lt;br class='autobr' /&gt;
La variable &lt;i&gt;taille_limite&lt;/i&gt; est entour&#233;e d'accolades (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{ ... }&lt;/code&gt;) afin de ne pas embarquer le tout avec le &#034;M&#034; suivant comme nom d'une variable qui n'existe pas.&lt;br class='autobr' /&gt;
On envoie le r&#233;sultat du &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; dans un fichier liste que l'on lit ensuite ligne par ligne.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;	echo &#034;Nettoyage des logs - $(date).&#034;; # comptage de la taille avant taille_avant=$(du -sh &#034;$rep_log&#034; | awk '{ print $1 }'); # recherche des fichiers de + de X Mio dans $rep_log et archivage par tar / gz (extension tgz) dans $ep_arch find &#034;$rep_log&#034; -size +${taille_limite}M 2&gt;/dev/null 1&gt;&#034;$fichier_liste&#034;; #&#160;le fichier contient des lignes de type &#034;$rep_log/nom fichier&#034; while read ligne; do &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Les commandes &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;basename&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dirname&lt;/code&gt; permettent de s&#233;parer le fichier de son r&#233;pertoire parent.&lt;br class='autobr' /&gt;
Puis on v&#233;rifie l'existence d'une archive pr&#233;c&#233;dente.&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Deux fichier journaux de m&#234;me nom (dans des sous r&#233;pertoires diff&#233;rents de (&#8230;)&#034; id=&#034;nh2-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;br class='autobr' /&gt;
S'il y a d&#233;j&#224; une archive, alors il faudra incr&#233;menter le num&#233;ro des archives existantes pour ce fichier.&lt;br class='autobr' /&gt;
On va donc de 9 &#224; 2, en enlevant la num&#233;ro 9 et en incr&#233;mentant de 1 le num&#233;ro des pr&#233;c&#233;dentes.&lt;br class='autobr' /&gt;
Ainsi, lors du traitement de la num&#233;ro 9, archive.8 devient archive.9, puis &#224; la boucle suivante (8), archive.7 devient archive.8, et ainsi de suite jusqu'&#224; archive.1 qui devient archive.2, lib&#233;rant le num&#233;ro 1.&lt;br class='autobr' /&gt;
Le num&#233;ro 1 &#233;tant lib&#233;r&#233;, l'archive existante devient archive.1, permettant de cr&#233;er une nouvelle archive.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; fichier=$(basename &#034;$ligne&#034;); # extraction du nom du fichier (sans arborescence) dans la ligne repertoire=$(dirname &#034;$ligne&#034;); # extraction du r&#233;pertoire parent if [ -f &#034;$rep_arch/$fichier.tgz&#034; ] then # si une archive existe d&#233;j&#224; for ((suffixe=9;suffixe&gt;=2;suffixe--)){ # on enl&#232;ve l'archive 9 si elle existe if [ -f &#034;$rep_arch/$fichier.tgz.$suffixe&#034; -a $suffixe -eq 9 ] then rm -f &#034;$rep_arch/$fichier.tgz.$suffixe&#034;; fi #&#160;puis on augmente le num&#233;ro des anciennes archives (de 8 &#224; 1) si elles existent precedent=$(expr $suffixe - 1); if [ -f &#034;$rep_arch/$fichier.tgz.$precedent&#034; ] then mv &#034;$rep_arch/$fichier.tgz.$precedent&#034; &#034;$rep_arch/$fichier.tgz.$suffixe&#034; fi } # puis on renomme l'ancienne archive en 1 mv &#034;$rep_arch/$fichier.tgz&#034; &#034;$rep_arch/$fichier.tgz.1&#034; fi&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois l'archive du jour cr&#233;&#233;e avec succ&#232;s, on tentera de vider ou d'effacer le fichier journal trait&#233;.&lt;br class='autobr' /&gt;
Le teste repose sur le code retour enregistr&#233; (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$?&lt;/code&gt;) apr&#232;s la commande tar.&lt;br class='autobr' /&gt;
S'il est &#233;gal &#224; 0, cela signifie qu'il n'y a pas eu d'erreur.&lt;br class='autobr' /&gt;
Une commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo&lt;/code&gt; bien format&#233;e plac&#233;e entre le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tar&lt;/code&gt; et le test suivant rendrait ledit test compl&#232;tement inutile, le code retour test&#233; &#233;tant le dernier, et donc dans ce cas celui de la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; # une fois l'ancienne archive renomm&#233;e tar -czf &#034;$rep_arch/$fichier.tgz&#034; &#034;$ligne&#034; 2&gt;/dev/null; # si le tar ne signale pas d'erreur if [ $? -eq 0 ] then&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si l'on peut modifier le fichier journal, alors on renvoie un texte vide, venant du p&#233;riph&#233;rique sp&#233;cial &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/dev/null&lt;/code&gt;.&lt;br class='autobr' /&gt;
Dans le cas contraire, si le r&#233;pertoire parent du fichier journal est modifiable, alors on effacera le fichier.&lt;br class='autobr' /&gt;
Si ces deux m&#233;thodes ne sont pas utilisables, on le signale par un message d'erreur, mais sans pour autant quitter le script.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; # si le fichier est w if [ -w &#034;$fichier&#034; ] then # vidage du fichier log cat /dev/null &gt; &#034;$fichier&#034; else if [ -w &#034;$repertoire&#034; ] then #&#160;suppr du fichier original rm -f &#034;$ligne&#034;; else echo &#034;le fichier $ligne n'a pu &#234;tre vid&#233; ni effac&#233;&#034; &gt;&amp;2; # affichage d'erreur non fatale fi fi else echo &#034;le fichier $ligne n'a pu &#234;tre archiv&#233;&#034; &gt;&amp;2 # affichage d'erreur non fatale fi done&lt;$fichier_liste&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;En fin de script, on efface le fichier temporaire contenant la liste des journaux &#224; traiter car plus grands que la taille fix&#233;e, puis on affiche un bref aper&#231;u de l'espace lib&#233;r&#233;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;	#&#160;suppr du fichier temporaire de liste rm -f $fichier_liste taille_apres=$(du -sh &#034;$rep_log&#034; | awk '{ print $1 }'); find &#034;$rep_arch&#034; -mtime +$delai -type f -exec rm -f {} \; echo -e &#034;Fin de nettoyage des logs\nAvant : $taille_avant, Apres : $taille_apres \n================================&#034;;
else erreur &#034;Le repertoire $rep_log n'existe pas ou n'est pas lisible&#034; 80
fi
exit 0&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;dl class='spip_document_439 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href='https://vader-fr.fr/IMG/zip/logrotate.sh.zip' title='Zip - 1.4 kio' type=&#034;application/zip&#034;&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L64xH64/zip-f045b.svg?1772810739' width='64' height='64' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;Script bash archivage, rotation et nettoyage des logs&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb2-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 2-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;Deux fichier journaux de m&#234;me nom (dans des sous r&#233;pertoires diff&#233;rents de rep_log) donneraient deux archives de m&#234;me nom, mais ce serait vraiment pas de bol.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Scripts bash Linux de mise en minuscule des extensions.</title>
		<link>https://vader-fr.fr/spip.php?article165</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article165</guid>
		<dc:date>2015-12-06T11:52:27Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>


		<dc:subject>Linux</dc:subject>

		<description>
&lt;p&gt;Sous Linux, les extensions des fichiers n'ont pas d'importance, du moins pour le syst&#232;me. &lt;br class='autobr' /&gt;
En revanche, l'utilisateur peut &#234;tre agac&#233; de voir des fichiers avec des extensions en majuscules, g&#233;n&#233;r&#233;s le plus souvent par Windows. &lt;br class='autobr' /&gt;
Par exemple, les scanneurs auto-aliment&#233;s ne fonctionnant pas toujours tr&#232;s bien avec Linux , il faudra passer par une machine Windows pour effectuer le scan des documents, ce qui g&#233;n&#232;rera des fichiers avec extensions en majuscule. &lt;br class='autobr' /&gt;
Pour enlever ou remplacer une (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;

/ 
&lt;a href="https://vader-fr.fr/spip.php?mot6" rel="tag"&gt;Linux&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://vader-fr.fr/local/cache-vignettes/L128xH128/arton165-18bff.png?1771664444' class='spip_logo spip_logo_right' width='128' height='128' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Sous Linux, les extensions des fichiers n'ont pas d'importance, du moins pour le syst&#232;me.&lt;/p&gt;
&lt;p&gt;En revanche, l'utilisateur peut &#234;tre agac&#233; de voir des fichiers avec des extensions en majuscules, g&#233;n&#233;r&#233;s le plus souvent par Windows.&lt;/p&gt;
&lt;p&gt;Par exemple, les scanneurs auto-aliment&#233;s ne fonctionnant pas toujours tr&#232;s bien avec Linux&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb3-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;les scanneurs pourvus d'une alimentation externe ne posent pas de probl&#232;me (&#8230;)&#034; id=&#034;nh3-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;, il faudra passer par une machine Windows pour effectuer le scan des documents, ce qui g&#233;n&#232;rera des fichiers avec extensions en majuscule.&lt;/p&gt;
&lt;p&gt;Pour enlever ou remplacer une partie du nom d'un fichier, les m&#234;mes principes seront utilis&#233;s.&lt;/p&gt;
&lt;p&gt;Ces fichiers seront trait&#233;s en sortie d'un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt;, qui permettra de d&#233;busquer les fautifs.&lt;br class='autobr' /&gt;
La commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; sera de la forme :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; &lt;i&gt;r&#233;pertoire&lt;/i&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-type f -regex &#034;.*\.[A-Z]+$&#034;&lt;/code&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on cherche &#224; partir de &lt;i&gt;r&#233;pertoire&lt;/i&gt;&lt;/li&gt;&lt;li&gt; des fichiers de type fichier simple&lt;/li&gt;&lt;li&gt; et dont le chemin r&#233;pond &#224; l'expression r&#233;guli&#232;re :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.*&lt;/code&gt; n'importe quel caract&#232;re (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.&lt;/code&gt;) en n'importe quelle quantit&#233; (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;*&lt;/code&gt;)&lt;/li&gt;&lt;li&gt; suivi d'un point, prot&#233;g&#233; par un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\&lt;/code&gt; afin que le point ne soit pas interpr&#233;t&#233; comme &#034;n'importe quel caract&#232;re&#034;.&lt;/li&gt;&lt;li&gt; suivi d'une lettre entre &#034;A&#034; et &#034;Z&#034;, donc en majuscule, et ce r&#233;p&#233;t&#233;e au moins une fois (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;+&lt;/code&gt;)&lt;/li&gt;&lt;li&gt; et ce juste avant la fin de la ligne (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$&lt;/code&gt;), et donc du chemin complet du fichier&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cette expression r&#233;guli&#232;re va donc s&#233;lectionner tout ce qui finit par un point, suivi d'une ou plusieurs lettres majuscules.&lt;br class='autobr' /&gt;
Les extensions avec m&#233;lange de majuscules et minuscules ou chiffres ne sont pas g&#233;r&#233;es.&lt;/p&gt;
&lt;p&gt;Il &#034;suffirait&#034; pour cela de remplacer &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[A-Z]+&lt;/code&gt; par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[a-z0-9]*[A-Z]+[a-z0-9]*&lt;/code&gt;, autrement dit :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; ce qui commence &#233;ventuellement par une ou plusieurs lettres minuscules ou chiffres,&lt;/li&gt;&lt;li&gt; contient au moins une lettre majuscule&lt;/li&gt;&lt;li&gt; et termine &#233;ventuellement par une ou plusieurs lettres minuscules ou chiffres.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Afin de transformer ces extensions majuscules en minuscules, il existe plusieurs m&#233;thodes, plus ou moins lisibles :&lt;/p&gt;
&lt;div class='cs_blocs'&gt;&lt;h4 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='#_foo'&gt;Avec awk et tr&lt;/a&gt;&lt;/h4&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;&#224; la fin de la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; cit&#233;e plus haut, on ajoute le param&#232;tre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-exec&lt;/code&gt; &lt;i&gt;commande&lt;/i&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{} \;&lt;/code&gt;, permettant d'ex&#233;cuter la &lt;i&gt;commande&lt;/i&gt; sur le chemin complet du fichier renvoy&#233; par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;La commande correspondra &#224; un script de ce genre :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#!/bin/bash
nom=&#034;$1&#034;;
debutnom=&#034;&#034;;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;D&#233;claration de l'interpr&#233;teur et initialisation de quelques variables. &lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$1&lt;/code&gt; est le premier argument fourni au script, i.e le chemin complet du fichier. Pouvant contenir des espaces ou caract&#232;res sp&#233;ciaux, il est prot&#233;g&#233; par des &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&#034;&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;nchamps=$(echo &#034;$1&#034; | awk -F \. '{ print NF }');&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;awk&lt;/code&gt; permet de s&#233;parer les champs d'un texte en fonction d'un d&#233;limiteur, d&#233;fini &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-F&lt;/code&gt; comme &#233;tant le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.&lt;/code&gt;, caract&#232;re sp&#233;cial prot&#233;g&#233; par un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\&lt;/code&gt;.&lt;br class='autobr' /&gt;
On ex&#233;cute ensuite la commande d'affichage print, de la variable &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;awk&lt;/code&gt; NF, qui contient le nombre de champs ainsi obtenus.&lt;br class='autobr' /&gt;
Le r&#233;sultat de cette commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$(&lt;/code&gt;...&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;)&lt;/code&gt; est stock&#233; dans ma variable nchamps.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;i=1;
while [ $i -lt $nchamps ] ;
do&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;tant que la variable i est strictement inf&#233;rieure (lesser than, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-lt&lt;/code&gt;) au nombre de champs,&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; champ=$(echo &#034;$1&#034; | awk -F \. '{ print $'$i' }'); if [ $i == 1 ] ; then debutnom=$champ; else debutnom=$debutnom.$champ; fi i=$(expr $i + 1);
done&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On r&#233;cup&#232;re le i-&#232;me champ du texte.&lt;br class='autobr' /&gt;
Si i est sup&#233;rieur &#224; 1, alors on remet le d&#233;limiteur (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.&lt;/code&gt;) entre les champs.&lt;/p&gt;
&lt;p&gt;cela permet de traiter les fichiers avec de multiples extensions ou contenant des &#034;.&#034; dans leur nom, mais ne corrigera que la derni&#232;re cha&#238;ne.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;extension=$(echo &#034;$1&#034; | awk -F \. '{ print $'$nchamps' }');&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On r&#233;cup&#232;re le champ n&#176;&#034;nchamps&#034;, donc le dernier.&lt;br class='autobr' /&gt;
il est &#233;galement possible d'&#233;crire : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;extension=$(echo &#034;$1&#034; | awk -F \. '{ print $NF }');&lt;/code&gt;, NF &#233;tant remplac&#233; par le nombre de champs, le champ n&#176;NF sera donc le dernier.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;nvext=$(echo &#034;$extension&#034; | tr &#034;[:upper:]&#034; &#034;[:lower:]&#034;);
nvnom=&#034;$debutnom.$nvext&#034;;
mv &#034;$1&#034; &#034;$nvnom&#034;;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tr&lt;/code&gt; est utilis&#233;e pour transformer chaque caract&#232;re majuscule en minuscule. Plut&#244;t que lister les caract&#232;res de A &#224; Z (ABCDEF....), on utilise la notation &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[:upper:]&lt;/code&gt;.&lt;br class='autobr' /&gt;
Cette notation n'est pas utilisable pour toutes les commandes g&#233;rant les expressions r&#233;guli&#232;res.&lt;/p&gt;
&lt;p&gt;Enfin, la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mv&lt;/code&gt; renommera le fichier.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Ce script &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;awk&lt;/code&gt; est assez long, mais a le m&#233;rite d'&#234;tre assez facilement lisible.&lt;/p&gt;
&lt;div class='cs_blocs'&gt;&lt;h4 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='#_foo'&gt;Avec sed&lt;/a&gt;&lt;/h4&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;le m&#234;me script, avec la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sed&lt;/code&gt;, sera remplac&#233; par ;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#!/bin/bash
nom=&#034;$1&#034;;
nvnom=$(echo &#034;$nom&#034; | sed -r 's/(.*\.)([[:upper:]]+)$/\1\L\2/');
mv &#034;$1&#034; &#034;$nvnom&#034;;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Explications de la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sed&lt;/code&gt; :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on utilise les expressions r&#233;guli&#232;res &#233;tendues &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-r&lt;/code&gt;&lt;/li&gt;&lt;li&gt; et on effectue &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;'&lt;/code&gt;...&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;'&lt;/code&gt; sur la cha&#238;ne envoy&#233;e en entr&#233;e standard (par le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;|&lt;/code&gt;) :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; une substitution &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;s/&lt;/code&gt;&lt;i&gt;chaine &#224; remplacer&lt;/i&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/&lt;/code&gt;&lt;i&gt;cha&#238;ne de remplacement&lt;/i&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/&lt;/code&gt;&lt;/li&gt;&lt;li&gt; de la cha&#238;ne num&#233;ro 1 &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;(&lt;/code&gt;...&lt;/code&gt;)&lt;/code&gt;/ Les parenth&#232;ses permettent de stocker la partie de cha&#238;ne correspondante dans une variable &#034;1&#034;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; contenant &#034;n'importe quel caract&#232;re (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.&lt;/code&gt;) dans n'importe quelle quantit&#233; (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;*&lt;/code&gt;) suivi d'un point, carac&#232;re sp&#233;cial prot&#233;g&#233; par un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; suivi d'une cha&#238;ne num&#233;ro 2 - m&#234;mes remarques pour les parenth&#232;ses
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; contenant des majuscules (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[[:upper:]]&lt;/code&gt;) au moins une fois (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;+&lt;/code&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; le tout juste avant la fin de la ligne (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$&lt;/code&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; la cha&#238;ne de remplacement est :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la cha&#238;ne num&#233;ro 1 &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\1&lt;/code&gt; r&#233;cup&#233;r&#233;e depuis la partie gauche de l'expression&lt;/li&gt;&lt;li&gt; puis on met en minuscule &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\L&lt;/code&gt; la cha&#238;ne num&#233;ro 2 &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;\2&lt;/code&gt; r&#233;cup&#233;r&#233;e depuis la partie gauche de l'expression&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;l&#224; encore, on ne g&#232;re pas les extensions avec m&#233;lange de majuscules et minuscules ou chiffres, et on ne corrigera que la derni&#232;re cha&#238;ne.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;C'est d&#233;j&#224; plus court et rapide, mais nettement moins lisible.&lt;/p&gt;
&lt;div class='cs_blocs'&gt;&lt;h4 class='blocs_titre blocs_replie blocs_click'&gt;&lt;a href='#_foo'&gt;Avec for et sed&lt;/a&gt;&lt;/h4&gt;&lt;div class='blocs_destination blocs_invisible blocs_slide'&gt;
&lt;p&gt;Tout ceci peut &#234;tre effectu&#233; en une seule ligne de commande.&lt;br class='autobr' /&gt;
La commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; ne rempla&#231;ant qu'une seule fois &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;{}&lt;/code&gt; par le chemin complet du fichier trouv&#233;, et ce chemin &#233;tant requis 2 fois, on utilisera une boucle for afin d'externaliser le traitement.&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;for fichier in $(find&lt;/code&gt; &lt;i&gt;r&#233;pertoire&lt;/i&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-type f -regex &#034;.*\.[A-Z]+$&#034;); do mv &#034;$fichier&#034; &#034;$(echo &#034;$fichier&#034; | sed -r 's/(.*\.)([[:upper:]]+)$/\1\L\2/')&#034; ; done&lt;/code&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Pour chaque fichier que renvoie la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find&lt;/code&gt; (expliqu&#233;e plus haut)&lt;/li&gt;&lt;li&gt; on renomme avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mv&lt;/code&gt; le fichier par la valeur renvoy&#233;e par le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sed&lt;/code&gt; expliqu&#233; juste avant.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Et comme expliqu&#233; pr&#233;c&#233;demment, on ne g&#232;re pas les extensions avec m&#233;lange de majuscules et minuscules ou chiffres, et on ne corrigera que la derni&#232;re cha&#238;ne.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;C'est court, rapide, mais tr&#232;s peu lisible.&lt;br class='autobr' /&gt;
De plus, cette derni&#232;re notation ne g&#232;re pas les espaces dans le nom du fichier.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb3-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh3-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 3-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;les scanneurs pourvus d'une alimentation externe ne posent pas de probl&#232;me en revanche&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Outils r&#233;seau sous Linux</title>
		<link>https://vader-fr.fr/spip.php?article163</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article163</guid>
		<dc:date>2015-11-15T10:09:40Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>



		<description>
&lt;p&gt;Ces outils r&#233;seau ne sont pas syst&#233;matiquement install&#233;s par d&#233;faut sur les distributions Linux, il faudra donc chercher et installer les paquets depuis les d&#233;p&#244;ts de la distribution. &lt;br class='autobr' /&gt;
Outils r&#233;seau &lt;br class='autobr' /&gt;
Accessible depuis le menu &#034;Outils syst&#232;me&#034;, cet utilitaire graphique propose plusieurs petits outils liste des p&#233;riph&#233;riques, affiche les statistiques des p&#233;riph&#233;riques r&#233;seau disponibles sur l'h&#244;te ping, envoyer une requ&#234;te d'&#233;cho (ping) en mode graphique, en permettant de s&#233;lectionner le (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;Ces outils r&#233;seau ne sont pas syst&#233;matiquement install&#233;s par d&#233;faut sur les distributions Linux, il faudra donc chercher et installer les paquets depuis les d&#233;p&#244;ts de la distribution.&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;onglets_bloc_initial&#034;&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Outils r&#233;seau&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Accessible depuis le menu &#034;Outils syst&#232;me&#034;, cet utilitaire graphique propose plusieurs petits outils&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; liste des p&#233;riph&#233;riques,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; affiche les statistiques des p&#233;riph&#233;riques r&#233;seau disponibles sur l'h&#244;te&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; ping,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; envoyer une requ&#234;te d'&#233;cho (ping) en mode graphique, en permettant de s&#233;lectionner le nombre de requ&#234;tes (limit&#233; ou non), et affichant les statistiques ensuite.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; statistiques r&#233;seau,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; affiche la table de routage, les services r&#233;seaux actif et les informations multicast de l'h&#244;te.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; traceroute,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; similaire au ping, l'outil traceroute va d&#233;terminer le chemin utilis&#233; pour atteindre un h&#244;te distant&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; scan de port,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; utilitaire recherchant les ports ouverts sur un h&#244;te distant, affichant le num&#233;ro et le service habituellement associ&#233; ainsi que l'&#233;tat du port.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; parcourir
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &#233;quivalent de Lookup, affiche les informations DNS d'un h&#244;te distant. Notamment les serveurs de r&#233;solution de nom de son domaine DNS.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; finger,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; En utilisant l'adresse courriel de la personne sur laquelle on souhaite des informations, on peut recevoir une r&#233;ponse contenant habituellement le nom de la personne, son num&#233;ro de t&#233;l&#233;phone, et l'entreprise pour laquelle elle travaille. De fait, ce protocole n'est plus utilis&#233; de nos jours&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; whois
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le service Whois (contraction de who is ? - litt&#233;ralement &#034;qui est ?&#034;) permet d'effectuer des recherches sur les bases de donn&#233;es des noms de domaine&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;dl class='spip_document_331 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH284/outils_reseau_periph-8b57a.png?1772007835' width='500' height='284' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Outils r&#233;seau - p&#233;riph&#233;riques&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;dl class='spip_document_332 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH283/outils_reseau_stats-ed52a.png?1772007835' width='500' height='283' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Outils r&#233;seau - statistiques&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;dl class='spip_document_333 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH282/outils_reseau_scan-5afdb.png?1772007835' width='500' height='282' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Outils r&#233;seau - scan de ports&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Mbrowse (graphique), snmpwalk, onesixtyone&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Accessible depuis le menu &#034;Internet&#034;, l'outil graphique Mbrowse permet de parcourir une MIB d'un &#233;quipement r&#233;seau (imprimante, routeur, switch...) en SNMP et d'interroger des param&#232;tres sp&#233;cifiques (nombre de pages imprim&#233;es, encre restante...).&lt;/p&gt;
&lt;p&gt;Selon l'&#233;quipement, il faudra indiquer les communaut&#233;s SNMP de lecture et d'&#233;criture, et on pourra aussi charger un fichier MIB particulier afin de mieux interpr&#233;ter l'arbre des champs (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;oid&lt;/code&gt;) SNMP de l'&#233;quipement.&lt;/p&gt;
&lt;p&gt;Il est possible de faire la m&#234;me chose en ligne de commande avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;snmpwalk&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;onesixtyone&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_334 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH259/mbrowse-b5204.png?1772007835' width='500' height='259' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;DNSSEC&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Accessible depuis les menus &#034;Internet&#034; et &#034;Outils syst&#232;me&#034;, l'outil graphique DNSSEC-Nodes permet de visualiser les n&#339;uds DNS.&lt;/p&gt;
&lt;p&gt;Dans DNSsec, chaque n&#339;ud de l'arbre DNS est associ&#233; &#224; une clef publique.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;ethtool et mii-tool&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Ces commandes permettent de visualiser et modifier les param&#232;tres physiques de la carte r&#233;seau : vitesse, duplex, n&#233;gociation, wake on lan, flow control...&lt;/p&gt;
&lt;p&gt;Les anciennes cartes ne seront g&#233;r&#233;es que par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mii-tool&lt;/code&gt;, les cartes r&#233;centes pourront &#234;tre g&#233;r&#233;es par les &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ethtool&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mii-tool&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ethtool&lt;/code&gt; peut &#234;tre ex&#233;cut&#233; en utilisateur simple pour visualisation, mais les commandes de modification devront &#234;tre ex&#233;cut&#233;es en &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Les options de ces commandes seront indiqu&#233;es par le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;man&lt;/code&gt; ainsi que par l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-h&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ethtool p4p1&lt;/code&gt;&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;Settings for p4p1 :&lt;br class='autobr' /&gt; Supported ports : [ TP ]&lt;br class='autobr' /&gt; Supported link modes : 10baseT/Half 10baseT/Full &lt;br class='autobr' /&gt; 100baseT/Half 100baseT/Full &lt;br class='autobr' /&gt; 1000baseT/Full &lt;br class='autobr' /&gt; Supported pause frame use : Symmetric Receive-only&lt;br class='autobr' /&gt; Supports auto-negotiation : Yes&lt;br class='autobr' /&gt; Advertised link modes : 10baseT/Half 10baseT/Full &lt;br class='autobr' /&gt; 100baseT/Half 100baseT/Full &lt;br class='autobr' /&gt; 1000baseT/Full &lt;br class='autobr' /&gt; Advertised pause frame use : Symmetric&lt;br class='autobr' /&gt; Advertised auto-negotiation : Yes&lt;br class='autobr' /&gt; Speed : 100Mb/s&lt;br class='autobr' /&gt; Duplex : Full&lt;br class='autobr' /&gt; Port : Twisted Pair&lt;br class='autobr' /&gt; PHYAD : 0&lt;br class='autobr' /&gt; Transceiver : internal&lt;br class='autobr' /&gt; Auto-negotiation : on&lt;br class='autobr' /&gt; MDI-X : Unknown&lt;br class='autobr' /&gt; Current message level : 0x000060e4 (24804)&lt;br class='autobr' /&gt; link ifup rx_err tx_err hw wol&lt;br class='autobr' /&gt; Link detected : yes&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mii-tool p4p1&lt;/code&gt;&lt;br class='autobr' /&gt;
&lt;q&gt;p4p1 : negotiated 100baseTx-FD, link ok&lt;/q&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;EtherApe&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Accessible depuis les menus &#034;Internet&#034; et &#034;Outils syst&#232;me&#034;, l'outil graphique EtherApe&lt;/p&gt;
&lt;p&gt;EtherApe requiert les droits &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt;, le mot de passe de l'utilisateur &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt; sera donc demand&#233; au lancement de l'application.&lt;/p&gt;
&lt;p&gt;Tout comme Wireshark, il capturera les trames sur l'interface d&#233;sign&#233;e (en mode Link layer, IP ou TCP), mais en revanche n'affichera que les liaisons entre &#233;quipements (PC, routeur, switches...)&lt;/p&gt;
&lt;p&gt;Les liens sont colori&#233;s selon le protocole utilis&#233;.&lt;/p&gt;
&lt;p&gt;EtherApe peut &#233;galement afficher des statistiques par protocole ou par h&#244;te (n&#339;ud)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Iperf&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Iperf permet de faire des tests de performance entre deux h&#244;tes sur le r&#233;seau.&lt;br class='autobr' /&gt;
Cet outil fonctionne en mode client-serveur, l'un devra donc activer iperf en mode serveur et ouvrir sur le pare-feu le port d'&#233;coute, g&#233;n&#233;ralement 5001, en TCP et/ou UDP selon le protocole &#224; tester avec iperf, et l'autre utilisera iperf en mode client pour envoyer une requ&#234;te au serveur.&lt;/p&gt;
&lt;p&gt;Par d&#233;faut, iperf teste en TCP.&lt;br class='autobr' /&gt;
voir le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;man&lt;/code&gt; de la commande pour plus de d&#233;tails.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;netstat&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;q&gt;netstat, pour &#171; network statistics &#187;, est une ligne de commande affichant des informations sur les connexions r&#233;seau, les tables de routage et un certain nombre de statistiques dont ceux des interfaces, sans oublier les connexions masqu&#233;es, les membres multicast, et enfin, les messages netlink. La commande est disponible sous Unix (et ses d&#233;riv&#233;s dont Linux) et sous Windows NT compatibles.&lt;/q&gt; Source : &lt;a href=&#034;https://fr.wikipedia.org/wiki/Netstat&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Permet aussi de voir les connexions bluetooth actives.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Il est pr&#233;f&#233;rable d'ex&#233;cuter cette commande en &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt; afin de voir tous les ports ouverts par les processus.&lt;/p&gt;
&lt;p&gt;En utilisateur simple, on aura un message d'avertissement : &lt;br class='autobr' /&gt;
&lt;q&gt;(Tous les processus ne peuvent &#234;tre identifi&#233;s, les infos sur les processus non poss&#233;d&#233;s ne seront pas affich&#233;es, vous devez &#234;tre root pour les voir toutes.)&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;Sous Linux, les options &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-netpaul&lt;/code&gt; permettront d'afficher toutes les informations.&lt;/p&gt;
&lt;p&gt;Les options sont visibles dans le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;man&lt;/code&gt; de la commande, mais surtout via &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;netstat -h&lt;/code&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-n&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--numeric&lt;/code&gt; affichera les num&#233;ros de ports et non les noms de service habituellement associ&#233;s&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-e&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--extend&lt;/code&gt; affiche d'autres/plus d'informations&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-t&lt;/code&gt; affiche les ports ouverts en TCP&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-p&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--programs&lt;/code&gt; affiche le nom et le PID des processus propri&#233;taires de chaque socket d&#233;crite. Vous devez &#234;tre le propri&#233;taire d'un processus pour visualiser les sockets qui lui appartiennent ou &#234;tre l'utilisateur root pour disposer de toutes les informations.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-a&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--all&lt;/code&gt; affiche tous les sockets (par d&#233;faut seuls ceux connect&#233;s sont affich&#233;s)&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-u&lt;/code&gt; affiche les ports ouverts en UDP&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-l&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--listening&lt;/code&gt; affiche les sockets du serveur &#224; l'&#233;coute&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Lookup&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;Accessible depuis les menus &#034;Internet&#034; et &#034;Outils syst&#232;me&#034;, l'outil graphique Lookup permet de faire une recherche sur le serveur DNS. &lt;br class='autobr' /&gt;
Il affiche les r&#233;sultats dans une structure arborescente graphique, et v&#233;rifie les r&#233;ponses DNS pour validit&#233; et conformit&#233; avec DNSSEC.&lt;br class='autobr' /&gt;
Les r&#233;sultats sont cod&#233;s par couleurs selon leur statut DNSSEC.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&#034;onglets_contenu&#034;&gt;&lt;h2 class=&#034;cs_onglet&#034;&gt;&lt;a href=&#034;#&#034;&gt;Wireshark&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;
&lt;p&gt;&lt;span class='spip_document_335 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L100xH100/wireshark_logo-f7bfd.png?1772007835' width='100' height='100' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;Wireshark est un analyseur de paquets libre utilis&#233; dans le d&#233;pannage et l'analyse de r&#233;seaux informatiques, le d&#233;veloppement de protocoles, l'&#233;ducation et la r&#233;tro-ing&#233;nierie. Son appellation d'origine (Ethereal) est modifi&#233;e en mai 2006 pour des questions relatives au droit des marques.&lt;/p&gt;
&lt;p&gt;Wireshark utilise la biblioth&#232;que logicielle GTK+ pour l'impl&#233;mentation de son interface utilisateur et pcap pour la capture des paquets ; il fonctionne sur de nombreux environnements compatibles UNIX comme GNU/Linux, FreeBSD, NetBSD, OpenBSD ou Mac OSX, mais &#233;galement sur Microsoft Windows.&lt;/p&gt;
&lt;p&gt;Wireshark reconna&#238;t 759 protocoles.&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;source : Wikipedia&#034; id=&#034;nh4-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wireshark peut se t&#233;l&#233;charger sur le &lt;a href=&#034;http://www.wireshark.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;site officiel&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A l'installation, Wireshark proposera l'installation de WinPCap, si ce pilote de capture n'est pas install&#233;.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Sur certains syst&#232;mes Linux, il faudra ajouter l'utilisateur au groupe wireshark pour permettre l'acc&#232;s aux interfaces en mode capture de trame.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Apr&#232;s avoir lanc&#233; Wireshark, on peut s&#233;lectionner les interfaces sur lesquelles capturer les paquets, et cliquer sur &#034;Start&#034;, ou bien aller dans &#034;Capture Options&#034; afin de permettre une capture correspondant plus pr&#233;cis&#233;ment &#224; ce que l'on cherche.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Wireshark dispose d'une rubrique d'aide d&#233;taillant les syntaxes de filtres, les m&#233;thodes de capture, etc.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le mode &#034;promiscuous&#034; permet de capturer tous les paquets arrivant sur l'interface de capture, et pas seulement ceux la concernant (&#224; destination de l'adresse ip de l'interface ou de l'adresse de diffusion de son r&#233;seau).&lt;/p&gt;
&lt;p&gt;Parmi les options, on peut :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; ne capturer que certains paquets en fonction d'un filtre. La syntaxe des filtres de capture diff&#232;re de la syntaxe des filtre d'affichage. Cliquer sur le bouton &#034;Capture Filter&#034; permet d'en savoir plus.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le cadre contenant la cha&#238;ne de filtrage passe en vert ou en rouge selon la validit&#233; de ladite cha&#238;ne.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;host&lt;/code&gt; &lt;i&gt;adresse ip&lt;/i&gt; pour les paquets concernant une adresse ip pr&#233;cise (en source ou destination)&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;broadcast&lt;/code&gt; pour les paquets &#224; destination du broadcast, &#224; combiner avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;host&lt;/code&gt; sur adresse de broadcast, l'un prenant les paquets TCP/IP &#224; destination du broadcast, l'autre les paquets non TCP/IP &#224; destination du broadcast.&lt;/li&gt;&lt;li&gt; pour combiner des filtres de capture, utiliser l'op&#233;rateur logique &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;or&lt;/code&gt; (&#034;ou&#034;, &#233;galement symbolis&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;||&lt;/code&gt;) ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;and&lt;/code&gt; (&#034;et&#034;, &#233;galement symbolis&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&amp;&amp;&lt;/code&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; sauvegarder le r&#233;sultat de la capture (les paquets captur&#233;s) dans un (ou plusieurs) fichier(s) en cr&#233;ant un nouveau fichier
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; tous les x Ko, Mo, Go,&lt;/li&gt;&lt;li&gt; toutes les x secondes, minutes, heures, jours,&lt;/li&gt;&lt;li&gt; et en reprenant le premier fichier tous les x fichiers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; arr&#234;ter automatiquement la capture apr&#232;s
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; x paquets&lt;/li&gt;&lt;li&gt; x fichiers&lt;/li&gt;&lt;li&gt; x Ko, Mo, Go&lt;/li&gt;&lt;li&gt; x secondes, minutes, heures, jours,&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Choisir d'afficher les paquets ou non. En cas de capture sur de longues dur&#233;es, sauvegard&#233;es dans des fichiers, il faudra d&#233;sactiver l'affichage des paquets captur&#233;s afin d'am&#233;liorer les performances
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; mettre &#224; jour en temps r&#233;el dans la fen&#234;tre la liste des paquets captur&#233;s&lt;/li&gt;&lt;li&gt; d&#233;placer l'ascenseur automatiquement pendant la capture&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; Effectuer une r&#233;solution de nom sur les h&#244;tes dont on capture les paquets, afin de mieux visualiser les diff&#233;rents postes conversant et lequel peut &#234;tre &#224; la source d'erreurs.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Wireshark utilise diff&#233;rentes couleurs en fonction des protocoles utilis&#233;s par les trames.&lt;/p&gt;
&lt;p&gt;Le d&#233;tail d'une trame s&#233;lectionn&#233;e est affich&#233; dans le cadre inf&#233;rieur, sous la liste des trames.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le filtre d'affichage permet de n'afficher que certaines trames,
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; par exemple &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ip.src==&lt;/code&gt;&lt;i&gt;adresse ip&lt;/i&gt; pour les paquets concernant une adresse ip pr&#233;cise (en source)&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;arp&lt;/code&gt; pour le protocole arp&lt;/li&gt;&lt;li&gt; pour combiner des filtres de capture, utiliser l'op&#233;rateur logique &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;or&lt;/code&gt; (&#034;ou&#034;, &#233;galement symbolis&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;||&lt;/code&gt;) ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;and&lt;/code&gt; (&#034;et&#034;, &#233;galement symbolis&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&amp;&amp;&lt;/code&gt;)&lt;/li&gt;&lt;li&gt; le cadre contenant la cha&#238;ne de filtrage passe en vert ou en rouge selon la validit&#233; de ladite cha&#238;ne.&lt;/li&gt;&lt;li&gt; Wireshark propose des termes de filtrage au fur et &#224; mesure de la frappe.&lt;/li&gt;&lt;li&gt; cliquer sur le bouton &#034;Filter&#034; ou sur &#034;Expression&#034; permet d'avoir des filtres pr&#233;d&#233;finis. On peut &#233;galement enregistrer les filtres saisis pour une future utilisation.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; cliquer sur les ent&#234;tes de colonnes pour trier par protocole, source, destination, longueur de trame...&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Wireshark fournit &#233;galement des outils statistiques, accessibles par le menu &#034;Statistics&#034;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb4-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;source : Wikipedia&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Script bash Linux de surveillance de copie/t&#233;l&#233;chargement avec arr&#234;t syst&#232;me</title>
		<link>https://vader-fr.fr/spip.php?article158</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article158</guid>
		<dc:date>2015-05-01T14:03:28Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>



		<description>
&lt;p&gt;Il existe pour Firefox le plugin Auto Shutdown NG, &#224; combiner avec DownThemAll, qui permet d'&#233;teindre l'ordinateur apr&#232;s la fin de tous les t&#233;l&#233;chargements, mais ce syst&#232;me est limit&#233; aux t&#233;l&#233;chargements &#034;classiques&#034; par Firefox. Les t&#233;l&#233;chargements de m&#233;dia (musique/vid&#233;o) captur&#233;s depuis un Flash Player avec un plugin comme Flashgot ne sont pas pris en compte par DownThemAll et Auto Shutdown, d'o&#249; la cr&#233;ation de ce petit script. &lt;br class='autobr' /&gt;
Ce script bash Linux, par ailleurs tr&#232;s simple, surveille (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://vader-fr.fr/local/cache-vignettes/L128xH128/arton158-88fb3.png?1772007835' class='spip_logo spip_logo_right' width='128' height='128' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Il existe pour Firefox le plugin Auto Shutdown NG, &#224; combiner avec DownThemAll, qui permet d'&#233;teindre l'ordinateur apr&#232;s la fin de tous les t&#233;l&#233;chargements, mais ce syst&#232;me est limit&#233; aux t&#233;l&#233;chargements &#034;classiques&#034; par Firefox.&lt;br class='autobr' /&gt;
Les t&#233;l&#233;chargements de m&#233;dia (musique/vid&#233;o) captur&#233;s depuis un Flash Player avec un plugin comme Flashgot ne sont pas pris en compte par DownThemAll et Auto Shutdown, d'o&#249; la cr&#233;ation de ce petit script.&lt;/p&gt;
&lt;p&gt;Ce script bash Linux, par ailleurs tr&#232;s simple, surveille le t&#233;l&#233;chargement ou la copie d'un fichier, et arr&#234;te le syst&#232;me lorsque le t&#233;l&#233;chargement/copie est termin&#233; ou plant&#233;.&lt;/p&gt;
&lt;p&gt;Cela permettre de suivre un t&#233;l&#233;chargement par Firefox, par FTP (Filezilla...) ou m&#234;me une copie de fichier.&lt;/p&gt;
&lt;p&gt;La progression ou l'&#233;chec sont d&#233;termin&#233;s par l'&#233;volution ou la non &#233;volution de la taille du fichier.&lt;/p&gt;
&lt;p&gt;Il serait possible de traiter un dossier au lieu d'un fichier, en rempla&#231;ant la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ls -l&lt;/code&gt; par une commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;du -s&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Le lancement du script se fait en &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;root&lt;/code&gt;, ou en passant par une d&#233;l&#233;gation &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sudo&lt;/code&gt; (avec option NOPASSWD) afin d'avoir le droit d'&#233;teindre l'ordinateur par la commande Shutdown, ce qui est la m&#233;thode la plus simple.&lt;br class='autobr' /&gt;
&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;il serait possible de changer la commande d'extinction pour pouvoir lancer le script avec un utilisateur normal sans se soucier des restrictions syst&#232;me.&lt;br class='autobr' /&gt;
Il serait &#233;galement possible de traiter non pas un fichier en mettant sa taille dans une variable, mais un liste de fichiers avec leurs tailles dans un tableau.&lt;/strong&gt;&lt;br class='autobr' /&gt;
On appelle ce script avec le nom et chemin (de pr&#233;f&#233;rence) absolu du fichier, en entourant la cha&#238;ne de guillemets pour prot&#233;ger les espaces et caract&#232;res sp&#233;ciaux. &lt;br class='autobr' /&gt;
Les messages d'information et d'erreur sont affich&#233;s &#224; l'&#233;cran en plus d'&#234;tre &#233;cris dans un fichier journal (ici &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;script.log&lt;/code&gt;)&lt;/p&gt;
&lt;p&gt;L'algorithme est assez simple :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#!/bin/bash
taille=1;
oldtaille=0;
fichier=$1;
echo &#034;Surveillance du t&#233;l&#233;chargement de ${fichier}&#034;
if [ -e &#034;$fichier&#034; -a -f &#034;$fichier&#034; ]
then echo &#034;le fichier existe et est bien de type fichier, on continue&#034; | tee -a script.log;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; On commence par v&#233;rifier que le fichier existe, et si oui on entre dans la boucle&lt;/li&gt;&lt;li&gt; et tant que la taille de fichier que l'on vient de lister diff&#232;re de celle enregistr&#233;e pr&#233;c&#233;demment,
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; while [ $oldtaille != $taille ] do&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Alors si le fichier existe encore, le t&#233;l&#233;chargement/copie n'a pas plant&#233;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on lit la taille du fichier et on attend 30 minutes avant de recommencer&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; if [ -e &#034;$fichier&#034; -a -f &#034;$fichier&#034; ] then oldtaille=$taille; taille=$(ls &#034;$fichier&#034; -l | awk '{ print $5 }' | awk -FM '{ print $1 }'); echo &#034;Le $(date), avant : $oldtaille, maintenant : $taille&#034; | tee -a script.log; if [ $oldtaille != $taille ] then sleep 30m; fi else&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le temps d'attente de 30 minutes est conditionn&#233; &#224; la diff&#233;rence de taille actuelle/pr&#233;c&#233;dente du fichier afin de ne pas attendre pour le dernier cycle, pour lequel la condition d'entr&#233;e de la boucle while sera fausse, ce qui permettra de terminer le programme.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on pourrait ajouter une condition &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;else&lt;/code&gt; qui &#233;teindrai alors directement le syst&#232;me &#224; l'int&#233;rieur de la boucle &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;while&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; sinon le fichier n'est plus l&#224;, le t&#233;l&#233;chargement/copie &#224; plant&#233;, et on arr&#234;te le syst&#232;me&lt;/li&gt;&lt;/ul&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; echo &#034;Le fichier n'existe plus, le t&#233;l&#233;chargement a plant&#233;&#034; | tee -a script.log; taille=0; oldtaille=0; fi done&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;A la fin de la boucle&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; dans laquelle on est entr&#233; si le fichier existait&lt;/li&gt;&lt;li&gt; et dont on sort si la taille actuelle est diff&#233;rente, 30 minutes plus tard, de la taille pr&#233;c&#233;dente&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;on &#233;teint le syst&#232;me.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; echo &#034;fin du script le $(date), taille = $taille, avant = $oldtaille&#034; | tee -a script.log shutdown -hP now
else echo &#034;fichier non trouv&#233;.&#034;;
fi&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Script bash Linux de t&#233;l&#233;chargement de d&#233;p&#244;t</title>
		<link>https://vader-fr.fr/spip.php?article151</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article151</guid>
		<dc:date>2015-01-31T18:49:18Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>



		<description>
&lt;p&gt;Devant g&#233;rer et mettre r&#233;guli&#232;rement un jour un serveur ne pouvant acc&#233;der &#224; internet (&#224; cause d'un proxy), j'utilisais la m&#233;thode de mise &#224; jour sans internet. &lt;br class='autobr' /&gt;
Cependant, avec les nouveaux d&#233;p&#244;ts o&#249; les paquets sont regroup&#233;s par leur premi&#232;re lettre, il faut t&#233;l&#233;charger et &#233;diter une trentaine de liste &#224; chaque fois. &lt;br class='autobr' /&gt;
J'ai donc automatis&#233; une partie de la proc&#233;dure, &#224; savoir le t&#233;l&#233;chargement des paquets, et ce de mani&#232;re assez simple pour commencer, &#224; l'aide d'un script bash Linux. A (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique5" rel="directory"&gt;Linux &amp; Logiciels Libres&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://vader-fr.fr/local/cache-vignettes/L128xH128/arton151-a996f.png?1772007835' class='spip_logo spip_logo_right' width='128' height='128' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Devant g&#233;rer et mettre r&#233;guli&#232;rement un jour un serveur ne pouvant acc&#233;der &#224; internet (&#224; cause d'un proxy), j'utilisais la m&#233;thode de &lt;a href='https://vader-fr.fr/spip.php?article2' class=&#034;spip_in&#034;&gt;mise &#224; jour sans internet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cependant, avec les nouveaux d&#233;p&#244;ts o&#249; les paquets sont regroup&#233;s par leur premi&#232;re lettre, il faut t&#233;l&#233;charger et &#233;diter une trentaine de liste &#224; chaque fois.&lt;/p&gt;
&lt;p&gt;J'ai donc automatis&#233; une partie de la proc&#233;dure, &#224; savoir le t&#233;l&#233;chargement des paquets, et ce de mani&#232;re assez simple pour commencer, &#224; l'aide d'un script bash Linux.&lt;br class='autobr' /&gt;
A partir de l'index du d&#233;p&#244;t, il peut parcourir les r&#233;pertoires et t&#233;l&#233;charger les fichiers.&lt;/p&gt;
&lt;p&gt;Ce script est con&#231;u pour les d&#233;p&#244;ts RedHat, et plus particuli&#232;rement Fedora.&lt;br class='autobr' /&gt;
Mais il devrait &#234;tre facilement adaptable pour les autres distributions.&lt;/p&gt;
&lt;p&gt;Il ne g&#232;re pas les listes de miroirs, du moins pour l'instant.&lt;/p&gt;
&lt;p&gt;Son fonctionnement est donc pour le moment assez simple :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; on t&#233;l&#233;charge d'abord, depuis une machine ayant acc&#232;s &#224; internet, l'index d'un d&#233;p&#244;t, selon ce qui est mis en &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;baseurl&lt;/code&gt; du fichier de configuration du d&#233;p&#244;t dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/yum.repos.d&lt;/code&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;pour la famille redhat&#034; id=&#034;nh5-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; sur le serveur.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; il est pr&#233;f&#233;rable d'utiliser l'utilitaire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;wget&lt;/code&gt; afin de ne pas avoir les fichiers auxiliaires (images, etc) et de renommer le fichier.&lt;/li&gt;&lt;li&gt; la ligne de commande ressemblera donc &#224; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;wget -O depart -c http://.........&lt;/code&gt;&lt;/li&gt;&lt;li&gt; ici, le fichier cr&#233;&#233; se nommera &#034;depart&#034;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; ensuite, il faut ajouter dans ce fichier une ligne contenant l'adresse &#224; laquelle il correspond, c'est &#224; dire l&#224; o&#249; il a &#233;t&#233; t&#233;l&#233;charg&#233;.
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; cette adresse servira de base pour les urls contenues dans le fichier&lt;/li&gt;&lt;li&gt; on peut utiliser la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo&lt;/code&gt;, ce qui donnera quelque chose comme : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;echo &#034;adresse_actuelle=http://.......&#034; &gt;&gt; depart&lt;/code&gt;.&lt;/li&gt;&lt;li&gt; En effet, le script lira dans ce fichier (et les suivants) la variable &#034;adresse_actuelle&#034;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; puis il suffit de lancer le script sur le fichier de d&#233;part : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;./dl_depot.sh depart&lt;/code&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;le script se nomme dl_depot.sh. si vous changez le nom du script, changez (&#8230;)&#034; id=&#034;nh5-2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; le script commencera donc par r&#233;cup&#233;rer l'adresse du d&#233;p&#244;t, puis lira le fichier ligne par ligne&lt;/li&gt;&lt;li&gt; si la ligne concerne un paquet rpm, il le t&#233;l&#233;chargera en rajoutant le nom du fichier paquet rpm lu &#224; l'adresse du d&#233;p&#244;t.&lt;/li&gt;&lt;li&gt; si la ligne concerne un r&#233;pertoire, qui n'est pas le &#034;Parent Directory&#034; (r&#233;pertoire parent), il t&#233;l&#233;chargera l'index du r&#233;pertoire dans un fichier portant son nom, y ajoutera la ligne &#034;adresse_actuelle=...&#034; et lancera le script sur ce nouveau fichier, afin de le parcourir, ce apr&#232;s quoi il effacera le fichier portant le nom du r&#233;pertoire.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; une fois tous les paquets t&#233;l&#233;charg&#233;s, on peut v&#233;rifier que tout s'est bien pass&#233; via le fichier journal cr&#233;&#233;, copier les fichiers rpm sur le serveur ou une machine du r&#233;seau du serveur, cr&#233;er le d&#233;p&#244;t, le configurer sur le serveur, et faire les mises &#224; jour/installations.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Pour des raisons de simplicit&#233;, ce script t&#233;l&#233;chargera donc tous les fichiers rpm du d&#233;p&#244;t dans le m&#234;me r&#233;pertoire.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#!/bin/bash
fichier=$1
# le fichier indiqu&#233; en param&#232;tre doit contenir une ligne :
# adresse_actuelle=http://....... correspondant &#224; l'adresse o&#249; a &#233;t&#233; t&#233;l&#233;charg&#233; le fichier
# pour le fichier de d&#233;part, c'est &#224; faire manuellement apr&#232;s le wget
# pour les fichiers suivants, c'est fait automatiquement par le script
echo &#034;================================= traitement de $fichier ==========================================&#034; | tee -a info_dl_depot.log;
adresse_actuelle=$(grep -i adresse_actuelle $fichier | awk -F \= '{ print $2 }');
echo &#034;l'adresse actuelle est $adresse_actuelle&#034; | tee -a info_dl_depot.log;
while read ligne do cible=$(echo $ligne | grep -i href | wc -l) if [ $cible -gt 0 ] then # rpm ciblerpm=$(echo $ligne | grep -i &#034;.rpm&#034; | wc -l) if [ $ciblerpm -gt 0 ] then addciblerpm=$(echo $ligne | awk -F href\=\&#034; '{ print $2 }' | awk -F \&#034; '{ print $1 }'); addciblerpmt=$adresse_actuelle$addciblerpm; echo &#034;On t&#233;l&#233;charge $addciblerpmt&#034; | tee -a info_dl_depot.log; wget -nv -c -a info_dl_depot.log $addciblerpmt; fi # dossier, non parent cibledir=$(echo $ligne | grep -i &#034;alt=\&#034;\[DIR\]\&#034;&#034; | grep -v &#034;Parent Directory&#034; | wc -l); if [ $cibledir -gt 0 ] then addcibledir=$(echo $ligne | awk -F href\=\&#034; '{ print $2 }' | awk -F \&#034; '{ print $1 }'); addcibledirt=$adresse_actuelle$addcibledir; nomdir=&#034;dir_&#034;$(echo $addcibledir | awk -F \/ '{ print $1 }'); echo &#034;On t&#233;l&#233;charge $addcibledirt, index de $nomdir&#034; | tee -a info_dl_depot.log; wget -nv -c -a info_dl_depot.log -O $nomdir $addcibledirt; echo &#034;adresse_actuelle=$addcibledirt&#034; &gt;&gt; $nomdir; ./dl_depot.sh $nomdir; rm -f $nomdir; fi fi
done &lt; $fichier&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On peut bien s&#251;r imaginer quelque chose de plus sophistiqu&#233; ; ce script pourrait &#234;tre lanc&#233; par un autre, qui lirait une liste de d&#233;p&#244;ts ou m&#234;me de miroirs (nom + adresse de base + type miroir/d&#233;p&#244;t) dans un fichier ou une BDD, avec &#233;ventuellement une arborescence de type :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Fedora
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; 20
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; x86_64,&lt;/li&gt;&lt;li&gt; i386&lt;/li&gt;&lt;li&gt; updates
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; x86_64&lt;/li&gt;&lt;li&gt; i386&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Il se d&#233;placerait dans le r&#233;pertoire o&#249; mettre les fichiers t&#233;l&#233;charg&#233;s (&#224; cr&#233;er si besoin), et lancerait le script avec son adresse absolue - il faudrait alors modifier le script actuel, ou modifier les wgets pour y envoyer directement les paquets&lt;br class='autobr' /&gt;
On pourrait aussi rajouter des filtres pour ne pas t&#233;l&#233;charger certains paquets (par exemple les jeux comme astromenace, vegastrike...ou les fichiers de langue) qui ne sont pas indispensables sur un serveur, allongent consid&#233;rablement (par leur taille) la dur&#233;e du t&#233;l&#233;chargement, et prennent une place non n&#233;gligeable sur le disque.&lt;/p&gt;
&lt;dl class='spip_document_318 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href='https://vader-fr.fr/IMG/zip/dl_depot.sh.zip' title='Zip - 1 kio' type=&#034;application/zip&#034;&gt;&lt;img src='https://vader-fr.fr/local/cache-vignettes/L64xH64/zip-f045b.svg?1772810739' width='64' height='64' alt='' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;Script bash Linux de t&#233;l&#233;chargement de d&#233;p&#244;t&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb5-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;pour la famille redhat&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5-2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-2&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;le script se nomme dl_depot.sh. si vous changez le nom du script, changez l'appel &lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;./dl_depot.sh $nomdir;&lt;/code&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt; dans le bloc &lt;span class=&#034;csfoo htmla&#034;&gt;&lt;/span&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;if [ $cibledir -gt 0 ] &lt;/code&gt;&lt;span class=&#034;csfoo htmlb&#034;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>VI) Clonage d'un poste &#224; distance</title>
		<link>https://vader-fr.fr/spip.php?article52</link>
		<guid isPermaLink="true">https://vader-fr.fr/spip.php?article52</guid>
		<dc:date>2015-01-29T09:09:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vader[FR]</dc:creator>



		<description>
&lt;p&gt;Sauvegarde du socle d'un poste, &#224; distance &lt;br class='autobr' /&gt;
le principe m&#234;me de drbl-clonezilla est de pr&#233;parer sur le serveur une t&#226;che &#224; ex&#233;cuter au prochain d&#233;marrage du poste, puis &#233;ventuellement provoquer aussit&#244;t ce d&#233;marrage par wake-on-lan. &lt;br class='autobr' /&gt;
Il faut faire un socle par mod&#232;le/s&#233;rie de PC pour &#233;viter les probl&#232;mes de drivers en cas de mat&#233;riels diff&#233;rents. &lt;br class='autobr' /&gt;
A partir de la version 2, les fichiers de DRBL ne sont plus dans /opt, mais r&#233;partis dans /bin, /sbin, /usr/bin, /usr/sbin, /etc/drb et (&#8230;)&lt;/p&gt;


-
&lt;a href="https://vader-fr.fr/spip.php?rubrique14" rel="directory"&gt;D&#233;ploiement de socle syst&#232;me avec DRBL-Clonezilla&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src='https://vader-fr.fr/local/cache-vignettes/L81xH47/arton52-0d0a0.png?1771606997' class='spip_logo spip_logo_right' width='81' height='47' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;spip&#034;&gt;Sauvegarde du socle d'un poste, &#224; distance&lt;/h3&gt;
&lt;p&gt;le principe m&#234;me de drbl-clonezilla est de pr&#233;parer sur le serveur une t&#226;che &#224; ex&#233;cuter au prochain d&#233;marrage du poste, puis &#233;ventuellement provoquer aussit&#244;t ce d&#233;marrage par wake-on-lan.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il faut faire un socle par mod&#232;le/s&#233;rie de PC pour &#233;viter les probl&#232;mes de drivers en cas de mat&#233;riels diff&#233;rents.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre-spip spip&#034;&gt;A partir de la version 2, les fichiers de DRBL ne sont plus dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/opt&lt;/code&gt;&lt;/strong&gt;, mais r&#233;partis dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/bin&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/sbin&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/usr/bin&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/usr/sbin&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/drb&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/usr/share/drbl&lt;/code&gt;.&lt;br class='autobr' /&gt;
Les commandes de DRBL peuvent donc &#234;tre lanc&#233;es directement car situ&#233;es dans les r&#233;pertoires list&#233;s dans la variable PATH.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;C'est pourquoi les anciens chemins sont &lt;strike&gt;barr&#233;s&lt;/strike&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Se connecter en root au serveur en ssh (via l'&#233;mulateur putty depuis un poste Windows), ou ouvrir un terminal en connexion graphique vnc, ou encore ouvrir une session ssh depuis webmin.&lt;/li&gt;&lt;li&gt; &lt;strike&gt;/opt/drbl/sbin/&lt;/strike&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dcs&lt;/code&gt; pour lancer le serveur Clonezilla (ou l'alias clone en session root, s'il a &#233;t&#233; d&#233;fini) &lt;br class='autobr' /&gt;
&lt;span class='spip_document_71 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH126/drbl01-90214.png?1771678401' width='500' height='126' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; choisir tout ou partie des postes. &lt;br class='autobr' /&gt;
&lt;span class='spip_document_72 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH141/drbl02-select-postes-15f88.png?1771678401' width='500' height='141' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Il y a 2 listes disponibles : par adresse IP (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/drbl/IP_HOST_TABLE&lt;/code&gt;) et par adresse Mac (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/drbl/HOST_MAC_TABLE&lt;/code&gt;)&lt;br class='autobr' /&gt;
&lt;span class='spip_document_73 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH315/drbl03-select-postes2-9536f.png?1771678402' width='500' height='315' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; pour s&#233;lectionner un poste, appuyer sur la touche ESPACE. Pour valider, appuyer sur entr&#233;e&lt;br class='autobr' /&gt;
&lt;span class='spip_document_74 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH265/drbl04-mode-40d0c.png?1771678402' width='500' height='265' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; choisir de d&#233;marrer le mode clonezilla (clonezilla-start)&lt;br class='autobr' /&gt;
&lt;span class='spip_document_75 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH168/drbl05-niveau-clonezilla-1ed73.png?1771678402' width='500' height='168' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; choisir mode &lt;strong&gt;expert&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;span class='spip_document_76 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH187/drbl06-tache-clonezilla-ba93c.png?1771678402' width='500' height='187' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; choisir la t&#226;che : sauvegarder partition ou &lt;strong&gt;disque entier&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;span class='spip_document_77 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH117/drbl07-nom-clonezilla-4e2af.png?1771678402' width='500' height='117' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; choisir de sp&#233;cifier le nom de l'image et du p&#233;riph&#233;rique d&#232;s maintenant (now in server)&lt;br class='autobr' /&gt;
&lt;span class='spip_document_78 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH164/drbl08-clonezilla-nom-image-7af73.png?1771678402' width='500' height='164' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; choisir un nom pour l'image&lt;br class='autobr' /&gt;
&lt;span class='spip_document_79 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH101/drbl09-periph-clonezilla-8978b.png?1771678402' width='500' height='101' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; choisir les partitions ou disques &#224; sauvegarder : sda pour le disque sata n&#176;1, hda pour de l'ide&lt;br class='autobr' /&gt;
&lt;span class='spip_document_81 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH136/drbl10-types-fs-clonezilla-6f075.png?1771678402' width='500' height='136' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Si le disque/la partition est format&#233; en NTFS, choisir la priorit&#233; incluant ntfsclone&lt;/strong&gt;, afin de ne copier que les donn&#233;es utiles, et non l'int&#233;gralit&#233; du disque avec les secteurs vides. (d'o&#249; la n&#233;cessit&#233; d'avoir choisi le mode expert)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;en effet, partclone et partimage ne supportant pas le ntfs, on finit par tomber sur dd, qui copie le disque octet par octet, ce qui est tr&#232;s long, prend beaucoup de place, et est inefficace, dd copiant aussi bien les secteurs utilis&#233;s que les secteurs vides.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_82 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH217/drbl11-clonezilla-options-c5180.png?1771678402' width='500' height='217' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; choisir de &#171; supprimer les fichiers de pagination et d'hibernation de Windows &#187; afin de gagner l&#224; encore de la place. Appuyer sur espace pour s&#233;lectionner.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_83 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH195/drbl12-action-fin-1eedb.png?1771678402' width='500' height='195' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Choisir d' &#171; Arr&#234;ter le client en fin de clonage &#187;. Sinon, si le mode clonezilla n'est pas arr&#234;t&#233;, le pc risque de red&#233;marrer et de recommencer. Et si le PC ne s'arr&#234;te pas de lui-m&#234;me, rien ne dit que l'on pourra l'arr&#234;ter &#224; distance.&lt;br class='autobr' /&gt;
&lt;span class='spip_document_84 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH165/drbl13-compression-clonezilla-481d6.png?1771678402' width='500' height='165' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; choisir le niveau de compression. Le plus efficace et compatible est gzip (rapide et image compacte)&lt;br class='autobr' /&gt;
&lt;span class='spip_document_85 spip_documents spip_documents_center'&gt;
&lt;img src='https://vader-fr.fr/local/cache-vignettes/L500xH115/drbl14-taille-image-ff7ee.png?1771678402' width='500' height='115' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Laisser la taille maximale de l'image par d&#233;faut afin qu'il ne la scinde pas.&lt;/li&gt;&lt;li&gt; Relancer &lt;strike&gt;/opt/drbl/sbin/&lt;/strike&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dcs&lt;/code&gt; ou l'alias clone (s'il a &#233;t&#233; d&#233;fini)&lt;/li&gt;&lt;li&gt; Re-s&#233;lectionner le poste.&lt;/li&gt;&lt;li&gt; Choisir &#171; wake-on-lan &#187; pour le d&#233;marrer &#224; distance.&lt;/li&gt;&lt;li&gt; Attendre que le poste notifie le serveur qu'il a fini. Un poste devrait se cloner en moins d'une demi-heure.&lt;/li&gt;&lt;li&gt; Relancer &lt;strike&gt;/opt/drbl/sbin/&lt;/strike&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dcs&lt;/code&gt; ou l'alias clone (s'il a &#233;t&#233; d&#233;fini)&lt;/li&gt;&lt;li&gt; Re-s&#233;lectionner le poste. Pour aller plus vite choisir &#171; all &#187;.&lt;/li&gt;&lt;li&gt; choisir d'arr&#234;ter le mode clonezilla (clonezilla-stop).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Si le mode clonezilla n'est pas arr&#234;t&#233; pour ce poste, il cherchera &#224; refaire sans cesse la m&#234;me chose (sauvegarde du socle) &#224; chaque d&#233;marrage.&lt;/p&gt;
&lt;p&gt;&lt;strong class=&#034;caractencadre2-spip spip&#034;&gt;Les postes notifient le serveur lorsqu'ils ont fini.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
