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

<channel>
	<title>Archives des Linux - Xavki</title>
	<atom:link href="https://xavki.blog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Open your Sources..</description>
	<lastBuildDate>Sat, 09 Apr 2022 20:45:53 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Linux c&#8217;est partie pour les tutos gratuit et en français ;)</title>
		<link>https://xavki.blog/linux-cest-partie-pour-les-tutos-gratuit-et-en-francais/</link>
		
		<dc:creator><![CDATA[xavki]]></dc:creator>
		<pubDate>Sat, 09 Apr 2022 20:45:47 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://xavki.blog/?p=1457</guid>

					<description><![CDATA[<p>J&#8217;ai craqué. Cela fait environ 3 ans que je vois des personnes qui pourraient parler facilement de linux et bien mieux que moi. Non pas que je ne sache pas l&#8217;utiliser mais simplement que le monde professionnel fait que l&#8217;on... <a href="https://xavki.blog/linux-cest-partie-pour-les-tutos-gratuit-et-en-francais/" class="suite"><i class="fal fa-long-arrow-right"></i></a></p>
<p>L’article <a href="https://xavki.blog/linux-cest-partie-pour-les-tutos-gratuit-et-en-francais/">Linux c&#8217;est partie pour les tutos gratuit et en français ;)</a> est apparu en premier sur <a href="https://xavki.blog">Xavki</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>J&#8217;ai craqué. Cela fait environ 3 ans que je vois des personnes qui pourraient parler facilement de linux et bien mieux que moi. Non pas que je ne sache pas l&#8217;utiliser mais simplement que le monde professionnel fait que l&#8217;on utilise pas forcément suffisament régulièrement les chose &#8220;basiques&#8221; de manière à avoir une vision globale pour sentir comment aborder &#8220;pédagogiquement&#8221; le sujet.</p>



<p>Donc finalement je me suis dit que je ne trouveraispas ce que j&#8217;aimerais trouver pour compléter la chaine. Il y a beaucoup de choses biens et même très bien, bien plus pédagogiques que je ne saurais le faire mais malheureusement le champs à couvrir est tellement large que les playlists existantes s&#8217;arrêtent soit vites soit ne commencent pas par un niveau bas au point de débuter. Eh oui car ça demande un temps d&#8217;investissement de dingue et nous n&#8217;avons pas forcément le temps. Néanmoins je vais essayer de le prendre.</p>



<h2 class="wp-block-heading">Commencer par Linux c&#8217;est INDISPENSABLE</h2>



<p>Dans une vidéo, j&#8217;avais déjà évoqué mon point de vue à ce sujet. Mais à force de voir trop de personnes qui ne veulent pas creuser ce sujet et trop de formation devops (ou autour de ce domaine) laisser penser que l&#8217;on peut y aller la fleur au fusil, je me suis dit faut vraiment en parler et surtout proposer ce qu&#8217;il faut <a href="https://xavki.blog/tutoriels-et-formation-linux-fr/">pour débuter linux</a>.</p>



<p>C&#8217;est bien beau de ramener ma fraise mais si on tente pas d&#8217;apporter une solution à ce que l&#8217;on pense être un manque, vaut mieux éviter de donner son avis. Et c&#8217;est ce sentiment qui me mettait mal à l&#8217;aise et qui au bout d&#8217;un moment m&#8217;a pousé à y aller.</p>



<h2 class="wp-block-heading">Après le chemin est long et semé de virages tortueux</h2>



<p>Soyons clair, une autre difficulté qui doit freiner pas mal de monde et moi le premier, c&#8217;est la longueur de la route à prendre et les nombreux chemins à emprunter.</p>



<p>Linux c&#8217;est toufu. Cela peut être complexe et donner le sentiment d&#8217;y être si on se laisse aller dans la technique pure et dure. C&#8217;est ma principale difficultée après avoir commencé cela. J&#8217;essaie tant bien que mal d&#8217;expliquer un maximum de termes en évitant les choses inexpliquées ou qui tombent un peu du ciel. Mais c&#8217;est pas facile. </p>



<p>Pour cela j&#8217;ai commencé par le hardware que je n&#8217;ai pas fini. J&#8217;ai voulu mettre un peu plus d&#8217;efforts sur la forme mais sur la durée cela sera intenable. J&#8217;ai donc switché rapidement sur l&#8217;OS via le boot etc. Et on reviendra plus tard, sur la mémoire, les disques et autres éléments hardware que je n&#8217;ai pas encore couverts. J&#8217;aime vraiment pas faire ça mais bon on va faire une exception.</p>



<h2 class="wp-block-heading">Mais c&#8217;est aussi un bon moment pour réviser les bases de Linux</h2>



<p>Mais finalement je retrouve un peu ce que j&#8217;ai connu sur la playlist ansible. Je connais un peu le sujet mais je vais pouvoir revenir sur les bases et recreuser et reposer les bonnes fondations. Et c&#8217;est important de revoir les choses que l&#8217;on connait déjà et d&#8217;essayer de les structurer et compléter. Linux ne fera pas exception mais va me falloir vraiment du temps.</p>



<p>Expliquer des concepts, des définitions c&#8217;est un plaisir et c&#8217;est un exercice sympa de remise en question. </p>



<p>Un des autres enjeux va être de ne pas sombrer dans la simple explication de commande. Même quand on doit utiliser une commande, il faut comprendre pourquoi et en dire un peu plus. On va essayer de garder ça en tête de d&#8217;aller dans ce sens.</p>



<p>Et donc forcément on va débuter linux par le mini du mini et progresser pour tenter de pousser les choses le plus loin possible dans la compréhension du système et de son administration.</p>



<p>Alors donc &#8216;est partie et ça va se passer ici :</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="LINUX - 0.1 HARDWARE : ALIMENTATION ET ENERGIE" width="625" height="352" src="https://www.youtube.com/embed/-6MA0OCTXko?list=PLn6POgpklwWp1yRsq3-PyyisSIDg94ct9" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
<p>L’article <a href="https://xavki.blog/linux-cest-partie-pour-les-tutos-gratuit-et-en-francais/">Linux c&#8217;est partie pour les tutos gratuit et en français ;)</a> est apparu en premier sur <a href="https://xavki.blog">Xavki</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Sur les traces de Strace&#8230;</title>
		<link>https://xavki.blog/debuter-traces-strace/</link>
		
		<dc:creator><![CDATA[xavki]]></dc:creator>
		<pubDate>Fri, 09 Apr 2021 19:42:35 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://xavki.blog/?p=1221</guid>

					<description><![CDATA[<p><img width="1280" height="720" src="https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction.png" class="attachment- size- wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" fetchpriority="high" srcset="https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction.png 1280w, https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction-300x169.png 300w, https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction-1024x576.png 1024w, https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction-768x432.png 768w, https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction-624x351.png 624w" sizes="(max-width: 1280px) 100vw, 1280px" />J&#8217;avance toujours sur la playlist ansible avec la 125ème vidéo dédiée au développement de votre propre module. C&#8217;est sympa ansible mais ça fait pas tout. C&#8217;est un outil parmi tant d&#8217;autres à découvrir et à connaître. Et si vous me... <a href="https://xavki.blog/debuter-traces-strace/" class="suite"><i class="fal fa-long-arrow-right"></i></a></p>
<p>L’article <a href="https://xavki.blog/debuter-traces-strace/">Sur les traces de Strace&#8230;</a> est apparu en premier sur <a href="https://xavki.blog">Xavki</a>.</p>
]]></description>
										<content:encoded><![CDATA[<img width="1280" height="720" src="https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction.png" class="attachment- size- wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" loading="lazy" srcset="https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction.png 1280w, https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction-300x169.png 300w, https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction-1024x576.png 1024w, https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction-768x432.png 768w, https://xavki.blog/wp-content/uploads/2021/04/strace-1-introduction-624x351.png 624w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>J&#8217;avance toujours sur la playlist ansible avec la 125ème vidéo dédiée au développement de votre propre module. C&#8217;est sympa ansible mais ça fait pas tout.<strong> C&#8217;est un outil parmi tant d&#8217;autres à découvrir et à connaître</strong>. Et si vous me suivez régulièrement, j&#8217;aime explorer des outils récents et d&#8217;autres un peu moins récents&#8230; mais tout aussi nécessaire&#8230; voir plus.</p>



<p><strong>Strace fait partie de cette classe d&#8217;outil sur lequel vous pouvez vous investir durablement et en profondeur</strong>. Et cela sans que cette connaissance ne puisse être remise en cause par une nième technologie qui vient mettre au placard ce que vous avez appris. </p>



<p>C&#8217;est pour cela qu&#8217;apprendre les rudiments du système demeurent et resteront longtemps valables. D&#8217;autant plus que celui-ci n&#8217;évolue pas si vite et ne va pas disparaitre ou changer complètement du jour au lendemain. <strong>C&#8217;est donc un placement sûr et durable.</strong> Et il faut toujours garder cela en tête&#8230; Et comme les vieux langages reprennent de la valeur avec le temps, je suis persuadé que des bases solides en système reprendront de la valeur quand cette compétence se fera plus rare avec l&#8217;émergence des clouds et autres couches permettant parfois de réduire les connaissances du système.</p>



<p>J&#8217;ai donc décidé de <strong>commencer cette formation strace</strong> sous forme de playlist. Certains n&#8217;y apprendront rien je m&#8217;en doute mais ce que je veux c&#8217;est initier des réflexes dans l&#8217;approche du troubleshooting et du debug. Et à travers celà renforcer et consolider ses bases en système.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="STRACE - 01. Introduction, c&#039;est quoi ??" width="625" height="352" src="https://www.youtube.com/embed/j_w-vQ3UriM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Les origines de Strace</h2>



<p>J&#8217;aime revenir aux sources avant de commencer à apprendre à utiliser une technologie. Cela permet de se mettre dans le bain tranquillement.</p>



<p>Alors Strace commence initialement en 1991 du côté de SunOS avant de rejoindre Linux en 1992. Donc on peut considérer que <strong>ce projet a plus de 30 ans !!!</strong> c&#8217;est magnifique tout de même.</p>



<p>Le site officiel : <a href="https://strace.io/">https://strace.io/</a></p>



<p>Le dépôt github : <a href="https://github.com/strace/strace">https://github.com/strace/strace</a></p>



<p>Maintenant il est embarqué sur la plupart des distributions Linux. Il faut dire qu&#8217;il se base sur <strong>un syscall un peu dédié à savoir ptrace</strong> (le comble pour un outil qui trace les syscalls).</p>



<p>Mais alors comment résumer un syscall ? <strong>Un appel système c&#8217;est le moyen de communiquer avec le kernel (noyau), à partir du user mode</strong>. Ce dernier c&#8217;est ce que nus utilisons au quotidien, là où tourne : les applications, le terminal, votre navigateur&#8230;.</p>



<p>Un syscall est une fonction avec un objectif bien défini pour utiliser le kernel. Sur linux on compte environ 300 syscalls. D&#8217;ailleurs on ne les utilise pas souvent en direct on passe souvent par la LibC. Et pour les trouver rien de plus simple, il suffit de se rendre <strong>dans le chapitre 2 du man</strong> pour y découvrir leur documentation à commencer par :</p>



<p><code>man 2 syscall</code></p>



<p>Eh oui pas besoin d&#8217;en faire des tonnes.</p>



<p>Et vous pouvez y retrouver le fameux ptrace :</p>



<p><code>man 2 ptrace</code></p>



<p>et notamment la manière de l&#8217;utiliser en C :</p>



<pre class="wp-block-preformatted">       #include &lt;sys/ptrace.h>
       long ptrace(enum __ptrace_request request, pid_t pid,
                   void *addr, void *data);</pre>



<p>Et là on voit que l&#8217;on va <strong>travailler principalement avec les PID</strong> et donc les processus. Donc strace trace les processus via leurs syscalls.</p>



<h2 class="wp-block-heading">Tout le monde ne peut pas tracer</h2>



<p>On en entend pas souvent parler mais tout le monde ne peut pas tracer. Généralement on passe un petit coup de sudo et on en parle plus mais c&#8217;est plus fin que cela tout de même.</p>



<p>Un paramètre du kernel Linux permet de fixer cela dans :</p>



<p><code>/proc/sys/kernel/yama/ptrace_scope</code></p>



<p>Avec  les valeurs : </p>



<p><code>0 : même UID<br>1 : ascendance (sinon élévation de privilèges)<br>2 : admin seulement<br>3 : interdit</code></p>



<p>Donc on peut faire évoluer ce paramètre temporairement avec un :</p>



<p><code>sudo sysctl -w kernel.yama.ptrace_scope=</code>3</p>



<p>Là <strong>on vient d&#8217;interdire temporairement l&#8217;utilisation de strace</strong>.</p>



<p>Ou encore de manière permanente : </p>



<p><code>sudo echo 0 > /proc/sys/kernel/yama/ptrace_scope</code></p>



<p>Car il faut le rappeler strace va nuire à la performance du processus sur lequel il va s&#8217;attacher. Oui c&#8217;est le terme à employer car vous allez le voir il ne lui lache pas les baskets.</p>



<p>Alors vous pouvez fair votre première trace d&#8217;un simple ls par exemple : </p>



<p><code>strace ls</code></p>



<p>Et l&#8217;output calme un peu au début, voir va en convaincre quelques uns de ne plus le réutiliser. Mais le bon réflexe c&#8217;est de se dire que ce n&#8217;est rien que des choses qu&#8217;il faut débrousailler petits morceaux après petits morceaux. <strong>Et chacun de ces morceaux apporte terriblement en connaissance du fonctionnement du système.</strong> En effet, pour chacun on peut creuser profondémment les choses.</p>



<h2 class="wp-block-heading">Quelques options pour débuter tranquillement</h2>



<p>Pour ne pas prendre peur, on va commencer par 3 options très simples :</p>



<ul class="wp-block-list"><li>s : permet de définir la longueur de la ligne d&#8217;output (si on résume). Par défaut à 32, on peut déjà utiliser un 80 voi run 1024 pour vraiment ne rien manquer.</li><li>p : très important car nous n&#8217;allons pas toujours avoir la chance de lancer un process via strace comme nous venons de le faire pour ls. Alors nous allons nous attacher à un processus qui tourne déjà grâce à l&#8217;option -p suivie du pid du process (attention aux forks on verra cela après).</li><li>o : l&#8217;output de strace n&#8217;est pas si évident que cela à capturer en effet il faut rediriger la sortie stderr vers stdout 2>&amp;1, c&#8217;est pas très classe alors avec -o vous pourrez spécifier un fichier de sortie.</li></ul>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="STRACE - 02. Débuter : premières options" width="625" height="352" src="https://www.youtube.com/embed/XvUqWpVo9QQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Donc une ligne de commande complète pour commencer gentillement serait : </p>



<p><code>strace -p &lt;pid_du_process> -s 1024 -o strace.log</code></p>



<p>Voilà pour débuter avec strace. Bien sûr on ne va pas s&#8217;arrêter là car on a pratiquement rien découvert mais il faut bien commencer.</p>



<p>N&#8217;hésitez pas à <strong>rejoindre la chaine</strong> pour ne pas manquer les prochaines vidéos.</p>
<p>L’article <a href="https://xavki.blog/debuter-traces-strace/">Sur les traces de Strace&#8230;</a> est apparu en premier sur <a href="https://xavki.blog">Xavki</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
