<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>La Page de Nicolas</title>
    <link>https://hugo.dietlin.eu/</link>
    <description>Recent content on La Page de Nicolas</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fr</language>
    <lastBuildDate>Sat, 20 Apr 2024 14:02:27 +0600</lastBuildDate><atom:link href="https://hugo.dietlin.eu/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Déploiement du Load-Balancer</title>
      <link>https://hugo.dietlin.eu/posts/homelab/serie_k3s/03_setup_lb/</link>
      <pubDate>Sat, 20 Apr 2024 14:02:27 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/homelab/serie_k3s/03_setup_lb/</guid>
      <description>&lt;h2 id=&#34;cas-dusage&#34;&gt;Cas d&amp;rsquo;usage&lt;/h2&gt;
&lt;p&gt;Dans le cas où l&amp;rsquo;on a plusieurs K3s Server dans son lab (ici, j&amp;rsquo;en ai 2), l&amp;rsquo;API server est actif sur chaque K3s Server. Quand on veut interagir avec son cluster avec l&amp;rsquo;utilitaire &lt;mark&gt;Kubectl&lt;/mark&gt;, nous devons choisir de requêter sur un K3s Server parmi les 2 disponibles. Ca ne pose pas de problème dès l&amp;rsquo;instant que ce noeud K3s server choisi est disponible, dans le cas contraire, nous serions dans l&amp;rsquo;obligation de changer notre configuration (kubeconfig) pour requêter sur l&amp;rsquo;autre K3s Server encore vivant. Dans de telles circonstances, on ne peut pas dire qu&amp;rsquo;on soit dans de la haute disponibilité !&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Déploiement de la base de données</title>
      <link>https://hugo.dietlin.eu/posts/homelab/serie_k3s/02_setup_db/</link>
      <pubDate>Sat, 20 Apr 2024 11:53:14 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/homelab/serie_k3s/02_setup_db/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Avant de se plonger dans la construction du cluster avec K3s, on va d&amp;rsquo;abord déployer la source de données de notre cluster qui servira à son installation plus tard.
Pour cela, on va avoir besoin d&amp;rsquo;un moteur de base de données. La documentation de K3s précise qu&amp;rsquo;il supporte MySQL, PostGreSQL et enfin ETCD mais dans sa version 3.5.9 uniquement (juin 2024).
Comme Kubernetes s&amp;rsquo;appuie sur une base de donnée de type clé/valeur pour sa configuration, ETCD est le meilleur candidat pour ça. Il est léger, fiable et rapide.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Inventaire &amp; Architecture</title>
      <link>https://hugo.dietlin.eu/posts/homelab/serie_k3s/01_architecture/</link>
      <pubDate>Fri, 19 Apr 2024 20:18:14 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/homelab/serie_k3s/01_architecture/</guid>
      <description>&lt;h2 id=&#34;le-setup&#34;&gt;Le Setup&lt;/h2&gt;
