directory /temp

Postate qui per tutte le discussioni legate a Linux in generale.

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) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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: 13430
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: directory /temp

Messaggio da conraid »

Mario Vanoni ha scritto: find . \( ! -name . e` affinche` find ignori il dot (.) ecc. ecc.,
quindi no lo passa a rm -rf, quindi no error message!
Se eseguito con permission root, rm -rf cancella tutto.
L'ho eseguito proprio da root per fare la prova, visto che non ricordavo esattamente il warning che dava

Se sono dentro la directory mi da

Codice: Seleziona tutto

root@slack:/mnt/backup/tmp# rm -rf .*
rm: impossibile rimuovere la directory `.'
rm: impossibile rimuovere la directory `..'
root@slack:/mnt/backup/tmp#          
se non son dentro la dir ed uso il percorso assoluto, come lo script

Codice: Seleziona tutto

root@slack:/# rm -rf /mnt/backup/tmp/.*
rm: cannot remove `.' directory `/mnt/backup/tmp/.'
rm: cannot remove `..' directory `/mnt/backup/tmp/..'
Naturalmente basterebbe mettere nello script 2>/dev/null

Ma ora sono curioso di lost-found :-)

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3974
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

conraid ha scritto: Riassumendo verrebbe così:

Codice: Seleziona tutto

find . \( ! -name . ! -name .. ! -name lost+found \) -mount -exec rm -rf -- {} \; 2> /dev/null
??
per me non è il caso di fare sto casino...se uno non ha cose importanti di qualsiasi genere sotto /tmp può cancellarne tranquillamente il contenuto, file nascosti compresi, al momento dello shutdown e non in quello del riavvio;
Se l'utente cancella i dati ad esempio con uno script messo in rc.local il sistema in quel momento tramite /etc/rc.d/rc.S ha già creato dei files nascosti che servono a kde.

Perhcè star lì a rompersi la testa per cancellare le cose durante l'avvio del sistema quando tutto può essere fatto senza problemi al momento dello shutdown?

io ad esempio cancello il contenuto di /tmp tramite questo file:

Codice: Seleziona tutto

