Cannot stat /dev/mapper/swap0 : No such file or dir.

Postate qui per tutte le discussioni legate alla sicurezza di Linux/Slackware

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: cannot stat /dev/mapper/swap0 : No such file or direc

Messaggio da conraid »

jena ha scritto: Il file rc.swap dopo le modifiche fatte cosa è diventato uno script???
Lo era anche prima, solo che adesso lo puoi invocare con una opzione, che può essere start per eseguire i comandi per inizializzare lo swap e stop per chiuderli e formattare swap per usi di altre distro

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6628
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: cannot stat /dev/mapper/swap0 : No such file or direc

Messaggio da targzeta »

Posta il file rc.swap, che forse potrebbe essere utile anche a qualcun altro (a me interessa :)). Non so come usi lo swapon nel file rc.swap, ma io ti consiglio di usarlo come:

Codice: Seleziona tutto

swapon /dev/mapper/swap0
senza l'opzione '-a' perchè, come dicevo prima, viene già eseguito dal file rc.S, e poi a te serve abilitare solo la swap che hai creato e non tutte quelle scritte nel file fstab, sarebbe contrario allo spirito dell'rc.swap :).

Ho paura di non essermi spiegato bene,
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: cannot stat /dev/mapper/swap0 : No such file or direc

Messaggio da conraid »

spina ha scritto:Posta il file rc.swap, che forse potrebbe essere utile anche a qualcun altro (a me interessa :)). Non so come usi lo swapon nel file rc.swap, ma io ti consiglio di usarlo come:

Codice: Seleziona tutto

swapon /dev/mapper/swap0
senza l'opzione '-a' perchè, come dicevo prima, viene già eseguito dal file rc.S, e poi a te serve abilitare solo la swap che hai creato e non tutte quelle scritte nel file fstab, sarebbe contrario allo spirito dell'rc.swap :).
Sì è vero, tra l'altro nel man il device lo "suggerisce" solamente con l'opzione -p e/o -v (che a lui non servono)
quindi l'ultima riga sarebbe quella che indichi tu.
swapon -a non dovrebbe nemmeno caricarli lo swap in teoria, visto che lo ha messo in noauto :-k

jena
Linux 1.x
Linux 1.x
Messaggi: 130
Iscritto il: gio 3 gen 2008, 17:02

Re: cannot stat /dev/mapper/swap0 : No such file or direc

Messaggio da jena »

spina ha scritto:Posta il file rc.swap, che forse potrebbe essere utile anche a qualcun altro (a me interessa :)). Non so come usi lo swapon nel file rc.swap, ma io ti consiglio di usarlo come:

Codice: Seleziona tutto

swapon /dev/mapper/swap0
senza l'opzione '-a' perchè
Grazie dell'aiuto!!!
Hai ragione ho tolto l'opzione -a...questo è il file rc.swap:

Codice: Seleziona tutto

swap_start() {
# cryptsetup
/sbin/modprobe aes
/sbin/modprobe sha256
/sbin/modprobe dm_mod
/sbin/modprobe dm_crypt
# Enable swapping (with crypted swap):
/usr/sbin/cryptsetup -c aes-cbc-essiv:sha256 -s 128 -d /dev/random create swap0 /dev/hda2 -v
/sbin/mkswap /dev/mapper/swap0
/sbin/swapon /dev/mapper/swap0
}

swap_stop () {
# swapoff
swapoff /dev/mapper/swap0
#rimuove associazione device
/usr/sbin/cryptsetup remove swap0
#formatta la partizione in swap
mkswap /dev/hda2
}

case "$1" in
    start)
        swap_start
        ;;
    stop)
        swap_stop
        ;;
    *)
     echo "Usage: $0 {start|stop}"
esac  
Cosa ne pensate???
conraid ha scritto:swapon -a non dovrebbe nemmeno caricarli lo swap in teoria, visto che lo ha messo in noauto :-k
Dovrebbe essere cosi però anche con l'opzione -a sembrava funzionare...comunque ora l'ho tolta e sembra funzionare...
Mi rimane un ultimo dubbio...ho criptato anche la home e come per la swap ho creato uno script che fà tutto in automatico...
Sembra funzionare però all'avvio ricevo un errore:

Codice: Seleziona tutto

/sbin/e2fsck: No such file or directory while trying to open /dev/mapper/home
The superblock could not be read or does not describe a correct ext2 file system. If the device is valid and it really contains ext2 file system ,then the superblock is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
Penso che l'errore sia dovuto al fatto che in /etc/fstab la riga /dev/mapper/home0 ha le voci dump e pass impostate a 1 e 2 quindi effettua un controlla all'avvio quando il device non è ancora stato creato...anche mettendo noauto ricevo lo stesso errore...
Vorrei settarle entrambe a 0...pensate possa risolvere l'errore o cè qualche rischio???
Grazie!!!

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: cannot stat /dev/mapper/swap0 : No such file or direc

Messaggio da conraid »

