kuinka fsck-komentoa käytetään Linuxissa?

fsck – komento (file system consistency check) on apuohjelma Linux-tiedostojärjestelmän tarkistamiseen ja korjaamiseen. Nykyaikaiset tiedostojärjestelmät päiväkirjalla on suunniteltu siten, että fsck: n kaltaisia työkaluja ei helposti tarvita. Kuitenkin, muutamassa tapauksessa, fsck saattaa olla ainoa vaihtoehto korjata ‘huono’ tiedostojärjestelmä.

fsck voidaan ajaa osiolla, joka on vioittunut tai epäjohdonmukainen muun tiedostosytemin kanssa.

syyt, miksi fsck: ta voidaan tarvita

  • epäpuhdas sammutus – tämä on suurin syy korruptioon. “Epäpuhtaan sammutuksen” vuoksi järjestelmä ei välttämättä edes käynnisty kunnolla
  • aseman vika tai vioittuminen

Sisällysluettelo

ympäristöt, joissa sinun ei pitäisi käyttää fsck

koska komento toimii suoraan tiedostojärjestelmän sektoreiden kanssa, on tärkeää ryhtyä tarvittaviin varotoimiin tässä.

e2fsck: n miessivulla lukee:

huomaa, että e2fsck: n ajaminen asennetuilla tiedostojärjestelmillä ei yleensä ole turvallista. Ainoa poikkeus on, Jos-n vaihtoehto on määritetty, ja-c,- l, tai-L vaihtoehtoja ei ole määritetty. Vaikka se olisi turvallista, e2fsck: n tulostamat tulokset eivät ole voimassa, jos tiedostojärjestelmä on asennettu. Jos e2fsck kysyy, pitäisikö sinun tarkistaa asennettu tiedostojärjestelmä, ainoa oikea vastaus on”ei”.

https://www.man7.org/linux/man-pages/man8/e2fsck.8.html

joten, sinun täytyy tehdä fsck asentamattomalle osiolle. Jos voit irrottaa osion käyttämällä umount, hyvä niin. Muuten sinun täytyy muuttaa ympäristöäsi:

1. Palautustila

(Ubuntu-Hold SHIFT käynnistettäessä siirtyä GRUB, valitse ‘Lisäasetukset Ubuntu’, valitse vaihtoehto merkitty ‘palautustila’, valitse fsck). Palautustilassa osiot asennetaan.

Palautustila Fsck
Palautustila fsck

2. Kun käytät init=/bin/bash-ydinparametria

( pidä painettuna SHIFT käynnistettäessä siirtyäksesi grubiin, paina e muokataksesi ytimen parametreja). Se tarjoaa bash-komentotulkin, josta fsck voisi ajaa, mutta tässäkin osiot on asennettu.

Init-ytimen parametri
init-ytimen parametri

kuinka fsck-komentoa käytetään?

kun perusasiat ovat selvillä, siirrytään vaiheisiin, miten fsck-komentoa kannattaa käyttää Linuxissa.

1.

peruskäyttö ennen kuin aloitat komennon käyttämisen, varmista, että työstät asentamatonta osiota. Poista osio ja suorita sitten fsck it-tyypillä :

$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>

mahdollisuudet ovat et voi irrottaa osiota. Siinä tapauksessa, voit valita jonkin seuraavista menetelmistä.

2. Fsck: n ajaminen live-USB: llä

tämä lienee paras tapa ajaa fsck. Se tarjoaa runsaasti tuttuja työkaluja, kuten fdisk. Käytä tätä opetusohjelma luoda live Ubuntu USB. Tässä osassa oletetaan, että käytät Linuxia Live-USB: ltä.

voit listaa kaikki järjestelmäsi osiot komennolla fdisk.

$ sudo fdisk -l
Nvme-osiot
NVMe SSD-osiot
Sata Ssd-osiot
SATA SSD-osiot

Huomautus: osiot edellä (2 SSD, yksi NVMe ja muut SATA) voi olla erilainen kuin mitä sinulla on järjestelmässä. fdisk tulostaa lisätietoa myös osioista. Tässä artikkelissa riittää kuitenkin osion nimi.

tunnista ongelmia aiheuttava osio, suorita sitten yksinkertaisesti:

$ fsck /dev/<partition_name>

tämän pitäisi korjata ongelma.

3. Käyttämällä initramfs

toinen tapa käyttää fsck-komentoa on intramfs-tilassa. Päästä sisään initramfs

  1. pidä SHIFT näppäintä käynnistettäessä päästäksesi GRUB-valikkoon.
  2. paina e muokataksesi aloitusmerkintää
  3. lisää ytimen parametri “break“, kuten alla olevassa kuvakaappauksessa
  4. paina Ctrl - X tallentaaksesi ja poistuaksesi
Enter Into initramfs
Enter Into initramfs

initramfs tarjoaa ‘vähemmän houkutteleva’ tapa vianmääritys.

väliseiniä ei ole asennettu initramfeihin, joten fsck suorittaminen olisi turvallista. Tarvitset myös osion nimen. Initramfs tarjoaa kuitenkin erittäin vähän apuohjelmia. fdisk ei siis ole saatavilla. Voit listata osiot cat-komennolla kuten alla:

$ cat /proc/partitions

tunnista osio ja suorita sitten:

$ fsck /dev/<partition_name>
Initramfs Fschk
initramfs Fsck

Huomautus: fsck käyttämällä Live USB ei välttämättä ole aina saatavilla. Tällöin käytetään initramfs-menetelmää.

miten tarkistaa, onko fsck ajoitettu vai ei

haluat ehkä tietää, milloin osiosi tarkistettiin viimeksi tai milloin se tehdään tulevaisuudessa. Siinä tapauksessa juokse:

$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
Tarkista fsck 1
Tarkista Fsck
  • suurin liitosmäärä on kiinnikkeiden lukumäärä, jonka jälkeen fsck tarkistaa tiedostojärjestelmän automaattisesti.
  • tarkistusväli on kahden tiedostojärjestelmän tarkistuksen välinen aika.

nämä kaksi arvoa riittävät tunnistamaan, milloin fsck-komento Viimeksi ajettiin.

ero fsck: n ja e2fsck: n välillä

saatat löytää erilaisia vastauksia/artikkeleita, joissa sinua pyydetään suorittamaan e2fsck tai fsck.ext4 fsck: n sijaan. Mitä väliä sillä on, jos käytät jotain näistä työkaluista sijaan fsck?

fsck on vain frontend kaikille tiedostojärjestelmäkohtaisille fsck-komennoille, kuten kaksi yllä olevaa komentoa (kääre, jos niin voisi sanoa). Kutsuminen fsck kutsuu automaattisesti oikean tiedostojärjestelmäkohtaisen fsck. Katsotaan, mitkä kaikki fsck ovat järjestelmässämme:

$ ls -l /sbin/fsck*
eri fsck
luetellen kaikki fsck

suoritettaessa fsck ext2 / 3 / 4-osiolla suoritetaan vastaava /sbin/fsck.ext* suoritustiedosto. Nämä suoritettavat tiedostot puolestaan ovat kovia linkkejä e2fsck suoritettavaan. Joten, vaikka ajaisit fsck ext4-osiolla, se ajaisi lopulta e2fsck.

johtopäätös

tässä opetusohjelmassa käsittelimme fsck, joka on hyödyllinen työkalu tiedostojärjestelmien palauttamisessa. Lisätietoja fsck komennosta on sen man-sivulla.

Leave a Reply