OpenVZ Forum


Home » International » Russian » Групповые квоты ВНУТРИ виртуальной машины
Групповые квоты ВНУТРИ виртуальной машины [message #579] Wed, 21 December 2005 16:00 Go to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
CentOS 4, x86_64, openvz.

Можно ли внутри виртуальной машины создавать групповые (ну или пользовательские) квоты, как это делается в обычном linux-е? Всякие там quota, quotacheck, quotaoff, quotaon, quotastats и т.д. Т.е. квоты персонально для каждого пользователя внутри виртуальной машины.

Если можно, то как это сделать? В /etc/fstab, который создался внутри openvz-машины, нет даже записи о каком-нибудь разделе, и в /dev тоже ничего похожего вроде как...

[Updated on: Wed, 21 December 2005 16:01]

Report message to a moderator

Re: Групповые квоты ВНУТРИ виртуальной машины [message #608 is a reply to message #579] Fri, 23 December 2005 13:36 Go to previous messageGo to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
М-да. Прочитал внимательно PDF-документацию, там все написано.
Добавляем QUOTAUGIDLIMIT="1000" в *.conf (1000 - это макс. число юзеров, для которых разрешены квоты). Проверяем, что квоты вообще включены (там в конфиге есть директива соответствующая). И все, можно пользоваться стандартными утилитами CentOS.
Re: Групповые квоты ВНУТРИ виртуальной машины [message #609 is a reply to message #608] Sat, 24 December 2005 18:33 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

слишком просто? Laughing

http://static.openvz.org/userbars/openvz-developer.png
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1767 is a reply to message #609] Thu, 23 February 2006 11:43 Go to previous messageGo to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
Да нет, я просто решение описал.

Но возникла еще одна проблема. Когда я развернул внутри виртуальной машины (openvz 2.6) всеь linux c другой, реальной машине, на которой стояло изначально ядро 2.4, утилиты quota, quotacheck и т.д. перестали работать. Они просто при запуске тихо завершаются, не выдавая никаких сообщений и не делая записей в лог. Я подозреваю, что дело тут именно в различии версий ядер (квот-утилиты для 2.4 не работают под openvz 2.6), но это только предположение.

Верно ли оно? И есть ли какой-нибудь вариант решения?

Пытался найти в Гугле описание того, как вообще работают квоты в openvz, но ничего не нашел (официальная документация не в счет - там чисто юзерское описание, а меня интересовали бы технические подробности).

P.S.
Самое обидное, что более свежий пакет с квотами я не могу поставить из-за различий в версии glibc. А glibc менять страшно: что-нибудь да обязательно посыпется, в той машине очень много всего разного стоит, за последние 4 года накапливалось.
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1768 is a reply to message #1767] Thu, 23 February 2006 11:51 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

quotacheck вам не нужна. в openvz квота считается автоматически ядром.

1. включили ли вы квоту второго уровня? в VPS конфиге должен быть выставлен лимит на QUOTAUGIDLIMIT

внутри VPS:
2. есть ли symlink'и /aquota.user и /aquota.group внутри VPS?

3. указывают ли они в /proc?

4. что написано в /etc/mtab и /etc/fstab, /proc/mounts?

P.S. вы можете пересобрать quota tools с вашей glibc...


http://static.openvz.org/userbars/openvz-developer.png
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1793 is a reply to message #1768] Fri, 24 February 2006 12:14 Go to previous messageGo to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
/etc/mtab:
----------
/dev/simfs / reiserfs rw,usrquota,grpquota 0 0
proc /proc proc rw,nodiratime 0 0
devpts /dev/pts devpts rw 0 0

/etc/fstab:
-----------
/dev/simfs / reiserfs rw,usrquota,grpquota 0 0
none /dev/pts devpts rw 0 0

/proc/mounts:
-------------
simfs / simfs rw 0 0
proc /proc proc rw,nodiratime 0 0
devpts /dev/pts devpts rw 0 0

Симлинки есть, указывают, куда надо, квоты второго уровня включены.

Насчет пересборки quota tools - интересная мысль. Найти бы их только... Вот это оно? ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota/v2.4/

Там говорится, что надо патч на ядро накладывать. Но, раз квоты уже работали раньше на реальной машине с ядром 2.4, но перестали на виртуальной с ядром 2.6, наверное, этого делать не нужно?
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1797 is a reply to message #1793] Fri, 24 February 2006 20:39 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

1. совершенно забыл спросить, а вы
# quotaon /
делали внутри VPS? Smile

без этого квота второго уровня формально не работает (но ядро все считает).

2. еще хотелось бы видеть результат команды
# strace -f repquota /
или других утилит которые у Вас не работают.
Напоминаю, что quotacheck и не должна работать, т.к. внутри VPS квоту считает ядро, а не утилита.


http://static.openvz.org/userbars/openvz-developer.png
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1798 is a reply to message #1793] Fri, 24 February 2006 20:40 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

сорцы можно взять например из дистриба fedora core 2

http://static.openvz.org/userbars/openvz-developer.png
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1806 is a reply to message #1797] Sat, 25 February 2006 19:05 Go to previous messageGo to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
bash-2.04# strace -f repquota /
execve("/sbin/repquota", ["repquota", "/"], [/* 12 vars */]) = 0
uname({sys="Linux", node="x-ray", ...}) = 0
brk(0)                                  = 0x804f000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40016000
close(4)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\303"..., 1024) = 1024
fstat64(4, {st_mode=S_IFREG|0755, st_size=4977926, ...}) = 0
old_mmap(NULL, 1146952, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4001c000
mprotect(0x4012b000, 36936, PROT_NONE)  = 0
old_mmap(0x4012b000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x10e000) = 0x4012b000
old_mmap(0x40130000, 16456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40130000
close(4)                                = 0
munmap(0x40016000, 22847)               = 0
getpid()                                = 21572
brk(0)                                  = 0x804f000
brk(0x804f028)                          = 0x804f028
brk(0x8050000)                          = 0x8050000
open("/etc/nsswitch.conf", O_RDONLY)    = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=1744, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
read(4, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1744
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x40016000, 4096)                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40016000
close(4)                                = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360 \0"..., 1024) = 1024
fstat64(4, {st_mode=S_IFREG|0755, st_size=228768, ...}) = 0
old_mmap(NULL, 38808, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40135000
mprotect(0x4013e000, 1944, PROT_NONE)   = 0
old_mmap(0x4013e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x8000) = 0x4013e000
close(4)                                = 0
munmap(0x40016000, 22847)               = 0
open("/etc/passwd", O_RDONLY)           = 4
shmat(4, 0x1, 0x1ptrace: umoven: Input/output error
)                      = ?
shmat(4, 0x1, 0x2ptrace: umoven: Input/output error
)                      = ?
fstat64(4, {st_mode=S_IFREG|0644, st_size=143928, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
_llseek(4, 0, [0], SEEK_CUR)            = 0
read(4, "root:x:0:0:root:/var/u/root:/bin"..., 4096) = 4096
brk(0x8051000)                          = 0x8051000
brk(0x8052000)                          = 0x8052000
read(4, "ntur:/bin/bash\ninfo-antur:x:2254"..., 4096) = 4096
brk(0x8053000)                          = 0x8053000
read(4, "8::/dev/null:/bin/false\nlada-lad"..., 4096) = 4096
brk(0x8054000)                          = 0x8054000
read(4, "e\nprokofiev-cosokr:x:41671:41670"..., 4096) = 4096
brk(0x8055000)                          = 0x8055000
brk(0x8056000)                          = 0x8056000
read(4, "/bin/bash\ninfo-17plus:x:41847:41"..., 4096) = 4096
brk(0x8057000)                          = 0x8057000
read(4, "er-ganca:x:42013:42012::/dev/nul"..., 4096) = 4096
brk(0x8058000)                          = 0x8058000
read(4, "bin/false\ninfo-u7:x:42141:42139:"..., 4096) = 4096
brk(0x8059000)                          = 0x8059000
read(4, "/dev/null:/bin/false\nsupport-dkl"..., 4096) = 4096
brk(0x805a000)                          = 0x805a000
brk(0x805b000)                          = 0x805b000
read(4, "ese:x:42365:42361::/dev/null:/bi"..., 4096) = 4096
brk(0x805c000)                          = 0x805c000
read(4, "n/false\nkredit-lombard-1:x:42476"..., 4096) = 4096
brk(0x805d000)                          = 0x805d000
read(4, "02:42596::/dev/null:/bin/false\nn"..., 4096) = 4096
brk(0x805e000)                          = 0x805e000
brk(0x805f000)                          = 0x805f000
read(4, "721:42706::/dev/null:/bin/false\n"..., 4096) = 4096
brk(0x8060000)                          = 0x8060000
read(4, "ice:x:42878:42863::/dev/null:/bi"..., 4096) = 4096
brk(0x8061000)                          = 0x8061000
read(4, "v/null:/bin/false\npsycholog-gold"..., 4096) = 4096
brk(0x8062000)                          = 0x8062000
read(4, "c:x:43113:43098::/dev/null:/bin/"..., 4096) = 4096
brk(0x8063000)                          = 0x8063000
read(4, "::/dev/null:/bin/false\npriboi:x:"..., 4096) = 4096
brk(0x8064000)                          = 0x8064000
brk(0x8065000)                          = 0x8065000
read(4, "bash\ninfo-teplomarket:x:43351:43"..., 4096) = 4096
brk(0x8066000)                          = 0x8066000
read(4, "x:43454:43435::/home/author-edu:"..., 4096) = 4096
brk(0x8067000)                          = 0x8067000
read(4, "vo:x:43546:43526::/home/kudinovo"..., 4096) = 4096
brk(0x8068000)                          = 0x8068000
read(4, "ull:/bin/false\nalexsandre-liga.n"..., 4096) = 4096
brk(0x8069000)                          = 0x8069000
brk(0x806a000)                          = 0x806a000
read(4, "ssteels:/bin/bash\ninfo-russteels"..., 4096) = 4096
brk(0x806b000)                          = 0x806b000
read(4, "old:x:43828:43808::/dev/null:/bi"..., 4096) = 4096
brk(0x806c000)                          = 0x806c000
read(4, "3919:43899::/dev/null:/bin/false"..., 4096) = 4096
brk(0x806d000)                          = 0x806d000
read(4, "799::/dev/null:/bin/false\npodpis"..., 4096) = 4096
brk(0x806e000)                          = 0x806e000
brk(0x806f000)                          = 0x806f000
read(4, "/bin/false\ntelef:x:44083:44064::"..., 4096) = 4096
brk(0x8070000)                          = 0x8070000
read(4, "fo-job1:x:44173:44154::/dev/null"..., 4096) = 4096
brk(0x8071000)                          = 0x8071000
read(4, "null:/bin/false\nadmin-inetlotto:"..., 4096) = 4096
brk(0x8072000)                          = 0x8072000
read(4, "/false\nemoallergy:x:44349:44329:"..., 4096) = 4096
brk(0x8073000)                          = 0x8073000
brk(0x8074000)                          = 0x8074000
read(4, "o-largusokna:x:44436:44416::/dev"..., 4096) = 4096
brk(0x8075000)                          = 0x8075000
read(4, ":/bin/false\ngromov-metallopolime"..., 4096) = 4096
brk(0x8076000)                          = 0x8076000
read(4, "ndrey-b-m-s:x:44615:44594::/dev/"..., 4096) = 4096
brk(0x8077000)                          = 0x8077000
read(4, "9::/dev/null:/bin/false\nsupersim"..., 4096) = 4096
brk(0x8078000)                          = 0x8078000
brk(0x8079000)                          = 0x8079000
read(4, "/null:/bin/false\ndok-m-bmwstyle-"..., 4096) = 4096
brk(0x807a000)                          = 0x807a000
read(4, "dev/null:/bin/false\nvezunchik:x:"..., 4096) = 4096
brk(0x807b000)                          = 0x807b000
read(4, ":44939::/home/yla:/bin/bash\ninfo"..., 4096) = 4096
brk(0x807c000)                          = 0x807c000
read(4, "stezhi:x:45042:45015::/home/stez"..., 4096) = 568
read(4, "", 4096)                       = 0
open("/etc/ld.so.cache", O_RDONLY)      = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4013f000
close(5)                                = 0
open("/lib/libnss_nisplus.so.2", O_RDONLY) = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\37\0"..., 1024) = 1024
fstat64(5, {st_mode=S_IFREG|0755, st_size=299921, ...}) = 0
old_mmap(NULL, 44576, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x40145000
mprotect(0x4014f000, 3616, PROT_NONE)   = 0
old_mmap(0x4014f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x9000) = 0x4014f000
close(5)                                = 0
open("/lib/libnsl.so.1", O_RDONLY)      = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320@\0"..., 1024) = 1024
fstat64(5, {st_mode=S_IFREG|0755, st_size=387922, ...}) = 0
brk(0x807d000)                          = 0x807d000
old_mmap(NULL, 85596, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x40150000
mprotect(0x40162000, 11868, PROT_NONE)  = 0
old_mmap(0x40162000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x11000) = 0x40162000
old_mmap(0x40163000, 7772, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40163000
close(5)                                = 0
munmap(0x4013f000, 22847)               = 0
uname({sys="Linux", node="x-ray.host-ing.ru", ...}) = 0
open("/var/nis/NIS_COLD_START", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4013f000
close(5)                                = 0
open("/lib/libnss_nis.so.2", O_RDONLY)  = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000 \0\000"..., 1024) = 1024
fstat64(5, {st_mode=S_IFREG|0755, st_size=278281, ...}) = 0
old_mmap(NULL, 41580, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x40165000
mprotect(0x4016e000, 4716, PROT_NONE)   = 0
old_mmap(0x4016e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x8000) = 0x4016e000
close(5)                                = 0
munmap(0x4013f000, 22847)               = 0
uname({sys="Linux", node="x-ray", ...}) = 0
close(4)                                = 0
munmap(0x40016000, 4096)                = 0
open("/etc/fstab", O_RDONLY)            = 4
brk(0x807f000)                          = 0x807f000
fstat64(4, {st_mode=S_IFREG|0644, st_size=91, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
read(4, "/dev/simfs / reiserfs rw,usrquot"..., 4096) = 91
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x40016000, 4096)                = 0
_exit(0)                                = ?

[Updated on: Sun, 26 February 2006 05:41]

Report message to a moderator

Re: Групповые квоты ВНУТРИ виртуальной машины [message #1807 is a reply to message #1797] Sat, 25 February 2006 19:08 Go to previous messageGo to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
Вот еще для quotaon:

bash-2.04# strace -f quotaon /
execve("/sbin/quotaon", ["quotaon", "/"], [/* 12 vars */]) = 0
uname({sys="Linux", node="x-ray", ...}) = 0
brk(0)                                  = 0x804d000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40016000
close(4)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\303"..., 1024) = 1024
fstat64(4, {st_mode=S_IFREG|0755, st_size=4977926, ...}) = 0
old_mmap(NULL, 1146952, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4001c000
mprotect(0x4012b000, 36936, PROT_NONE)  = 0
old_mmap(0x4012b000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x10e000) = 0x4012b000
old_mmap(0x40130000, 16456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40130000
close(4)                                = 0
munmap(0x40016000, 22847)               = 0
getpid()                                = 22401
brk(0)                                  = 0x804d000
brk(0x804d028)                          = 0x804d028
brk(0x804e000)                          = 0x804e000
open("/etc/fstab", O_RDONLY)            = 4
brk(0x8050000)                          = 0x8050000
fstat64(4, {st_mode=S_IFREG|0644, st_size=91, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
read(4, "/dev/simfs / reiserfs rw,usrquot"..., 4096) = 91
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x40016000, 4096)                = 0
_exit(0)                                = ?

[Updated on: Sun, 26 February 2006 05:40]

Report message to a moderator

Re: Групповые квоты ВНУТРИ виртуальной машины [message #1808 is a reply to message #1807] Sun, 26 February 2006 07:31 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

похоже у вас действительно какие-то сверх древние quota tools, которые не распознают reiserfs, под который маскируется simfs Smile

предлагаю либо поменять в /etc/mtab reiserfs на что-нибудь типа ext2/3, либо просто пересобрать quota tools поновее.


http://static.openvz.org/userbars/openvz-developer.png
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1811 is a reply to message #1808] Sun, 26 February 2006 09:00 Go to previous messageGo to next message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
Когда меняю на ext2/ext3, приходится еще создавать симлинки /quota.group (а то говорит, что эти файлы не найдены). После чего - все равно ругается:

bash-2.04# quotaon /
quotaon: using /quota.group on /dev/simfs: Device or resource busy
quotaon: using /quota.user on /dev/simfs: Device or resource busy

Перезагрузка тоже не помогает. Наверное, и правда надо пересобрать quota tools... хотя, конечно, жаль, что это так: все остальное-то работает.
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1812 is a reply to message #1811] Sun, 26 February 2006 09:03 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

жаль конечно, но если бы вы видели код квоты... %)
к сожалению, авторы совершенно не заморачивались понятиями совместимости и прочими вещами... Evil or Very Mad


http://static.openvz.org/userbars/openvz-developer.png
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1813 is a reply to message #1812] Sun, 26 February 2006 09:34 Go to previous message
Dmitry Koterov is currently offline  Dmitry Koterov
Messages: 40
Registered: November 2005
Member
Вроде все заработало после того, как поставил вот это:
http://sourceforge.net/projects/linuxquota
Previous Topic: DEBIAN
Next Topic: Как правильно бэкапить VPS-ы?
Goto Forum:
  


Current Time: Fri Jul 26 14:28:04 GMT 2024

Total time taken to generate the page: 0.03409 seconds