This commit is contained in:
		
							parent
							
								
									d7b4250194
								
							
						
					
					
						commit
						f9dad7c33d
					
				| @ -10,6 +10,10 @@ Les paquets sont du modèle RPM\index{RPM} à la mode | |||||||
| de Red-Hat et DNF\index{dnf} semble être l'outil de prédilection | de Red-Hat et DNF\index{dnf} semble être l'outil de prédilection | ||||||
| pour les gérer. | pour les gérer. | ||||||
| 
 | 
 | ||||||
|  | Pour mettre à jour~: | ||||||
|  | 
 | ||||||
|  | \texttt{\# dnf upgrade'}  | ||||||
|  | 
 | ||||||
| Pour chercher un binaire précis~: | Pour chercher un binaire précis~: | ||||||
| 
 | 
 | ||||||
| \texttt{\# dnf provides '*/interpolator'}  | \texttt{\# dnf provides '*/interpolator'}  | ||||||
| @ -34,6 +38,46 @@ de gcc : | |||||||
| \texttt{gcc \$(COPT) -I/usr/include/netpbm -c \$<}, dont la | \texttt{gcc \$(COPT) -I/usr/include/netpbm -c \$<}, dont la | ||||||
| portabilité est à vérifier. | portabilité est à vérifier. | ||||||
| 
 | 
 | ||||||
|  | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | \section{Gni ?}\index{memtest86} | ||||||
|  | \label{memtest86:fedora} | ||||||
|  | 
 | ||||||
|  | Ayant des soucis de \textsf{kernelpanic} avec une ancienne machine  | ||||||
|  | Dell\footnote{d'origine catalano-ariégeoise} j'ai voulu faire un | ||||||
|  | test approfondi de la RAM. DNF m'a permis de trouver le paquet | ||||||
|  | \texttt{memtest86+}, puis de l'installer (comme je procède | ||||||
|  | depuis le siècle dernier) afin de l'avoir sous la main au prochain | ||||||
|  | reboot. Non. Rien. | ||||||
|  | 
 | ||||||
|  | Mmmm... Reboot, un shell root, et je découvre \texttt{memtest-setup} | ||||||
|  | qui semble pouvoir faire une partie du travail. La manpage | ||||||
|  | confirme. Action. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | \begin{verbatim} | ||||||
|  | [tth@laserbox ~]# memtest-setup | ||||||
|  | GRUB 2 template installed. | ||||||
|  | Do not forget to regenerate your grub.cfg by: | ||||||
|  |    # grub2-mkconfig -o /boot/grub2/grub.cfg | ||||||
|  | Setup complete. | ||||||
|  | [tth@laserbox ~]# grub2-mkconfig -o /boot/grub2/grub.cfg | ||||||
|  | Generationg Grub configuration file ... | ||||||
|  | Found memtest image: /boot/elf-memtest86+-5.31 | ||||||
|  | done | ||||||
|  | [tth@laserbox ~]# _ | ||||||
|  | \end{verbatim} | ||||||
|  | 
 | ||||||
|  | Angoisse\dots | ||||||
|  | 
 | ||||||
|  | Et j'ai eu raison. Le memtest apparait bien dans le menu de grub, | ||||||
|  | mais bon, il fait un gros \textbf{paf} dès le lancement en me  | ||||||
|  | parlant d'une \textsf{unexpected interrupt} vraiment féroce. | ||||||
|  | Relisons calmement la page de man~: | ||||||
|  | 
 | ||||||
|  | %            XXX insert manpage here | ||||||
|  | XXX\index{XXX} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
| 
 | 
 | ||||||
| \section{Comment installer ffmpeg ?} | \section{Comment installer ffmpeg ?} | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ configurer. | |||||||
| 
 | 
 | ||||||
| On se retrouve vite dans des situations critiques, du genre | On se retrouve vite dans des situations critiques, du genre | ||||||
| un \#canal où il n'y a plus de @op, et donc, on ne peut | un \#canal où il n'y a plus de @op, et donc, on ne peut | ||||||
| plus changer le topix, et là, \textbf{ça craint vraiment} ! | plus changer le topic, et là, \textbf{ça craint vraiment} ! | ||||||
| 
 | 
 | ||||||
| % ============================================================== | % ============================================================== | ||||||
| 
 | 
 | ||||||
| @ -36,4 +36,9 @@ pinpin0: çhârsèt ? | |||||||
| \end{verbatim} | \end{verbatim} | ||||||
| 
 | 
 | ||||||
| % ============================================================== | % ============================================================== | ||||||
|  | \section{hexchat} | ||||||
|  | \index{hexchat} | ||||||
| 
 | 
 | ||||||
|  | Client graphique bien efficace. | ||||||
|  | 
 | ||||||
|  | % ============================================================== | ||||||
|  | |||||||
							
								
								
									
										19
									
								
								chap/X11.tex
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								chap/X11.tex
									
									
									
									
									
								
							| @ -18,7 +18,7 @@ Comment faire pour visualiser la plénitude des formes de mes fontes ? | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| D'après la manpage :  | D'après la manpage :  | ||||||
| \textit{Xephyr is a kdrive server that outputs to a window on a pre-existing | \textsl{Xephyr is a kdrive server that outputs to a window on a pre-existing | ||||||
|        "host" X display.  Think Xnest but with support for modern |        "host" X display.  Think Xnest but with support for modern | ||||||
|        extensions like composite, damage and randr.} |        extensions like composite, damage and randr.} | ||||||
| 
 | 
 | ||||||
| @ -26,11 +26,14 @@ D'après la manpage : | |||||||
| si simple qua ça. | si simple qua ça. | ||||||
| Par exemple, quelle est la méthode à mettre en œuvre pour avoir  | Par exemple, quelle est la méthode à mettre en œuvre pour avoir  | ||||||
| le clavier en Azerty\index{azerty} ? | le clavier en Azerty\index{azerty} ? | ||||||
|   | 
 | ||||||
|  | XXX\index{XXX} | ||||||
| 
 | 
 | ||||||
| %------------------------------------------------------------------- | %------------------------------------------------------------------- | ||||||
| \section{Numlock} | \section{Numlock} | ||||||
| 
 | 
 | ||||||
|  | Vous l'avez voulu, le voici~: | ||||||
|  | 
 | ||||||
| \begin{verbatim} | \begin{verbatim} | ||||||
| #include <X11/XKBlib.h> | #include <X11/XKBlib.h> | ||||||
| #include <X11/extensions/XKB.h> | #include <X11/extensions/XKB.h> | ||||||
| @ -98,7 +101,19 @@ $ | |||||||
| 
 | 
 | ||||||
| C'est simple, non ? | C'est simple, non ? | ||||||
| 
 | 
 | ||||||
|  | %------------------------------------------------------------------- | ||||||
| 
 | 
 | ||||||
|  | \section{XCB}\index{XCB} | ||||||
|  | 
 | ||||||
|  | Vous avez pratiqué la \textsl{Xlib} ? Avez-vous aimé ? | ||||||
|  | \textsc{[oui]} et \textsc{[non]} sont deux réponses valables. | ||||||
|  | Si vous ne savez pas quoi répondre, vous n'avez pas compris | ||||||
|  | la question. | ||||||
|  | 
 | ||||||
|  | % | ||||||
|  | % https://xcb.freedesktop.org/tutorial/basicwindowsanddrawing/ | ||||||
|  | % | ||||||
| 
 | 
 | ||||||
| %------------------------------------------------------------------- | %------------------------------------------------------------------- | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | |||||||
| @ -34,3 +34,11 @@ trop les temps de backup ? | |||||||
| 
 | 
 | ||||||
| Quid de juste rsync sur ton serveur et faire les tgz à l'autre bout | Quid de juste rsync sur ton serveur et faire les tgz à l'autre bout | ||||||
| (tu profiteras ainsi pleinement du coté incrémental d'rsync) ? | (tu profiteras ainsi pleinement du coté incrémental d'rsync) ? | ||||||
|  | 
 | ||||||
|  | % =============================================================== | ||||||
|  | \section{rsync}\index{rsync} | ||||||
|  | 
 | ||||||
|  | \index{XXX} | ||||||
|  | \textsl{A fast, versatile, remote (and local) file-copying tool.} | ||||||
|  | 
 | ||||||
|  | % =============================================================== | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ replacement for 4.4BSD classic curses,  which  has  been  discontinued. | |||||||
| 
 | 
 | ||||||
| Bien entendu, nous commencerons par l'ECM traditionnel de rigueur. | Bien entendu, nous commencerons par l'ECM traditionnel de rigueur. | ||||||
| 
 | 
 | ||||||
| \lstinputlisting[language=C]{ex_curses.c} | \lstinputlisting[language=C]{code/ex_curses.c} | ||||||
| 
 | 
 | ||||||
| La première étape consiste à initialiser et configurer le moteur | La première étape consiste à initialiser et configurer le moteur | ||||||
| interne de ncurses, et à régler l'interaction clavier/écran. | interne de ncurses, et à régler l'interaction clavier/écran. | ||||||
|  | |||||||
| @ -5,8 +5,30 @@ Quand plus rien ne marche, reste-il encore un espoir ? | |||||||
| Il existe bien entendu des outils \textsl{mainstream} | Il existe bien entendu des outils \textsl{mainstream} | ||||||
| tels que le classique \texttt{gdb}\index{gdb}, mais il en existe | tels que le classique \texttt{gdb}\index{gdb}, mais il en existe | ||||||
| une foultitude d'autres, injustement méconnus. | une foultitude d'autres, injustement méconnus. | ||||||
| En voici quelques-uns. | Nous allons en voir quelques-uns. | ||||||
| 
 | 
 | ||||||
|  | % ============================================================== | ||||||
|  | 
 | ||||||
|  | \section{Gdb}\index{gdb} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | GDB is a source-level debugger, capable of breaking programs at | ||||||
|  | any specific line, displaying variable values, and determining | ||||||
|  | where errors occurred. Currently, gdb supports C, C++, D, | ||||||
|  | Objective-C, Fortran, Java, OpenCL C, Pascal, assembly, Modula-2, | ||||||
|  | Go, and Ada. \textsc{A must-have for any serious programmer}. | ||||||
|  | 
 | ||||||
|  | \subsection{ddd} | ||||||
|  | 
 | ||||||
|  | DDD is a graphical front-end for GDB and other command-line  debuggers. | ||||||
|  | Using DDD, you can see what is going on “inside” another program while | ||||||
|  | it executes—or what another program was doing at the moment it crashed. | ||||||
|  | 
 | ||||||
|  | \subsection{xxgdb} | ||||||
|  | 
 | ||||||
|  | xxgdb is a simple but powerful graphical interface to the GNU | ||||||
|  | debugger gdb.  A more powerful (but slower and much bigger) interface | ||||||
|  | is available in the ddd package. | ||||||
| 
 | 
 | ||||||
| % ============================================================== | % ============================================================== | ||||||
| 
 | 
 | ||||||
| @ -18,18 +40,12 @@ Comme vous le savez tous, un appel système | |||||||
| est \textbf{le} moyen de communication qu'utilise un process | est \textbf{le} moyen de communication qu'utilise un process | ||||||
| utilisateur pôur demander un service au noyau. | utilisateur pôur demander un service au noyau. | ||||||
| 
 | 
 | ||||||
| \begin{lstlisting}[language=C] | \lstinputlisting[language=C]{code/hello.c} | ||||||
| #include  <stdio.h> |  | ||||||
| int main(int argc, char *argv[]) |  | ||||||
| { |  | ||||||
| printf("Hello world.\n"); |  | ||||||
| return 0; |  | ||||||
| } |  | ||||||
| \end{lstlisting} |  | ||||||
| 
 | 
 | ||||||
| Un exemple canonique, n'est-il pas ? Ce bout de code affichant | Un exemple canonique, n'est-il pas ? Ce bout de code affichant | ||||||
| quelque chose à l'écran, il doit bien y avoir un appel au noyau | quelque chose à l'écran, il doit bien y avoir un appel au noyau | ||||||
| qui traine par là. Nous allons donc le chercher% | qui traine par là pour écrire vers la sortie standard. | ||||||
|  | Nous allons donc le chercher% | ||||||
| \footnote{En trichant un peu, je l'avoue, je connais son nom.} | \footnote{En trichant un peu, je l'avoue, je connais son nom.} | ||||||
| 
 | 
 | ||||||
| \begin{verbatim} | \begin{verbatim} | ||||||
|  | |||||||
| @ -3,11 +3,17 @@ | |||||||
| Successeur pour certaines distributions du vénérable | Successeur pour certaines distributions du vénérable | ||||||
| \texttt{lilo}\footnote{Linux Loader}\index{lilo}, | \texttt{lilo}\footnote{Linux Loader}\index{lilo}, | ||||||
| le Grub, aka \textsl{Grand Unified Bootloader} est nettement plus | le Grub, aka \textsl{Grand Unified Bootloader} est nettement plus | ||||||
| complexe, mais permet (parait-il) de faire beaucoup plus de choses | complexe, mais permet (parait-il) de faire beaucoup plus de choses. | ||||||
|  | 
 | ||||||
|  | \section{Astuces} | ||||||
|  | 
 | ||||||
|  | Pour installer \texttt{memtest86+} dans une Fedora, c'est en page | ||||||
|  | \pageref{memtest86:fedora}. | ||||||
| 
 | 
 | ||||||
| \section{Questions} | \section{Questions} | ||||||
| 
 | 
 | ||||||
| \begin{itemize} | \begin{itemize} | ||||||
| \item comment passer la carte VGA\index{VGA} en 80x43 ? | \item comment passer la carte VGA\index{VGA} en 80x43 ? | ||||||
|  | \item comment booter un disque FreeDOS\index{FreeDOS} ? | ||||||
| \end{itemize} | \end{itemize} | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -68,9 +68,9 @@ est la limite\footnote{Comme à peu près tout dans la vie.} | |||||||
| \section{Disques durs} | \section{Disques durs} | ||||||
| 
 | 
 | ||||||
| Iozone ? Bonnie ? Smart\index{smart} ? UUID\index{uuid} ? | Iozone ? Bonnie ? Smart\index{smart} ? UUID\index{uuid} ? | ||||||
| Ddrescue ? | Ddrescue\index{ddrescue} ? | ||||||
| 
 | 
 | ||||||
| \subsection{blkid} | \subsection{blkid \& lsblk} | ||||||
| 
 | 
 | ||||||
| À mi-chemin entre le matériel et le système, la commande | À mi-chemin entre le matériel et le système, la commande | ||||||
| \texttt{blkid}\index{blkid} affiche quelques informations | \texttt{blkid}\index{blkid} affiche quelques informations | ||||||
| @ -85,6 +85,24 @@ et surtout les partitions qu'ils contiennent~: | |||||||
| \item PARTUID | \item PARTUID | ||||||
| \end{itemize} | \end{itemize} | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | \vspace{1em} | ||||||
|  | 
 | ||||||
|  | Quand à \texttt{lsblk}\index{lsblk}, elle affiche | ||||||
|  | le même genre d'information, mais en plus joli | ||||||
|  | (j'ai utilisé l'option \texttt{-i} pour que le résultat | ||||||
|  | passe mieux à l'impression)~: | ||||||
|  | 
 | ||||||
|  | \begin{verbatim} | ||||||
|  | NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT | ||||||
|  | sda      8:0    0 232.9G  0 disk  | ||||||
|  | +-sda1   8:1    0  18.6G  0 part / | ||||||
|  | +-sda2   8:2    0   3.8G  0 part [SWAP] | ||||||
|  | +-sda3   8:3    0   488M  0 part /boot | ||||||
|  | +-sda4   8:4    0   210G  0 part /home | ||||||
|  | \end{verbatim} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| %   ----------------------------------------------------------- | %   ----------------------------------------------------------- | ||||||
| 
 | 
 | ||||||
| \subsection{Smart}\index{smart} | \subsection{Smart}\index{smart} | ||||||
| @ -98,21 +116,21 @@ idéal, la prédiction des pannes. | |||||||
| \begin{verbatim} | \begin{verbatim} | ||||||
|        smartctl -a /dev/sda |        smartctl -a /dev/sda | ||||||
|        Print a large amount of SMART information for drive /dev/sda . |        Print a large amount of SMART information for drive /dev/sda . | ||||||
| 
 |  | ||||||
|        smartctl -s off /dev/sdd |  | ||||||
|        Disable SMART monitoring and data log collection on drive /dev/sdd . |  | ||||||
| \end{verbatim} | \end{verbatim} | ||||||
| 
 | 
 | ||||||
| %   ----------------------------------------------------------- | %   ----------------------------------------------------------- | ||||||
| \subsection{fsck}\index{fsck} | \subsection{fsck}\index{fsck}\index{fuck} | ||||||
| 
 | 
 | ||||||
| \textsl{Check and repair a Linux filesystem} | \textsl{Check and repair a Linux filesystem} | ||||||
| 
 | 
 | ||||||
|  | Fortune du jour : \textsf{Franchement, là, je préfère que ce soit vous qui prenne la | ||||||
|  | tronçonneuse, parce que là, c'est pas beau à voir\dots} | ||||||
|  | 
 | ||||||
| %   ----------------------------------------------------------- | %   ----------------------------------------------------------- | ||||||
| \subsection{tune2fs}\index{tune2fs} | \subsection{tune2fs}\index{tune2fs} | ||||||
| 
 | 
 | ||||||
| \textsl{Adjust tunable filesystem parameters on ext2/ext3/ext4 | \textsl{Adjust tunable filesystem parameters on ext2/ext3/ext4 | ||||||
| filesystems} | filesystems}\footnote{You can tune a fs, but you can't tuna fish}. | ||||||
| 
 | 
 | ||||||
| %   ----------------------------------------------------------- | %   ----------------------------------------------------------- | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -105,7 +105,7 @@ d'une application | |||||||
|  to output audio using a simple API on a wide variety of platforms.}). |  to output audio using a simple API on a wide variety of platforms.}). | ||||||
| Elle supporte une grande variété de formats. | Elle supporte une grande variété de formats. | ||||||
| 
 | 
 | ||||||
| \lstinputlisting[language=C]{ao_example.c} | \lstinputlisting[language=C]{code/ao_example.c} | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -3,7 +3,10 @@ | |||||||
| 
 | 
 | ||||||
| % ---------------------------------------------------------------- | % ---------------------------------------------------------------- | ||||||
| 
 | 
 | ||||||
| Ahemmm, par quoi commencer\footnote{Par de l'aspirine ?} ? Par un | Ahemmm, par quoi commencer\footnote{Par de l'aspirine ?} ? | ||||||
|  | La programmation avec les fils d'exécution est un espace | ||||||
|  | rempli de chausse-trappes.  | ||||||
|  | Par un | ||||||
| extrait de la page \texttt{pthreads(6)} ? Voilà, ça c'est bien : | extrait de la page \texttt{pthreads(6)} ? Voilà, ça c'est bien : | ||||||
| 
 | 
 | ||||||
| \begin{quote} | \begin{quote} | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								main.tex
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								main.tex
									
									
									
									
									
								
							| @ -73,7 +73,7 @@ Your mileage may vary\dots | |||||||
| % ============================================================== | % ============================================================== | ||||||
| 
 | 
 | ||||||
| \input{chap/shell} | \input{chap/shell} | ||||||
| \input{chap/editeurs} | % \input{chap/editeurs} | ||||||
| \input{chap/son} | \input{chap/son} | ||||||
| \input{chap/image} | \input{chap/image} | ||||||
| \input{chap/reseau} | \input{chap/reseau} | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user