Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/03/2017, à 20:41

toutafai

fsck sous busybox ?

Bonsoir,

(si je ne suis pas au bon endroit pour cette demande, dites le moi)

De temps en temps, j'ai le "plaisir" au démarrage du pc (14.04 X64) d'avoir un partition / corrompue ; et ce,  malgré avoir bien pris soin d'éteindre correctement mon pc ( pas en massacrant le bouton power big_smile )

Je suis obligé de démarrer en live afin de faire un fsck pour remettre en ordre.

Question :

Peut on faire un fsck sous busybox, si oui, comment  ?

A part un Hdd qui commencerais a fatiguer (pourtant il n'est pas vieux, 18 mois), avez-vous des pistes pour expliquer pourquoi le hdd se corromps de temps en temps. ?

PS : je vais lancer un test SAMRT, j'éditerais mon post avec son retour

Retour SMART :

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-113-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Travelstar 5K320
Device Model:     Hitachi HTS543232L9SA00
Serial Number:    081204FB2400LECXTJRA
LU WWN Device Id: 5 000cca 564cd1682
Firmware Version: FB4OC43C
User Capacity:    320,072,933,376 bytes [320 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 3f
SATA Version is:  SATA 2.6, 1.5 Gb/s
Local Time is:    Mon Mar 13 21:36:05 2017 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x85)	Offline data collection activity
					was aborted by an interrupting command from host.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(  645) seconds.
Offline data collection
capabilities: 			 (0x5b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 ( 127) minutes.
SCT capabilities: 	       (0x003d)	SCT Status supported.
					SCT Error Recovery Control supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   095   095   062    Pre-fail  Always       -       12
  2 Throughput_Performance  0x0005   100   100   040    Pre-fail  Offline      -       1886
  3 Spin_Up_Time            0x0007   253   253   033    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0012   092   092   000    Old_age   Always       -       13415
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       62
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   040    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0012   055   055   000    Old_age   Always       -       19944
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   093   093   000    Old_age   Always       -       11355
191 G-Sense_Error_Rate      0x000a   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   096   096   000    Old_age   Always       -       1180471
193 Load_Cycle_Count        0x0012   066   066   000    Old_age   Always       -       343370
194 Temperature_Celsius     0x0002   157   157   000    Old_age   Always       -       35 (Min/Max 8/52)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       60
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       8
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0
223 Load_Retry_Count        0x000a   100   100   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Interrupted (host reset)      50%     17980         -
# 2  Short offline       Completed without error       00%     17979         -
# 3  Extended offline    Completed without error       00%      4031         -
# 4  Short offline       Completed without error       00%      2955         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Dernière modification par toutafai (Le 13/03/2017, à 21:42)


Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).

Hors ligne

#2 Le 13/03/2017, à 21:03

J5012

Re : fsck sous busybox ?

non mais par recompilation oui ... https://www.busybox.net/about.html

un hdd qui se corromps regulierement n'a pas besoin d'etre "vieux" : il suffit qu'il y ait un defaut de fabrication :
- erreur de sommation dans la carte du ctrleur
- une piste magnetique pas de la meilleure qualité
- une poussiere dans l'environnement au moment de l'emboitage
- un bras magneto-resistif de seconde qualité (ie le metal a un % alliage de qualité inferieure → l'oem fait des economies ...)
- etc .... plein d'autres parametres aie ...

Hors ligne

#3 Le 13/03/2017, à 21:41

toutafai

Re : fsck sous busybox ?

Merci pour ta réponse.
Dommage, c'est un peu c.. d'avoir une boite a outils qui necontient pas cela sans avoir a recompiler
Je vais changer de hdd on vera bien

PS : 1er post édité avec le retour SMART si quelqu'un arrive a décoder cela et me dire ce qu'il en est


Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).

Hors ligne

#4 Le 14/03/2017, à 07:10

serged

Re : fsck sous busybox ?

Pour le SMART, je ne vois rien de rédhibitoire. Pour interpréter voir :
- L'article SMART de Wikipédia
- ...plus détaillé en anglais


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#5 Le 14/03/2017, à 09:34

moko138

Re : fsck sous busybox ?

Salut toutafai !

Bon :

 10 Spin_Retry_Count        0x0013   100   100   060       0
191 G-Sense_Error_Rate      0x000a   100   100   000       0
198 Offline_Uncorrectable   0x0008   100   100   000       0

  - -
Moins bon :

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE RAW_VALUE
  4 Start_Stop_Count        0x0012   092   092   000       13415  # mises en 
# rotation, dont sorties de veille.
  9 Power_On_Hours          0x0012   055   055   000       19944
 12 Power_Cycle_Count       0x0032   093   093   000       11355  # mises sous tension.

Donc ta session moyenne ne dure qu'une heure 45 minutes.
C'est trop court pour viser la longévité.

193 Load_Cycle_Count        0x0012   066   066   000       343370

Ce disque a beaucoup plus que 18 mois :
20.000 heures. C'est déjà respectable ! Surtout avec 11.355 mises sous tension, usantes.

  - -

Mauvais :

192 Power-Off_Retract_Count 0x0032   096   096   000       1180471
194 Temperature_Celsius     0x0002   157   157   000       35 (Min/Max 8/52)
196 Reallocated_Event_Count 0x0032   100   100   000       60
  5 Reallocated_Sector_Ct   0x0033   100   100   005       62
197 Current_Pending_Sector  0x0022   100   100   000       8

  - -

Pour l'instant, je ne comprends pas comment le Power-off Retract Count (1,2 millions) peut être 3,5 fois plus élevé que le Load_Cycle_Count (343.370).
Mais de toute façon, cet Hitachi Travelstar HTS543232L9SA00 atteint des températures excessives (52°C en hiver) et ses secteurs sont usés.

Il est donc prudent de le remplacer.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#6 Le 14/03/2017, à 10:10

toutafai

Re : fsck sous busybox ?

Bonjour a tous et merci pour vos "traduction"

Effectivement, il s'agit d'un disque plus ancien, je me rappelle maintenant l'avoir swapé d'un autre portable.....je vais le remplacer.

Encore merci pour vos réponses. Bonne journée a tou(te)s


Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).

Hors ligne

#7 Le 14/03/2017, à 10:36

maxire

Re : fsck sous busybox ?

Salut,

toutafai a écrit :

Peut on faire un fsck sous busybox, si oui, comment  ?

Non, à moins de construire une version spécifique de Busybox comme cela t'a déjà été indiqué, par contre rien ne t'empêche de charger le programme e2fsck dans l'image système initiale créée via la commande mkinitramfs.

Plus d'information ici


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#8 Le 18/03/2017, à 19:32

toutafai

Re : fsck sous busybox ?

Merci maxire pour ce complément

J'ai finalement synchronisé ma sauvegarde et restauré le tout sur un nouveau hdd.

Problème résolu ! Merci à tous pour votre participation et bonne continuation.

Dernière modification par toutafai (Le 18/03/2017, à 19:33)


Tombé dans l'informatique étant petit, j'en ai fait mon métier. Utilisateur d'Ubuntu depuis novembre 2006, actuellement sous 20.04 x64 (Que d'évolution
depuis Dapper Drake ! Ça rajeunit pas ^^^).

Hors ligne

#9 Le 21/03/2017, à 18:38

maxire

Re : fsck sous busybox ?

Pour répondre définitivement à la question initiale, pour rendre disponible fsck sous busybox:

Créer un fichier /etc/initramfs-tools/hooks/fsck  exécutable contenant:

#!/bin/sh

PREREQ=""

prereqs()
{
	echo "$PREREQ"
}

fstab_files()
{
	echo /etc/fstab
	if [ -d /etc/fstab.d ]; then
		ls -1 /etc/fstab.d | grep '\.fstab$' | sed -e 's;^;/etc/fstab.d/;'
	fi
}

# Find a specific fstab entry
# $1=mountpoint
# $2=fstype (optional)
_read_fstab_entry () {
	# Not found by default.
	echo "MNT_FSNAME="
	echo "MNT_DIR="
	echo "MNT_TYPE="

	fstab_files | while read file; 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
					echo "MNT_FSNAME=$MNT_FSNAME"
					echo "MNT_DIR=$MNT_DIR"
					echo "MNT_TYPE=$MNT_TYPE"
					echo "MNT_PASS=$MNT_PASS"
					break 2
				fi
				MNT_DIR=""
			done < "$file"
		fi
	done
}

# Find a specific fstab entry and print its type (if found, and pass != 0)
# $1=mountpoint
get_fsck_type_fstab () {
	eval "$(_read_fstab_entry "$1")"

	# Not found by default.
	if [ "$1" = "$MNT_DIR" ] && [ "$MNT_PASS" != 0 ]; then
		# Ignore filesystem type for /, as it is not available and
		# therefore never used at boot time
		if [ "${MNT_DIR}" = "/" ] || [ "${MNT_TYPE}" = "auto" ]; then
			MNT_FSNAME="$(resolve_device "${MNT_FSNAME}")"
			alias fstype="/usr/lib/klibc/bin/fstype"
			get_fstype "${MNT_FSNAME}"
			unalias fstype
		else
			echo "${MNT_TYPE}"
		fi
	fi
}

get_fsck_types() {
	get_fsck_type_fstab /
	get_fsck_type_fstab /usr
}

case $1 in
prereqs)
	prereqs
	exit 0
	;;
esac

if [ ! -x /sbin/fsck ]; then
	exit 0
fi

. /usr/share/initramfs-tools/scripts/functions
. /usr/share/initramfs-tools/hook-functions

fsck_types="$(get_fsck_types | sort | uniq)"

if [ -z "$fsck_types" ]; then
	exit 0
fi

copy_exec /sbin/fsck
copy_exec /sbin/logsave

for type in $fsck_types; do
	if [ "$type" = "unknown" ] ; then
		echo "Warning: couldn't identify filesystem type for fsck hook, ignoring."
		continue
	fi

	if prog="$(command -v fsck.${type})"; then
		copy_exec "$prog"
	else
		echo "Warning: /sbin/fsck.${type} doesn't exist, can't install to initramfs, ignoring."
	fi
done

puis mettre à jour l'image initiale (ou les ..) via la commande update-initramfs.
Ce script fsck ne chargera la commande fsck que si /etc/fstab référence des systèmes de fichiers de type ext linux.

J'ai trouvé cette méthode dans Debian Stretch, je suis surpris que Ubuntu ne semble pas la proposer (vérifier dans /usr/share/initramfs-tools/hooks).


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne