内核中不支持Ubuntu配额格式

我试图在Google Compute Engine上使用Ubuntu 16.04 LTS实现磁盘用户和组配额,但是直到现在我还是没有成功。

配额允许您指定磁盘存储两个方面的限制:用户或一组用户可能拥有的inode的数量; 以及可以分配给用户或一组用户的磁盘块的数量。

配额背后的想法是,用户被迫停留在磁盘消耗限制之下,消除了在系统上消耗无限磁盘空间的能力。

sudo -s apt-get -y install quota quotatool nano /etc/fstab 

然后我用

 LABEL=cloudimg-rootfs / ext4 defaults,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 0 

然后我尝试激活配额:

 mount -o remount / quotacheck -avugm quotaon -avug quotaon: using //quota.user on /dev/sda1 [/]: No such process quotaon: Quota format not supported in kernel 

配额模块不在内核中,我创build用户和组配额。

 touch /aquota.user /aquota.group chmod 600 /aquota.* mount -o remount / quotacheck -avugm quotaon -avug quotaon: using //quota.user on /dev/sda1 [/]: No such process quotaon: Quota format not supported in kernel 

没有工作。

我记得AWS EC2中使用的一种方法:

 apt-get -y install linux-image-extra-virtual echo quota_v1 >> /etc/modules echo quota_v2 >> /etc/modules reboot sudo -s cat /proc/modules | grep -i quota 

没什么,也没有工作。

 modprobe quota_v1 modprobe: FATAL: Module quota_v1 not found in directory /lib/modules/4.8.0-46-generic quotaon -pa group quota on / (/dev/sda1) is off user quota on / (/dev/sda1) is off 

我在EC2上完成了这项工作,但Google Compute Engine没有运气。 任何想法我可以尝试更多?

好的,find一个解决scheme。 我不需要在EC2上安装linux-generic,但似乎需要在Google Compute Engine上进行操作。 所有获得配额工作的程序:

 sudo -s apt-get -y install quota quotatool nano /etc/fstab 

编辑fstab:

 LABEL=cloudimg-rootfs / ext4 defaults,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 0 

检查丢失的包裹。

 dpkg -s linux-generic dpkg-query: package 'linux-generic' is not installed and no information is available Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents. 

我们可以安装完整的缺lesslinux-generic软件包:

 apt-get -y install linux-generic 

或者只有额外的套餐(我更喜欢这个):

 apt-get -y install linux-image-generic apt-get -y install linux-headers-generic apt-get -y install linux-image-extra-`uname -r` 

我们需要添加配额模块以开始启动:

 echo quota_v1 >> /etc/modules echo quota_v2 >> /etc/modules reboot 

检查它是否工作:

 sudo -s cat /proc/modules | grep -i quota quota_v1 16384 0 - Live 0xffffffffc037c000 quota_v2 16384 2 - Live 0xffffffffc0377000 quota_tree 20480 1 quota_v2, Live 0xffffffffc0250000 quotaon -pa group quota on / (/dev/sda1) is on user quota on / (/dev/sda1) is on 

两个配额都被激活。

Ok Fran,试试这个:

 cat /proc/modules | grep -i quota 

[…]

quota_v1 16384 0 – Live 0xffffffffc037c000

quota_v2 16384 2 – Live 0xffffffffc0377000

quota_tree 20480 1 quota_v2,Live 0xffffffffc0250000

[…]

 quotaon -pa 

[…]

/(/ dev / sda1)上的组配额已closures

/(/ dev / sda1)上的用户配额已closures

[…]

 quotacheck -avugm 

[…]

quotacheck:不能统计旧的用户配额文件//quota.user:没有这样的文件或目录。 用法不会被减去。

quotacheck:不能统计旧的组配额文件//quota.group:没有这样的文件或目录。 用法不会被减去。

[…]

 quotaon -avug 

[…]

/ dev / sda1 [/]:打开组配额

/ dev / sda1 [/]:打开用户配额

[…]