/ var / cache sul filesystem temporaneo
A causa dei problemi di degrado del flash, vorrei ridurre la quantità di scritture su disco non necessarie su un sistema headless 24 ore su 24, 7 giorni su 7, per quanto ragionevole. Nel caso sia importante, questo è un sistema in stile Debian, ma penso che il problema potrebbe essere rilevante per un pubblico più ampio.
Per ottenere ciò, sto già utilizzando tmpfs per /tmpe /var/login aggiunta ai valori predefiniti. A questo punto, monitorando l'attività di I / O inattivo con vari strumenti come fatrace , ottengo che dopo lunghi periodi una delle directory più importanti per numero di accessi in scrittura è /var/cache, soprattutto, /var/cache/manrelativa a man-db . Nota che non ho aggiornamenti automatici dei pacchetti in questo sistema, quindi non ricevo alcuna scrittura per /var/cache/apt, ma anche per altri che potrebbero essere rilevanti.
La domanda è: potrebbe causare problemi se tmpfs venisse usato per /var/cache? All'avvio lo popolerei con i dati dal disco e possibilmente lo sincronizzerei nuovamente di tanto in tanto.
Ovviamente l'elevato utilizzo della RAM potrebbe essere un problema su alcuni sistemi, ma sarebbe interessante sentire le tue opinioni se sarebbe problematico per alcuni dei sistemi comuni che utilizzano la cache, avere dati assenti nel processo di avvio iniziale o in generale essere in uno stato leggermente obsoleto (dopo un arresto anomalo per esempio)?
Risposte
Idea piuttosto interessante. Per questo monto /varsu un drive magnetico, ma questo mi piace. Se questo potrebbe funzionare dipende dall'applicazione.
Non aptrichiede /var/cache/apt/di esistere o si crea la directory in caso di necessità? dpkg -S /var/cache/apt/mi dice che questa directory viene creata durante l'installazione del pacchetto. Quindi se quella directory non esiste, la aptcreerà? Sarà aptiniziare a fallire? La risposta a queste domande sta in apt. Potresti annullare questo punto creando un tmpfsper /var/cache/apt.
Sebbene un tmpfsfor /var/cache/aptpossa funzionare per apt, dovrai ripetere il processo per tutti gli altri pacchetti che usano /var/cache/*. Alcune directory sulla mia macchina sono: apache2, fonts, gdm, cups, man, dictionaries-common app-info. Inoltre, ogni volta che installi un nuovo pacchetto, dovrai ricordarti di impostare anche quelli applicabili tmpfsper quel pacchetto. Potrebbe essere difficile da gestire.
Fortunatamente lo standard di gerarchia del filesystem viene descritto /var/cachecome:
Dati della cache dell'applicazione. Tali dati vengono generati localmente come risultato di operazioni di I / O o calcoli che richiedono molto tempo. L'applicazione deve essere in grado di rigenerare o ripristinare i dati. I file memorizzati nella cache possono essere eliminati senza perdita di dati.
Quindi potrei sbagliarmi. Le applicazioni possono essere implementate in modo da /var/cachecreare le sottodirectory, se necessario, perché lo standard lo richiede. Ma è ancora un rischio nel caso in cui qualcuno non lo rispetti.