linux basics: startup
init: parent of all ps. PID=0
stages
init: parent of all ps. PID=0
stages
Quota specifications:
Types:
apt install quota
grep QUOTA /boot/config-*
=>
CONFIG_NFT_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_XFS_QUOTA=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
Check quota are enable in /etc/fstab at the 4th column: usrquota
, grpquota
option must be specified:
UUID=e248b430-aed3-4586-8a9f-2444515376e7 / ext4 errors=remount-ro,acl,usrquota,grpquota 0
quotacheck -ugm /
check quota files have been created:
ls /aquota.*
/aquota.group /aquota.user
this will fix the following error: edquota: Cannot open quotafile //aquota.user: No such file or directory No filesystems with quota detected.
turn it on:
quotaon -v /
=>
/dev/sda1 [/]: group quotas turned on
/dev/sda1 [/]: user quotas turned on
check quotas:
quotacheck -a
display all quotas:
repquota -a
edit quota:
** do not edit /etc/quotatab
file directly but use:
edquota -u foo
edquota -g foogrp
grace period is the quantity of time that the system allows you to exceed the soft limit without blocking you. After that, user will be considered as he exceeded the hard limit.
edquota -t
/etc/init.d/quota start
service quota start
Disk quotas for user foo (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 16 0 0 4 5 6
Here, our foo user has: * currently consumed 4 inodes on the FS * a quota soft limit set to 5 inodes * a quota hard limit set to 6 inodes
foo@debian:~$ touch file
foo@debian:~$ touch file 2
sda1: warning, user file quota exceeded.
foo@debian:~$ touch file 3
sda1: write failed, user file limit reached.
touch: cannot touch '3': Disk quota exceeded
root@debian:~# repquota /
=>
*** Report for user quotas on device /dev/sda1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 3645544 0 0 113922 0 0
man -- 1496 0 0 157 0 0
lp -- 11980 0 0 1 0 0
_apt -- 12 0 0 3 0 0
systemd-timesync -- 4 0 0 2 0 0
avahi-autoipd -- 4 0 0 1 0 0
speech-dispatcher -- 4 0 0 1 0 0
colord -- 8 0 0 2 0 0
lightdm -- 32 0 0 8 0 0
ben -- 56020 0 0 1295 0 0
foo -+ 16 0 0 6 5 6 6days
whereis
commandsearch in several location /usr/bin
... and returns exec file and related resources such as man, config.
whereis sl
sl: /usr/games/sl /usr/share/man/man6/sl.6.gz
which
commandonly search in $PATH and only return path to exec:
which sl
/usr/games/sl
type
commandreturn how a command is interpreted:
type -a echo
echo is a shell builtin
echo is /usr/bin/echo
echo is /bin/echo