Квота проекта в файловой системе EXT4 с активным корнем без live -cd

Наряду с dashсуществует также:

The Schily Bourne Shell was derived from the Bourne Shell sources from OpenSolaris.

Который доступен на pkgin/pkgsrc.

Два вариантаpkgin:

  • Минимальный вариант, совместимый с POSIX (pbosh)
  • Расширенный вариант, совместимый с POSIX (bosh)

Joyent предоставляет двоичные пакеты macos pkgin

http://schilytools.sourceforge.net/bosh.html

Я не использовал его на Mac, но использовал различные варианты OpenSolaris.

1
03.05.2020, 16:27
1 ответ

Мне сказали, что запуск tune2fs -O project -Q prjquota /dev/sdaXабсолютно необходим для включения квоты проекта на устройстве. Поэтому я искал решение, которое не требует отключения или использования live -cd, так как это требует слишком много времени и не всегда хорошо работает с моим провайдером VPS. А еще я надеялся, что смогу превратить шаги в скрипт, что пока не получалось.

Благодаря другим вопросам я смог собрать решение, которое сработало для меня в Ubuntu 18.04. Вам нужно ок. 4Гб ОЗУ для этого (и конечно же ядро ​​после версии 4.4 ).

Источники:

1. Создайте файловую систему RAMdisk

mkdir /tmp/tmproot
mount none /tmp/tmproot -t tmpfs -o rw
mkdir /tmp/tmproot/{proc,oldroot,sys}
cp -a /dev /tmp/tmproot/dev
cp -ax /{bin,etc,opt,run,usr,home,mnt,sbin,lib,lib64,var,root,srv} /tmp/tmproot/

2. Переключите root на новую файловую систему RAMdisk

cd /tmp/tmproot
unshare -m
pivot_root /tmp/tmproot/ /tmp/tmproot/oldroot
mount none /proc -t proc
mount none /sys -t sysfs
mount none /dev/pts -t devpts

3. Перезапустите SSH на порту, отличном от 22, и переподключитесь к другому сеансу

.
nano /etc/ssh/sshd_config
  • Изменить порт на 2211

  • Перезапустите SSH с помощью/usr/sbin/sshd -D &

  • Снова подключиться с 2211

4. Завершение процессов с помощью /oldroot или /dev/sdaX

fuser -km /oldroot
fuser -km /dev/sdaX

5. Размонтируйте /dev/sdaX и примените функцию квоты проекта

umount -l /dev/sdaX
tune2fs -O project -Q prjquota /dev/sdaX

6. Установка с квотой проекта

mount /dev/sda2 -o prjquota /oldroot

7. Возвращение вещей

pivot_root /oldroot /oldroot/tmp/tmproot
umount /tmp/tmproot/proc
mount none /proc -t proc
cp -ax /tmp/tmproot/dev/* /dev/
mount /dev/sda1 /boot  ### This might be different for you
reboot -f

8. Включить квоту после перезагрузки

apt install quota -y
quotaon -Pv -F vfsv1 /

9. Проверьте, включена ли квота для root

repquota -Ps /

10. Сделайте его постоянным

  • Поместите prjquotaв опции root в/etc/fstab

Наслаждайтесь!

0
28.04.2021, 23:18

Теги

Похожие вопросы