A 3 legjobb módszer a „Nincs hely az eszközön” hiba javítására Linux rendszerben

Az egyértelmű ok nélküli hibák a legbosszantóbb problémák. És bár a Linux rendszerint specifikus a hibaüzeneteiben, ez azon kevés alkalmak egyike, amikor elejti a labdát.

A „Nincs hely az eszközön hiba” üzenet megjelenése nagyon kevés magyarázatot ad, különösen akkor, ha a meghajtó messze nincs tele. Miért jelenik meg ez a hibaüzenet? Miért nem tud új fájlokat létrehozni annak ellenére, hogy elegendő hely van a lemezen? És ami a legfontosabb: hogyan javítod?

Találjuk ki.

Tényleg van elég hely a merevlemezén(Hard Drive Actually Have Enough Space) ?

Mielőtt rohanna megoldást keresni, először győződjön meg arról, hogy van probléma. Végül is, ha a lemezterület valóban elfogyott a rendszeren, akkor nincs ok a pánikba. Csak eltávolíthatja a felesleges adatokat, hogy több helyet szabadítson fel.

Két Linux rendszerparancs létezik a lemezterülettel kapcsolatos információk lekérésére – du és df. A du parancs a lemezterület-használatot becsüli meg, míg a df parancs a lemezen lévő szabad területet elemzi. Ha ezeket a sudo(sudo) -val együtt használjuk, akkor pontos jelentést kapunk arról, hogy mennyi hely áll rendelkezésre a lemezen.

  1. Kezdjük a du paranccsal. A kimenete meglehetősen hosszú és nehézkes lehet, ezért az -s és -h jelzőket fogjuk használni. -s összegzi az eredményeket, míg a -h biztosítja, hogy ember által olvasható. Tehát írja be a sudo du -sh / parancsot, ahol / az alapkönyvtárra mutat.

  1. Ne aggódjon az engedély megtagadott üzenetek miatt – így járja át a rendszer összes alkönyvtárát. A meghajtó méretétől függően előfordulhat, hogy hagyni kell egy ideig, mivel mindenen rekurzív módon megy keresztül.

  1. Amikor a du befejezi a beolvasást, egy egyszerű listát ad ki a könyvtárakról a méretük mellett. Például ez egy közönséges könyvtárra alkalmazott du parancs kimenete.

Most a df-t fogjuk használni, hogy megnézzük, mennyi szabad hely áll rendelkezésre. A df parancs használata sokkal egyszerűbb, mivel csak a csatlakoztatott fájlrendszereket és azok használati statisztikáit mutatja. Ismét a -h kapcsolót fogjuk használni, hogy a kimenetet ember által olvashatóvá tegyük.

sudo df -h

Az ötlet az, hogy összeszámoljuk a du és a df parancsok eredményeit. Bármilyen eltérés olyan lemezterületre utal, amely nem áll rendelkezésre szabadon, annak ellenére, hogy egyetlen fájl vagy mappa sem használja.

Miért mutatja a Linux(Does Linux Show) „Nincs hely(Space Left) az eszközön” üzenetet?

Ha a „Nincs hely az eszközön” hibaüzenetet látja annak ellenére, hogy van elegendő szabad hely a lemezen, akkor nem a hardver a hibás. A hiba pontos okának kiderítése némi hibaelhárítást igényelhet.

  • Nemrég törölt fájl: A hiba leggyakoribb oka egy nemrégiben törölt fájl. Egy fájl gyakran törlődik, miközben egy folyamat még használja, így a hely fenntartva marad, bár a fájl már eltűnt.
  • Nincs elég inode(Enough Inodes) : Egy másik gyakori ok az, hogy nincs elég inode(inodes) . Az Inodes a Unix fájlrendszer indexoldalai, amelyek a tárolón lévő összes fájl metaadatait tartalmazzák. Az inode-ok azonban nem korlátlanok, és ha a tárhely előtt elfogynak az inodok, akkor a „Nincs hely az eszközön” hibaüzenetet kaphat.
  • Meghibásodott merevlemez(Hard) : Ekkor természetesen fennáll annak a lehetősége, hogy a merevlemez egyszerűen meghibásodik, és a látszólagos szabad hely nagy részét a hibás szektorok foglalják el. Mivel a rendszer nem tud fájlokat írni ezekre a helyekre, hibát jelez.

1. javítás: Indítsa újra a folyamatokat a törölt fájlokkal(Using Deleted Files)