case "$1" in
    stop)
        echo "removing tmp..."
        rm -Rf /tmp/*
        ;;
    esac
questo file si chiama /etc/rc.d/rc.local_shutdown e la sua esistenza è prevista da /etc/rc.d/rc.0 (guardare il codice per credere)

Al riavvio successivo ci pensa /etc/rc.d/rc.S a ricrearmi /tmp come deve essere.

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

Messaggio da conraid »

Paoletta ha scritto: Perhcè star lì a rompersi la testa per cancellare le cose durante l'avvio del sistema quando tutto può essere fatto senza problemi al momento dello shutdown?

io ad esempio cancello il contenuto di /tmp tramite questo file:

Codice: Seleziona tutto

case "$1" in
    stop)
        echo "removing tmp..."
        rm -Rf /tmp/*
        ;;
    esac

Che è quello che avevo detto nel primo messaggio che ho inviato, io in effetti adesso l'ho in rc.local_shutdown, quando ancora non c'era lo mettevo in uno degli script di logout, mai in fase di boot

Ma tutto è nato per il warning sui file nascosti, con il tuo metodo (che è anche il mio in questo momento) i file nascosti rimangono
Ma da un po' di versioni di rm si può usare rm -rf /tmp/.* senza cancellare tutto.

Il seguito per me è più una curiosità

UPDATE
in effetti avevo scritto male, ora ho corretto

Avevo scritto "Si, puoi, ma fallo quando fai un logout" ma poi avevo erroneamente detto in rc.local

Hai fatto bene a correggermi, mi era proprio sfuggito l'errore

DIMENTICAVO:
naturalmente non uso rm -rf /tmp/.* al posto di rm -rf /tmp, ma li uso entrambi

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3974
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

è vero, per cancellare i files nascosti bisogna usare .*

comunque i files nascosti dentro /tmp in genere non occupano spazio eccessivo...l'importante è rimuovere ciò che nascosto non è.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: directory /temp

Messaggio da Mario Vanoni »

bloodlust ha scritto:
Mario Vanoni ha scritto:La root (/) montata non puo` avere un /tmp su una partizione separata,
non sarebbe in grado di funzionare al boot.
Quindi un /tmp/lost+found non esiste!
Mario Vanoni
stai scherzando spero.... la / viene montata RO al boot per poi essere rimontata RW, vengono montati gli pseudo filesystem e poi viene montato tutto quello che è in /etc/fstab (tranne filesystem di rete). Solo dopo viene preparata la /tmp.

C'è bisogno di farti vedere un df del mio sistema??
ciao
Permetti il dubbio ...

Ho diverse macchine, compresi dei server in ditta,
- con un solo HD (IDE/SCSI/SATA) e tanta memoria (>=1GB)
- con una sola partizione ext2, e _senza_ _swap_
- la maggior parte con kernel statico, senza moduli

df li` mostra solo root (/)

ls -al /tmp:
drw ... eccetera .
drw ... eccetera ..
quando vuoto.

mai vista una directory lost_found nel /tmp!
Esiste solo quale /lost+found e quindi ...

Mario Vanoni

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: directory /temp

Messaggio da Mario Vanoni »

conraid ha scritto:
Mario Vanoni ha scritto: find . \( ! -name . e` affinche` find ignori il dot (.) ecc. ecc.,
quindi no lo passa a rm -rf, quindi no error message!
Se eseguito con permission root, rm -rf cancella tutto.
L'ho eseguito proprio da root per fare la prova, visto che non ricordavo esattamente il warning che dava

Se sono dentro la directory mi da

Codice: Seleziona tutto

root@slack:/mnt/backup/tmp# rm -rf .*
rm: impossibile rimuovere la directory `.'
rm: impossibile rimuovere la directory `..'
root@slack:/mnt/backup/tmp#          
se non son dentro la dir ed uso il percorso assoluto, come lo script

Codice: Seleziona tutto

root@slack:/# rm -rf /mnt/backup/tmp/.*
rm: cannot remove `.' directory `/mnt/backup/tmp/.'
rm: cannot remove `..' directory `/mnt/backup/tmp/..'
Naturalmente basterebbe mettere nello script 2>/dev/null

Ma ora sono curioso di lost-found :-)
Gli error warnings di find(1) vengono dal fatto che
find trova i files/le directories nel numero delle inodes,
e le spegne/cancella/rimuove in questo ordine.
Rimossa la directory sopra, rm -rf cancellando i files sotto
dopo non trova piu` la directory madre/padre, percio` 2>/dev/null.
Metti che la directory ha la inode numero 1000, i files sotto 1001 e 1002,
find -exec rimuove 1000, poi 1001,
ma rm -rf 1002 non trova piu` la inode1000, gia` scomparsa: error

Per lost+found vedi la risposta a "bloodlust".

Mario Vanoni

bloodlust
Linux 3.x
Linux 3.x
Messaggi: 523
Iscritto il: mar 14 feb 2006, 12:02
Slackware: -1
Località: it_IT

Re: directory /temp

Messaggio da bloodlust »

Mario Vanoni ha scritto:[cut]
- con una sola partizione ext2, e _senza_ _swap_
[cut]
df li` mostra solo root (/)

ls -al /tmp:
drw ... eccetera .
drw ... eccetera ..
quando vuoto.

mai vista una directory lost_found nel /tmp!
Esiste solo quale /lost+found e quindi ...

Mario Vanoni
Permetti di chiarire...
Come dici tu (nel tuo specifico caso) la partizione è solo una (montata sotto /) per cui /tmp, /var, /usr etc... sono tutti in quella partizione, su quel filesystem ext2. In questo caso avrai solamente /lost+found.

Se, come si fa normalmente su tutte le macchine che non siano adibite ad uso workstation, separi almeno /var e /tmp dalla partizione / (per ovvi motivi che non credo sia necessario spiegare) allora queste: risisedono su partizioni separate e su fs differenti da /.
La directory lost+found viene allocata in fase di creazione del filesystem ext?, quindi avendo per esempio:
/dev/sda1 = /
/dev/sda2 = /usr
/dev/sda3 = /var
/dev/sda4 = /tmp
avrai una directory lost+found su ognuno di questi filesystem.

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

Re: directory /temp

Messaggio da conraid »

Mario Vanoni ha scritto: Gli error warnings di find(1) vengono dal fatto che
find trova i files/le directories nel numero delle inodes,
e le spegne/cancella/rimuove in questo ordine.
Io parlavo di rm e basta, senza find

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: directory /temp

Messaggio da Mario Vanoni »

bloodlust ha scritto:
Mario Vanoni ha scritto:[cut]
- con una sola partizione ext2, e _senza_ _swap_
[cut]
df li` mostra solo root (/)

ls -al /tmp:
drw ... eccetera .
drw ... eccetera ..
quando vuoto.

mai vista una directory lost_found nel /tmp!
Esiste solo quale /lost+found e quindi ...

Mario Vanoni
Permetti di chiarire...
Come dici tu (nel tuo specifico caso) la partizione è solo una (montata sotto /) per cui /tmp, /var, /usr etc... sono tutti in quella partizione, su quel filesystem ext2. In questo caso avrai solamente /lost+found.

Se, come si fa normalmente su tutte le macchine che non siano adibite ad uso workstation, separi almeno /var e /tmp dalla partizione / (per ovvi motivi che non credo sia necessario spiegare) allora queste: risisedono su partizioni separate e su fs differenti da /.
La directory lost+found viene allocata in fase di creazione del filesystem ext?, quindi avendo per esempio:
/dev/sda1 = /
/dev/sda2 = /usr
/dev/sda3 = /var
/dev/sda4 = /tmp
avrai una directory lost+found su ognuno di questi filesystem.
OK, esatto, ma "si fa normalmente" non riflette i miei 20+ anni
di esperienza come sysadm a partire da AT&T UNIX SVR2.
Il sistema sempre su una unica partizione, tutto il disco, casomai con swap.
Rationale: no overflow di una directory, ovviamente con HD capienti.
I secondi HD, unica partizione, servono/servivano solo come backup,
nominati /xyz o /quello_che_vuoi, con il loro lost+found.

Non ho mai avuto un overflow, l'abbiamo sempre previsto
- il primo HD 72MB con solo 16384 inodes
- il secondo 616MB con 65536 inodes, arrivati a 50000 files/dirs,
nuova macchina con HD's capaci, 4GB ai tempi e Linux.

Mario Vanoni

bloodlust
Linux 3.x
Linux 3.x
Messaggi: 523
Iscritto il: mar 14 feb 2006, 12:02
Slackware: -1
Località: it_IT

Messaggio da bloodlust »

20 anni di esperienza e il fatto che tu segua delle "best practices" (nessuno ti obbliga a seguire determinati schemi di partizionamento sia ben chiaro, sta alla bontà dell'amministratore in base anche all'uso che deve fare di determinate macchine) non vanno per forza di pari passo.

ma credo qui si stia andando un po' OT.

buona domenica

Avatar utente
maxmo
Linux 2.x
Linux 2.x
Messaggi: 336
Iscritto il: lun 28 feb 2005, 0:00
Slackware: 14.1
Kernel: 3.10.17-smp
Desktop: xface

Messaggio da maxmo »

Paoletta ha scritto: Perhcè star lì a rompersi la testa per cancellare le cose durante l'avvio del sistema quando tutto può essere fatto senza problemi al momento dello shutdown?

io ad esempio cancello il contenuto di /tmp tramite questo file:

Codice: Seleziona tutto

case "$1" in
    stop)
        echo "removing tmp..."
        rm -Rf /tmp/*
        ;;
    esac
questo file si chiama /etc/rc.d/rc.local_shutdown e la sua esistenza è prevista da /etc/rc.d/rc.0 (guardare il codice per credere)

Al riavvio successivo ci pensa /etc/rc.d/rc.S a ricrearmi /tmp come deve essere.
Puoi chiarire meglio? io non trovo questo file /etc/rc.d/rc.local_shutdown
e poi lo script dove devo inserirlo.

Avatar utente
maxmo
Linux 2.x
Linux 2.x
Messaggi: 336
Iscritto il: lun 28 feb 2005, 0:00
Slackware: 14.1
Kernel: 3.10.17-smp
Desktop: xface

Messaggio da maxmo »

Paoletta ha scritto:è vero, per cancellare i files nascosti bisogna usare .*

comunque i files nascosti dentro /tmp in genere non occupano spazio eccessivo...l'importante è rimuovere ciò che nascosto non è.
Scusa se ti stresso; perchè non rimuovere anche quello nascosto?

Avatar utente
giberg
Linux 4.x
Linux 4.x
Messaggi: 1282
Iscritto il: mer 21 set 2005, 17:28
Nome Cognome: Gianni
Slackware: current64
Kernel: 3.7.1
Desktop: 4.8.5
Località: S. Biagio di Callalta (TV)

Messaggio da giberg »

maxmo ha scritto:
Paoletta ha scritto: [...]
questo file si chiama /etc/rc.d/rc.local_shutdown e la sua esistenza è prevista da /etc/rc.d/rc.0 (guardare il codice per credere)

Al riavvio successivo ci pensa /etc/rc.d/rc.S a ricrearmi /tmp come deve essere.
Puoi chiarire meglio? io non trovo questo file /etc/rc.d/rc.local_shutdown
e poi lo script dove devo inserirlo.
Crealo tu e inserisci il codice di Paoletta.
È previsto in rc.0 ed eseguito solo se esiste.

(Grazie per l'informazione utile Paoletta! ;) )

Rispondi