<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://blog.roxing.net/spip.php?page=backend.xslt" ?>
<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>blog.roxing.net</title>
	<link>http://blog.roxing.net/</link>
	<description>weblog roxing.net - astuces spip, php, bash, linux &amp; more</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://blog.roxing.net/spip.php?id_rubrique=7&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>blog.roxing.net</title>
		<url>https://blog.roxing.net/local/cache-vignettes/L144xH37/siteon0-6ddb5.png?1727125340</url>
		<link>http://blog.roxing.net/</link>
		<height>37</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Debian9 - Installation apache2 mariadb phpmyadmin &amp; php7 </title>
		<link>https://blog.roxing.net/debian9-installation-apache2-mariadb-phpmyadmin</link>
		<guid isPermaLink="true">https://blog.roxing.net/debian9-installation-apache2-mariadb-phpmyadmin</guid>
		<dc:date>2017-12-04T21:20:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>mysql</dc:subject>
		<dc:subject>debian</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>howto</dc:subject>
		<dc:subject>debian stretch</dc:subject>
		<dc:subject>phpmyadmin</dc:subject>

		<description>&lt;p&gt;Comment installer un serveur http sur Debian 9 avec une base de donn&#233;es MySQL et son interface phpmyadmin en 30 secondes :&lt;&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/mysql" rel="tag"&gt;mysql&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/debian" rel="tag"&gt;debian&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/howto" rel="tag"&gt;howto&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/debian-stretch" rel="tag"&gt;debian stretch&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/phpmyadmin" rel="tag"&gt;phpmyadmin&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;apt install apache2 php7.0 logrotate mariadb-server phpmyadmin&lt;/textarea&gt;
&lt;p&gt;A l'installation de phpmyadmin laisser le champ vide pour configurer automatiquement les identifiants de connexion &#224; la base de donn&#233;es.&lt;/p&gt;
&lt;p&gt;[x] Cocher red&#233;marrer apache2 pour prendre en compte la configuration ;&lt;/p&gt;
&lt;p&gt;Puis ajouter &#034;root&#034; en superadmin de phpmyadmin&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;mysql -uroot mysql -e &#034;SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MonPassRootIci'); update user set plugin='' where user='root'; flush privileges;&#034;&lt;/textarea&gt;
&lt;p&gt;Se connecter sur &lt;a href=&#034;http://localhost/phpmyadmin&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://localhost/phpmyadmin&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Compresser, d&#233;couper et envoyer des fichiers volumineux sous Linux</title>
		<link>https://blog.roxing.net/linux-compresser-decouper-et-envoyer-des-fichiers</link>
		<guid isPermaLink="true">https://blog.roxing.net/linux-compresser-decouper-et-envoyer-des-fichiers</guid>
		<dc:date>2016-11-22T09:59:03Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>bash</dc:subject>
		<dc:subject>sauvegarde</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>xz-utils</dc:subject>
		<dc:subject>compression</dc:subject>
		<dc:subject>tmux</dc:subject>
		<dc:subject>split</dc:subject>
		<dc:subject>tar</dc:subject>

		<description>&lt;p&gt;Envoyer des fichier volumineux au travers d'une petite connexion internet peu s'av&#233;rer compliqu&#233;. Cet article liste les quelques outils n&#233;cessaires et les commandes utiles &#224; l'accomplissement de cette t&#226;che.&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/bash" rel="tag"&gt;bash&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/sauvegarde" rel="tag"&gt;sauvegarde&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/xz-utils" rel="tag"&gt;xz-utils&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/compression" rel="tag"&gt;compression&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/tmux" rel="tag"&gt;tmux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/split" rel="tag"&gt;split&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/tar" rel="tag"&gt;tar&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Xz - Compresser un fichier &lt;/h2&gt;
