Erreur «/boot/vmlinuz-4.19.0-23-amd64» non disponible

[Buster]
Bonjour,

comment ce noyau a-t-il disparu, je ne sais pas vraiment: j’ai simplement relancé la commande de mate «Redémarrer», en raison d’un affichage bizarre de 3 bureaux virtuels sur les 9 existants. Mais l’ordinateur ne s’est jamais arrété vraiment, écran noir sans affichage habituel de fermeture.

Je repasse sous Jessie pour ce post, et là la plupart des configurations (tout le contenu des 2 tableaux de bord, spécifiques à jessie) a disparu.

Je crains une usure du disque SSD qui supporte les différents systèmes (jessie en secours, Buster en travail, et Debian 11 installé mais pas encore configuré à ma main)

J’ai monté la partition racine de Buster, dont le répertoire /boot/ a complètement disparu (et /vmlinuz pointe sur un fichier vide, comme l’affichage rouge de ls -l l’indique)

J’en déduis qu’il faut reconstituer tout le répertoire /boot/ de Jessie!

Je vais chercher si je dispose d’une sauvegarde du système (en principe elle existe, mais où , (ouh!)

En attendant, espérant disposer de cette sauvegarde, comment puis-je réparer cette erreur, sans risquer d’en commettre une autre?

merci

Suite:
J’ai copié cette sauvegarde sans doute trop ancienne:
# cd /mnt/<disqueUSB/bkp/
# cp -a ./boot /mnt/<racineDeBuster/
# umount ces 2 volumes
redémarrage via l’applet de Mate

Le résultat est une grand nombre de messages «failed»:
(je ne recopie ici que les lignes «Failed»)

Failed to mount Kernel debug File System
Failed to mount POSIX Message Queue File system
Failed to start Creat system User
Failed to start udev Coldplug all devices
...
Failed to start Create Static Device Nodes in /dev
...
Failed to mount FUSE Control File System
...
Failed to start Flush journal to Persistent Storage ...
Failed to start Volatile Files and Directories
...
Failed to start Login Services

et le tout s’arrète à:

OK Started D-Bus System Messages bus

salut, commencer par un smart

Bonjour dindoun,
merci,

J’ai fait smartct -a /dev/sda , qui donne 5 lignes «Pre-fail». Que dois-je faire?

sudo smartctl -a /dev/sda
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.9.0-0.bpo.6-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     ADATA SX300
Serial Number:    2E0820014485
LU WWN Device Id: 0 000000 000000000
Firmware Version: 5.2.2
User Capacity:    256 060 514 304 bytes [256 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS, ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Mon May  1 12:42:52 2023 CEST
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:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
Self-test execution status:      (   1)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(    0) seconds.
Offline data collection
capabilities: 			 (0x79) SMART execute Offline immediate.
					No Auto Offline data collection support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					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: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 (  48) minutes.
Conveyance self-test routine
recommended polling time: 	 (   2) minutes.
SCT capabilities: 	       (0x0025)	SCT Status supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0033   092   092   050    Pre-fail  Always       -       30069593271
  5 Reallocated_Sector_Ct   0x0033   100   100   003    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   064   064   000    Old_age   Always       -       31885 (83 8 0)
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       884
171 Unknown_Attribute       0x000a   000   000   000    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
174 Unknown_Attribute       0x0030   000   000   000    Old_age   Offline      -       76
177 Wear_Leveling_Count     0x0000   000   000   000    Old_age   Offline      -       16
181 Program_Fail_Cnt_Total  0x000a   000   000   000    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   000   000   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0012   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   043   096   000    Old_age   Always       -       43 (Min/Max 10/96)
195 Hardware_ECC_Recovered  0x001c   092   092   000    Old_age   Offline      -       30069593271
196 Reallocated_Event_Count 0x0033   100   100   003    Pre-fail  Always       -       0
201 Unknown_SSD_Attribute   0x001c   092   092   000    Old_age   Offline      -       30069593271
204 Soft_ECC_Correction     0x001c   092   092   000    Old_age   Offline      -       30069593271
230 Unknown_SSD_Attribute   0x0013   100   100   000    Pre-fail  Always       -       100
231 Temperature_Celsius     0x0013   099   099   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   000   000   000    Old_age   Always       -       19760
234 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       6017
241 Total_LBAs_Written      0x0032   000   000   000    Old_age   Always       -       6017
242 Total_LBAs_Read         0x0032   000   000   000    Old_age   Always       -       7633

SMART Error Log not supported

SMART Self-test Log not supported

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.

et smartctl -x:
smartctl-x-sda.txt (18,5 Ko)

Comment cela se peux t’il, tes systèmes exploite des partitions communes ?

C’est à dire, est-ce une partition séparé ?

Ne pas t’inquiéter, si la colonne WHEN FAILED était rempli … ça aurait senti mauvais, ton SSD est vieux par contre pas de surprise.

Pour plus de détails :

  • VALUE représente l’état de l’attribut. Plus il est haut mieux c’est.
  • WORST représente la valeur VALUE la plus basse que l’attribut à pu atteindre
  • THRESH représente le seuil, défini par le constructeur, en dessous duquel l’attribut devient critique et permet de prédire une panne à court terme.
  • Les valeurs Pre-fail sont celles à surveiller en priorité car elles représentent des attributs surveillant des erreurs critiques du disque. Old_age correspond aux attributs du vieillissement normal du disque, même s’il reste évident que plus le disque est vieux, plus le risque de crash augmente.
  • RAW_VALUE est plus difficile à interpréter étant donné qu’ils sont calculés de manières très différentes selon les constructeurs et même les modèles de disque. Dans mon exemple, c’est un disque Seagate Barracuda avec un Raw_Read_Error_Rate ayant une valeur raw très élevée qui peut sembler inquiétante mais qui a au final une VALUE qui reste très bonne. Chez d’autres marques comme WD, un Raw_Read_Error_Rate doit normalement tourner à 0 en valeur raw, et si la valeur raw augmente, c’est mauvais signe.

Pour savoir si la RAW_VALUE est meilleure haute ou basse, je vous renvoi ici : http://en.wikipedia.org/wiki/S.M.A.R.T.#Known_ATA_S.M.A.R.T._attributes (en général, une erreur doit être la plus basse possible)

Globalement, retenez que les RAW_VALUE de Current_Pending_Sector et Offline_Uncorrectable et Reallocated_Sector_Ct doivent idéalement être a 0. Si elles augmentent, il faut investiguer la situation.

Notez que certains attributs SMART, identifiés par le mot Offline à la colonne UPDATED , ne sont mis à jour que lorsque la collecte de données offline a lieu. Généralement, cette collecte à lieu au démarrage du disque, ou de manière régulière si vous activez la collecte automatique des données offline (avec smartctl -o on /dev/sda )

En résumé vue que le disque ne présente pas outre mesure d’usure et de panne évidente, si une partition disparait c’est qu’elle a été shootée

Merci encore.

Le répertoire root a disparu, mais sans être sur une partition séparée.

Mon partitionnement est le suivant:
sur le SSD: sda3 le système racine (ext4)
sur le SSD: sda5 /usr/local (ext4)
pour qu’il ne soit pas affecté par les changements de version, et accessible sous différentes versions
sur le HD: /dev/mapper/VG_1-lv_home
sur le HD: une partition swap (oui, c’est mal placé sur le HD au lieu du SSD plus rapide)

La partition VG_1-lv_home contient un répertoire séparé, nommé jessie (car c’était le /home/ sous Jessie) afin que /home/eric ne soit pas réutilisé en passant d’un système à l’autre, ce qui m’avait valu de vrais problèmes de configuration.
Donc, /home/eric/ reste attaché au système, et je travaille sur des données partagées dans un autre répertoire (mal) nommé /jessie/, sur une partition séparée (LVM sur le disque dur)

L’idée est donc de partager les données de travail et le contenu de /usr/local/ entre différents systèmes, tout en gardant les réglages utilisateurs adaptés à chaque système.

Je présume que la disparition de/root/ du Buster est la conséquence d’un plantage inexpliqué qui m’a conduit à éteindre sauvagement (à moins qu’elle en ait été la cause?)

EDIT
le répertoire /etc/ a également disparu et peut-être d’autres!
(oui! /home/eric/ est vide, /run est vide)
je vais explorer (peut être pas avant 2 jours) en comparant avec une sauvegarde.

Je me demande si ce n’est pas une mauvaise commande rsync (que j’exécute sous root) qui aurait effacé ces fichiers et répertoires. Un explication plausible!

C’est possible, pour ce qui est du partage de partition je ne suis pas favorable au partage de partition autres que celles hébergeant absolument QUE des documents personnels ou du même types.
/usr/local peu être synchroniser avec un git extérieur si tel est ton souhait, d’ailleurs je te recommande même de laisser /usr/local tranquille sur tes systèmes et de partager à la limite un sous répertoire plutôt genre /usr/local/script pour des scripts ;).

par habitude je préfère laisser tel quel le système après installation et jouer avec des fichiers conf.d ou perso dans /usr/local/ et dans mon /home pour être certains que le système ne va rien m’écraser 'même si en générale il propose de conserver/comparer/écraser avant lors de mise à jour ou autre sur les fichiers de configuration).

Idem je n’installe pas de vielles versions ou de récentes version de python/perl/php/ce que tu peux imaginer autrement que dans des environnement virtuel ou des containers :wink:
Ainsi je reste avec un Debian bien solide et bien facile à mettre à jour.

1 J'aime

si tu as monté une partition sur mnt ou media et que ton rsync sur / n’exclue pas /media et /mnt, tu peux effectivement les virer

Je ne comprends pas vos raisons. Il me semble, (me trompé-je?) que /usr/local est réservé exclusivement à des ajouts personnels, (13 à 20 Go) que j’utilise pour

  • mes scripts: /usr/local/bin
  • mes lib: /usr/local/lib
  • les fichiers de réglages pour mes scripts: /usr/local/etc
  • les icones de mes commandes de bureau dans /usr/local/share/icons
  • mon installation texlive à jour (que ne propose pas Debian, ou je ne sais pas comment utiliser tlmgr —le «update-upgrade de texlive— et préserver cette mise à jour): /usr/local/texlive
  • etc.

et je ne vois pas comment grouper autrement à la fois mes données de travail dans /home et mes données de système et configuration personnelles pour qu’elles ne soient pas affectées par une mise à niveau, voire une réinstallation.

merci

Je n’ai pas dit de ne pas utiliser ce répertoire mais de bien identifier ce à quoi on fait références.
J’y retrouve des fichiers de mes virtualenv, pas mal de binaire maison, de sources, de librairies et différentes fonts dans mon cas, mais aussi un sacré bordel dans le cas d’installation de paquets mal fichu comme maldet par exemple.

Donc, si j’ai bien compris, ce n’est pas une complication inutile dans mon cas, de «protéger» /usr/local dans une partition séparée du système Debian pur jus?

Pas forcément mais à minima une sauvegarde de la partie /usr/local.