Dans les fenêtres déposées supprimées peuvent être trouvées dans la corbeille si vous n'avez pas appuyé sur Maj ,
Qu'en est-il des fichiers supprimés par rm -fsous Linux
Dans les fenêtres déposées supprimées peuvent être trouvées dans la corbeille si vous n'avez pas appuyé sur Maj ,
Qu'en est-il des fichiers supprimés par rm -fsous Linux
Réponses:
La première chose à retenir est - arrêtez de faire d'autres activités d'écriture sur le système de fichiers.
Ensuite, vous pouvez essayer certains outils qui examineront le système de fichiers et tenteront de localiser les données dans le nœud supprimé. ' extundelete' est l'un de ces outils chez sourceforge.
extundelete est un utilitaire qui peut récupérer des fichiers supprimés d'une partition ext3 ou ext4 . Le système de fichiers ext3 est le système de fichiers le plus courant lors de l'utilisation de Linux, et ext4 est son successeur. extundelete utilise les informations stockées dans le journal de la partition pour tenter de récupérer un fichier qui a été supprimé de la partition. Il n'y a aucune garantie qu'un fichier particulier pourra être restauré, alors essayez toujours d'avoir un bon système de sauvegarde en place, ou au moins en mettre un en place après avoir récupéré vos fichiers!
La première étape consiste à essayer un outil de suppression du système de fichiers utilisé pour votre lecteur racine.
Comme mentionné, ext3grep et extundelete sont les outils de la famille de systèmes de fichiers ext.
Une autre option, selon le type de fichier à récupérer, consiste à exécuter un découpeur de fichiers sur le lecteur. Cela prendra plus de temps que les utilitaires ci-dessus.
Avant tout, c'est une option que j'ai utilisée pour cela.
La dernière option, si vous connaissez une certaine chaîne dans le fichier, est d'ouvrir le lecteur dans un éditeur hexadécimal et de rechercher cette chaîne.
Selon votre configuration, votre gestionnaire de fenêtres peut fournir une corbeille / poubelle.
À la fin de la journée, rien ne peut remplacer une bonne configuration du système de sauvegarde. Trouvez celui qui fait son travail sans que vous le touchiez et configurez-le. Vous vous épargnerez beaucoup de temps, de problèmes et de douleur à long terme.
Je vais essayer celui-ci, ext3grep:
http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html
Vous devez démonter la partition avant de commencer.
HTH
Comme undelete_ext3 semble avoir disparu, voici un humble script bash, qui m'a aidé à récupérer certains fichiers qui n'étaient pas disponibles en utilisant extundelete ou debugfs . Solution partagée.
Vous pouvez préconfigurer une liste de blocs à consulter, voir PRESEED. Il faut un numéro de bloc par ligne. Si vous ne préconfigurez pas, tous les blocs seront recherchés, par défaut.
Comme vous aurez probablement un cas d'utilisation différent, cela pourrait vous donner un cadre sur lequel baser votre propre filtrage. Vous aurez certainement besoin de modifier les valeurs lorsque vous recherchez d'autres types de fichiers.
Exemple d'appel: ./ext-undelete-tar-gz.sh devimage found_files/
#!/bin/bash
# Brute force (linear) search specific tar files with
# certain contents on ext2 / ext3 / ext4 devices or files
#
# .. this is a last resort if extundelete and/or debugfs
# did not find what you were looking for and limited
# in that recoverable data must not have been stored
# in fragments, i.e. non-sequentially
[[ -n "$2" ]] || {
echo "usage: $0 [ device | imagefile ] "\
"[ destdir_for_recovered_data ] "\
"[ max_blocks_to_search (optional) ]"
exit 1
}
IMG=$1
DEST=$2
TMP=/dev/shm/cand.tmp
PRESEED=/dev/shm/cand.list
GZMAGIC=$(echo -e "\x1f\x8b\x08")
TARMAGIC=$(echo -e "ustar")
# max bytes to read into $TMP when a .tar.gz has been found
LEN=$((160*1024))
# pick $TMP for recovery based on matched strings..
FILE_IN_TAR="debian/rules" # ..in the tar index (suffix-search)
FIT_CONTENT="link-doc=" # ..within FILE_IN_TAR matches
# determine FS parameters
BLOCKS=$(tune2fs -l $IMG | grep -Po "(?<=^Block count:).*" | xargs)
BS=$(tune2fs -l $IMG | grep -Po "(?<=^Block size:).*" | xargs)
LEN=$((LEN/BS))
function _dd { dd $@ 2>/dev/null ; }
function _gunzip { gunzip $@ 2>/dev/null ; }
function _tar { tar $@ 2>/dev/null ; }
function inspect_block {
bnum=$1
if _dd if="$IMG" skip=$bnum bs=$BS count=1 | tee "$TMP" \
| _dd bs=1 count=3 \
| grep -qF "$GZMAGIC"
then
if _gunzip -c "$TMP" \
| _dd bs=1 count=5 skip=257 \
| grep -qF "$TARMAGIC"
then
_dd if="$IMG" skip=$((bnum+1)) bs=$BS count=$((LEN-1)) >> "$TMP"
echo -n found $bnum.tar.gz
if _tar xzf "$TMP" -O --wildcards *"$FILE_IN_TAR" \
| grep -qF "$FIT_CONTENT"
then
echo " ..picked, stripping trailing garbage:"
exec 3>&1
gunzip -c "$TMP" 2>&3 | gzip > $DEST/$bnum.tar.gz
exec 3>&-
else
echo
fi
fi
fi
echo -ne "$((bnum+1)) / $BLOCKS done.\r" >&2
}
if [[ -f "$PRESEED" ]]
then
while read bnum
do inspect_block $bnum
done <"$PRESEED"
else
for (( bnum = 0 ; bnum < ${3:-$BLOCKS} ; bnum++ ))
do inspect_block $bnum
done
fi | gzip >"$PRESEED.log.gz"
echo
rmdissocie le ou les nœuds i associés au fichier.