Linux使用vim编辑文件保存时报E514:write error (file system full?)问题解决
<p><span><strong>发现问题</strong></span></p>
<p>
今天在Linux上使用vim编辑文件保存时报如下错误:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_401964">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">E514: write error (</code><code class="bash functions">file</code> <code class="bash plain">system full?)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
从错误看,是磁盘满了,于是使用df -hl查看磁盘使用情况</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_264476">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash functions">df</code> <code class="bash plain">-hl</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">Filesystem Size Used Avail Use% Mounted on</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">/dev/mapper/vg_myserver-lv_root</code> <code class="bash plain">50G 43G 4.6G 91% /</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">tmpfs 7.8G 268K 7.8G 1% </code><code class="bash plain">/dev/shm</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">/dev/sda1</code> <code class="bash plain">477M 61M 391M 14% </code><code class="bash plain">/boot</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">/dev/mapper/vg_myserver-lv_home</code> <code class="bash plain">1.8T 1.7T 0 100% </code><code class="bash plain">/home</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
从结果看,确实是/home磁盘满了。</p>
<p>
但是此时,当我使用root用户在/home写写文件时候却不会出现上面的错。</p>
<p>
查了半天,原来是Linux在每个分区中会为root用户保留一部份空间,这是专门留给root用户及其所属组使用,别的用户是无法使用的,一般默认为总数据块的5%。</p>
<p>
<span><strong>解决方法</strong></span></p>
<p>
这个预留的空间可以使用下面的命令查看</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_563966">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">tune2fs -l <device> | </code><code class="bash functions">grep</code> <code class="bash plain">Reserved</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
比如:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_165166">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">tune2fs -l </code><code class="bash plain">/dev/sda1</code> <code class="bash plain">| </code><code class="bash functions">grep</code> <code class="bash plain">Reserved</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
或</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_807979">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">tune2fs -l </code><code class="bash plain">/dev/mapper/vg_rhserver33-lv_home</code> <code class="bash plain">| </code><code class="bash functions">grep</code> <code class="bash plain">Reserved</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">Reserved block count: 23551078</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">Reserved GDT blocks: 911</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">Reserved blocks uid: 0 (user root)</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">Reserved blocks gid: 0 (group root)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
好了,知道了问题,那我们就清理一下磁盘空间吧,清理了一定磁盘空间后,最终我可以继续写入数据了。</p>
<p>
<span><strong>总结</strong></span></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。</p>
<p>
原文链接:http://blog.csdn.net/kongxx/article/details/79246312</p>
頁:
[1]