Come faccio a rendere predefiniti i montaggi di mezzogiorno?


8

Sto facendo un derivato di Ubuntu e voglio fare di noatime l'opzione di mount predefinita per tutti i filesystem (invece di relatime che è di default in Ubuntu).

Sembra esserci un default_relatimeparametro booleano del kernel per passare da default a atime o relatime (disponibile anche scrivendo in / proc / sys / kernel / default_relatime), ma non riesco a trovare un equivalente per noatime e non so come abilitarlo in una distro per impostazione predefinita.

Come configurare per registrare i dati per pendrive all'istante? suggerisce che esiste un modo per aggiungere il parametro noatime mount tramite udev, ma non ho idea se funzionerà per i media interni e come farlo.

Qual è il modo meno invasivo per rendere il kernel predefinito a noatime?

Il default corrente può essere visualizzato usando "cat / proc / mounts" perché mostra anche i parametri di mount impliciti; non fidarti di "montare".

Sì, ho letto Vale la pena sintonizzare Ext4 con noatime? e voglio ancora farlo.


3
Relatime è l'opzione predefinita nel kernel, non in Ubuntu stesso. Dovresti modificare il kernel o aggiungere opzioni a /etc/fstab.
organizza il

Risposte:


4

Il kernel aveva un'opzione di configurazione per usare ATIME o RELATIME; non so se includesse anche qualche opzione per NOATIME. In ogni caso, adesso non c'è più.

Ho studiato anche util-linux, per vedere se il comando mount aveva impostazioni predefinite configurabili o poteva essere modificato, ma non sembrava essere il caso.

Tuttavia, sembra che sia possibile patchare il kernel per modificare il comportamento predefinito. Modifica ./fs/namespace.c, attorno alle righe 2334:

long do_mount(...)
...
    /* Default to relatime unless overriden */
    if (!(flags & MS_NOATIME))
            mnt_flags |= MNT_RELATIME;
...

Scambia quello in giro:

long do_mount(...)
...
    /* Default to noatime unless overriden */
    if (!(flags & MS_RELATIME))
            mnt_flags |= MNT_NOATIME;
...

E così dovrebbe andare.


1
La soluzione di Second @ Bryce: questo sembra essere l'unico modo per farlo. Ovviamente, ciò significa far rotolare gli aggiornamenti del proprio kernel con questa patch - quanto invasivo dipende da te :)
ish,

Questo è davvero invasivo IMHO perché richiede il mantenimento di build del kernel personalizzate e si tradurrà in un maledetto mal di testa con l'avvio sicuro. Tuttavia, +1 perché questo è praticabile.
Shnatsel,

askubuntu.com/questions/61448/… suggerisce che le regole udev possono aggiungere parametri di mount, forse funzionerà? Aggiornerò il corpo con questo link ora ...
Shnatsel,

Queste sono le righe 2315+ in Linux 3.2, vedi lxr.free-electrons.com/source/fs/namespace.c?v=3.2#L2315 if (flags & MS_NOATIME) mnt_flags |= MNT_NOATIME; nella riga 2326 mi dà un po 'fastidio, immagino che dovrò capovolgerlo anch'io. Grazie per l'aiuto!
Shnatsel,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.