ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Util-linux 2.39, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠ°ΠΊΡΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΡΡΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, ΡΠ°ΠΊΠ° ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Ρ ΠΎΠ±ΡΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡΡ ΡΡΠ΄ΡΡΠΆΠ° ΠΏΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ mount/umount, fdisk, hwclock, cal, blkid, fsck/cfdisk/sfdisk, blockdev, chrt, mkfs, ionice, more, renice, su, kill, setsid, login, shutdown, dmesg, lscpu, logger, losetup, setterm, mkswap, swapon, taskset ΠΈ Π΄Ρ.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libmount Π΄ΠΎΠ±Π°Π²ΠΈΡ Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈΡ API Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΎΡ ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅. Π Π½ΠΎΠ²ΠΈΡ API Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ mount() ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅ΡΠ°ΠΏΠΈ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ (ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ°, ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅, ΠΏΡΠΈΠΊΠ°ΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΡΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅). libmount ΠΎΡΡΠ°Π²Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΏΠΎ-ΡΡΠ°ΡΠΈΡΠ΅ Linux ΡΠ΄ΡΠ° ΠΈ ΡΡΠ°ΡΠΈΡ API Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅. ΠΠ° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈΡ API Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡΡΠ° β--disable-libmount-mountfd-supportβ.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈΡ API Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ ΡΡΠΆΠ΄ Π΄ΡΠ» Ρ Π΄ΡΡΠ³ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°Π½Π΅ΡΠΎ, ΠΎΠΏΡΠΈΡΡΠ° βX-mount.idmap=β Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΈ ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅: "X-mount.auto-fstypes" Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΠΏ, "X-mount.{owner,group,mode}" Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΠ°, Π³ΡΡΠΏΠ°ΡΠ° ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π΄ΠΎΡΡΡΠΏ ΡΠ»Π΅Π΄ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ ΠΈ "rootcontext =@target", Π·Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° SELinux Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° "ΡΠ΅ΠΊΡΡΡΠΈΠ²Π΅Π½" Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π·Π° VFS ΡΠ»Π°Π³ΠΎΠ²Π΅ (Π½Π°ΠΏΡ. "mount -o bind,ro=recursive").
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° blkpr Π·Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° SCSI ΠΈΠ»ΠΈ NVMe ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° pipesz Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±ΡΡΠ΅ΡΠ° Π·Π° Π½Π΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ ΠΈ FIFO.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° waitpid Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ).
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΎΠΏΡΠΈΠΈ "-n" ΠΈ "--relative" ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° renice.
- ΠΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° blockdev Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° BLKGETDISKSEQ ioctl.
- ΠΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° lsfd Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° pidfd ΠΈ AF_NETLINK, AF_PACKET, AF_INET ΠΈ AF_INET6 (/proc/net/*), ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΎΡ proc/$pid/fd, Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ»Π°Π³ ΠΎΡ /proc/ $PID/fdinfo/$ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ fd, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ "-i" ("-inet") Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° AF_INET ΠΈ AF_INET6 ΡΠΎΠΊΠ΅ΡΠΈ.
- ΠΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° cal Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠ²Π΅ΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ ΡΡΠ΅Π· terminal-colors.d.
- dmesg ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΈΠ·Ρ ΠΎΠ΄ Ρ ΡΠΎΡΠ½ΠΎΡΡ Π² ΡΠ°ΡΡΠΈ ΠΎΡ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ ββsinceβ ΠΈ ββuntilβ; Π² ΠΎΠΏΡΠΈΡΡΠ° ββlevelβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅ΡΠΈΠΊΡΠ°/Π½Π°ΡΡΠ°Π²ΠΊΠ°ΡΠ° β+β Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½ΠΈΠ²Π° Ρ ΡΠΈΡΠ»Π° ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ/ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΠΎΡ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎΡΠΎ.
- ΠΠΏΡΠΈΡΡΠ° β--typesβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° fstrim Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΡΠΈΠΏ ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° bcachefs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ blkid ΠΈ libblkid ΠΈ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΡΠΌΠΈ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ RAID.
- ΠΠΏΡΠΈΠΈΡΠ΅ β--nvmeβ ΠΈ β--virtioβ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° lsblk Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°; ID (udev ID), ID-LINK (udev /dev/disk/by-id), PARTN (Π΄ΡΠ» Π½ΠΎΠΌΠ΅Ρ) ΠΈ MQ (ΠΎΠΏΠ°ΡΠΊΠ°) ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ), ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΠΎΡΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ β--envβ ΠΊΡΠΌ nsenter Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ "-Z" ΠΊΡΠΌ namei Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° SELinux ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Meson.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru