Richtige Methode zum Deaktivieren von tmpfs auf / run / shm


7

Wie deaktiviere ich tmpfsauf /run/shm? Ich habe initscripts durchsucht und festgestellt, dass der folgende Code den Eintrag eincheckt fstab, aber was sollte ich ändern, damit er nicht gemountet wird /run/shm? Ich leite Debian Sid.

/lib/init/mount-functions.sh

read_fstab_entry () {
        # Not found by default.
        found=1

        for file in "$(eval ls $(fstab_files))"; do
                if [ -f "$file" ]; then
                        while read MNT_FSNAME MNT_DIR MNT_TYPE MNT_OPTS MNT_FREQ MNT_PASS MNT_JUNK; do
                                case "$MNT_FSNAME" in
                                  ""|\#*)
                                        continue;
                                        ;;
                                esac
                                if [ "$MNT_DIR" = "$1" ]; then
                                        if [ -n "$2" ]; then
                                                [ "$MNT_TYPE" = "$2" ] || continue;
                                        fi
                                        found=0
                                        break 2
                                fi
                        done < "$file"
                fi
        done

        return $found

Funktionsaufrufseite

 if read_fstab_entry /run/lock; then
            if [ "$MNT_TYPE" = "tmpfs" ] ; then
                RAMLOCK="yes"
            else
                RAMLOCK="no"
            fi
        fi

Später

if [ yes = "$RAMLOCK" ]; then
                domount "$MNTMODE" tmpfs shmfs /run/lock tmpfs "-o${NODEV}noexec,nosuid$LOCK_OPT"
                # Make sure we don't get cleaned
                touch /run/lock/.tmpfs
        else
                chmod "$LOCK_MODE" /run/lock
        fi

Antworten:


1

Es ist nicht klar, was Sie erreichen wollen. Standardmäßig (zumindest bei Debian wheezy) /run/shmist ein Unterverzeichnis von /run, das als tmpfs bereitgestellt wird. Wenn Sie also kein /run/shmEinhängepunkt sein möchten , ändern Sie die Standardkonfiguration nicht. Wenn Sie einen Eintrag für /run/shmin erstellen /etc/fstab, wird dieser nur bereitgestellt, wenn Sie den Dateisystemtyp angeben. ansonsten /dev/shmwird dort bindmontiert. Nicht /run/shmals tmpfs zu haben, ist keine unterstützte Konfiguration. Wenn Sie ein anderes Dateisystem - Typ verwenden möchten, erstellen Sie einen fstab und bearbeiten /etc/init.d/mountall.shund /etc/init.d/mountdevsubfs.shso , dass sie rufen mount_shmmit einem Argument , anders als mountoder mount_update. Was auch immer Sie tun, stellen Sie sicher, dass dies der /run/shmModus 1777 ist und keine Dateien von einem vorherigen Start übrig geblieben sind.


Ich möchte / run / shm nicht gemountet, auch laufen, weil tmpfs System verlangsamen.
zb '11.

Der Verlangsamungsfall hier
zb '11.

1

Stellen Sie #vor den fstab-Eintrag, um ihn als Kommentar zu markieren.

Wenn Sie sich das Skript ansehen, das die continueVerzweigung innerhalb der caseAnweisung auslöst, wird diese Zeile übersprungen.


Hier gibt es keinen fstab-Eintrag.
zb '11.

@eicto In einer der mit fstab_files bezeichneten Dateien muss eine Datei mit einem Eintrag für "/ run / lock" vorhanden sein . Können Sie den Ort finden, an dem fstab_files ein Wert zugewiesen wird?
Nils

Ich habe das Problem gelöst und gerade 16G auf der Workstation installiert.
zb '12.

0

Lesen Sie die Kommentare zu /etc/default/tmpfs, bearbeiten Sie die Datei (hinzufügen RAMSHM=no), speichern Sie sie und starten Sie sie neu.


keine solche Datei bro
zb '
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.