+ git,wifi,divers,threads chapters

This commit is contained in:
Tonton Th 2020-09-29 13:53:27 +02:00
parent e038d2feda
commit 9a9d3108ba
5 changed files with 222 additions and 4 deletions

50
chap/GIT.tex Normal file
View File

@ -0,0 +1,50 @@
\chapter{GIT}
\index{GIT} \label{GIT}
Git est un système de gestion de version, très bien expliqué
aux quatre coins des interwebs. Je ne vais donc pas m'étendre
plus que ça, pour passer tout de suite à un cas particulier
\footnote{que je n'arrive pas encore à vraiment maitriser}.
\section{Démarrage}
\begin{verbatim}
$ mkdir Foo
$ cd Foo/
$ git init
$ > README.txt
$ git add README.txt
\end{verbatim}
\section{Setup du serveur}
Sur le serveur distant, dans un endroit accessible par
le protocole \texttt{HTTP}, il faut créer le dépot.
\begin{verbatim}
$ mkdir Foo
$ cd Foo/
$ git init --bare
\end{verbatim}
Et ensuite :
\begin{verbatim}
$ git update-server-info
\end{verbatim}
\section{Pousser le code}
Notre commit\index{commit} local semble pertinent,
il est temps de le faire connaitre au monde.
\begin{verbatim}
$ git push yuser@serveur:/chemin/vers/le/depot/Foo
\end{verbatim}
\section{Krkrkr...}
Tout cela semble bien compliqué.

75
chap/WiFi.tex Normal file
View File

@ -0,0 +1,75 @@
\chapter{WiFi}
\label{WiFi}
WIreless FIdelity.
% ==============================================================
\section{wicd}
\index{wicd}
\textsl{Wired and Wireless Network Connection Manager}.
Wicd est constitué de deux éléments : un \textsl{daemon}
qui est responsable de gérer les connections, et plusieurs
interfaces utilisateurs. Ces deux parties communiquent
par D-Bus\index{D-Bus}.
\begin{verbatim}
root@plop:~# wicd-cli -S -y
root@plop:~# wicd-cli -l -y
# BSSID Channel ESSID
0 00:25:15:A6:2A:D0 1 NEUF_2ACC
1 CA:25:15:A6:2A:D3 1 SFR WiFi Mobile
2 CA:25:15:A6:2A:D1 1 SFR WiFi Public
3 A0:21:B7:D5:BA:DB 6 NUMERICABLE-35E0
4 00:17:33:D4:39:B8 11 NEUF_39B4
5 F4:CA:E5:95:DA:1E 10 FreeWifi_secure
6 F4:CA:E5:95:DA:1D 10 FreeWifi
7 16:10:18:47:F2:4C 11 <hidden>
8 00:24:D4:CE:4F:A1 1 FreeWifi
9 00:24:D4:CE:4F:A2 1 FreeWifi_secure
10 16:10:18:47:F2:4E 11 FreeWifi_secure
11 00:24:D4:CE:4F:A0 1 freeboxwifi
12 00:0E:9B:24:F5:2B 7 poisson_bulle
\end{verbatim}
La première ligne demande au \textsl{daemon} de scanner
(option \texttt{-S} ou \texttt{--scan})
les réseaux disponibles en wireless. Puis la seconde
commande demande l'affichage de la liste.
% ==============================================================
\section{Un coup de NAT}
\index{NAT}\label{NAT}
Une machine connectée en wifi sur une friboite\footnote{ou le
Cisco sauvage de la salle d'AG, hein, mais ça ne sera
pas le même nameserver.} peut facilement
faire translateur d'adresse pour un réseau branché sur
son eth, à condition de connaitre les
incantations magiques
(qui sont ici très linuxisantes) :
\begin{verbatim}
ifconfig eth0 10.9.9.200/24
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
\end{verbatim}
Ensuite sur les machines du lan, donc le coté ethernet,
il faut incanter ce genre de trucs :
\begin{verbatim}
ifconfig eth0 10.9.9.199/24
route add default gw 10.9.9.200
echo "nameserver 192.168.0.254" >> /etc/resolv.conf
\end{verbatim}
Normalement, ça devrait marcher. D'un autre coté, ce texte
date de 2011, et l'arrivée de \texttt{systemd}\index{systemd}
a peut-être cassée des choses.
% ==============================================================

38
chap/divers.tex Normal file
View File

@ -0,0 +1,38 @@
\chapter{Trucs divers}
\label{divers}
\section{Permissions}
Suite à un accident d'origine indéterminé, Captain \textsc{root} a crée
un fichier dans le \$HOME d'un pauvre péone. Et celui-ci découvre avec
effroi qu'il ne peut ni lire ni modifier ce fichier. Ce que peut
confirmer un \texttt{ls -l} qui montre bien que seul root a des droits
sur ce fichier :
\begin{verbatim}
-rwx------ 1 root root 70 2012-03-15 12:16 coin.pan
\end{verbatim}
Question : qui tombe à l'eau ?
% ==============================================================
\section{Prompt}
\index{prompt}
\begin{verbatim}
printf '\033]11;lemonchiffon2\a'
\end{verbatim}
% ==============================================================
\section{fdupes}
\index{fdupes}\label{fdupes}
Un utilitaire pour découvrir les fichiers dupliqués dans
votre disque dur qui se remplit trop vite à votre gout.
% ==============================================================

50
chap/threads.tex Normal file
View File

@ -0,0 +1,50 @@
\chapter{threads}
\index{threads}
% ----------------------------------------------------------------
Ahemmm, par quoi commencer\footnote{Par de l'aspirine ?} ? Par un
extrait de la page \texttt{pthreads(6)} ? Voilà, ça c'est bien :
\begin{quote}
POSIX.1 specifies a set of interfaces (functions, header files) for
threaded programming commonly known as Pthreads.
A single process can contain multiple threads, all of which are
executing the same program. These threads share the same global
memory (data and heap segments), but each thread has its own stack
(automatic variables).
\end{quote}
Et c'est là que les ennuis potentiels débarquent :
\textit{share the same global memory}, ce qui veut dire en gros
«~se partagent la même mémoire globale~».
% ----------------------------------------------------------------
\section{ITC}
\index{ITC}
\textit{Inter Thread Communication}
Imaginons une application avec un thread qui fait le travail effectif
(nous le nommerons \textsl{worker}), et plusieurs autres threads
qui attendent des ordres de l'extérieur (telnet, MIDI\index{MIDI},
joystick\index{joystick}\dots) et qui doivent passer ces commandes
au \textsl{worker}.
Comment allons-nous procéder\footnote{Et c'est une vraie question !} ?
Une première piste : http://tools.ietf.org/html/rfc3117
% ----------------------------------------------------------------
\section{Un exemple}
XXX\index{XXX}
% ----------------------------------------------------------------

View File

@ -39,10 +39,15 @@ Mais elles sont en vrac, et surtout, elles sont reprises
d'une très ancienne version (circa 2011) et donc,
peut-être pas vraiment d'actualité.
\vspace{5em}
Tout cette ouvrage a été écrit avec mousepad et \LaTeX{}
selon la méthode éprouvée dite
de «~La~Rache~», essentiellement sur une machine Debian/amd64.
\vspace{5em}
Your mileage may vary\dots
@ -69,7 +74,7 @@ Your mileage may vary\dots
\input{chap/dino}
\input{chap/textes}
% \input{chap/MINITEL}
% \input{chap/threads}
\input{chap/threads}
% \input{chap/dosbox}
\input{chap/photos}
\input{chap/reseau}
@ -82,9 +87,9 @@ Your mileage may vary\dots
\input{chap/gadgets}
% \input{chap/slang}
\input{chap/curses}
% \input{chap/WiFi}
% \input{chap/GIT}
% \input{chap/divers}
\input{chap/WiFi}
\input{chap/GIT}
\input{chap/divers}
% \input{chap/peer2peer}
% ==============================================================