# Limiter les écritures sur disque SSD

**URL:** <https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026>\
**Category:** Support Debian\
**Created:** [Janvier 21, 2020, 5:11 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026 "2020-01-21T17:11:26Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 21, 2020, 5:11 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/1 "2020-01-21T17:11:27Z")

</div>

Bonsoir,

Comment faire pour limiter le nombre de lectures et d’écritures sur un disque SSD.

J’ai déjà placé les fichiers temporaires ainsi que le cache de Firefox en mémoire vive

J’ai deux partitions ext4; une pour / et une autre pour /home.

Que pourrais-je faire d’autre. Je m’inquiète surtout pour les logs; surtout que mon firewall contient beaucoup de règles avec des logs.

Voici mon script iptables. Dois-je enlever quelques règles de LOG pour limiter les écritures?

```nohighlight
#table filter
iptables -t filter -F
iptables -t filter -X
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
#
#table nat
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P INPUT ACCEPT
iptables -t nat -P OUTPUT ACCEPT
#
#table mangle
iptables -t mangle -F
itpables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P INPUT ACCEPT
#
#table raw
iptables -t raw -F
itpables -t raw -X
iptables -t raw -P OUTPUT ACCEPT
iptables -t raw -P PREROUTING ACCEPT
#
#logger les paquets droppés
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix "INPUT:DROP:" --log-level 6
iptables -A LOG_DROP -j DROP
# DROP paquets TCP NEW autres que SYN + log
iptables -A INPUT -p tcp ! --syn -m conntrack --ctstate NEW -j LOG_DROP
# DROP paquets invalides +log
iptables -A INPUT -m conntrack --ctstate INVALID -j LOG_DROP
# DROP NULL +log
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j LOG_DROP
# DROP XMAS +log
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j LOG_DROP
# DROP SYNFIN +log
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN -j LOG_DROP
# DROP FIN scan +log
iptables -A INPUT -p tcp --tcp-flags ALL FIN -j LOG_DROP
# DROP SYN RST +log
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j LOG_DROP
# DROP NMAP XMAS +log
iptables -A INPUT -p tcp --tcp-flags ALL URG,PSH,FIN -j LOG_DROP
# DROP NMAP +log
iptables -A INPUT -p tcp --tcp-flags ALL URG,PSH,SYN,FIN -j LOG_DROP
# DROP port scans +log
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j LOG_DROP
#autorise lo +log
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j LOG_DROP
iptables -A INPUT ! -i lo -s 127.0.0.0/8 -j LOG_DROP
iptables -A INPUT -i lo -j ACCEPT
#
#maintenir les connexions établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#
# autoriser connexions sur certains ports avec limite de connexions entrantes par seconde (ex: ssh) + logger les connexions acceptées
#iptables -N LOG_ACCEPT
#iptables -A LOG_ACCEPT -j LOG --log-prefix "INPUT:ACCEPT:" --log-level 6
#iptables -A LOG_ACCEPT -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 --state NEW -m limit --limit 1/s --limit-burst 3 -j LOG_ACCEPT
#logger les paquets avec un préfixe différent de celui des logs de paquets invalides explicitement bloqués
iptables -A INPUT -j LOG --log-prefix "INPUT:end of chain:" --log-level 6

```

Merci

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Janvier 21, 2020, 6:32 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/2 "2020-01-21T18:32:01Z")

</div>