&lt;p&gt;Xz est un outil de compression tr&#232;s performant. Pour compresser un gros fichier avec le taux de compression maximal on utilise simplement :&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;xz -9 gros_fichier&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le fichier de sortie sera nomm&#233; gros_fichier.xz&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Split - D&#233;couper un fichier en plusieurs fichiers de taille d&#233;finie &lt;/h2&gt;
&lt;p&gt;D&#233;couper le fichier en plusieurs fragments de 1GB (-b bytes) et ajouter un suffixe num&#233;rique aux fichiers de sortie (-d )&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;split -b 1024M -d gros_fichier.xz gros_fichier.xz_part&lt;/code&gt;&lt;br class='autobr' /&gt;
donnera :&lt;/p&gt;
&lt;p&gt;gros_fichier.xz_part01&lt;br class='manualbr' /&gt;gros_fichier.xz_part02&lt;br class='manualbr' /&gt;gros_fichier.xz_part03&lt;br class='manualbr' /&gt;...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Combiner tar + xz-utils + split &lt;/h2&gt;
&lt;p&gt;A titre d'exemple, le m&#234;me r&#233;sultat que pr&#233;c&#233;dement, en utilisant conjointement tar et split :&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;tar -Jcvf - un_repertoire_ou_fichier | split -d -b 1024MB - gros_fichier.tar.xz. &lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Tmux - Envoyer les fichiers en t&#226;che de fond &lt;/h2&gt;
&lt;p&gt;Pour envoyer les fichiers vers un serveur, j'utilise scp avec une clef ssh et comme je ne veux pas saturer la connexion j'utilise l'option -l (limit). Dans l'exemple ci-dessous, -l 512 correspond &#224; environ 50ko/s.&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;scp -i ~/.ssh/ma_clef -l 512 gros_fichier.xz_part* user@host:/home/bob/incoming&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;C'est bien joli, mais si je fais des transferts &#224; distance, j'aimerais bien lancer la commande en t&#226;che de fond, surtout si l'upload est tr&#232;s long. &lt;br class='autobr' /&gt;
Pour ce faire, j'utilise tmux qui permet d'utiliser plusieurs terminaux virtuel que l'on peu d&#233;tacher ou rattacher au terminal facilement.&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;tmux new-session -d -s upload 'scp -i ~/.ssh/ma_clef -l 512 gros_fichier.xz_part* user@host:/home/bob/incoming 2&gt; errors.log'&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Rattacher le terminal pour voir l'upload en cours : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tmux attach&lt;/code&gt;&lt;br class='manualbr' /&gt;D&#233;tacher le terminal avec la combinaison de touches &lt;kbd&gt;ctrl&lt;/kbd&gt; + &lt;kbd&gt;b&lt;/kbd&gt; puis &lt;kbd&gt;d&lt;/kbd&gt;&lt;br class='autobr' /&gt;
Gr&#226;ce &#224; tmux, je peux me d&#233;connecter du shell distant et revenir plus tard... &lt;br class='autobr' /&gt;
Un simple &lt;samp&gt;tmux a&lt;/samp&gt; me permettra de consulter l'&#233;tat d'avancement de l'upload.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; Cat - R&#233;assembler les fichiers d&#233;coup&#233;s &lt;/h2&gt;
&lt;p&gt;Une fois les fichiers transf&#233;r&#233;s, je les r&#233;assemble avec un simple cat&lt;/p&gt;
&lt;p&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;cat gros_fichier.xz_part* &gt; gros_fichier.xz&lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt; D&#233;compression d'un xz ou d'un tar.xz &lt;/h2&gt;
&lt;p&gt;Avec tar (-x xtract) :&lt;br class='manualbr' /&gt;&lt;samp&gt;tar -Jxvf gros_fichier.tar.xz&lt;/samp&gt;&lt;/p&gt;
&lt;p&gt;Avec xz-utils (-d)&lt;br class='manualbr' /&gt;&lt;samp&gt;xz -d gros_fichier.xz&lt;/samp&gt;&lt;/p&gt;
&lt;p&gt;Voil&#224;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>[Debian] Java JRE 8 - Installation et Mises &#224; jour</title>
		<link>https://blog.roxing.net/debian-java-jre-installation</link>
		<guid isPermaLink="true">https://blog.roxing.net/debian-java-jre-installation</guid>
		<dc:date>2016-04-07T05:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>debian</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>firefox</dc:subject>
		<dc:subject>java</dc:subject>
		<dc:subject>oracle</dc:subject>
		<dc:subject>java-package</dc:subject>
		<dc:subject>plugin java jre</dc:subject>
		<dc:subject>java jdk</dc:subject>
		<dc:subject>howto</dc:subject>

		<description>&lt;p&gt;Installation simplifi&#233;e et mise &#224; jour de environnement d'ex&#233;cution Java d'Oracle &#169; sur Debian GNU/Linux et le plugin java embarqu&#233; dans les navigateurs.&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/debian" rel="tag"&gt;debian&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/firefox" rel="tag"&gt;firefox&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/java" rel="tag"&gt;java&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/oracle" rel="tag"&gt;oracle&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/java-package" rel="tag"&gt;java-package&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/plugin-java-jre" rel="tag"&gt;plugin java jre&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/java-jdk" rel="tag"&gt;java jdk&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/howto" rel="tag"&gt;howto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt; Installation de java-package &lt;/h2&gt;
