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 | ||||
| pour les gérer. | ||||
| 
 | ||||
| Pour mettre à jour~: | ||||
| 
 | ||||
| \texttt{\# dnf upgrade'}  | ||||
| 
 | ||||
| Pour chercher un binaire précis~: | ||||
| 
 | ||||
| \texttt{\# dnf provides '*/interpolator'}  | ||||
| @ -34,6 +38,46 @@ de gcc : | ||||
| \texttt{gcc \$(COPT) -I/usr/include/netpbm -c \$<}, dont la | ||||
| 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 ?} | ||||
|  | ||||
| @ -12,7 +12,7 @@ configurer. | ||||
| 
 | ||||
| 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 | ||||
| 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} | ||||
| 
 | ||||
| % ============================================================== | ||||
| \section{hexchat} | ||||
| \index{hexchat} | ||||
| 
 | ||||
| Client graphique bien efficace. | ||||
| 
 | ||||
| % ============================================================== | ||||
|  | ||||
							
								
								
									
										17
									
								
								chap/X11.tex
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								chap/X11.tex
									
									
									
									
									
								
							| @ -18,7 +18,7 @@ Comment faire pour visualiser la plénitude des formes de mes fontes ? | ||||
| 
 | ||||
| 
 | ||||
| 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 | ||||
|        extensions like composite, damage and randr.} | ||||
| 
 | ||||
| @ -27,10 +27,13 @@ si simple qua ça. | ||||
| Par exemple, quelle est la méthode à mettre en œuvre pour avoir  | ||||
| le clavier en Azerty\index{azerty} ? | ||||
| 
 | ||||
| XXX\index{XXX} | ||||
| 
 | ||||
| %------------------------------------------------------------------- | ||||
| \section{Numlock} | ||||
| 
 | ||||
| Vous l'avez voulu, le voici~: | ||||
| 
 | ||||
| \begin{verbatim} | ||||
| #include <X11/XKBlib.h> | ||||
| #include <X11/extensions/XKB.h> | ||||
| @ -98,7 +101,19 @@ $ | ||||
| 
 | ||||
| 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 | ||||
| (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. | ||||
| 
 | ||||
| \lstinputlisting[language=C]{ex_curses.c} | ||||
| \lstinputlisting[language=C]{code/ex_curses.c} | ||||
| 
 | ||||
| La première étape consiste à initialiser et configurer le moteur | ||||
| 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} | ||||
| tels que le classique \texttt{gdb}\index{gdb}, mais il en existe | ||||
| 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 | ||||
| utilisateur pôur demander un service au noyau. | ||||
| 
 | ||||
| \begin{lstlisting}[language=C] | ||||
| #include  <stdio.h> | ||||
| int main(int argc, char *argv[]) | ||||
| { | ||||
| printf("Hello world.\n"); | ||||
| return 0; | ||||
| } | ||||
| \end{lstlisting} | ||||
| \lstinputlisting[language=C]{code/hello.c} | ||||
| 
 | ||||
| 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 | ||||
| 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.} | ||||
| 
 | ||||
| \begin{verbatim} | ||||
|  | ||||
| @ -3,11 +3,17 @@ | ||||
| Successeur pour certaines distributions du vénérable | ||||
| \texttt{lilo}\footnote{Linux Loader}\index{lilo}, | ||||
| 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} | ||||
| 
 | ||||
| \begin{itemize} | ||||
| \item comment passer la carte VGA\index{VGA} en 80x43 ? | ||||
| \item comment booter un disque FreeDOS\index{FreeDOS} ? | ||||
| \end{itemize} | ||||
| 
 | ||||
|  | ||||
| @ -68,9 +68,9 @@ est la limite\footnote{Comme à peu près tout dans la vie.} | ||||
| \section{Disques durs} | ||||
| 
 | ||||
| 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 | ||||
| \texttt{blkid}\index{blkid} affiche quelques informations | ||||
| @ -85,6 +85,24 @@ et surtout les partitions qu'ils contiennent~: | ||||
| \item PARTUID | ||||
| \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} | ||||
| @ -98,21 +116,21 @@ idéal, la prédiction des pannes. | ||||
| \begin{verbatim} | ||||
|        smartctl -a /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} | ||||
| 
 | ||||
| %   ----------------------------------------------------------- | ||||
| \subsection{fsck}\index{fsck} | ||||
| \subsection{fsck}\index{fsck}\index{fuck} | ||||
| 
 | ||||
| \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} | ||||
| 
 | ||||
| \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.}). | ||||
| 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 : | ||||
| 
 | ||||
| \begin{quote} | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user