&lt;p&gt;Pour ce lab Kubernetes, on va implémenter un cluster &lt;a href=&#34;https://docs.k3s.io/architecture&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;High-Availability K3s&lt;/a&gt;. Pour cela, je vais utiliser mes 4 mini-PC Nipogi + mon NAS Synology.&lt;/p&gt;
&lt;h3 id=&#34;inventaire-du-matériel&#34;&gt;Inventaire du matériel&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;Host&lt;/th&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;Marque&lt;/th&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;Modèle&lt;/th&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;Configuration (CPU/RAM)&lt;/th&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;Rôle dans le lab&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Tanjiro&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Nipogi&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;GK3&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Celeron J4125 2.0 GHz 4c/12Go&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;1&lt;sup&gt;er&lt;/sup&gt; K3s Server (ou Master)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Nezuko&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Nipogi&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;GK3&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Celeron J4125 2.0 GHz 4c/16Go&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;2&lt;sup&gt;nd&lt;/sup&gt; K3s Server (ou Master)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Zenitsu&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Nipogi&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;GK3&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Celeron J4125 2.0 GHz 4c/12Go&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;1&lt;sup&gt;er&lt;/sup&gt; K3s Agent (ou Worker)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Inosuke&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Nipogi&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;GK3&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Celeron J4125 2.0 GHz 4c/12Go&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;2&lt;sup&gt;nd&lt;/sup&gt; K3s Agent (ou Worker)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Homenas&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Synology&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;DS918+&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Celeron J3455 1.5 GHz 4c/8Go&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Services BDD &amp;amp; LB pour l&amp;rsquo;accès &lt;mark&gt;kubectl&lt;/mark&gt; au cluster&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;choix-des-logiciels&#34;&gt;Choix des logiciels&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 22.04 LTS comme distribution Linux sur les noeuds.&lt;/li&gt;
&lt;li&gt;K3s (1.27.12+k3s1) comme distribution Kubernetes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;schéma-darchitecture&#34;&gt;Schéma d&amp;rsquo;architecture&lt;/h2&gt;
&lt;p&gt;A la cible, notre lab K3s devrait ressembler à ça :&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>A la découverte de K3s</title>
      <link>https://hugo.dietlin.eu/posts/homelab/serie_k3s/00_introduction/</link>
      <pubDate>Fri, 12 Apr 2024 18:49:47 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/homelab/serie_k3s/00_introduction/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Si vous êtes ici, c&amp;rsquo;est que vous vous apprêtez à démarrer avec moi l&amp;rsquo;exploration de K3s. J&amp;rsquo;ai déjà pris un peu d&amp;rsquo;avance sur vous, et j&amp;rsquo;ai décidé de partager mes notes à travers une série de billets qui, je l&amp;rsquo;espère, vous permettra d&amp;rsquo;apprendre des choses que tu ne trouveras pas forcément ailleurs.&lt;/p&gt;
&lt;h2 id=&#34;découvrons-lightweight-kubernetes&#34;&gt;Découvrons Lightweight Kubernetes&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Introduction (c&amp;rsquo;est ici !)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;./01_architecture/&#34;&gt;Inventaire &amp;amp; Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;./02_setup_db/&#34;&gt;Déploiement de la DB ETCD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;./03_setup_lb&#34;&gt;Déploiement du load-balancer NGINX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Déploiement du cluster : Les K3s Servers&lt;/li&gt;
&lt;li&gt;Déploiement du cluster : Les K3s Agents&lt;/li&gt;
&lt;li&gt;Déploiement du cluster : MetalLB&lt;/li&gt;
&lt;li&gt;Notre 1&lt;sup&gt;ère&lt;/sup&gt; application cloud native : Kubernetes Dashboard&lt;/li&gt;
&lt;li&gt;Gérer son cluster avec Portainer&lt;/li&gt;
&lt;/ol&gt;</description>
    </item>
    
    <item>
      <title>Connecter un cluster Kubernetes</title>
      <link>https://hugo.dietlin.eu/posts/gitlab/connexion_k8s_cluster/</link>
      <pubDate>Mon, 01 Apr 2024 12:05:48 +0100</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/gitlab/connexion_k8s_cluster/</guid>
      <description>&lt;h2 id=&#34;pré-requis&#34;&gt;Pré-requis&lt;/h2&gt;