> [@](#):
>
> Gaby  
> Gaby  
> Alors à quoi ça sert la frite si t’as pas les moules  
> Ça sert à quoi l’cochonnet si t’as pas les boules?

[![](https://img.youtube.com/vi/1nKfTvz9KB0/maxresdefault.jpg "Alain Bashung "Gaby Oh ! Gaby" | Archive INA") ](https://www.youtube.com/watch?v=1nKfTvz9KB0)

A quoi ça sert les logs si t’as pas de problème? Tu les consultes quand exectement?

On peut se passer de tout ou partie et remettre si on croit avoir un problème

> **[Les journaux de messages système](https://bidouilledebian.wordpress.com/2018/10/13/les-journaux-de-messages-systeme/)**
>
> Linux peut s’avérer un système très bavard. C’est bien pour chercher des fautes ou améliorer des fonctions. Mais dans une utilisation  » en bon père de famille », …

---

<div class="post-metadata">

**Author:** ![spawn](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/9dc877/32.png) [@spawn](https://www.debian-fr.org/u/spawn)\
**Post date:** [Janvier 22, 2020, 10:38 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/3 "2020-01-22T10:38:47Z")

</div>

Bonjour,

Tu parle d’écriture tu parle de SSD mais en faite que recherche tu? Que craint tu?

Pourquoi limiter le nombre d’écriture?

Je rejoint Grandtoubab dans sa pertinence.

---

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 22, 2020, 10:47 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/4 "2020-01-22T10:47:42Z")

</div>

Je consulte les logs rarement, en fait seulement quand j’ai un problème, environ 1 à 2 fois par mois.

@grantoubab  
Dans le lien que tu m’as donné, il inscrit que la configuration se fait dans le fichier /etc/rsyslog.conf mais dans ledit fichier, il est inscrit " Default logging rules can be found in /etc/rsyslog.d/50-default.conf". Ne vaudrait-il pas mieux changer les règles dans ce fichier au lieu du /etc/ rsyslog.conf?

---

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 22, 2020, 10:48 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/5 "2020-01-22T10:48:48Z")

</div>

Je cherche à diminuer l’usure du disque dur SSD.

---

<div class="post-metadata">

**Author:** ![spawn](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/9dc877/32.png) [@spawn](https://www.debian-fr.org/u/spawn)\
**Post date:** [Janvier 22, 2020, 11:07 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/6 "2020-01-22T11:07:03Z")

</div>

Ok, à tu enlevé la partition Swap ?

à tu effectué cette opération (c’est un exemple) : [https://geekeries.de-labrusse.fr/?p=1806](https://geekeries.de-labrusse.fr/?p=1806)  
sur ta debian?

par ce que là je suis curieux de savoir si un SSD risque de claquer à cause des logs?! Je serais surpris  
Par contre il est vrai que si tu dispose de beaucoup de RAM ton SSD ne risque rien si ta RAM n’est jamais utilisée au dela de 60 % .

Pour ma part je n’ai pas de partition SWAP et ma RAM peut être utilisé a 90%.

Cela évite trop d’écriture!

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Janvier 22, 2020, 12:48 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/7 "2020-01-22T12:48:37Z")

</div>

> [@Richard2](#):
>
> @grantoubab  
> Dans le lien que tu m’as donné, il inscrit que la configuration se fait dans le fichier /etc/rsyslog.conf mais dans ledit fichier, il est inscrit " Default logging rules can be found in /etc/rsyslog.d/50-default.conf". Ne vaudrait-il pas mieux changer les règles dans ce fichier au lieu du /etc/ rsyslog.conf?

oui ça evite de perdre ses réglages perso en cas de relivraison du paquet.  
je les ai mis dans un fichier /etc/rsyslog.d/rsyslog-perso.conf

```auto
# /etc/rsyslog.conf	Configuration file for rsyslog.
#
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
###############
#### RULES ####
###############

#
# First some standard log files. Log by facility.
#
#auth,authpriv.* /var/log/auth.log
# ne garder que le niveau err et supérieur
#*.*;auth,authpriv.none -/var/log/syslog
#*.err;auth,authpriv.none	-/var/log/syslog
#cron.* /var/log/cron.log
#daemon.* -/var/log/daemon.log
# tous les messages sont dans syslog pas vraiment besoin de kern.log
#kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
# voir plus bas
#mail.* -/var/log/mail.log
#user.* -/var/log/user.log

#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err

# Some "catch-all" log files.
#
# je ne fais pas de debug
#*.=debug;\
#	auth,authpriv.none;\
#	news.none;mail.none	-/var/log/debug
#
# pas besoin de tout journaliser dans messages
#*.=info;*.=notice;*.=warn;\
#	auth,authpriv.none;\
#	cron,daemon.none;\
#	mail,news.none -/var/log/messages

#
# Emergencies are sent to everybody logged in.
#
*.emerg :omusrmsg:*

```

je ne me sers que de journalctl sans conservation

---

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 22, 2020, 6:42 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/8 "2020-01-22T18:42:22Z")

</div>

@grandtoubab  
Donc, je crée un fichier «&nbsp;/etc/rsyslog.d/rsyslog-perso.conf&nbsp;», j’y copie les RULES et je redémarre le service comme ceci «&nbsp;systemctl restart rsyslog.service&nbsp;».  
Le problème, s’ il y en a un, c’est lorsque je vérifie avec la commande «&nbsp;systemctl status systemd-journald&nbsp;» le retour est le même qu’avant les nouveaux réglages. Est-ce normal?

Pour ce qui est du systemd, si j’ai bien compris, je l’ai mis en ram.

```
df -hT | grep /run
tmpfs tmpfs 1,6G 1,4M 1,6G 1% /run
tmpfs tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs tmpfs 1,6G 16K 1,6G 1% /run/user/1000

```

> [@grandtoubab](#):
>
> je ne me sers que de journalctl sans conservation

Tu veux dire en ram ou c’est un autre réglage?

---

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 22, 2020, 6:43 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/9 "2020-01-22T18:43:04Z")

</div>

Oui, je n’ai pas de partition swap et j’ai 16GB de mémoire ram.

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Janvier 22, 2020, 6:55 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/10 "2020-01-22T18:55:48Z")

</div>

> [@Richard2](#):
>
> @grandtoubab  
> Donc, je crée un fichier «&nbsp;/etc/rsyslog.d/rsyslog-perso.conf&nbsp;», j’y copie les RULES et je redémarre le service comme ceci «&nbsp;systemctl restart rsyslog.service&nbsp;».  
> Le problème, s’ il y en a un, c’est lorsque je vérifie avec la commande «&nbsp;systemctl status systemd-journald&nbsp;» le retour est le même qu’avant les nouveaux réglages. Est-ce normal?
> 
> Pour ce qui est du systemd, si j’ai bien compris, je l’ai mis en ram.
> 
> ```
> df -hT | grep /run
> tmpfs tmpfs 1,6G 1,4M 1,6G 1% /run
> tmpfs tmpfs 5,0M 4,0K 5,0M 1% /run/lock
> tmpfs tmpfs 1,6G 16K 1,6G 1% /run/user/1000
> 
> ```
> 
> > [@grandtoubab](#):
> >
> > je ne me sers que de journalctl sans conservation
> 
> Tu veux dire en ram ou c’est un autre réglage?

en RAM «&nbsp;volatil&nbsp;»

```auto
cat /etc/rsyslog.conf
# /etc/rsyslog.conf	Configuration file for rsyslog.
#
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html

#################
#### MODULES ####
#################

module(load="imuxsock") # provides support for local system logging
module(load="imklog") # provides kernel logging support
#module(load="immark") # provides --MARK-- message capability

# provides UDP syslog reception
#module(load="imudp")
#input(type="imudp" port="514")

# provides TCP syslog reception
#module(load="imtcp")
#input(type="imtcp" port="514")

###########################
#### GLOBAL DIRECTIVES ####
###########################

#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

#
# Where to place spool and state files
#
$WorkDirectory /var/spool/rsyslog

#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf

###############
#### RULES ####
###############
#
# voir /etc/rsyslog.d/rsyslog-perso.conf

```

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Janvier 23, 2020, 8:19 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/11 "2020-01-23T08:19:08Z")

</div>

Avec la commande `lsof` on peut voir si des fichiers sont ouverts  
[https://manpages.debian.org/buster/lsof/lsof.8.en.html](https://manpages.debian.org/buster/lsof/lsof.8.en.html)

identifier le process

```nohighlight
ps -edf | grep journal

```

**Exemple**

```nohighlight
root 253 1 0 08:08 ? 00:00:01 /lib/systemd/systemd-journald

```

```nohighlight
ps -edf | grep log

```

**Exemple**

```nohighlight
root 601 1 0 08:08 ? 00:00:00 /usr/sbin/rsyslogd -n -iNONE

```

puis interroger les fichiers ouverts par le process avec `lsof -p pid`

**Exemple**

```nohighlight
sudo lsof -p 253
sudo lsof -p 601

```

Si tu veux savoir qui sollicite ton /home

```nohighlight
 sudo lsof | grep /home

```

---

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 23, 2020, 11:29 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/12 "2020-01-23T11:29:55Z")

</div>

OK merci.

Malheureusement, lorsque je lance la commande **sudo lsof -p** , j’ai un message d’erreur

```
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
  Output information may be incomplete.

```

Dans le lien que tu m’as donné, il propose de ne stocker qu’à partir des messages d’avertissements et de créer un fichier ( **reduction.conf** ) des paramètres personnalisés dans **/etc/systemd/journald.conf.d**. Mais je n’ai pas de dossier **journald.conf.d**.Est-ce que je peux mettre le fichier **reduction.conf** directement dans le dossier **/etc/systemd/**?

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Janvier 23, 2020, 1:40 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/13 "2020-01-23T13:40:13Z")

</div>

faut mettre un numéro de process derriere l’option -p

pour créer le répertoire afin d’y mettre le fichier d’option

```nohighlight
cd /etc/systemd/

```

```nohighlight
sudo mkdir journald.conf.d

```

---

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 23, 2020, 6:29 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/14 "2020-01-23T18:29:54Z")

</div>

> [@grandtoubab](#):
>
> faut mettre un numéro de process derriere l’option `-p`

Oui oui je sais, j’ai simplement oublié de mettre un nombre dans mon post précédent.

```
sudo lsof -p 783
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd 783 root cwd DIR 8,2 4096 2 /

```

> [@grandtoubab](#):
>
> pour créer le répertoire afin d’y mettre le fichier d’option
> 
> ```plaintext
> cd /etc/systemd/
> 
> ```
> 
> ```plaintext
> sudo mkdir journald.conf.d
> 
> ```

OK. Merci

J’ai une petite question au sujet des paramètres du fichier **reduction.conf**.

```
Storage=volatile
MaxLevelStore=warning
MaxLevelSyslog=warning

```

Lequel des ces paramètres sert à réduire les messages critiques? J’aimerais bien ne pas rajouter ce réglage.

Une toute dernière question:  
Au sujet de mon script iptables, dois-je enlever toutes les options LOG?  
Exemple:  
-j DROP au lieu de -j LOG\_DROP

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Janvier 24, 2020, 9:43 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/15 "2020-01-24T09:43:45Z")

</div>

il te manque peut être des paquets relatifs à fuse

```auto
apt list --installed | grep fuse

exfat-fuse/stable,testing,unstable,now 1.3.0-1 amd64 [installé]
fuse/testing,unstable,now 2.9.9-2 amd64 [installé]
libfuse2/testing,unstable,now 2.9.9-2 amd64 [installé, automatique]

```

c’est le parametre MaxLevel… qui détermine le niveau de verbosité

je n’utilise pas iptables je me contente du réglage par défaut de nftables

> **[Pare-feu: nftables](https://bidouilledebian.wordpress.com/2019/02/19/pare-feu-nftables/)**
>
> Comme nftables va devenir le pare-feu par défaut dans Debian, j’ai activé l’outil.

---

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 24, 2020, 6:57 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/16 "2020-01-24T18:57:31Z")

</div>

> [@grandtoubab](#):
>
> il te manque peut être des paquets relatifs à fuse

Non, il ne manque aucun paquet. Par contre j’ai un autre message d’erreur

```
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

```

> [@grandtoubab](#):
>
> c’est le parametre MaxLevel… qui détermine le niveau de verbosité

OK. Merci.

---

<div class="post-metadata">

**Author:** ![Azenor](https://www.debian-fr.org/user_avatar/www.debian-fr.org/azenor/32/8814_2.png) [@Azenor](https://www.debian-fr.org/u/Azenor)\
**Post date:** [Janvier 25, 2020, 11:07 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/17 "2020-01-25T11:07:37Z")

</div>

Bonjour,

Quelques pistes qui fonctionnent sur plusieurs Debian Stretch… pour beaucoup SSDisés

Objectif limiter les accès disques en privilégiant la RAM, récupérer un système neutre à chaque démarrage.

Coté SystemD

Délpacer la journalisation en RAM

# /etc/systemd/journald.conf.

sed -i ‘s%._Compress=._%Compress=yes%’ /etc/systemd/journald.conf  
sed -i ‘s%._Storage=._%Storage=volatile%’ /etc/systemd/journald.conf

# Réactiver les TMP en RAM ce n’est plus le cas sous Debian Maintenant (voir avec un mount le /tmp)

# Enable & start Service tmp.mount

mv -f /usr/share/systemd/tmp.mount /etc/systemd/system  
systemctl enable tmp.mount

# Activer le service systemd-tmpfiles-setup pour conserver l’intégrité du démarrage de l’OS pour tout ce qui aura été déplacer en RAM (Exemple le /var/log qu’il soit Rsyslog ou autres…).

Ce service qui démarre très tôt recrée à la volée l’arborescence attendu par le système avant même que les premiers services ne l’utilisent (Exemple le /var/log)

# Enable & start Service systemd-tmpfiles-setup.service.

systemctl enable systemd-tmpfiles-setup.service  
systemctl start systemd-tmpfiles-setup.service

Configurer le systemd-tmpfiles-setup (Par l’observation du fonctionnement du système, ça s’invente pas). Exemple regarder l’intégrité du /var/log actuel avant de le déplacer

Exemple pour un fonctionnement usuel sous stretch/gnome

# APT

echo “D /var/log/apt 1777 root root” \> /etc/tmpfiles.d/tmp.conf

# CUPS

echo “D /var/log/cups 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “D /var/spool/cups/tmp 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf

# Exim4

echo “D /var/log/exim4 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf

# GDM3

echo “D /var/log/gdm3 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf

# Installer.

echo “D /var/log/installer 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “D /var/log/installer/cdebconf 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf

# Samba

echo “D /var/log/samba 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf

# Speech-Dispatcher.

echo “D /var/log/speech-dispatcher 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf

# Unattented-upgrades.

echo “D /var/log/unattented-upgrades 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf

# Fichiers.

echo “F /var/log/daemon.log 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/debug 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/dpkg.log 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/auth.log 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/kern.log 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/exim4/mainlog 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/messages 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/popularity-contest 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/popularity-contest.new 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/syslog 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf  
echo “F /var/log/user.log 1777 root root” \>\> /etc/tmpfiles.d/tmp.conf

Une fois l’intégrité de ce qui doit être déplacé en RAM est OK pour le démarrage on peut déplacer ce que l’on a besoin en RAM via le fstab

# /etc/fstab

# Attention le systemd-tmpfiles-setup doit être bien configuré)

exemple  
tmpfs /var/log tmpfs rw,nosuid,nodev,noatime,nodiratime,mode=1755 0 0  
tmpfs /var/mail tmpfs rw,nosuid,nodev,noatime,nodiratime,mode=1777 0 0  
tmpfs /var/spool/cups tmpfs rw,nosuid,nodev,noatime,nodiratime,mode=1777 0 0  
tmpfs /var/tmp tmpfs rw,nosuid,nodev,noatime,nodiratime,mode=1777 0 0

Faire sauter le swap dans le FSTAB cela va de soit… Ou alors baisser fortement vm.swappiness  
echo “vm.swappiness=1” \>\> /etc/sysctl.d/90-sysctl.conf

Certaines options de montages pour le / ou /home peuvent limiter de façon importantes les accès disque par exemple pour du BTRFS.

UUID=8f470739-64e4-4b88-b609-375e8632abb8 / btrfs rw,noatime,nodiratime,noacl,nobarrier,commit=70,autodefrag,compress=lzo 0 1

Si Debian sous Buster le zstd est accessible il me semble, bien meilleur que le lzo (ca limite encore la quantité d’information écrite sur disque)

Si tu as besoins de plus de log que la session en cours (analyse sur plusieurs jours) il faut simplment recommenter la déclaration du /var/log et les logs rebasculeront sur disque.

Côté FS du TMPFS il peut être judicieux en fonction des cas de monter la taille du TMPS et/ou de monter le nombres d’inodes si tu stockes dans ta session en cours plusieurs centaines de milliers de fichiers (Ca peut être le cas pour certaines applications de calcul ou autres logiciels. Ils sont un peu bas de base.

Exemple les inodes du TMP, et la taille du /tmp (EN RAM maintenant)  
mount -o remount,rw,nosuid,nodev,nr\_inodes=501k,size=250M /tmp

pour analyser les deux consommations  
df -hi  
df -h

Côté sessions utilisateurs ton meilleur allié pour redirigé tout ce que veux en RAM sans passer par la Conf manuel de chaque application sera le programme uhd paquet unburden-home-dir

# Activation d’UHD une fois installé

echo “UNBURDEN\_HOME=true” \> /etc/default/unburden-home-dir

Exemple de redirection en RAM pour quelques applications(Ta seul limitation sera le temps d’analyse comportementales des différentes applications utilisées)

NE PAS REPRENDRE CES CONFIGS UHD mais regarder finement ce que dépose les applications dans la session utilisateur et adapter…

Quelques Exemples

# Adobe

echo “m d .adobe adobe” \> /etc/unburden-home-dir.list  
echo “m d .macromedia macromedia” \>\> /etc/unburden-home-dir.list

#~ # Firefox  
echo “m D mozilla/firefox/Crash_Reports/events firefox-crash-report-events-%1\n" \> /etc/unburden-home-dir.list  
echo "m D mozilla/firefox/Crash_Reports/events firefox-crash-report-events-%1\n” \> /etc/unburden-home-dir.list  
echo “m d mozilla/firefox/pixs.default/storage/temporary firefox-storage-temporary-%1\n” \>\> /etc/unburden-home-dir.list  
echo “m D mozilla/firefox/pixs.default/crashes/events firefox-crashes-events-%1\n” \>\> /etc/unburden-home-dir.list  
echo “m D mozilla/firefox/pixs.default/datareporting/archived firefox-datareporting-archived-%1\n” \>\> /etc/unburden-home-dir.list  
echo “m D mozilla/firefox/pixs.default/minidumps firefox-minidumps-%1\n” \>\> /etc/unburden-home-dir.list  
echo “m f .mozilla/firefox/pixs.default/lock firefox-lock\n” \>\> /etc/unburden-home-dir.list  
echo “m f .mozilla/firefox/pixs.default/.parentlock firefox-parentlock\n” \>\> /etc/unburden-home-dir.list

#~ # Firefox Cache  
echo “m d .cache/mozilla/firefox/pixs.default/cache2 cache-firefox-cache2-%1\n” \>\> /etc/unburden-home-dir.list  
echo “m d .cache/mozilla/firefox/pixs.default/safebrowsing cache-firefox-safebrowsing-%1\n” \>\> /etc/unburden-home-dir.list

#~ # Gimp  
echo “m d .gimp-2.8/tmp gimp-2.8-tmp\n” \>\> /etc/unburden-home-dir.list

#~ # Gnome  
echo “m d .dbus/session-bus dbus-session-bus\n” \>\> /etc/unburden-home-dir.list  
echo “m d .local/tmp local-tmp\n” \>\> /etc/unburden-home-dir.list  
echo “m d .thumbnails thumbnails\n” \>\> /etc/unburden-home-dir.list  
echo “m f .gksu.lock gksu.lock\n” \>\> /etc/unburden-home-dir.list

#~ # PlayOnLinux  
echo “m d .PlayOnLinux/logs PlayOnLinux-logs\n” \>\> /etc/unburden-home-dir.list  
echo “m d .PlayOnLinux/tmp PlayOnLinux-tmp\n” \>\> /etc/unburden-home-dir.list

etc etc…

Ces justes des pistes pour aller vers une philisophie ou la RAM est privilégiée et le système le plus neutre possible à chaque démarrage.

---

<div class="post-metadata">

**Author:** ![Richard2](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/eb8c5e/32.png) [@Richard2](https://www.debian-fr.org/u/Richard2)\
**Post date:** [Janvier 25, 2020, 6:33 UTC](https://www.debian-fr.org/t/limiter-les-ecritures-sur-disque-ssd/81026/18 "2020-01-25T18:33:02Z")

</div>

Bonsoir,

Merci, je vais appliquer les réglages nécessaires.
