Hoe de 'Geen ruimte resterend op apparaat' Fout op Linux te repareren
Dus je Linux-systeem vertelt je dat je geen ruimte over hebt op je harde schijf, maar je weet dat er eigenlijk nog veel vrije ruimte over is. Waarom? Dit is een van de weinige frustrerend vage fouten op Linux-systemen, maar er zijn een paar gebruikelijke boosdoeners.
Controleer du en df
Voordat je verder gaat, is het een goed idee om te controleren of er echt ruimte over is op de schijf. Hoewel de hulpprogramma's in uw bureaubladomgeving goed zijn, is het veel beter om de directe programma's van de opdrachtregel te gebruiken.
Begin met du
. Wijs dit naar de basismap op de schijf waarop het probleem optreedt. Deze gids veronderstelt dat het de partitie met root is.
sudo du -sh /
Het zal enige tijd duren om alles door te nemen. Probeer het nu met df
.
sudo df -h
Voeg root en de daaronder geïnstalleerde bestandssystemen toe. Als u bijvoorbeeld "/ home" op een ander station hebt, voegt u dat toe met de waarde voor root. Het totaal zou in de buurt moeten komen van wat je had met du
. Als dat niet het geval is, kan dit wijzen op een verwijderd bestand dat door een proces wordt gebruikt.
Natuurlijk gaat het er vooral om of de resultaten van deze opdrachten binnen de omvang van de schijf vallen. Als dat zo was, is er duidelijk iets mis.
Gerelateerd : Gebruik Agedu om het gebruik van de harde schijfruimte onder Linux te analyseren
Mogelijke oorzaken
Er zijn hier een aantal belangrijke oorzaken. Als je een verschil tussen du
en df
hebt gezien, kun je hier naar de eerste optie springen. Anders begint u bij de tweede.
Verwijderd bestand gereserveerd door proces
Af en toe wordt een bestand verwijderd, maar een proces gebruikt het nog steeds. Linux zal de opslag die aan het bestand is gekoppeld niet vrijgeven terwijl het proces nog loopt. U hoeft alleen het proces te vinden en het opnieuw te starten.
Probeer het proces te lokaliseren.
sudo lsof / | grep verwijderd
Het problematische proces moet worden vermeld, herstart het dan gewoon.
sudo systemctl herstart servicenaam
Niet genoeg Inodes
Er is een reeks metadata op bestandssystemen die "inodes" worden genoemd. Inodes volgen informatie over bestanden. Veel bestandssystemen hebben een vast aantal inodes, dus het is heel goed mogelijk om de maximale toewijzing van inodes te vullen zonder het bestandssysteem zelf te vullen. U kunt df
om te controleren.
sudo df -i /
Vergelijk de inodes die worden gebruikt met de totale inodes. Als er geen meer beschikbaar is, kunt u helaas niet meer krijgen. Verwijder enkele nutteloze of verouderde bestanden om inodes op te ruimen.
Slechte blokken
Het laatste veelvoorkomende probleem zijn slechte bestandssysteem-blokken. Bestandssystemen worden beschadigd en harde schijven gaan dood. Uw besturingssysteem zal hoogstwaarschijnlijk die blokken als bruikbaar zien tenzij ze anders gemarkeerd zijn. De beste manier om die blokken te vinden en te markeren is door fsck
met de vlag -cc
. Onthoud dat je fsck
niet kunt gebruiken van hetzelfde bestandssysteem dat je aan het testen bent. U zult waarschijnlijk een live-CD moeten gebruiken.
sudo fsck -vcck / dev / sda2
Vervang de locatie van de schijfeenheid uiteraard door de schijf die u wilt controleren. Houd er ook rekening mee dat dit waarschijnlijk lang zal duren.
Gerelateerd : Controleer en repareer je bestandssysteem met fsck [Linux]
Hopelijk heeft een van deze oplossingen je probleem opgelost. Dit probleem is niet per definitie eenvoudig te diagnosticeren. Met een beetje geluk kun je het echter opruimen en je harde schijf weer normaal laten werken.