&lt;p&gt;Auparavant, vous pouvez installer l&amp;rsquo;agent sur votre cluster. Vous aurez besoin:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un cluster Kubernetes. Si vous n&amp;rsquo;en avez pas, vous pouvez en créer un chez un cloud provider tel que GCP, AWS ou DigitalOcean.&lt;/li&gt;
&lt;li&gt;Sur une instance auto-gérée de Gitlab, l&amp;rsquo;administrateur de l&amp;rsquo;instance devra configurer l&amp;rsquo;Agent Server. C&amp;rsquo;est disponible par défaut à &lt;code&gt;wss://gitlab.dietlin.eu/-/kubernetes-agent/&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;les-étapes-dinstallation&#34;&gt;Les étapes d&amp;rsquo;installation&lt;/h2&gt;
&lt;p&gt;Pour installer l&amp;rsquo;agent dans votre cluster:Facultatif. Personnalisez l&amp;rsquo;installation de Helm. Si vous installez l&amp;rsquo;agent sur un système de production, vous devez personnaliser l&amp;rsquo;installation de Helm pour restreindre les autorisations du compte de service. Consultez Comment déployer l’agent GitLab pour Kubernetes avec des autorisations limitées.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Cours Shell Unix - Commandes &amp; Programmation</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/00_sommaire/</link>
      <pubDate>Thu, 04 Jan 2024 18:16:23 +0100</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/00_sommaire/</guid>
      <description>&lt;h2 id=&#34;sommaire&#34;&gt;Sommaire&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../01_presentation/&#34;&gt;Chapitre 01 - Présentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../02_connexion_deconnexion/&#34;&gt;Chapitre 02 - Connexion &amp;amp; Déconnexion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../03_commande_echo/&#34;&gt;Chapitre 03 - 1&lt;sup&gt;ère&lt;/sup&gt; commande : echo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../04_systeme_de_fichiers/&#34;&gt;Chapitre 04 - Le système de fichiers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../05_editeur_vi/&#34;&gt;Chapitre 05 - L&amp;rsquo;éditeur VI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../06_redirections/&#34;&gt;Chapitre 06 - Les redirections&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../07_droits_acces/&#34;&gt;Chapitre 07 - Les droits d&amp;rsquo;accès&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../08_filtres_utilitaires/&#34;&gt;Chapitre 08 - Les filtres &amp;amp; utilitaires&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../09_impression/&#34;&gt;Chapitre 09 - L&amp;rsquo;impression&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../10_processus/&#34;&gt;Chapitre 10 - Les processus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../11_commande_find/&#34;&gt;Chapitre 11 - La recherche complexe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../12_bourne_shell/&#34;&gt;Chapitre 12 - Le Bourne Shell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../13_programmation_shell/&#34;&gt;Chapitre 13 - La programmation Shell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../14_korn_shell/&#34;&gt;Chapitre 14 - Les particularités du Korn Shell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../15_complements/&#34;&gt;Chapitre 15 - Compléments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Photo de &lt;a href=&#34;https://unsplash.com/fr/@neonbrand&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Kenny Eliason&lt;/a&gt; sur &lt;a href=&#34;https://unsplash.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 1 : Présentation</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/01_presentation/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/01_presentation/</guid>
      <description>&lt;h2 id=&#34;définition&#34;&gt;Définition&lt;/h2&gt;
&lt;p&gt;Un système d&amp;rsquo;exploitation est un « programme » ou ensemble de programmes assurant la gestion de l&amp;rsquo;ordinateur et de ses périphériques.&lt;/p&gt;



    


&lt;div class=&#34;alert info&#34;&gt;
    &lt;span&gt;&lt;i data-feather=&#34;info&#34;&gt;&lt;/i&gt;&lt;/span&gt;
    &lt;span&gt;&lt;strong&gt;Programme ou ensemble de programmes et d&amp;rsquo;&lt;abbr title=&#34;Application Programming Interface&#34;&gt;API&lt;/abbr&gt; servant d&amp;rsquo;interface entre le matériel (hardware) et les applications (software).&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;

&lt;p&gt;Unix est un système d&amp;rsquo;exploitation multi-tâches et multi-utilisateurs. Il est disponible du simple micro (PC, Mac, Atari, Amiga) jusqu&amp;rsquo;au gros système (IBM Z séries) et même dans des PDA.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 10 : Les processus</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/10_processus/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/10_processus/</guid>
      <description>&lt;h2 id=&#34;définition-et-environnement&#34;&gt;Définition et environnement&lt;/h2&gt;