La home in automatico cosa intendi? Che parte da solo o che genera chiavi come per la swap?
Nel primo caso lo uso sul notebook e nessun problema, all'avvio mi chiede la password, quindi qui devi averlo nel processo di init e non in rc.local. Oddio, potresti averla anche in rc.local, ma non so quanto sia saggio. Se genera chiavi random rischi di trovarti senza dati e non è bello. Non puoi accederci da altri pc, etc... non sai mai che chiave hai.
io se fossi in te valuterei l'aggiornamento della Slackware (qualcosa te lo impedisce?) visto che stai facendo prove e quindi non è una macchina in produzione o simili.

Per la home io così:
fstab

Codice: Seleziona tutto

/dev/mapper/crypthome /home ext3 defaults 0 2
crypttab

Codice: Seleziona tutto

crypthome /dev/sda7
ed nei file di init quel che hai già visto.


Quel che dici è vero, se non lo crea come fa a controllarlo? Però al tempo stesso quando e come lo fai creare?

jena
Linux 1.x
Linux 1.x
Messaggi: 130
Iscritto il: gio 3 gen 2008, 17:02

Re: cannot stat /dev/mapper/swap0 : No such file or direc

Messaggio da jena »

conraid ha scritto:Nel primo caso lo uso sul notebook e nessun problema, all'avvio mi chiede la password, quindi qui devi averlo nel processo di init e non in rc.local. Oddio, potresti averla anche in rc.local, ma non so quanto sia saggio.
Quel che dici è vero, se non lo crea come fa a controllarlo? Però al tempo stesso quando e come lo fai creare?
Grazie dell'aiuto!!!
Intendevo che la password l'ho già impostata io e mi viene chiesta all'avvio quando viene creata l'associazione tra i device...
Ho creato uno script con le opzioni start e stop come per la swap...rc.local lancia lo start che crea l'associazione tra i device e monta la partizione...rc.local_shutdown lancia lo stop cancella l'associazione tra i device e smonta la partizione...
E' consigliabile metterlo nei processi init...però come dovrei fare...basta spostare le parti che inserito in rc.local e in rc.local_shutdown in uno dei file init???
Grazie!!!

jena
Linux 1.x
Linux 1.x
Messaggi: 130
Iscritto il: gio 3 gen 2008, 17:02

Re: Cannot stat /dev/mapper/swap0 : No such file or dir.

Messaggio da jena »

Oddio, potresti averla anche in rc.local, ma non so quanto sia saggio.
Ho cercato un pò tra gli script di avvio di slackware e per risolvere il problema ho fatto cosi:
Ho creato il file /etc/rc.d/rc.crypthome e gli ho dato il permesso di esecuzione:
La prima parte carica i moduli e crea l'associazione tra i device viene lanciata da rc.S.
La seconda parte monta la /home viene lanciata da rc.S dopo che fsck ha effettuato il controllo sulla partizione non montata.
La terza parte rimuove l'associzione tra i device e smonta la /home criptata ad ogni spegnimento.

Codice: Seleziona tutto

crypthome_start() {
# cryptsetup
/sbin/modprobe aes
/sbin/modprobe sha256
/sbin/modprobe dm_mod
/sbin/modprobe dm_crypt
# mappare la partizione criptata:
/usr/sbin/cryptsetup luksOpen /dev/hda3 crypthome
# mounting crypthome:
/sbin/mount /dev/mapper/crypthome /home
}
crypthome_mount() {
# mounting crypthome:
/sbin/mount /dev/mapper/crypthome /home
}
crypthome_stop () {
# umount crypthome e cancella associazione device
/sbin/umount /home
/usr/sbin/cryptsetup luksClose crypthome
}

case "$1" in
    start)
        crypthome_start
        ;;
    mount)
        crypthome_mount
        ;;
    stop)
        crypthome_stop
        ;;
    *)
        echo "Usage: $0 {start|stop}"
esac   
In rc.S per richiamare la prima parte di rc.crypthome all'avvio ho messo prima del controllo di fsck:

Codice: Seleziona tutto

# carica moduli crea associzione device:
if [ -x /etc/rc.d/rc.crypthome ]; then
    /etc/rc.d/rc.crypthome start
fi
Poi il sistema continua con rc.S ed effettua il controllo di fsck con queste righe:

Codice: Seleziona tutto

# Check all the non-root filesystems:
if [ ! -r /etc/fastboot ]; then
  echo "Checking non-root filesystems:"
  /sbin/fsck $FORCEFSCK -C -R -A -a
fi
Dopo il controllo di fsck ho inserito queste righe in rc.S che richiamano la seconda parte di rc.crypthome:

Codice: Seleziona tutto

# monta crypthome
if [ -x /etc/rc.d/rc.crypthome ]; then
    /etc/rc.d/rc.crypthome mount
fi
Cosa ne pensate di questa soluzione...sapete consigliarmi di meglio???

In /etc/rc.d/rc.local_shutdown per richiamare la seconda parte di rc.crypthome che rimuove l'associzione tra i device e smonta la /home criptata ho messo:

Codice: Seleziona tutto

# umount crypthome e cancella associazione device
if [ -x /etc/rc.d/rc.crypthome ]; then
    /etc/rc.d/rc.crypthome stop
fi
Di questo non sono molto sicuro...mi consigliate di metterlo in rc.6 oppure non serve perchè in rc.6 cè già la sezione che smonta le partizioni allo spegnimento???
Grazie!!!

Rispondi