Danke Euch ... dann ist das "seltsame" Verhalten wohl der SSD geschuldet und nicht dem OS. Mein "Erstaunen" kommt daher, dass ich doch schon Erfahrungen habe mit defekten Festplatten und noch keine mit defekten SSD's. Wieder was gelernt ...
Posts by ralfi1988
-
-
Am Alter liegt es definitiv nicht - siehe das Protokoll von smartctl:
Code
Display Moresmartctl 7.2 2020-12-30 r5155 [aarch64-linux-5.15.84-v8+] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Device Model: JAJS300M120C Serial Number: AB202100000310008209 Firmware Version: T1125A0 User Capacity: 120.034.123.776 bytes [120 GB] Sector Size: 512 bytes logical/physical Rotation Rate: Solid State Device Form Factor: 2.5 inches TRIM Command: Available Device is: Not in smartctl database [for details use: -P showall] ATA Version is: ACS-3 T13/2161-D revision 4 SATA Version is: SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s) Local Time is: Thu Mar 16 08:37:55 2023 CET SMART support is: Available - device has SMART capability. SMART support is: Enabled AAM feature is: Unavailable APM feature is: Disabled Rd look-ahead is: Enabled Write cache is: Enabled DSN feature is: Unavailable ATA Security is: Disabled, NOT FROZEN [SEC1] === START OF READ SMART DATA SECTION === SMART Status not supported: Incomplete response, ATA output registers missing SMART overall-health self-assessment test result: PASSED Warning: This result is based on an Attribute check. General SMART Values: Offline data collection status: (0x00) Offline data collection activity was never started. Auto Offline Data Collection: Disabled. 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: ( 120) seconds. Offline data collection capabilities: (0x11) SMART execute Offline immediate. No Auto Offline data collection support. Suspend Offline collection upon new command. No Offline surface scan supported. Self-test supported. No Conveyance Self-test supported. No Selective Self-test supported. SMART capabilities: (0x0002) Does not save 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: ( 10) minutes. SMART Attributes Data Structure revision number: 1 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE 1 Raw_Read_Error_Rate -O--CK 100 100 050 - 0 5 Reallocated_Sector_Ct -O--CK 100 100 050 - 0 9 Power_On_Hours -O--CK 100 100 050 - 116 12 Power_Cycle_Count -O--CK 100 100 050 - 151 160 Unknown_Attribute -O--CK 100 100 050 - 0 161 Unknown_Attribute PO--CK 100 100 050 - 100 163 Unknown_Attribute -O--CK 100 100 050 - 187 164 Unknown_Attribute -O--CK 100 100 050 - 3903 165 Unknown_Attribute -O--CK 100 100 050 - 21 166 Unknown_Attribute -O--CK 100 100 050 - 4 167 Unknown_Attribute -O--CK 100 100 050 - 9 168 Unknown_Attribute -O--CK 100 100 050 - 2000 169 Unknown_Attribute -O--CK 100 100 050 - 100 175 Program_Fail_Count_Chip -O--CK 100 100 050 - 0 176 Erase_Fail_Count_Chip -O--CK 100 100 050 - 0 177 Wear_Leveling_Count -O--CK 100 100 050 - 0 178 Used_Rsvd_Blk_Cnt_Chip -O--CK 100 100 050 - 0 181 Program_Fail_Cnt_Total -O--CK 100 100 050 - 0 182 Erase_Fail_Count_Total -O--CK 100 100 050 - 0 192 Power-Off_Retract_Count -O--CK 100 100 050 - 42 194 Temperature_Celsius -O---K 100 100 050 - 47 195 Hardware_ECC_Recovered -O--CK 100 100 050 - 5099 196 Reallocated_Event_Count -O--CK 100 100 050 - 0 197 Current_Pending_Sector -O--CK 100 100 050 - 0 198 Offline_Uncorrectable -O--CK 100 100 050 - 0 199 UDMA_CRC_Error_Count -O--CK 100 100 050 - 0 232 Available_Reservd_Space -O--CK 100 100 050 - 100 241 Total_LBAs_Written ----CK 100 100 050 - 13240 242 Total_LBAs_Read ----CK 100 100 050 - 6523 245 Unknown_Attribute -O--CK 100 100 050 - 8675 ||||||_ K auto-keep |||||__ C event count ||||___ R error rate |||____ S speed/performance ||_____ O updated online |______ P prefailure warning General Purpose Log Directory Version 1 SMART Log Directory Version 1 [multi-sector log support] Address Access R/W Size Description 0x00 GPL,SL R/O 1 Log Directory 0x01 SL R/O 1 Summary SMART error log 0x02 SL R/O 1 Comprehensive SMART error log 0x03 GPL R/O 1 Ext. Comprehensive SMART error log 0x04 GPL,SL R/O 8 Device Statistics log 0x06 SL R/O 1 SMART self-test log 0x07 GPL R/O 1 Extended self-test log 0x10 GPL R/O 1 NCQ Command Error log 0x11 GPL R/O 1 SATA Phy Event Counters log 0x24 GPL R/O 88 Current Device Internal Status Data log 0x25 GPL R/O 32 Saved Device Internal Status Data log 0x30 GPL,SL R/O 9 IDENTIFY DEVICE data log 0x80-0x9f GPL,SL R/W 16 Host vendor specific log SMART Extended Comprehensive Error Log Version: 1 (1 sectors) No Errors Logged SMART Extended Self-test Log Version: 1 (1 sectors) No self-tests have been logged. [To run self-tests, use: smartctl -t] Selective Self-tests/Logging not supported SCT Commands not supported Device Statistics (GP Log 0x04) Page Offset Size Value Flags Description 0x01 ===== = = === == General Statistics (rev 1) == 0x01 0x008 4 151 --- Lifetime Power-On Resets 0x01 0x010 4 116 --- Power-on Hours 0x01 0x018 6 867699934 --- Logical Sectors Written 0x01 0x020 6 6577901 --- Number of Write Commands 0x01 0x028 6 427543028 --- Logical Sectors Read 0x01 0x030 6 5958733 --- Number of Read Commands 0x07 ===== = = === == Solid State Device Statistics (rev 1) == 0x07 0x008 1 0 --- Percentage Used Endurance Indicator |||_ C monitored condition met ||__ D supports DSN |___ N normalized value SATA Phy Event Counters (GP Log 0x11) ID Size Value Description 0x0001 4 0 Command failed due to ICRC error 0x0002 4 0 R_ERR response for data FIS 0x0005 4 0 R_ERR response for non-data FIS 0x000a 4 1 Device-to-host register FISes sent due to a COMRESET
Demzufolge hat die SSD gerade mal 151 Einschaltvorgänge und 116 Aktivstunden hinter sich gebracht. Nö, hier handelt es sich mit höchster Wahrscheinlichkeit um ein defektes Produkt. Dieses Protokoll habe ich auch an den Hersteller geschickt und wie schon geschrieben, geht man dort von einem Hardwarefehler aus.
Ein "Überprüfen" würde vermutlich auch nichts nützen. Denn es war möglich, dass ich eine Datei über den Dateimanager neu anlege, diese mit Daten fülle, den Dateimanager schließe, den Dateimanager neu starte und dann diese Datei einlese. Die Daten waren vorhanden.
Die einzigen Programme, die auf diesen Defekt hinwiesen (im Nachhinein interpretiert), waren die Tools, welche den vermeintlichen Fehler (Stichwort Superblock) beseitigen wollten, hatten zwar die Änderungen vorgenommen - aber am Schluss doch festgestellt, dass der Fehler nach wie vor vorhanden ist. Ähnlich wie GParted, mit dessen Hilfe ich alle Partitionen auf der SSD platt machen wollte; dort hat oberflächlich auch alles funktioniert (gab also keine Fehler beim Durchführen der Änderungen), aber am Ende waren die bisherigen Partitionen noch immer vorhanden. Auch dort muss offensichtlich versucht worden sein, den Cache zu schreiben ... was ja wegen dem Hardware-Defekt nicht geht.
Naja - Pech gehabt. Übrigens, falls es interessiert: Es handelt sich um eine SSD von Intenso. Habe gestern noch ein wenig gestöbert im Netz und da gibt es doch einige Meldungen, die von der Qualität deren Produkte nicht so recht überzeugt sind. Daraus lerne ich: Nächstes Mal doch ein paar Euro mehr investieren ...
-
Danke für die erklärenden Worte. Und da stellen sich mir natürlich gleich wieder eine Menge Fragen, beispielsweise: Warum dauert es so lange, bis die neuen Daten persistiert werden? Oder: Würde Windows mehr Informationen liefern als Linux? Gibt es Möglichkeiten, dieses Persistieren softwareseitig anzustoßen? Was meldet die SSD zurück, wenn die Daten nicht persistiert werden können wegen diesem Defekt? Und warum reagiert Linux nicht darauf?
Fragen über Fragen ...
Aber egal, es ist, wie es ist. Der Hersteller hat mir zwar angeboten, ihm die SSD zu schicken und im Zuge der Garantie würde ich dann eine neue bekommen - aber nachdem ja sensible Daten drauf sind, werde ich wohl darauf verzichten. Weil eine 120GB SSD kostet ja nicht die Welt, der Schaden ist also eher gering. Sowohl monetär, als auch sonst. War ja nur ein Test-System.
Danke jedenfalls für Eure Bemühungen!
-
Habe gerade den Thread als Erledigt markiert.
Kurze Info: Es hat sich nach langen Diskussionen herausgestellt, dass die SSD defekt ist. So ist es zwar möglich, auf die SSD Daten zu schreiben (neue Textdatei anlegen und diese mit Daten befüllen beispielsweise - oder Dateien in andere Verzeichnisse verschieben) - und im Dateimanager sah man auch diese Änderungen. Wenn man das Laufwerk aber aus- und danach wieder einhängt, sind all diese Änderungen verloren. Der Hersteller der SSD hat mir das nach einem Mail-Austausch auch bestätigt.
Ich finde das Verhalten von Linux irgendwie .... äh .... seltsam. Man schreibt Daten auf ein Laufwerk, man sieht diese veränderten oder neuen Daten - und bei nächstbester Gelegenheit stellt sich heraus: Genau nix ist passiert. Das gibt mir irgendwie zu denken ....
-
Hi Heinrich,
zu den Anfanfangszeiten des Raspi-Projektes hatte es immer wieder mal Probleme mit nicht kompatiblen/zu schnellen/zu großen Speicherkarten gegeben. Möglicherweise liegt es ja an einen diesen Umständen, dass das Booten nicht klappt. Ich würde eine ältere Class 4 Karte mit 8 GB versuchen.
-
Also - die Änderung scheint zu funktionieren, denn zum ersten Mal haben Variety und Flameshot die Plätze getauscht, weil Flameshot deutlich später aufgepoppt ist. Danke nochmal für den Support.
-
Bitte markiere das Thema dann noch als erledigt. Danke!
Mache ich auf jeden Fall, wie auch sonst - aber erst nach dem nächsten Bootvorgang. Damit ich weiß, dass ich nichts kaputt gemacht habe.
-
Hi Martin28 und hyle ... habe die Datei gefunden und gemäß Anleitung geändert. Vorerst mal auf 3 Sekunden, wenns nicht passt, kann ich es ja rauf setzen; aber ich denke, das wird schon ausreichend sein. Ist ja nur gefühlt 2x im Monat so, hat mich dennoch gestört (bin auch jemand, der ständig seine Stifte am Schreibtisch gerade rückt ...
-
Wie startest du denn was (u.a. Flameshot) automatisch (Autostart)?
Hm ... *rotwerd* ... da müsste man die Entwickler der jeweiligen Anwendungen fragen. Im Falle von Flameshot war es so, dass ich es übers Menü aufgerufen hatte, danach war das Icon in der Leiste - und dann einen Rechtsklick auf das Icon und den Punkt "Einstellungen" ausgewählt. Und im dadurch erscheinenden Dialog gibt es unter dem Reiter "Allgemein" die Einstellung "Automatisch starten". Dort setzt man ein Häkchen oder nimmt es raus, je nachdem, was man haben möchte. Wo das was genau eingetragen wird, erschließt sich mir nicht.
-
Hi,
ich habe unter Raspberry Pi OS 64-bit die Vermutung, dass sich manche Aktionen bzw automatisch zu startende Programme gegenseitig beim Booten überholen. Das sah gerade eben so aus:
Meine Leiste habe ich - ganz windows-like - nach unten verfrachtet. Unter Anderem automatisch gestartet wird die Anwendung "Flameshot". Diese setzt dann rechts in der Leiste ein Icon, auf das man draufklicken kann, um sie aufzurufen. Jetzt war es allerdings so, dass die Leiste noch gar nicht sichtbar war nach dem Booten, aber Flameshot offensichtlich schon fertig gestartet war. Das Icon wurde dadurch vom ... ja, von wem auch immer ... in die linke, obere Bildschirm-Ecke geschoben und bleibt dort auch auf Dauer liegen. Flameshot kann ich aber trotzdem von dort aufrufen, wo das Icon eigentlich sitzen sollte. Also: Es sieht so aus, als ob Flameshot bei speziell diesem Boot-Vorgang schneller geladen war als die Leiste.
Jetzt meine Fragen:
a) Gibt es eine Möglichkeit, dem System beizubringen, dass bestimmte Programme erst nach einer bestimmten Wartezeit automatisch geladen werden sollen?
b) Wenn ja: Wo, wie und was muss ich da tun?
-
Btw. Diesen Tools, die Linuxpartitionen unter Windows mounten können, traue ich persönlich nicht, weil schlechte Erfahrungen damit gemacht. Da wurde mir schon das Dateisystem der Linux-Partition zerbröselt.
Ich habe vor Jahren auch mal probiert, unter Windows Linux-Partitionen mit EXT4 zu bearbeiten - und bin nach etlichen Versuchen mit unterschiedlichen Programmen komplett gescheitert. Zerbröselt hat es mir jedenfalls keine Partition. Bestenfalls konnte man die Platte irgendwie sichtbar machen, aber mit den zu sehenden Daten war nichts anzufangen, konnten also weder gelesen, und noch weniger konnte man darauf irgendwas schreiben. Mehr noch: unter Win-7 war es sogar gänzlich unmöglich, die Platte NTFS zu formatieren. Man konnte zwar alle Partitionen auf der Platte löschen - aber danach war sie auch nicht mehr neu einzurichten unter Windows.
Lediglich über ein Linux-System war die Platte dann wieder dazu zu bringen, dass eine NTFS-Partition eingerichtet werden konnte, die dann unter Windows wieder ansprechbar war. Daher würde ich auch dazu raten: Mach das besser mit einem Linux-Live-System. Man erspart sich jede Menge an Ärger.
-
Schaut so aus. Mittlerweile habe ich echt keine Ahnung, was Du mir eigentlich sagen willst.
-
Da wäre eine einfache Sicherheitsabfrage (es laufen noch Programme, wirklich runter fahren ja/nein?) vor dem runter fahren besser.
Genau das habe ich in #32 beschrieben.
Also müsste man irgendwie die in Frage kommenden Programme vorsortieren/selektieren.
Muss man nicht, denn diese Info gibt es bereits. Es braucht lediglich jene Programme, die in der Leiste als aktiv angezeigt werden.
Nur weiss ich nicht, wie du/man das sinnvoll und gut funktionierend umsetzen willst/kann.
Wie schon gesagt: Eine Software lebt davon, dass sie Daten untereinander austauschen. Das ist das tägliche Brot. Was neu gemacht werden muss: die beiden betroffnen Prozesse (Shutdown und Leiste) werden einen neue Nachrichtentypen benötigen. Einmal braucht es eine Nachricht vom Shutdown zur Leiste, um zu erfragen, ob es noch aktive Programme gibt - und einmal braucht es die Antwort auf die Frage vom Shutdown. Und natürlich braucht es im Shutdown die Möglichkeit, den Nutzer zu fragen, ob der Prozess abgebrochen oder weitergeführt werden soll.
-
Seit Jahrzehnten werden in unseren Rechnern permanent Daten zwischen unterschiedlichen Prozessen ausgetauscht, das ist sozusagen das tägliche Brot eines Software-Entwicklers. Weil jeder Datenbankzugriff funktioniert so, jeder Druckauftrag funktioniert so, jede Bildschirmausgabe funktioniert so, die Abfrage nach der aktuellen Uhrzeit funktioniert so - alles in unseren Rechnern funktioniert auf die Art, dass Prozesse untereinander Daten austauschen. Nichts würde funktionieren, gäbe es diese Technologie nicht schon lange.
Und auf einmal soll die Praxis zu kompliziert sein (oder meinst Du: komplex?), um einen weiteren Kommunikationsweg zu schaffen zwischen den Prozessen für den Shutdown und der Leiste?
-
Klar - in Windows ist es so. Aber das hat auch Schwächen, wie man sieht. Hält sich eine Anwendung nicht daran, sind die Daten weg.
Aber ich habe ja ein einfacheres Konzept in #32 beschrieben, und dafür braucht es keine Änderung in den Anwendungen. Es wird prophylaktisch angenommen, dass laufende Programme auch nicht gespeicherte Daten halten, und deswegen wird der Anwender gefragt, ob es ok ist, wenn die Programme jetzt beendet werden, auch wenn Daten verloren gehen - oder ob er den Shutdown abbrechen möchte, um die Daten zu speichern. Und dafür reicht es, wenn der Shutdown darüber Bescheid weiß, ob es noch nicht beendete Programme gibt.
-
Wie gesagt: wenn man den Verursacher (= Shutdown-Prozess) mit der Lösung beauftragt, dann braucht niemand auch nur irgendeinene Kenntnis über die noch laufenden Programme haben. Dazu muss der Shutdown-Prozess nur in Erfahrung bringen, ob noch mindestens 1 User-Programm läuft und wenn ja, reicht es, wenn man dem User die Möglichkeit gibt, den Shutdown abzubrechen.
Gilt das auch dann, wenn man die Begriffe "Windows" und "Linux" gleich setzt und in beiden Fällen nur die Desktop-Varianten meint? Ich denke, dass dann nicht mal 10% der weltweit installierter Desktop-Systeme ein Linux ist. Interessant wären die Gründe, warum sich Linux am Desktop gar so schwer tut bei der Akzeptanz der Anwender. Vermutungen habe ich viele, aber die werden - wie so oft - entweder negiert oder sogar vehement bestritten. Aber echte Gründe oder zumindest Vermutungen für dieses Versagen habe ich noch nie gehört.
Übrigens - ein Zitat, das dem Linux Torvald nachgesagt wird: „Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.“
Darüber kann man nur lachen. So lange ein derartiges Chaos in der Linux-Welt herrscht, können sich die Leute bei Microsoft beruhigt zurück lehnen und sich auf ihren Erfolg konzentrieren. Eine zerstörerische Gefahr droht von dieser Seite wahrlich nicht.
-
Man muss nicht zwingend die Windows-Funktionalität 1:1 nachprogrammieren. Ich kann mir gut folgende Lösung vorstellen, die nur ein Minimum an Änderungen bedarf: Wenn ein Shutdown ausgeführt werden soll (meinetwegen auch nur dann, wenn der Shutdown über die GUI initiiert wurde), dann prüft der Prozess, ob noch Anwendungsprogramme aktiv sind. Ich denke, diese Information liegt sowieso irgendwo im System, also braucht man diese nur abzurufen. Beispielsweise weiß ja die Leiste, ob und welche Anwendungen gerade aktiv sind. Sollte sich herausstellen, dass noch Programme laufen (es ist dann vollkommen wumpe, welche Programme betroffen sind), dann könnte es so weiter gehen: Der Benutzer erhält einen Dialog, aus dem hervorgeht, dass noch Progamme laufen und bei einem Shutdown eventuell Daten verloren gehen könnten - und gleichzeitig hat man die Auswahl, ob der Shutdown abgebrochen werden soll (dann kann man die Daten noch selber speichern lassen), oder man bestätigt den Shutdown mit der Gefahr, dass eventuell Daten verloren gehen könnten (dann ist man zurecht selber schuld). Ich denke, noch einfacher geht es nicht und die Sicherheit wäre ein Vielfaches höher als heute. Und es braucht auch keine einzige Anwendung deswegen angepasst werden.
-
Warum fällt es so vielen Linux-Fans derart schwer, zuzugeben, dass sinnvolle Funktionen unter Linux fehlen, die es anderswo schon lange gibt? Oder willst Du mir ernsthaft einreden, dass Du es als die ultimativ beste Idee hälst, den User wider besseren Wissens ins offene Messer laufen zu lassen? Gemäß dem Motto: "Ätsch, bist selber Schuld, dass jetzt Daten verloren gegangen sind. Ich habs zwar gesehen, hab aber grinsend meinen Mund gehalten."
Klar, auch ich muss zur Kenntnis nehmen, dass es so ist - aber ich muss es nicht, wie Du, für ein Feature halten. Für mich ist das ein Fehler im OS. Denn die Problematik sollte allgemein bekannt sein, die Situation ist jederzeit feststellbar und es gibt eine einfach umsetzbare Lösung. Demnach gibt es genau keinen wirklich haltbaren Grund, sowas nicht einzubauen. Außer dem fehlenden Willen, es zu tun.
Aber so bleibt - Gott sei Dank für manche Linux-User - der dumme Spruch "Linux ist nicht Windows" auch in Zukunft bestehen. Das scheint für viele User existentiell zu sein.
-
Glaubst Du wirklich, ich habe 50 User auf meinem Raspi laufen? Wir - bzw ich - rede von einem Desktop-System und nicht von einem Server-System. Und selbst bei einem Server-System gibt es eine Lösung. Siehe Post #23. Sowas braucht nur in jede Server-Anwendung eingebaut werden, so wie wir es gemacht haben.
Was ich selbst in meiner 35-jährigen Tätigkeit in der IT (davon mindestens 25 Jahre in der Programmierung) gelernt habe: Wenn ein Software-Entwickler sagt, das geht nicht ... dann meint er: Das will ich nicht machen. Gehen tut es! Definitiv.
-
Leute - es geht nicht um einen Computer oder ein Multiuser-System, sondern um ein Service innerhalb des Computers, also um eine Sammlung von Dämonen unter Linux. Und mir geht es nur darum, zu zeigen, dass ein Prozess in einem Computer sehr wohl auf ein SIGxxx individuell reagieren kann. Nicht der Rechner wird heruntergefahren, sondern die Services einer Client-Server Applikation.
Bei unserem System ist es so, dass der Admin über den Main-Service (Domäne) die Anweisung gibt, das Gesamtsystem zu beenden. Das Main-Service prüft, ob noch Sub-Services laufen. Wenn ja, wird an jedes Sub-Service ein SIGTERM geschickt und das Main-Service wartet, bis alle Sub-Services beendet sind. Während dieser Wartezeit prüft jedes Sub-Service, ob offene Verbindungen zu einem Client (Windows-PC) bestehen. Wenn ja, bekommt jeder dieser Clients eine Nachricht, dass das Gesamtsystem in spätestens 10 Minuten beendet wird und man zeitgerecht seine Arbeit beenden und sich abmelden soll. Sind alle Client-Verbindungen auf diese Weise gelöst, beendet sich das Sub-Service. Werden einzelne Client-Verbindungen nicht gelöst (der User meldet sich nicht ab vom System), läuft das Sub-Service eben weiter.
Sind alle Sub-Services beendet worden, beendet sich das Main-Service. Sind aber nach Ablauf der 10 Minuten nicht alle Sub-Services beendet, wird an alle noch laufenden Sub-Services ein SIGABORT gesendet, worauf diese sofort beenden. Danach kann sich das Main-Service problemlos beenden.
Das heißt: Es besteht immer die Möglichkeit, mit einem Anwender in Dialog zu treten, wenn ein Service oder eine Applikation ein SIGxxx bekommt. Das sieht der POSIX-Standard so vor und ist auch unter Linux so implementiert. Man müsste es nur machen. Die Technologie jedenfalls existiert. Und darum geht es mir.
Und ich fände es schön, würde das auch unter Linux so funktionieren. Dass es nicht so ist, muss ich hinnehmen; genauso wie ich es hinnehmen muss, wenn es gerade regnet.