&lt;p&gt;Un &lt;strong&gt;processus&lt;/strong&gt; représente à la fois un programme en cours d&amp;rsquo;exécution et tout son environnement d&amp;rsquo;exécution (mémoire, état, identification, propriétaire, père &amp;hellip;). Voir les cours de Système d&amp;rsquo;exploitation.&lt;/p&gt;
&lt;p&gt;Voici une liste des données d&amp;rsquo;identification d&amp;rsquo;un processus :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Un numéro de processus unique PID&lt;/strong&gt; : chaque processus Unix est numéroté afin de pouvoir être différencié des autres. Le premier processus lancé par le système est 1 et il s&amp;rsquo;agit d&amp;rsquo;un processus appelé généralement init. On utilise le PID quand on travaille avec un processus. Lancer 10 fois le même programme (même nom) donne 10 PID différents.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Un numéro de processus parent PPID&lt;/strong&gt; : chaque processus peut lui-même lancer d&amp;rsquo;autres processus, des processus enfants (child process). Chaque enfant reçoit parmis les informations le PID du processus père qui l&amp;rsquo;a lancé. Tous les processus ont un PPID sauf le processus 0 qui est un pseudo-processus représentant le démarrage du système (créé le 1init).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Un numéro d&amp;rsquo;utilisateur et un numéro de groupe&lt;/strong&gt; : correspond à l&amp;rsquo;UID et au GID de l&amp;rsquo;utilisateur qui a lancé le processus. C&amp;rsquo;est nécessaire pour que le système sache si le processus à le droit d&amp;rsquo;accéder à certaines ressources ou non. Les processus enfants héritent de ces informations. Dans certains cas (que nous verrons plus tard) on peut modifier cet état.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Durée de traitement et priorité&lt;/strong&gt; : la durée de traitement correspond au temps d&amp;rsquo;exécution écoulé depuis le dernier réveil du processus. Dans un environnement multitâches, le temps d&amp;rsquo;exécution est partagé entre les divers processus, et tous ne possèdent pas la même priorité. Les processus de plus haute priorité sont traités en premier. Lorsqu&amp;rsquo;il est inactif sa priorité augmente afin d&amp;rsquo;avoir une chance d&amp;rsquo;être exécuté. Lorsqu&amp;rsquo;il est actif, sa priorité baisse afin de laisser sa place à un autre. C&amp;rsquo;est le scheduler du système qui gère les priorités et les temps d&amp;rsquo;exécution.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Répertoire de travail actif&lt;/strong&gt; : A son lancement, le répertoire courant (celui depuis lequel le processus a été lancé) est transmis au processus. C&amp;rsquo;est ce répertoire qui servira de base pour les chemins relatifs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fichiers ouverts&lt;/strong&gt; : table des descripteurs des fichiers ouverts. Par défaut au début seuls trois sont présents : 0 1 et 2 (les canaux standards). A chaque ouverture de fichier ou de nouveau canal, la table se remplit. A la fermeture du processus, les descripteurs sont fermés (en principe).&lt;/li&gt;
&lt;li&gt;On trouve d&amp;rsquo;autres informations comme la taille de la mémoire allouée, la date de lancement du processus, le terminal d&amp;rsquo;attachement, l&amp;rsquo;état du processus, UID effectif et Reel ainsi que GID effectif et réel.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;etats-dun-processus&#34;&gt;Etats d&amp;rsquo;un processus&lt;/h2&gt;
&lt;p&gt;Durant sa vie (temps entre le lancement et la sortie) un processus peut passer par divers états ou &lt;strong&gt;process state&lt;/strong&gt; :&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 11 : Recherche complexe</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/11_commande_find/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/11_commande_find/</guid>
      <description>&lt;h2 id=&#34;la-commande-find&#34;&gt;La commande find&lt;/h2&gt;
&lt;p&gt;La commande &lt;mark&gt;find&lt;/mark&gt; permet de rechercher des fichiers au sein de l&amp;rsquo;arborescence du système de fichiers, à l&amp;rsquo;aide de critères et la possibilité d&amp;rsquo;agir sur les résultats retournés.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;find repertoires critères options
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;La commande find étant récursive, il suffit d&amp;rsquo;indiquer un répertoire de base pour que toute l&amp;rsquo;arborescence depuis ce répertoire soit développée. L&amp;rsquo;option de base est &lt;strong&gt;-print&lt;/strong&gt; (souvent implicite sur la plupart des Unix) qui permet d&amp;rsquo;afficher sur écran les résultats.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 12 : Le Bourne Shell</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/12_bourne_shell/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/12_bourne_shell/</guid>
      <description>&lt;p&gt;Toutes les commandes que nous nous avons vu jusqu&amp;rsquo;à présent sont standards et ne sont pas propres à un shell particulier. Avant d&amp;rsquo;entamer la programmation shell elle-même, il nous faut voir quelques options détaillées du shell par défaut, le Bourne Shell.&lt;/p&gt;