&lt;p&gt;java-package est un script permettant de g&#233;n&#233;rer un paquet # !Debian afin de faciliter l'installation et la mise &#224; jour de l'&lt;a href=&#034;https://fr.wikipedia.org/wiki/Environnement_d%27ex%C3%A9cution_Java&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;Environnement d'ex&#233;cution Java&lt;/a&gt; (&lt;abbr title=&#034;Java Runtime Environment&#034;&gt;JRE&lt;/abbr&gt;).&lt;/p&gt;
&lt;p&gt;R&#233;cup&#233;rer java-package et les outils n&#233;cessaires &#224; la g&#233;n&#233;ration du paquet :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;apt-get install java-package build-essential java-common&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;cup&#233;rer l'archive sur le site d'Oracle &#169;&lt;/h2&gt;
&lt;p&gt;Rendez vous sur le site &lt;a href=&#034;http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;d'Oracle&#169;&lt;/a&gt; afin de t&#233;l&#233;charger les archives.&lt;/p&gt;
&lt;div class=&#034;attention&#034;&gt;
Bien r&#233;cup&#233;rer les archives en &lt;strong&gt;tar.gz&lt;/strong&gt; sinon le script de g&#233;n&#233;ration du paquet ne &lt;strong&gt;fonctionnera pas&lt;/strong&gt; ! &lt;/div&gt;
&lt;p&gt;On peux &#233;galement r&#233;cup&#233;rer les archives via WGET ou CURL (Et passer outre l'acceptation de la licence...)&lt;/p&gt;
&lt;p&gt;Exemple de commande &lt;a href=&#034;https://fr.wikipedia.org/wiki/CURL&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;CURL&lt;/a&gt; pour r&#233;cup&#233;rer java 8.77 &lt;strong&gt;32BIT&lt;/strong&gt; via le terminal&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;curl -v -j -k -L -H &#034;Cookie: oraclelicense=accept-securebackup-cookie&#034; http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jre-8u77-linux-i586.tar.gz &gt; jre-8u77-linux-i586.tar.gz&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Exemple de Commande &lt;a href=&#034;https://fr.wikipedia.org/wiki/WGET&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;WGET&lt;/a&gt; pour r&#233;cup&#233;rer java 8.77 &lt;strong&gt;64BIT&lt;/strong&gt; via le terminal&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; wget --no-check-certificate --no-cookies --header &#034;Cookie: oraclelicense=accept-securebackup-cookie&#034; http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jre-8u77-linux-x64.tar.gz&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;G&#233;n&#233;rer le paquet java JRE 8 pour votre distribution Debian&lt;/h2&gt;
&lt;p&gt;une fois l'archive t&#233;l&#233;charg&#233;e il suffit d'ex&#233;cuter le script &lt;strong&gt;make-jpkg&lt;/strong&gt; sous l'identifiant utilisateur :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;fakeroot make-jpkg jre-8u77-linux-i586.tar.gz&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;qui devrait d&#233;marrer ainsi :&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;Detected Debian build architecture: i386 Detected Debian GNU type: i586-linux-gnu Detected product: Java(TM) Runtime Environment (JRE) Standard Edition, Version 8 Update 77 Oracle(TM) Is this correct [Y/n]: y &lt;- Checking free diskspace: done. In the next step, the binary file will be extracted. Probably a license agreement will be displayed. Please read this agreement carefully. If you do not agree to the displayed license terms, the package will not be built. Press [Return] to continue: Testing extracted archive... okay.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;Une fois le script termin&#233; l'installation du nouveau paquet se fait via la commande dpkg :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;dpkg -i oracle-java8-jre_8u77_i386.deb&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voil&#224; ! L'environnement d'ex&#233;cution java et d&#233;sormais op&#233;rationnel !&lt;/p&gt;&lt;/div&gt;
		&lt;div class="hyperlien"&gt;Voir en ligne : &lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html" class="spip_out"&gt;T&#233;l&#233;chagement Java sur le site d'Oracle&#169;.&lt;/a&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;La proc&#233;dure reste la m&#234;me pour l'installation de &lt;a href=&#034;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Java SE Development Kit 8u77&lt;/a&gt; seul les liens et noms de fichiers sont &#224; remplacer.&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>LXC root password </title>
		<link>https://blog.roxing.net/lxc-root-password</link>
		<guid isPermaLink="true">https://blog.roxing.net/lxc-root-password</guid>
		<dc:date>2015-09-10T07:36:08Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>debian</dc:subject>
		<dc:subject>LXC</dc:subject>
		<dc:subject>chroot</dc:subject>
		<dc:subject>howto</dc:subject>

		<description>
&lt;p&gt;Pour changer le mot de passe sans avoir &#224; se connecter au container LXC, Il faut &#8220;chrooter&#8221; son syst&#232;me de fichier (chroot est disponible dans les paquets coreutils de Debian) . &lt;br class='autobr' /&gt;
&#8220;Chrooter&#8221; le syst&#232;me de fichier du container LXC &#8220;NomContainer&#8221; :
&lt;br class='autobr' /&gt;
root@pierrox-laptop :# chroot /var/lib/lxc/NomContainer/rootfs &lt;br class='autobr' /&gt;
G&#233;n&#233;rer un nouveau mot de passe root pour le container LXC :
&lt;br class='autobr' /&gt;
root@pierrox-laptop :# passwd Enter new UNIX password : Retype new UNIX password : passwd : password updated successfully (&#8230;)&lt;/p&gt;


-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/debian" rel="tag"&gt;debian&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/lxc" rel="tag"&gt;LXC&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/chroot" rel="tag"&gt;chroot&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/howto" rel="tag"&gt;howto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Pour changer le mot de passe sans avoir &#224; se connecter au container LXC, Il faut &#8220;chrooter&#8221; son syst&#232;me de fichier (chroot est disponible dans les paquets coreutils de Debian) .&lt;/p&gt;
&lt;p&gt;&#8220;Chrooter&#8221; le syst&#232;me de fichier du container LXC &#8220;NomContainer&#8221; :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;root@pierrox-laptop:# chroot /var/lib/lxc/NomContainer/rootfs&lt;/textarea&gt;
&lt;p&gt;G&#233;n&#233;rer un nouveau mot de passe root pour le container LXC :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;root@pierrox-laptop:# passwd
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully&lt;/textarea&gt;
&lt;p&gt;Quitter l'environement &#034;chroot&#233;&#034; :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;root@pierrox-laptop:# exit&lt;/textarea&gt;
&lt;p&gt;Attention, si vous utilisez un shell diff&#233;rent de bash tel que zsh, il se peut que vous vous trouviez confront&#233; &#224; cette erreur :&lt;br class='autobr' /&gt;
&#171; chroot : impossible d'ex&#233;cuter la commande &#171; /bin/zsh &#187; : Aucun fichier ou dossier de ce type &#187;.&lt;/p&gt;
&lt;p&gt;dans ce cas :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;root@pierrox-laptop:# /usr/sbin/chroot /var/lib/NomContainer/rootfs /bin/bash&lt;/textarea&gt;
&lt;p&gt;devrait permettre de chrooter le container lxc.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>LXC Debian Jessie </title>
		<link>https://blog.roxing.net/lxc-debian-jessie</link>
		<guid isPermaLink="true">https://blog.roxing.net/lxc-debian-jessie</guid>
		<dc:date>2015-09-05T21:54:48Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>bash</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>LXC</dc:subject>
		<dc:subject>virtualisation</dc:subject>
		<dc:subject>Debian Jessie</dc:subject>
		<dc:subject>lxc nat</dc:subject>
		<dc:subject>howto</dc:subject>

		<description>&lt;p&gt;Installer et configurer LXC sur Debian Jessie en trois coups de cuiller &#224; pot&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/bash" rel="tag"&gt;bash&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/lxc" rel="tag"&gt;LXC&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/virtualisation" rel="tag"&gt;virtualisation&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/debian-jessie" rel="tag"&gt;Debian Jessie&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/lxc-nat" rel="tag"&gt;lxc nat&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/howto" rel="tag"&gt;howto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Installation de LXC&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;apt-get install lxc lxctl&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Cr&#233;ation d'un container&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;lxc-create -n NomContainer -t debian&lt;/textarea&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; -n nom du container &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; -t template de l'OS &#224; utiliser&lt;/p&gt;
&lt;p&gt;Bien noter le mot de passe root qui s'affichera &#224; la fin de la cr&#233;ation du container lxc.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Configuration du r&#233;seau sur l'h&#244;te&lt;/h2&gt;
&lt;p&gt;Il y a plusieurs fa&#231;ons de configurer le r&#233;seau, pour ma part je pr&#233;f&#232;re cr&#233;er un (ou plusieurs) sous-r&#233;seaux pour mes containers qui seront &#034;natter&#034; par la machine h&#244;te.&lt;br class='autobr' /&gt;
Pour illustrer, on pourrait dire que les sous-r&#233;seaux sont cloisonn&#233;s &#224; l'int&#233;rieur de l'h&#244;te qui fera office de pare-feu vers l'ext&#233;rieur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Autoriser &#034;l'ip forwarding&#034;&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;nano /etc/sysctl.conf net.ipv4.ip_forward=1&lt;/textarea&gt;
&lt;p&gt;Recharger la configuration du syst&#232;me pour prendre en compte la modification.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;sysctl -p&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Configurer l'interface qui servira de bridge&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La paquet bridge-utils est n&#233;cessaire, il est normalement install&#233; en d&#233;pendance de lxc, au cas ou :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;apt-get install bridge-utils&lt;/textarea&gt;
&lt;p&gt;Param&#233;trage de /etc/network/interfaces&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='10' class='spip_cadre spip_cadre_block' dir='ltr'&gt;# The loopback network interface auto lo iface lo inet loopback # Configuration du Bridge pour le sous r&#233;seau virtualis&#233; auto br0 iface br0 inet static address 192.168.100.254 netmask 255.255.255.0 bridge_ports none&lt;/textarea&gt;
&lt;p&gt;Red&#233;marrer le service r&#233;seau afin de prendre en compte la nouvelle interface br0&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;service networking restart&lt;/textarea&gt;
&lt;p&gt;V&#233;rifier que l'interface r&#233;seau est bien pr&#233;sente :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ifconfig&lt;/code&gt; devrait renvoyer quelque chose comme &#231;a&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='11' class='spip_cadre spip_cadre_block' dir='ltr'&gt;br0 Link encap:Ethernet HWaddr 22:ce:06:00:1d:7f inet adr:192.168.100.254 Bcast:192.168.100.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:24 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:0 (0.0 B) TX bytes:3915 (3.8 KiB)&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Activer le partage de connexion internet pour les containers LXC :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On va donner l'acc&#232;s internet aux containers LXC &#224; travers wlan0 (On verra comment automatiser &#231;a sur un h&#244;te au profil itin&#233;rant qui se connecte sur des interfaces diverses et vari&#233;es : wlan0 eth0 usb0... )&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Configuration du r&#233;seau sur les containers LXC&lt;/h2&gt;
&lt;p&gt;Attention ! il ne s'agit pas de param&#233;trer le r&#233;seau &#224; l'int&#233;rieur du container mais d'&#233;diter un fichier de configuration qui se chargera de configurer le r&#233;seau au d&#233;marrage de celui-ci.&lt;/p&gt;
&lt;p&gt;Par d&#233;faut, Debian installe les nouveaux containers dans &lt;strong&gt;/var/lib/lxc&lt;/strong&gt; ; ce dossier contient tous les containers cr&#233;&#233;s, qui eux-m&#234;me contiennent des fichiers de logs, de configs et le dossier &lt;strong&gt;rootfs&lt;/strong&gt; qui comme son nom l'indique, correspond &#224; la racine du syst&#232;me virtualis&#233; ( / ).&lt;/p&gt;
&lt;p&gt;Afin de configurer le r&#233;seau sur notre container LXC, nous allons &#233;diter son fichier de config &lt;strong&gt; /var/lib/lxc/NomContainer&lt;/strong&gt;&lt;br class='autobr' /&gt;
Extrait de la configuration r&#233;seau d'un container &lt;strong&gt;/var/lib/lxc/NomContainer/config&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='7' class='spip_cadre spip_cadre_block' dir='ltr'&gt;lxc.network.type = veth lxc.network.name = veth0 lxc.network.flags = up lxc.network.link = br0 lxc.network.veth.pair = veth0 lxc.network.ipv4 = 192.168.100.1/24 lxc.network.ipv4.gateway = 192.168.100.254&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;D&#233;marrage du container et test du r&#233;seau&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;lxc-start -n NomContainer -d&lt;/textarea&gt;
&lt;p&gt;&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; -n nom du container &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; -d en mode daemon&lt;/p&gt;
&lt;p&gt;La commande pour contr&#244;ler si notre container LXC est bien d&#233;marr&#233; :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;lxc-ls -f&lt;/textarea&gt;
&lt;p&gt;Devrait retourner&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;NAME STATE IPV4 IPV6 AUTOSTART --------------------------------------------------------- NomContainer RUNNING 192.168.100.1 - NO&lt;/textarea&gt;
&lt;p&gt;Sur l'h&#244;te un petit ping 192.168.100.1 devrait retourner :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data. 64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.087 ms&lt;/textarea&gt;
&lt;p&gt;On va se connecter directement au container LXC&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;lxc-console -n NomContainer&lt;/textarea&gt;
&lt;p&gt;Se connecter au container, j'esp&#232;re que vous avez bien not&#233; le mot de passe root lors de sa cr&#233;ation sinon vous pouvez toujours &lt;a href='https://blog.roxing.net/lxc-root-password' class=&#034;spip_in&#034;&gt;consulter l'article d&#233;di&#233; au changement de mot de passe root d'un container LXC&lt;/a&gt;.&lt;br class='autobr' /&gt;
Une fois connect&#233;, on va tester l'acc&#232;s internet en utilisant apt pour installer ping afin de &#034;pinguer&#034; la machine h&#244;te :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='11' class='spip_cadre spip_cadre_block' dir='ltr'&gt;root@NomContainer:~#apt-get install inetutils-ping Les NOUVEAUX paquets suivants seront install&#233;s&#160;: inetutils-ping (...) Param&#233;trage de inetutils-ping (2:1.9.2.39.3a460-3) .. root@NomContainer:~#ping 192.168.100.254 PING 192.168.100.254 (192.168.100.254): 56 data bytes 64 bytes from 192.168.100.254: icmp_seq=0 ttl=64 time=0,163 ms 64 bytes from 192.168.100.254: icmp_seq=1 ttl=64 time=0,163 ms&lt;/textarea&gt;
&lt;p&gt;Et voil&#224;, Juste &#231;a marche !&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Pour quitter un container, utilisez la combinaison de touche &lt;kbd&gt;ctrl&lt;/kbd&gt;+&lt;kbd&gt;a&lt;/kbd&gt; puis &lt;kbd&gt;q&lt;/kbd&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>[BASH] Liste des variables</title>
		<link>https://blog.roxing.net/bash-liste-des-variables</link>
		<guid isPermaLink="true">https://blog.roxing.net/bash-liste-des-variables</guid>
		<dc:date>2015-02-14T12:53:41Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>bash</dc:subject>
		<dc:subject>shell</dc:subject>
		<dc:subject>script</dc:subject>
		<dc:subject>linux</dc:subject>

		<description>&lt;p&gt;Aide m&#233;moire listant toutes les variables # !shell utiles pour l'&#233;criture de # !scripts .&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/bash" rel="tag"&gt;bash&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/shell" rel="tag"&gt;shell&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/script-50" rel="tag"&gt;script&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Manipulation de variables simples&lt;/h2&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;var=val&lt;/code&gt;&lt;br class='autobr' /&gt;
