diff --git a/.gitignore b/.gitignore index 83c3913..29247d5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ public/ *.bin -*.so diff --git a/README.md b/README.md index c76937c..2e1e90c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Notes de cours et TD machines ----------------------------- -Dépôt git pour la construction d'un site statique avec +Dépôt git pour la construction d'un sitre statique avec [Hugo](https://gohugo.io) reprenant l'ensemble de mes notres de cours et TM machine mises au propre (J'ai beaucoup de retard...) @@ -12,8 +12,8 @@ Je rajouterai plus tard un `makefile` pour la construction de fichiers PDF avec ### Installer le thème -Pour que la construction du site fonctionne, il faut installer le thème -mainroad. Il est présent sous la forme d'un `submodule` git qu'il faut +Pour que la construction du site fonctionne, il faut installer le thème visuer +choisi (ici er). Il est présent sous la forme d'un `submodule` git au'il faut initialiser (dans le répertoire racine du dépôt). ```shell @@ -36,10 +36,16 @@ $ hugo server -D --disableFastRender -v ``` Il est possible de rajouter l'option `--debug` afin d'afficher plus -d'informations sur la sortie standard. Une fois ce mode activé, il suffit -d'ouvrir son navigateur à l'adresse *http://localhost:1313*. +d'information sur la sortie standard. Une fois ce mode activé, il suffit +d'ouvrir son navigateur er d'aller à l'adresse *http://localhost:1313*. + +## Site en ligne + +Le site n'est pas encore accessible en ligne, un jour peut-être... ## Bugs C'est la première fois que j'utilise un générateur de site statique, le -fonctionnement du site n'est donc pas optimal +focntionnement du site n'est donc pas optimal. Les pages **tags** et +**catégories** ne fonctionnent pas (pages blanches) pour une raison encore +mystérieuse. diff --git a/content/progsys/TDM_9-les_librairies/index.md b/content/progsys/TDM_9-les_librairies/index.md deleted file mode 100644 index b4430c6..0000000 --- a/content/progsys/TDM_9-les_librairies/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: "TDM : les librairies" -date: 2018-11-16 -categories: ["Programmation système", "TD machine"] ---- - -Le but de ce TD est de détourner la commande `uname` en réécrivant la fonction -`uname()` dans une librairie partagée et de charger celle-ci grâce à un -`LD_PRELOAD` - -Pour afficher de information sur la la fonction `uname`, il suffit de faire un -`man 2 uname` - -## code de ma fonction de remplacement - -```c -#include -#include - -int uname(struct utsname *buf) -{ - - strcpy(buf->sysname,"Windows GNU/LINUX"); - strcpy(buf->nodename, ""); - strcpy(buf->release, "10.0.0.1"); - strcpy(buf->version, "10.2"); - strcpy(buf->machine, "Shittycorp processors inc."); - - return 1; -} -``` - -Il faut charger les entêtes `sys/utsname.h` (définition de la structure de -donnée `utsname`) et `string.h` (pour l'utilisation de `strcpy()` - -Cette dernière est nécessaire pour manipuler les chaines de caractères avec le -pointer `*buf` vers la structure de données `utsname`. - -## compilation et exécution - -la compilation de la librairie se fait donc avec `gcc` et les arguments `-fPIC` -et `-shared`: - -```shell -gcc -Wall -fPIC -shared ./src/libuname.c -o src/libuname.so -``` - -Comme indiqué en cours, il suffit d'exécuter le programme `uname` en -préchargeant notre librairie : - -```shell -LD_PRELOAD=./libuname.so uname -``` - -*Attention*, il fait bien indiqué le répertoire dans lequel se trouve la -librairie dans le `LD_PRELOAD`, même si elle se situe dans le répertoire -courant. Ici j'ai bien spécifié `./libuname.so`, en ne mettant que `libuname.so` -dans le `./` le chargement de la librairie ne fonctionne pas : - -```shell -LD_PRELOAD=libuname.so uname -ERROR: ld.so: object 'libuname.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. Linux -``` diff --git a/content/progsys/TDM_9-les_librairies/src/libuname.c b/content/progsys/TDM_9-les_librairies/src/libuname.c deleted file mode 100644 index e09fa88..0000000 --- a/content/progsys/TDM_9-les_librairies/src/libuname.c +++ /dev/null @@ -1,14 +0,0 @@ -#include -#include - -int uname(struct utsname *buf) -{ - - strcpy(buf->sysname,"Windows GNU/LINUX"); - strcpy(buf->nodename, ""); - strcpy(buf->release, "10.0.0.1"); - strcpy(buf->version, "10.2"); - strcpy(buf->machine, "Shittycorp processors inc."); - - return 1; -}