&lt;h2 id=&#34;fichier-de-configuration&#34;&gt;Fichier de configuration&lt;/h2&gt;
&lt;p&gt;Le Bourne Shell dispose d&amp;rsquo;un fichier de configuration chargé et exécuté lors du lancement du shell. Il est généralement placé dans le répertoire par défaut de l&amp;rsquo;utilisateur et se nomme &lt;code&gt;.profile&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 13 : La programmation Shell</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/13_programmation_shell/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/13_programmation_shell/</guid>
      <description>&lt;p&gt;Le shell n&amp;rsquo;est pas qu&amp;rsquo;un simple interpréteur de commandes, mais dispose d&amp;rsquo;un véritable langage de programmation avec notamment une gestion des variables, des tests et des boucles, des opérations sur variables, des fonctions&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;structure-et-exécution-dun-script&#34;&gt;Structure et exécution d&amp;rsquo;un script&lt;/h2&gt;
&lt;p&gt;Toutes les instructions et commandes sont regroupées au sein d&amp;rsquo;un script. Lors de sont exécution, chaque ligne sera lue une à une et exécutée. Une ligne peut se composer de commandes internes ou externes, de commentaires ou être vide. Plusieurs instructions par lignes sont possibles, séparées par le &lt;code&gt;;&lt;/code&gt;  » ou liées conditionnellement par &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; ou &lt;code&gt;||&lt;/code&gt;. Le « ; » est l&amp;rsquo;équivalent d&amp;rsquo;un &lt;strong&gt;saut de ligne&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 14 : Les particularités du Korn Shell</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/14_korn_shell/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/14_korn_shell/</guid>
      <description>&lt;p&gt;Si le Bourne Shell est un shell POSIX présent et standard sur tous les UNIX, le Korn Shell, apparu dans sa version moderne sous System V release 4 devient aujourd&amp;rsquo;hui un standard de fait. Le Korn Shell ou ksh est entièrement compatible avec le Bourne Shell (scripts exécutables sans modification) et le Bourne Again Shell (bash sous Linux). Ksh est présent sous Linux avec le nom pdksh.&lt;/p&gt;
&lt;p&gt;Parmi les nouvelles possibilités :&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 15 : Compléments</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/15_complements/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/15_complements/</guid>
      <description>&lt;h2 id=&#34;la-crontab&#34;&gt;La Crontab&lt;/h2&gt;
&lt;p&gt;Le mécanisme &lt;mark&gt;cron&lt;/mark&gt; permet l&amp;rsquo;exécution régulière et automatique de commandes. A chaque démarrage de la machine (en fait suivant le niveau d&amp;rsquo;init) un service (daemon) est lancé, généralement appelé cron ou crontab (&lt;code&gt;/usr/sbin/cron&lt;/code&gt;, &lt;code&gt;/etc/cron&lt;/code&gt;, &lt;code&gt;/sbin/cron&lt;/code&gt;, &amp;hellip;) qui lit une table spécifique appelée crontab.&lt;/p&gt;
&lt;p&gt;La crontab est généralement placée dans &lt;code&gt;/var/adm/cron&lt;/code&gt; ou &lt;code&gt;/etc/cron&lt;/code&gt; ou &lt;code&gt;/usr/lib/cron&lt;/code&gt;. Tous les utilisateurs n&amp;rsquo;ont pas forcément le droit d&amp;rsquo;utiliser la crontab (&lt;code&gt;cron.allow&lt;/code&gt; et &lt;code&gt;cron.deny&lt;/code&gt;).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 2 : Connexion &amp; Déconnexion</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/02_connexion_deconnexion/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/02_connexion_deconnexion/</guid>
      <description>&lt;h2 id=&#34;1ère-connexion&#34;&gt;1&lt;sup&gt;ère&lt;/sup&gt; Connexion&lt;/h2&gt;