&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;var=&#034;a b&#034;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;affectation de la variable &#034;var&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$var&lt;/code&gt; &lt;br class='autobr' /&gt; &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${var}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;contenu de la variable &#034;var&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${#var}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;longueur de la variable &#034;var&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${var:-valeur}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;affectation conditionnelle, si &#034;var&#034; non d&#233;fini alors var = valeur&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;export var&lt;/code&gt; &lt;br class='autobr' /&gt; &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;declare -x var&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;exportation de la variable &#034;var&#034; vers les shells fils&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;affichage de l'ensemble des variables d&#233;finies dans le shell&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;unset var&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;suppression de la variable &#034;var&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;h2 class=&#034;spip&#034;&gt;Tableaux&lt;/h2&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;tab[0]=val&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;affectation du premier enregistrement du tableau &#034;tab&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${tab[0]}&lt;/code&gt;&lt;br class='autobr' /&gt;
&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$tab&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;contenu du premier enregistrement du tableau &#034;tab&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${tab[11]}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;contenu du douzi&#232;me enregistrement du tableau &#034;tab&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${tab[*]}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ensemble des enregistrements du tableau &#034;tab&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${#tab[11]}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;longueur du douzi&#232;me enregistrement du tableau &#034;tab&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${#tab[*]}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;nombre d'enregistrements du tableau &#034;tab&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${!tab[@]}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;liste des clefs ( Index ) du tableau &#034;tab&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;h2 class=&#034;spip&#034;&gt;Param&#232;tres positionnels et arguments&lt;/h2&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;nom du script&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$1&lt;/code&gt; &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$2&lt;/code&gt; ... &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${10}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;param&#232;tres positionnels (1, 2 et 10)&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$#&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;nombre de param&#232;tres positionnels&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$*&lt;/code&gt;&lt;br class='autobr' /&gt; &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$@&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ensemble des param&#232;tres positionnels, &#233;quivalant &#224; $1 $2 ... $&lt;i&gt;n&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;h2 class=&#034;spip&#034;&gt;Variables sp&#233;ciales&lt;/h2&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$$&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;PID du shell courant&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$!&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;PID du dernier travail lanc&#233; en arri&#232;re plan&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$?&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;code retour de la derni&#232;re commande&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;${PIPESTATUS[0]}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;code retour de la premi&#232;re commande d'un pipe&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;h2 class=&#034;spip&#034;&gt;Variables d'environnement&lt;/h2&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$HOME&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;chemin du r&#233;pertoire personnel de l'utilisateur&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$OLDPWD&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;chemin du r&#233;pertoire pr&#233;c&#233;dent&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$PATH&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;liste des chemins de recherche des commandes ex&#233;cutables&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$PPID&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;PID du processus p&#232;re du shell&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$PS1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;invite principale du shell&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$PS2&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;invite secondaire du shell&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$PS3&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;invite de la structure shell &#034;select&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$PS4&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;invite de l'option shell de d&#233;bogage &#034;xtrace&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$PWD&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;chemin du r&#233;pertoire courant&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$RANDOM&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;nombre entier al&#233;atoire compris entre 0 et 32767&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$REPLY&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;variable par d&#233;faut de la commande &#034;read&#034; et de la structure shell &#034;select&#034;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;$SECONDS&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;nombre de secondes &#233;coul&#233;es depuis le lancement du shell&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Linux Mysql - Sauvegarde &amp; compression</title>
		<link>https://blog.roxing.net/linux-mysql-sauvegarde-compression</link>
		<guid isPermaLink="true">https://blog.roxing.net/linux-mysql-sauvegarde-compression</guid>
		<dc:date>2015-02-12T10:58:26Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>bash</dc:subject>
		<dc:subject>mysql</dc:subject>
		<dc:subject>bzip2 </dc:subject>
		<dc:subject>mysqldump</dc:subject>

		<description>&lt;p&gt;Quelques commandes bash utiles pour mysql&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/bash" rel="tag"&gt;bash&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/mysql" rel="tag"&gt;mysql&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gzip" rel="tag"&gt;bzip2 &lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/mysqldump" rel="tag"&gt;mysqldump&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;su -c &#034;mysqldump -u$user-p$password $mydatabase | bzip2 &gt; /$mypath/&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;date +%F-%H%M&lt;/code&gt;_$output.sql.bz2&#034; $user&lt;/textarea&gt;
