2024 Autor: Peter John Melton | [email protected]. Modificat ultima dată: 2023-12-16 04:46
Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor Q & A.
Intrebarea
Cititorul SuperUser User208554 este curios despre structurile de fisiere Linux si este preocupat de o aplicatie / instalare pe care lucreaza:
I am developing an application on a Linux embedded board (runs Debian) e.g. Raspberry Pi, Beagle Board/Bone, or olimex. The boards works on an environment that the electricity is cut unexpectedly (it is far too complicated to place PSU, etc.) and it would happen every day a couple times. I wonder if the unexpected power cuts would cause problem on the Linux Operation System? If it is something that I should worry about, what would you suggest to prevent the damages on OS against the unexpected power cuts?
PS. The application needs to writes some data to the storage medium (SD card), I think it would not be suitable to mount it as read-only.
Deci, care este verdictul?
Răspunsul
Contribuitorul SuperUser l0b0 oferă o oarecare perspectivă asupra sistemelor de fișiere de tip jurnal / non-jurnal:
This would depend on
- whether you’re using a journaling file system and
- how well the applications are able to handle aborted processing.
Consider for example an application which processes a file and writes the results as they are computed (one output line per input line) to another file. If the power is cut during processing, and the same application is run after restarting, it can’t just restart processing from the start of the input file – that would mean the output file would contain duplicate information.
It could be very difficult to say anything definite about a hypothetical complex system, but most stable Linux software seems to be able to handle crashes quite nicely.
Stu sugerează separarea sistemului de operare și a datelor, precum și adăugarea unei baterii de rezervă:
To help minimise the possibility of OS corruption, it’s probably best to have separate “system” and “data” partitions on the SD card. That way you can mount the “system” partition read-only and use a highly-resilient FS on the “data” partition.
Additionally, most of those boards have very low power requirements, so a battery backup is possible. The “LiPo rider” board for the Raspberry Pi can be used as a basic UPS to provide a clean shutdown on power loss.
În cele din urmă, Jenny D se extinde la sugestia privind sistemul de fișiere jurnal:
Unexpected power cuts may cause corruption of file system data – e.g. if a process has started writing to a file, but not yet finished writing it, the file may end up only half written. Now imagine if the power cut happens when you’re half way through a kernel upgrade…
As l0b0 wrote, using a journaling file system will help, since it will be able to keep track of what has actually gotten done. In addition to the wikipedia info that l0b0 linked, you may be interested in Do Journaling Filesystems Guarantee Against Corruption After a Power Failure as well.
You as a programmer obviously need to consider carefully how to handle writing to files so that it becomes an atomic process (i.e. it’s either fully done or not done at all, but never ever half done). It’s a fairly complex issue.
Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.
Recomandat:
PHP: Obțineți conținutul unei pagini Web, al unui feed RSS sau al unui fișier XML într-o variabilă de șir
Veți avea adesea nevoie să accesați datele care locuiesc pe un alt server, indiferent dacă scrieți un agregator RSS online sau efectuați o ștergere a ecranului pentru un mecanism de căutare. PHP face tragerea acestor date într-o variabilă de șir un proces extrem de simplu.
Datorită Bitcoin, cumpărarea unui PC este mai bună decât construirea unui singur (acum)
Cardurile grafice de ultimă generație sunt foarte solicitate acum. Nu din cauza unei inflorescențe bruște a jucătorilor de pe PC, ci pentru că acestea reprezintă cea mai eficientă modalitate de a adăuga puterea de răscumpărare a numărului de "platforme" pentru miniere în criptare. Acest lucru face ca construirea unui PC să fie foarte, foarte scumpă.
Cum pot accelera ștergerea unui disc securizat?
Procesul de suprascriere sigură a unui disc mare este unul lung; procesul poate fi expediat?
Cum pot urmări modificările efectuate de un program de instalare a unui program?
Ce anume fac aceste aplicații de instalare pe măsură ce bara de progres se apleacă? Dacă vreți să păstrați atenția asupra lucrurilor, veți avea nevoie de instrumentele potrivite.
Cereți HTG: Configurarea unui VPN, rularea unui PC 24/7 sau oprirea, citirea de benzi desenate pe computer
Odată pe săptămână, intrăm în cutia noastră de mesaje cititoare și răspundem la întrebările dvs. tehnologice presante. În această săptămână, ne uităm la modul de creare a unei rețele VPN, indiferent dacă ar trebui să rulați PC-ul dvs. non-stop sau nu și cum să citiți benzi desenate pe computer.