&lt;p&gt;Pour pouvoir travailler sous Unix il faut ouvrir une session, à l&amp;rsquo;aide d&amp;rsquo;un nom d&amp;rsquo;utilisateur et d&amp;rsquo;un mot de passe. On distingue les administrateurs des utilisateurs normaux. L&amp;rsquo;administrateur est appelé &lt;strong&gt;root&lt;/strong&gt; ou utilisateur privilégié et dispose de tous les pouvoirs sur la machine et le système Unix. L&amp;rsquo;utilisateur normal dispose de droits réduits et définis par l&amp;rsquo;administrateur. Pour se connecter :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Login : &amp;lt;tapez ici votre nom d&lt;span style=&#34;color:#ae81ff&#34;&gt;\&amp;#39;&lt;/span&gt;utilisateur&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Password : &amp;lt;tapez ici votre mot de passe&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le mot de passe n&amp;rsquo;apparaît pas en clair et doit être tapé en aveugle. En cas d&amp;rsquo;erreur, un message indiquera :&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 3 : 1ere commande : echo</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/03_commande_echo/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/03_commande_echo/</guid>
      <description>&lt;h2 id=&#34;une-1ère-commande&#34;&gt;Une 1&lt;sup&gt;ère&lt;/sup&gt; commande&lt;/h2&gt;
&lt;p&gt;En principe cette commande n&amp;rsquo;est pas utile tout de suite, mais la première chose que l&amp;rsquo;on apprend généralement avec un shell ou un langage quelconque est d&amp;rsquo;afficher un message du genre &lt;code&gt;Hello, world&lt;/code&gt;. la commande &lt;mark&gt;echo&lt;/mark&gt; est une commande centrale du shell : elle transmet tous ses paramètres sur écran (ou canal de sortie standard).&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo texte
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le texte est quelconque mais peut aussi admettre quelques caractères de formatage.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 4 : Système de fichiers</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/04_systeme_de_fichiers/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/04_systeme_de_fichiers/</guid>
      <description>&lt;h2 id=&#34;définition&#34;&gt;Définition&lt;/h2&gt;
&lt;p&gt;Un système de fichiers / FileSystem / FS: comment dont sont gérés et organisés les fichiers par le système d&amp;rsquo;exploitation. Le FS d&amp;rsquo;Unix est hiérarchique.&lt;/p&gt;
&lt;h2 id=&#34;les-divers-types-de-fichiers&#34;&gt;Les divers types de fichiers&lt;/h2&gt;
&lt;p&gt;On distingue principalement trois types de fichiers : ordinaires, catalogue, spéciaux.&lt;/p&gt;
&lt;h3 id=&#34;fichiers-ordinaires-ordinary-files&#34;&gt;Fichiers ordinaires (ordinary files)&lt;/h3&gt;
&lt;p&gt;Ce sont soit des fichiers contenant du texte, soit des exécutables (ou binaires), soit des fichiers de données. Par défaut, rien ne permet de différencier les uns des autres, sauf à utiliser quelques options de certaines commandes (&lt;code&gt;ls -F&lt;/code&gt; par exemple) ou la commande &lt;mark&gt;file&lt;/mark&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 5 : l&#39;éditeur VI</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/05_editeur_vi/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/05_editeur_vi/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;éditeur Unix par défaut se nomme VI (prononcez &amp;ldquo;vi aïe&amp;rdquo;). S&amp;rsquo;il n&amp;rsquo;est pas des plus ergonomiques par rapport à des éditeurs en mode graphique, il a l&amp;rsquo;avantage d&amp;rsquo;être disponible et d&amp;rsquo;utiliser la même syntaxe de base sur tous les Unix. Chaque Unix propose généralement une syntaxe étendue au-delà de la syntaxe de base. Pour en connaître les détails : &lt;code&gt;man vi&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;options&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Fichier &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Fichier2 ...&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Trois modes de fonctionnement :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mode commande : les saisies représentent des commandes. On y accède en appuyant sur &lt;kbd&gt;ESC&lt;/kbd&gt;.&lt;/li&gt;
&lt;li&gt;mode saisie : saisie de texte classique&lt;/li&gt;
&lt;li&gt;mode ligne de commande « à la ex » :utilisation de commandes spéciales saisies et se terminant par Entrée. Accès pas la touche « : ».&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;commandes-de-saisie&#34;&gt;Commandes de saisie&lt;/h2&gt;
&lt;p&gt;En mode commande&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 6 : les redirections</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/06_redirections/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/06_redirections/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Les redirections sont l&amp;rsquo;une des plus importantes possibilités offerte par le shell.&lt;/p&gt;



    