&lt;p&gt;Sauvegarder toute la base en concat&#233;nant le nom de l'hostname + la date pour le nom du fichier de sauvegarde :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;mysqldump -u$user -p$password --all-database | bzip2 &gt; $(date +%F-%H%M)-$(hostname -A).tar.bz2&lt;/textarea&gt;
&lt;p&gt;En th&#233;orie la commande ci-dessus devrait fonctionner sans probl&#232;me. &lt;br class='autobr' /&gt;
J'ai eu un bug ? sur ma debian, avec le r&#233;sultat de la commande de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;hostname -a&lt;/code&gt; qui me renvoyait syst&#233;matique un espace en fin de cha&#238;ne.&lt;/p&gt;
&lt;p&gt;Je vous laisse appr&#233;cier la basherie ci-dessous visant a nommer le fichier de sortie en supprimant l'espace indisposant avec la commande sed.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;mysqldump -u$user-p$pass --all-databases | bzip2 &gt; $(echo &#034;$(date +%F-%H%M)-$(hostname -A)&#034; | sed 's/ //g').sql.bz2&lt;/textarea&gt;
&lt;p&gt;Pour importer une sauvegarde Mysql au format bz2 sans faire une d&#233;compression pr&#233;alable.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;bunzip2 &lt; dump.sql.bz2 | mysql -uuser -ppass database&lt;/textarea&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Compiler un kernel pour LXC</title>
		<link>https://blog.roxing.net/compiler-un-kernel-pour-lxc</link>
		<guid isPermaLink="true">https://blog.roxing.net/compiler-un-kernel-pour-lxc</guid>
		<dc:date>2013-06-20T14:24:36Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>kernel</dc:subject>
		<dc:subject>ovh</dc:subject>
		<dc:subject>grub2</dc:subject>
		<dc:subject>cgroup</dc:subject>
		<dc:subject>openvz</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>LXC</dc:subject>
		<dc:subject>howto</dc:subject>

		<description>&lt;p&gt;Suite &#224; l'abandon de la technologie openvz dans les d&#233;pots officiels de debian wheezy ; Je dois me mettre &#224; la page et utiliser LXC pour virtualiser mes environements linux.&lt;br class='autobr' /&gt;
Le comble c'est que LXC ne n&#233;cessite pas de recompilation de noyaux mais malheureusement les kernels livr&#233;s par ovh n'ont pas les cgroup d'activ&#233;s&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/kernel" rel="tag"&gt;kernel&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/ovh" rel="tag"&gt;ovh&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/grub2" rel="tag"&gt;grub2&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/cgroup" rel="tag"&gt;cgroup&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/openvz" rel="tag"&gt;openvz&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/lxc" rel="tag"&gt;LXC&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/howto" rel="tag"&gt;howto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;cup&#233;rer les sources du noyau, le patch grsec et la config ovh qui va bien&lt;/h2&gt;
&lt;p&gt;Se rendre dans un dossier de travail&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cd /usr/src&lt;/textarea&gt;
&lt;p&gt;T&#233;l&#233;chargement du kernel&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.9.6.tar.xz&lt;/textarea&gt;
&lt;p&gt;T&#233;l&#233;chargement du patch grsecurity&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;tous les patchs Grsec sur github&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; correspondant &#224; la version du noyau (3.9.6 dans l'article)&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;wget https://raw.github.com/slashbeast/grsecurity-scrape/master/test/grsecurity-2.9.1-3.9.6-201306182033.patch&lt;/textarea&gt;
&lt;p&gt;r&#233;cuperer la config du noyaux ovh sur leur serveur ftp&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;Tous les noyaux ovh ftp://ftp.ovh.net/made-in-ovh/bzImage&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;wget ftp://ftp.ovh.net/made-in-ovh/bzImage/latest-production/config-3.8.13-xxxx-grs-ipv6-64&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;parer les sources&lt;/h2&gt;
&lt;p&gt;d&#233;compresser&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;package xz-utils sur debian et consorts&#034; id=&#034;nh3&#034;&gt;3&lt;/a&gt;]&lt;/span&gt; le noyau&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;tar -Jxf linux-3.9.6.tar.xz&lt;/textarea&gt;
&lt;p&gt;copier la configuration ovh dans racine du noyau linux d&#233;compress&#233; pr&#233;c&#233;demment&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cp config-3.8.13-xxxx-grs-ipv6-64 linux-3.9.6&lt;/textarea&gt;
&lt;p&gt;aller dans le r&#233;pertoire du noyau fraichement d&#233;compress&#233;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cd linux-3.9.6&lt;/textarea&gt;
&lt;p&gt;appliquer le patch grsec&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;patch -p1 &lt; ../grsecurity-2.9.1-3.9.6-201306182033.patch&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Configuration des cgroups&lt;/h2&gt;
&lt;p&gt;dans le repertoire du kernel, lancer l'utilitaire de configuration du noyau &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;make menuconfig&lt;/code&gt; et configurer lxc cgroup&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;d'apr&#233;s la page du wiki de lxc sur le sourceforge officiel&#034; id=&#034;nh4&#034;&gt;4&lt;/a&gt;]&lt;/span&gt; en activant les options suivantes :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;-&gt; General setup [renommer votre kernel] Local version - append to kernel release -&gt; Control Group support [x] Namespace cgroup subsystem [x] Freezer cgroup subsystem [x] Cpuset support [x] Simple CPU accounting cgroup subsystem [x] Resource counters [x] Memory resource controllers for Control Groups -&gt; Group CPU scheduler [x] Basis for grouping tasks (Control Groups) (!) [x] Group scheduling for SCHED_OTHER (NEW) [x] CPU bandwidth provisioning for FAIR_GROUP_SCHED [x] Group scheduling for SCHED_RR/FIFO -&gt; Namespaces support [x] UTS namespace [x] IPC namespace [x] User namespace (!) [x] Pid namespace [x] Network namespace -&gt; Device Drivers -&gt; Character devices [x] Support multiple instances of devpts [*] Unix98 PTY support -&gt; Network device support [x] MAC-VLAN support [x] Virtual ethernet pair device -&gt; Networking support -&gt; Networking options [x] 802.1d Ethernet Bridging [x] Network priority cgroup -&gt; Security options [x] File POSIX Capabilities (!)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;attention&#034;&gt;
(!) suivant la version/configuration du kernel certaines options peuvent &#234;tre d&#233;plac&#233;es ou inexistantes. Pour activer l'option &lt;strong&gt;usernamespace&lt;/strong&gt; je suis tomb&#233; sur un bug pour le noyau 3.8. De plus une contrainte oblige a d&#233;sactiver le syst&#232;me de fichier &lt;strong&gt;XFS&lt;/strong&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;bug 917708 de compatibilit&#233;&#034; id=&#034;nh5&#034;&gt;5&lt;/a&gt;]&lt;/span&gt; pour pouvoir activer cette option.
XFS devrait &#234;tre support&#233; &#224; partir des versions 3.10 du kernel linux.
&lt;/div&gt;
&lt;p&gt;Une fois votre configuration termin&#233;e, retourner sur la page d'accueil de menuconfig s&#233;lectionner &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt; Exit &gt;&lt;/code&gt;, une boite de dialogue vous demande d'enregistrer votre configuration selectionner &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt; yes &gt;&lt;/code&gt; avant de quitter.&lt;/p&gt;
&lt;p&gt;Avant de compiler, On va tester la configuration :&lt;/p&gt;
&lt;pre&gt; CONFIG=/usr/src/linux-3.9.6/.config lxc-checkconfig --- Namespaces --- Namespaces: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Utsname namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Ipc namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Pid namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; User namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Network namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Multiple /dev/pts instances: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; --- Control groups --- Cgroup: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup clone_children flag: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup device: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup sched: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup cpu account: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup memory controller: &lt;span style=&#034;color:#CC6600&#034;&gt;missing&lt;/span&gt; (!) Cgroup cpuset: &lt;span style=&#034;green&#034;&gt;enabled&lt;/span&gt; --- Misc --- Veth pair device: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Macvlan: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Vlan: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; File capabilities: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; &lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Cgroup memory controller : missing (!) - Debian Wheezy&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;attention&#034;&gt; Sur Debian wheezy, avec le paquet lxc, la configuration de &#034;memory controller&#034; semble manquante. En installant la derni&#232;re version de &lt;a href=&#034;http://ftp.fr.debian.org/debian/pool/main/l/lxc/lxc_0.9.0~alpha3-2_amd64.deb&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;lxc&lt;/a&gt; (0.9) la v&#233;rification devient OK
&lt;/div&gt;
&lt;p&gt;Youpi ! la configuration est maintenant termin&#233;e, il est temps de lancer la compilation avant de boire un caf&#233; !&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Compilation du noyau&lt;/h2&gt;
&lt;p&gt;Penser &#224; installer les outils pour la compilation des noyaux. Sur Debian, le paquet s'appelle build-essential c'est un meta-paquet d&#233;di&#233; a l'installation de tous les outils de compilation make, gcc, etc..&lt;/p&gt;
&lt;p&gt;Lancer la compilation, ou -j X (correspond au nombre de core ) :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;make -j 8&lt;/textarea&gt;
&lt;p&gt;Le kernel se retrouve dans le dossier arch/x86/boot. On va Copier/renommer le nouveau kernel dans le dossier /boot du syst&#232;me :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cp arch/x86/boot/bzImage /boot/bzImage-3.9.6-xxxx-grs-ipv6-64-lxc&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Installer le kernel et red&#233;marrer &lt;/h2&gt;
&lt;p&gt;Je vous invite &#224; consulter mon article pr&#233;c&#233;dent intitul&#233; &lt;a href='https://blog.roxing.net/installer-un-nouveau-kernel-linux-en-5-etapes' class=&#034;spip_in&#034;&gt;Installer un nouveau kernel Linux en 5 &#233;tapes&lt;/a&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;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;tous les patchs &lt;a href=&#034;https://github.com/slashbeast/grsecurity-scrape/tree/master/test&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Grsec sur github&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&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;Tous les noyaux ovh &lt;a href=&#034;ftp://ftp.ovh.net/made-in-ovh/bzImage&#034; class=&#034;spip_out&#034;&gt;ftp://ftp.ovh.net/made-in-ovh/bzImage&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb3&#034;&gt;
&lt;p&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;package xz-utils sur debian et consorts&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4&#034; class=&#034;spip_note&#034; title=&#034;Notes 4&#034; rev=&#034;appendix&#034;&gt;4&lt;/a&gt;] &lt;/span&gt;d'apr&#233;s la page du wiki de lxc sur le &lt;a href=&#034;http://lxc.sourceforge.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;sourceforge officiel&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5&#034; class=&#034;spip_note&#034; title=&#034;Notes 5&#034; rev=&#034;appendix&#034;&gt;5&lt;/a&gt;] &lt;/span&gt;bug &lt;a href=&#034;https://bugzilla.redhat.com/show_bug.cgi?id=917708&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;917708&lt;/a&gt; de compatibilit&#233;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Configuration du kernel r&#233;alis&#233; &#224; partir de &lt;a href=&#034;http://lxc.sourceforge.net/man/lxc.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://lxc.sourceforge.net/man/lxc.html&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Installer un kernel linux en 5 &#233;tapes</title>
		<link>https://blog.roxing.net/installer-un-nouveau-kernel-linux-en-5-etapes</link>
		<guid isPermaLink="true">https://blog.roxing.net/installer-un-nouveau-kernel-linux-en-5-etapes</guid>
		<dc:date>2013-05-17T02:44:19Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>kernel</dc:subject>
		<dc:subject>ovh</dc:subject>
		<dc:subject>grub2</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>howto</dc:subject>

		<description>
&lt;p&gt;1 - Mettre le nouveau kernel linux super optimis&#233; dans le dossier /boot wget http://mon.super.kernel.com/bzimage-superkernel /boot2 - Editer Le fichier de &#034;pr&#233;-configuration&#034; personnalis&#233; pour Grub2 nano /etc/grub.d/40_custom &lt;br class='autobr' /&gt;
Et ajouter une entr&#233;e en s'inspirant de /boot/grub/grub.cfg (notamment pour les uuid) pour votre tout nouveau kernel
&lt;br class='autobr' /&gt;
menuentry &#034;Super Kernel&#034; insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search (&#8230;)&lt;/p&gt;


-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/kernel" rel="tag"&gt;kernel&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/ovh" rel="tag"&gt;ovh&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/grub2" rel="tag"&gt;grub2&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/howto" rel="tag"&gt;howto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;1 - Mettre le nouveau kernel linux super optimis&#233; dans le dossier /boot&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;wget http://mon.super.kernel.com/bzimage-superkernel /boot&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;2 - Editer Le fichier de &#034;pr&#233;-configuration&#034; personnalis&#233; pour Grub2&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;nano /etc/grub.d/40_custom&lt;/textarea&gt;
&lt;p&gt;Et ajouter une entr&#233;e en s'inspirant de &lt;strong&gt;/boot/grub/grub.cfg&lt;/strong&gt; (notamment pour les uuid) pour votre tout nouveau kernel&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='9' class='spip_cadre spip_cadre_block' dir='ltr'&gt;menuentry &#034;Super Kernel&#034; { insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set 698e9aea-42f5-4c38-adc5-a34a4b7c0c11 linux /boot/bzimage-superkernel root=/dev/sda1 ro quiet }&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;3 - Forcer Grub &#224; utiliser le Super Kernel par d&#233;faut&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;nano /etc/default/grub&lt;/textarea&gt;
&lt;p&gt;rep&#233;rer la ligne &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;GRUB_DEFAULT=&#034;1&#034;&lt;/code&gt;, sinon l'ajouter.&lt;/p&gt;
&lt;p&gt;Modifier par le nom du &#034;menuentry&#034; cr&#233;&#233; pr&#233;c&#233;demment.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;GRUB_DEFAULT=&#034;Super Kernel&#034;&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;4 - R&#233;g&#233;n&#233;rer le fichier de config de Grub2&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;grub-mkconfig -o /boot/grub/grub.cfg&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;5 - Zen et Confiant on Reboot !&lt;/h2&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
