Monte posixovl usando fstab

1

A seguinte linha:

/path1  /path2  posixovl    none    0   0

falha com o erro:

/sbin/mount.posixovl: invalid option -- 'o'
Usage: /sbin/mount.posixovl [-F] [-S source] mountpoint [-- fuseoptions]

Isso ocorre porque mount.posixovl usa uma sintaxe de montagem não padrão e fstab a chamará assumindo a sintaxe de montagem padrão, por exemplo.

mount.posixovl /path1 /path2 -o [whatsoever_/etc/fstab_options]

EDIT # 1: O mesmo problema, resolvido com um hack mais feio neste linuxquestions.org Q & A intitulado: [Resolvido] Como obter uma partição fuse-posixovl montada na inicialização?

    
por vehystrix 17.07.2015 / 15:16

1 resposta

1

Eu escrevi um wrapper para mount.posixovl que permite que ele seja usado com fstab

Primeiro, renomeie /sbin/mount.posixovl para outra coisa, como /sbin/mount.posixovl.orig

Por fim, crie um novo arquivo /sbin/mount.posixovl com o seguinte conteúdo:

#!/bin/bash
# wrapper for mount.posixovl to conform with common mount syntax
# with this wrapper posixovl can be used in fstab

# location of the original mount.posixovl
origposixovl="/sbin/mount.posixovl.orig"

# gather inputs
while [ $# -gt 0 ]; do
        if [[ "$1" == -* ]]; then
                # var is an input switch
                # we can only use the -o or -F switches
                if [[ "$1" == *F* ]]; then
                        optsF="-F"
                else
                        optsF=""
                fi
                if [[ "$1" == *o* ]]; then
                        shift
                        optsfuse="-- -o $1"
                else
                        optsfuse=""
                fi
                shift
        else
                # var is a main argument
                sourcedir="$1"
                shift
                if [[ "$1" != -* ]]; then
                        targetdir="$1"
                        shift
                else
                        targetdir="$sourcedir"
                fi
        fi
done

# verify inputs
if [ "$sourcedir" == "" ]; then
        echo "no source specified"
        exit 1
fi
if [ "$targetdir" == "" ]; then
        echo "no target specified"
        exit 1
fi

# build mount.posixovl command
"$origposixovl" $optsF -S "$sourcedir" "$targetdir" $optsfuse

Naturalmente, defina o /sbin/mount.posixovl recém-criado para ser executável ( chmod +x /sbin/mount.posixovl )

Espero que isso ajude alguém no futuro com a montagem posixovl trough fstab

    
por 17.07.2015 / 15:20

Tags