Python错误OSError:[Errno 31]链接太多

时间:2014-03-24 08:22:35

标签: python ubuntu

请参阅下面的错误消息,我在尝试使用Python的本机操作系统库创建新目录时得到此消息。

...

File "files.py", line 93, in create_dir 
os.makedirs(d) 

File "/usr/lib/python2.7/os.py", line 150, in makedirs 
makedirs(head, mode) 

File "/usr/lib/python2.7/os.py", line 157, in makedirs 
mkdir(name, mode) 

OSError: [Errno 31] Too many links: '/var/lib/kaas/77520' 

我可以看到此目录中已有超过32000个目录

$ ll | wc -l
32001

操作系统级别是否有限制可以创建多少目录或导致此问题的原因?或者这是Python的限制吗?

我正在运行Ubuntu 12.04.4 LTS。

3 个答案:

答案 0 :(得分:7)

32000目录条目限制是文件系统级别的ext3限制。

答案 1 :(得分:2)

这是一个ext3文件系统限制 查看http://en.wikipedia.org/wiki/Ext3#cite_note-17
您可以升级到ext4,在ext4中没有关于子目录的限制 http://en.wikipedia.org/wiki/Ext4#cite_note-12

答案 2 :(得分:1)

您的文件系统可能使用32000子目录限制(在许多系统上是默认设置,但通常ext3似乎有一个可在创建FS时设置的变量限制)。因此,目录中可以拥有的最大子目录数为31,998。查看这篇文章:http://blog.ryanrampersad.com/2008/08/warning-mkdir-too-many-links/(评论很有意思)