2016.06.16 19:00
Andrei

Egy kis Linux - Az elveszett etc/fstab és írásvédett fájlrendszer javítása


Véletlenül tönkre vágtam a becsatolásért felelő fstab-ot. Amikor aztán kijavítottam az SD kártyán (laptop SD olvasójával), a rendszer írásvédetté is vált. Rádásul az fstab is felszívódott. Mindössze néhány perc alatt leküzdhető a probléma.


A Raspberry Pi3-on ugyebár nincs merevlemez, hanem micro SD-ről fut a rendszer. A rendszer adminisztráció közben sikerült egy tabbal és egy kontroll karakterrel hibássá tennem az /etc/fstab file-t, ami megmondja a rendszernek, hogy hol és mit talál. Magyarán a becsatolásokat végzi. 

 

Az alaprendszerem az mmcblk0 cimkéjű micro SD első 1-es számú partícióján fut(ott), de a bénázás következtében ez a problémám is megoldódott. A probléma miatt el kellett caplatnom a szerverhez és kivenni a kártyát, majd laptopon javítani. Ez viszont írásvédetté tette a rendszert. Ráadásul az fstab is felszívódott, így azt is pótolnom kellett. A boot maga elindult, így be lehetett rá logolni, de például a szerver szolgáltatások nem. 

 

Elsőként manuálisan újra becsatoltam az első partíciót írási joggal (rw). Ez kell ahhoz, hogy az fstabot létre tudd hozni, vagy javítani.

 

sudo mount -t ext4 -o rw,remount /dev/mmcblk0p1 /

 

Ha tesztelni akarod, hogy tudsz-e írni, akkor  a touch-al a saját mappádban - ahol a {user} te leszel - létrehozol egy fájlt, majd rm-el törlöd, ha nem panaszkodik a létrehozáskor "read-only filesystem"-re.

 

sudo touch /home/{user}/test.txt
sudo rm /home/{user}/test.txt

 

Én személy szerint mc-t használok ssh-n file menedzsernek, annak pedig kellemes az editora. Használhatod a nano-t vagy vi-t is, ha az jobban kézre áll. Most következik a szerkesztés.

 

sudo mcedit /etc/fstab

 

Ez az én esetemben egy üres tartalmat hozott, hiszen az eredeti fstab törlődött. Ilyenkor ha nincs, akkor lefut a touch előtte és létrejön a fájl. Nem kell külön szórakozni. Lehet írni a tartalmat.

 

proc /proc proc nodev,noexec,nosuid 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2

/dev/mmcblk0p2 / ext4 defaults,noatime 0 1

 

Egyrészt bemountoltuk boot-nak az SD első partícióját, másrészt a gyökérbe becsatoltuk a második, 8GB partíciót (Raspberry Pi3 + Ubuntu Mate). Mivel a boot mérete kicsi, így kell az extra hely.  

 

Azt biztosan észrevetted, hogy swap partíció itt nincs. Ez gyárilag sincs az ARM-os, SD kártyás linuxokban, ugyanis a swap annyit ír, hogy hamar meghal a kártya. Úgyhogy minden inkább a memóriában zajlik és nem az SD-t gyilkoljuk.

 

Persze akkor is elindul a rendszer, ha a második partíciót nem csatoljuk, illetve az elsőt a gyökérbe kötjük ext4-el, de így azért mégis csak jobb. Amennyiben SOS el akarod indítani a becsatolásokat, akkor a mount segítségével az fstab összes hálózati meghajtóját csatoltasd be.

 

sudo mount --all

 

Ebben az esetban azonnal el tudnak indulni a szervizek, mivel tudnak írni a kártyára. Ha nem azonnal kell, hanem ráér egy perc múlva is, akkor pedig ráfér egy reboot. 

 

sudo reboot

 

Ennyi kell mindössze a javításhoz. Ha tudod mit kell tenned, akkor nagyjából 5-10 perc alatt megvan.




A honlap sütiket használ a böngészés támogatására és egyes funkciók elérésére. A honlap további használatával hozzájárul a sütik használatához. A sütik kezeléséről további információt az Adatvédelem menüpont alatt találsz.