&lt;div class=&#34;alert info&#34;&gt;
    &lt;span&gt;&lt;i data-feather=&#34;info&#34;&gt;&lt;/i&gt;&lt;/span&gt;
    &lt;span&gt;&lt;strong&gt;Par redirection, on entend la possibilité de rediriger l&amp;rsquo;affichage de l&amp;rsquo;écran vers un fichier, une imprimante ou tout autre périphérique, les messages d&amp;rsquo;erreurs vers un autre fichier, remplacer la saisie clavier par le contenu d&amp;rsquo;un fichier.&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;

&lt;p&gt;Unix utilise des canaux d&amp;rsquo;entrées/sorties pour lire et écrire ses données. Par défaut le canal d&amp;rsquo;entrée est le clavier, et le canal de sortie, l&amp;rsquo;écran. Un troisième canal, le canal d&amp;rsquo;erreur, est aussi redirigé vers l&amp;rsquo;écran.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 7 : Les droits d&#39;accès</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/07_droits_acces/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/07_droits_acces/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Nous avons indiqué que le rôle d&amp;rsquo;un système d&amp;rsquo;exploitation est aussi d&amp;rsquo;assurer la sécurité et l&amp;rsquo;accès aux données, ce qui se fait grâce au mécanisme des droits. Chaque fichier se voit attribué des droits qui lui sont propres, des autorisations d&amp;rsquo;accès individuelles. Lors d&amp;rsquo;un accès le système vérifie si celui-ci est permis.&lt;/p&gt;
&lt;p&gt;A sa création par l&amp;rsquo;administrateur, un utilisateur se voit affecté un &lt;strong&gt;&lt;abbr title=&#34;User IDentifier&#34;&gt;UID&lt;/abbr&gt;&lt;/strong&gt; unique. Les utilisateurs sont définis dans le fichier &lt;code&gt;/etc/passwd&lt;/code&gt;. De même chaque utilisateur est rattaché à au moins un groupe (groupe principal), chaque groupe possédant un identifiant unique, le &lt;strong&gt;&lt;abbr title=&#34;Group IDentifier&#34;&gt;GID&lt;/abbr&gt;&lt;/strong&gt; . Les groupes sont définis dans &lt;code&gt;/etc/group&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 8 : Les filtres et utilitaires</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/08_filtres_utilitaires/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/08_filtres_utilitaires/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Rappel : un &lt;strong&gt;filtre&lt;/strong&gt; (ou une commande filtre) est un programme sachant écrire et lire des données par les canaux standards d&amp;rsquo;entrée et de sortie. Il en modifie ou traite éventuellement le contenu. la commande &lt;mark&gt;wc&lt;/mark&gt; est un filtre. Les utilitaires sans être obligatoirement des filtres permettent un certain nombre d&amp;rsquo;actions sur des fichiers ou leur contenu comme le formatage ou l&amp;rsquo;impression.&lt;/p&gt;
&lt;h2 id=&#34;recherche-de-lignes&#34;&gt;Recherche de lignes&lt;/h2&gt;
&lt;p&gt;Il s&amp;rsquo;agit d&amp;rsquo;extraire des lignes d&amp;rsquo;un fichier selon divers critères. Pour cela on dispose de trois commandes &lt;mark&gt;grep&lt;/mark&gt; , &lt;mark&gt;egrep&lt;/mark&gt; et &lt;mark&gt;fgrep&lt;/mark&gt; qui lisent les données soit depuis un fichier d&amp;rsquo;entrée, soit depuis le canal d&amp;rsquo;entrée standard.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chapitre 9 : L&#39;impression</title>
      <link>https://hugo.dietlin.eu/posts/shell-unix/09_impression/</link>
      <pubDate>Thu, 02 Nov 2023 06:00:23 +0600</pubDate>
      
      <guid>https://hugo.dietlin.eu/posts/shell-unix/09_impression/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Il existe principalement deux standards d&amp;rsquo;impression sous Unix, l&amp;rsquo;un sous System V et l&amp;rsquo;autre sous BSD. Un troisième tend à s&amp;rsquo;installer depuis quelques temps, &lt;abbr title=&#34;Common Unix Printing System&#34;&gt;CUPS&lt;/abbr&gt;, qui tente de fédérer les divers systèmes d&amp;rsquo;impression sous Unix.&lt;/p&gt;
&lt;p&gt;Quelque soit le standard, le principe est le même. A chaque imprimante déclarée (généralement dans &lt;code&gt;/etc/printcap&lt;/code&gt;) correspond une file d&amp;rsquo;attente (&lt;strong&gt;queue&lt;/strong&gt;). L&amp;rsquo;ensemble de ces files d&amp;rsquo;attente est géré par un service indépendant (&lt;strong&gt;daemon&lt;/strong&gt;). Ces deux principes permettent une impression multi-utilisateur (les jobs d&amp;rsquo;impression sont en file d&amp;rsquo;attente, &lt;strong&gt;job queues&lt;/strong&gt;), et en réseau (le service peut être accedé depuis une autre machine distante).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Aide-Mémoire K9S</title>
      <link>https://hugo.dietlin.eu/notes/cheatsheet/k9s/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hugo.dietlin.eu/notes/cheatsheet/k9s/</guid>
      <description>&lt;!-- Démarrer K9s --&gt;
&lt;div class=&#34;note-card &#34;&gt;
    &lt;div class=&#34;item&#34;&gt;
        &lt;h5 class=&#34;note-title&#34;&gt;&lt;span&gt;Start with K9s&lt;/span&gt;&lt;/h5&gt;
        
            &lt;div class=&#34;card&#34;&gt;
                &lt;div class=&#34;card-body&#34;&gt;&lt;p&gt;Use default config&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ k9s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Use non-default kubeconfig&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ k9s --kubeconfig /path/to/kubeconfig
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Use non-default context&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ k9s --context fooctx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Readonly&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ k9s --readonly
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check info (locations for configurations, logs, screen dumps)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ k9s info
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
            &lt;/div&gt;
        
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&#34;note-card &#34;&gt;
    &lt;div class=&#34;item&#34;&gt;
        &lt;h5 class=&#34;note-title&#34;&gt;&lt;span&gt;Use K9s&lt;/span&gt;&lt;/h5&gt;
        
            &lt;div class=&#34;card&#34;&gt;
                &lt;div class=&#34;card-body&#34;&gt;&lt;h5 id=&#34;list-resources&#34;&gt;List Resources&lt;/h5&gt;
&lt;p&gt;List a specific resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:&amp;lt;resource&amp;gt;&lt;/code&gt; : list Resources, e.g. &lt;code&gt;:pod&lt;/code&gt; to list all pods.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:&amp;lt;resource&amp;gt; &amp;lt;namespace&amp;gt;&lt;/code&gt; : list Resources in a given namespace.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;List all available resources:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Aide-Mémoire Unix</title>
      <link>https://hugo.dietlin.eu/notes/cheatsheet/shell/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hugo.dietlin.eu/notes/cheatsheet/shell/</guid>
      <description>&lt;h2 id=&#34;quelques-commandes-simples&#34;&gt;Quelques commandes simples&lt;/h2&gt;
&lt;div class=&#34;note-card &#34;&gt;
    &lt;div class=&#34;item&#34;&gt;
        &lt;h5 class=&#34;note-title&#34;&gt;&lt;span&gt;Consulter le manuel&lt;/span&gt;&lt;/h5&gt;
        
            &lt;div class=&#34;card&#34;&gt;
                &lt;div class=&#34;card-body&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ man &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;n&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; commande
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Visualisation à l&amp;rsquo;écran des informations concernant la commande spécifiée. L&amp;rsquo;affichage est realisé par un more.
Le manuel est divisé en huit sections:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 : Les commandes utilisateurs&lt;/li&gt;
&lt;li&gt;2 : Les appels sytèmes&lt;/li&gt;
&lt;li&gt;3 : La librairie des sous-routines&lt;/li&gt;
&lt;li&gt;4 : Les formats de fichiers&lt;/li&gt;
&lt;li&gt;5 : Les fichiers spéciaux&lt;/li&gt;
&lt;li&gt;7 : Les possibilités diverses&lt;/li&gt;
&lt;li&gt;8 ou 1m : Les commandes d&amp;rsquo;administrations système&lt;/li&gt;
&lt;li&gt;9 : glossaire&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On peut spécifier la section dans laquelle on veut effectuer la recherche (grace au paramètre n).&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