A „Nincs hely az eszközön” hiba legvalószínűbb oka egy olyan folyamat, amely még mindig törölt fájlt használ. Szerencsére ezt a hibát könnyű kijavítani. Csak újra kell indítania a folyamatot(restart the process) a lefoglalt tárhely felszabadításához.

  1. A problémás folyamat megtalálásához az lsof és a grep parancsokat kell használnia. Az lsof parancs megjeleníti a futó folyamatok által használt összes nyitott fájl listáját, és a grep leszűkítheti a kijelölést a töröltekre. Tehát írja be a sudo lsof / | parancsot grep törölve ahol / az alapkönyvtár és | egy cső az lsof kimenetének a grephez való kapcsolásához.

  1. Most újraindíthatja az érintett folyamatot a sudo systemctl restart szolgáltatás_neve paranccsal, ahol a szolgáltatás neve a keresés során felbukkant szolgáltatás neve.

  1. Ha több ehhez hasonló folyamat van, vagy egyszerűen nem akar foglalkozni bizonyos szolgáltatások keresésével, egyszerűen visszaállíthatja mindegyiket a sudo systemctl daemon-reload paranccsal. Ez újragenerálja az összes függőséget, figyelembe véve a fájlrendszerben bekövetkezett változásokat.

Ezt követően a folyamat által lefoglalt tárhelynek újra rendelkezésre kell állnia, lehetővé téve a fájlok írását hiba nélkül.

2. javítás: Ellenőrizze az Inodes-okat

Bár minden meghajtónak nagy számú inode van, véges. És ha rendszere hihetetlenül sok fájllal van tele, akkor még a meghajtó tárolókapacitása kimerítése előtt elérheti ezt a határt. Ez az oka annak, hogy jobb, ha nagy fájlok vannak, nem pedig túl sok kicsi.

Könnyedén ellenőrizheti az inodes elérhetőségét az -i kapcsolóval a df paranccsal. Mint ez:

sudo df -i

Ez egyértelműen megmutatja a fájlrendszerben lévő inodok teljes számát, valamint a jelenleg használt mennyiséget. Ha nem maradt szabad inode a rendszeren, ez a „Nincs hely az eszközön” hiba forrása.

Mivel az inodok csak a meghajtó első formázásakor jönnek létre, nincs lehetőség további inodok létrehozására. Csak annyit tehet, hogy töröl minden szükségtelen fájlt, hogy felszabadítson inode-okat a jövőbeli fájlok számára.

3. javítás: Jelölje meg a rossz blokkokat

Az(Data) adatsérülés minden merevlemez elkerülhetetlen sorsa. Míg egy új meghajtó nem ütközik ebbe a problémába, a régebbi merevlemezek fokozatosan „megromlanak”.

Ez azt jelenti, hogy a merevlemez egyes részei használhatatlanná válnak, bár a fájlrendszer továbbra is működőképesnek tartja őket. Ezek a rossz blokkok hamisan megnövelik a látszólagos szabad helyet a meghajtón, holott valójában nem lehet fájlokat írni rájuk. Ez „Nincs hely az eszközön” hibaüzenethez vezet, mivel az operációs rendszer megpróbál adatot tárolni ezeken a helyeken, de nem sikerül.

Nincs igazi módja ennek a probléma megoldásának, mivel a rossz szektorok a merevlemez fizikai kopásának és elhasználódásának következményei. Az egyetlen dolog, amit tehet, az az, hogy megjelöli a hibás szektorokat, hogy a fájlrendszer többé ne hivatkozzon rájuk.

Ehhez Live CD -ről kell indítani, mivel a (Live CD)fájlrendszer-ellenőrzést(File System Check) nem lehet végrehajtani egy futó meghajtón belül. Ha ezt megtette, csak használja a következő parancsot:

sudo fsck -vcck /dev/sda

Ez lecseréli a /dev/sda fájlt a javítani kívánt meghajtó elérési útjára. Ez automatikusan észleli a meghajtón lévő összes rossz blokkot, és használhatatlanként jelöli meg őket. Ez azonban nem ad plusz tárkapacitást, ezért készüljön fel arra, hogy megtisztít néhány haszontalan fájlt, hogy helyet szabadítson fel a meghajtón.

Mi a legjobb módja a „Nincs hely az eszközön” hiba kijavításának?

A „Nincs hely az eszközön” hibaüzenet megjelenésének szokásos oka az Ubuntuban(Ubuntu) vagy bármely más Linux disztribúcióban, hogy egy törölt fájl még mindig futó folyamatban van. Ez lefoglalja a fájl által elfoglalt tárhelyet, megakadályozva, hogy más műveletek adatokat írjanak erre a helyre.

A probléma megoldása is a legegyszerűbb, hiszen mindössze annyit kell tennie, hogy újraindítja a kérdéses folyamatot. A hiba egyéb okait azonban nem olyan egyszerű megoldani.

Függetlenül attól, hogy meghajtóját rossz adatblokkok sújtják, vagy kifogytak az inode-ok, nincs közvetlen mód ezeknek a problémáknak a megoldására. Törölnie kell a meglévő fájlokat, hogy helyet adjon az új adatok írásához.



About the author

Számítástechnikai szakértő vagyok, több mint 10 éves tapasztalattal, és arra specializálódtam, hogy segítsek az embereknek az irodájukban lévő számítógépeik kezelésében. Cikkeket írtam olyan témákban, mint az internetkapcsolat optimalizálása, a számítógép beállítása a legjobb játékélmény érdekében stb. Ha bármiben szeretnél segítséget kérni munkáddal vagy magánéleteddel kapcsolatban, én vagyok a megfelelő személy!



Related posts