Linux ์ปค๋๊ณผ ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋ ์ ํธ๋ฆฌํฐ์ ๋ฒ์ฉ ์ ํธ๋ฆฌํฐ๋ฅผ ๋ชจ๋ ํฌํจํ๋ Util-linux 2.39 ์์คํ ์ ํธ๋ฆฌํฐ ํจํค์ง์ ์ ๋ฒ์ ์ด ๊ฒ์๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํจํค์ง์๋ mount/umount, fdisk, hwclock, cal, blkid, fsck/cfdisk/sfdisk, blockdev, chrt, mkfs, ionice, more, renice, su, kill, setid, login, shutdown, dmesg, lscpu ์ ํธ๋ฆฌํฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. , ๋ก๊ฑฐ, losstup, setterm, mkswap, swapon, ์์ ์ธํธ ๋ฑ
์ ๋ฒ์ ์์:
- ๋ง์ดํธ ์ ํธ๋ฆฌํฐ์ libmount ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ๋ง์ดํธ ๋ค์์คํ์ด์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ผ ์์คํ ์ด ๋ง์ดํธ๋๋ ๋ฐฉ์์ ์ ์ดํ๊ธฐ ์ํ ์๋ก์ด Linux ์ปค๋ API์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์๋ก์ด API์์๋ ์ผ๋ฐ์ ์ธ mount() ํจ์ ๋์ ๋ณ๋์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์ดํธ์ ๋ค์ํ ๋จ๊ณ(์ํผ๋ธ๋ก ์ฒ๋ฆฌ, ํ์ผ ์์คํ ์ ๋ํ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ, ๋ง์ดํธ, ๋ง์ดํธ ์ง์ ์ ์ฐ๊ฒฐ)๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ด์ Linux ์ปค๋ ๋ฐ ์ด์ ๋ง์ดํธ API์ libmount์ ํธํ์ฑ์ด ์ ์ง๋์์ต๋๋ค. ์ API๋ฅผ ๊ฐ์ ๋ก ๋นํ์ฑํํ๋ "--disable-libmount-mountfd-support" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์๋ก์ด ๋ง์ดํธ API๋ฅผ ์ฌ์ฉํ๋ฉด ๋ง์ดํธ๋ ํ์ผ ์์คํ ์ ์ฌ์ฉ์ ID ๋งคํ ์ง์์ ๊ตฌํํ ์ ์์ต๋๋ค. ์ด๋ ๋ง์ดํธ๋ ์ธ๋ถ ํํฐ์ ์ ์๋ ํน์ ์ฌ์ฉ์์ ํ์ผ์ ํ์ฌ ์์คํ ์ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋งคํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋งคํ์ ์ ์ดํ๊ธฐ ์ํด "X-mount.idmap=" ์ต์ ์ด ๋ง์ดํธ ์ ํธ๋ฆฌํฐ์ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ง์ดํธ ์ ํธ๋ฆฌํฐ์ ์๋ก์ด ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค: ํน์ ์ ํ์ ํ์ผ ์์คํ ์ ์๋์ผ๋ก ๊ฐ์งํ๋ "X-mount.auto-fstypes", ์์ ์, ๊ทธ๋ฃน, ๋ง์ดํธ ํ ์ก์ธ์ค ๋ชจ๋ ๋ฐ "rootcontext =@target"์ ์ฌ์ฉํ์ฌ ํ์ผ ์์คํ ์ ๋ํ SELinux ์ปจํ ์คํธ๋ฅผ ์ค์ ํฉ๋๋ค. VFS ํ๋๊ทธ์ ๋ํ "recursive" ์ธ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค(์: "mount -o bin,ro=recursive").
- SCSI ๋๋ NVMe ๋๋ผ์ด๋ธ์ ๋ธ๋ก์ ์์ฝํ๊ธฐ ์ํด blkpr ๋ช ๋ น์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ช ๋ช ๋์ง ์์ ํ์ดํ ๋ฐ FIFO์ ๋ํ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๊ฑฐ๋ ํ์ธํ๊ธฐ ์ํด Pipesz ๋ช ๋ น์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์ ํ๋ก์ธ์ค์ ์ํ ๋ณ๊ฒฝ(์: ์คํ ์๋ฃ)์ ๊ธฐ๋ค๋ฆฌ๋ waitpid ๋ช ๋ น์ด ์ถ๊ฐ๋์์ต๋๋ค.
- renice ์ ํธ๋ฆฌํฐ์ "-n" ๋ฐ "--relative" ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
- blockdev ์ ํธ๋ฆฌํฐ๋ BLKGETDISKSEQ ioctl์ ๋ํ ์ง์์ ๊ตฌํํฉ๋๋ค.
- pidfd ๋ฐ AF_NETLINK, AF_PACKET, AF_INET ๋ฐ AF_INET6 ์์ผ(/proc/net/*)์ ๋ํ ์ง์์ด lsfd ์ ํธ๋ฆฌํฐ์ ์ถ๊ฐ๋์๊ณ , proc/$pid/fd์์ ๋ณ๊ฒฝ๋ ํ๋ก์ธ์ค ์ด๋ฆ ํ์๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ, /proc์์ ํ๋๊ทธ ๋์ฝ๋ฉ์ด ์ถ๊ฐ๋์์ต๋๋ค. /$PID/fdinfo/$๊ฐ fd์ ๊ตฌํ๋์์ผ๋ฉฐ AF_INET ๋ฐ AF_INET6 ์์ผ์ ๋ํ ์ ๋ณด๋ง ํ์ํ๋ "-i"("--inet") ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- cal ์ ํธ๋ฆฌํฐ์๋ Terminal-colors.d๋ฅผ ํตํด ์์ ์ถ๋ ฅ์ ์ฌ์ฉ์ ์ ์ํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- dmesg์์ "--since" ๋ฐ "--until" ์ต์ ์ ์ฌ์ฉํ ๋ ์์ ์ด ์ ํ๋์ ์ถ๋ ฅ์ด ๊ตฌํ๋ฉ๋๋ค. "--level" ์ต์ ์๋ ์ ๋์ฌ/์ ๋ฏธ์ฌ "+"๋ฅผ ์ง์ ํ์ฌ ๋ชจ๋ ๋ ๋ฒจ์ ํ์ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ง์ ๋ ์ซ์๋ณด๋ค ํฌ๊ฑฐ๋ ์์ ์ซ์์ ๋๋ค.
- FS ์ ํ๋ณ๋ก ํํฐ๋งํ๊ธฐ ์ํด fstrim ์ ํธ๋ฆฌํฐ์ "--types" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- blkid ๋ฐ libblkid์ bachefs ํ์ผ ์์คํ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ ํ์ผ ์์คํ ๋ฐ RAID์ ๋ํ ์ฒดํฌ์ฌ ๊ณ์ฐ์ด ํ์ฑํ๋์์ต๋๋ค.
- lsblk ์ ํธ๋ฆฌํฐ์ "--nvme" ๋ฐ "--virtio" ์ต์ ์ ์ถ๊ฐํ์ฌ ์ฅ์น, ๊ตฌํ๋ ID(udev ID), ID-LINK(udev /dev/disk/by-id), PARTN(ํํฐ์ ๋ฒํธ) ๋ฐ MQ(ํ) ์ด), ํซ ํ๋ฌ๊น ๋ฐ ์ธํ๋ฌ๊ทธ ์ฅ์น์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค.
- ํ๊ฒฝ ๋ณ์๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด nsenter์ "--env" ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
- SELinux ์ปจํ ์คํธ๋ฅผ ํ์ํ๊ธฐ ์ํด namei์ "-Z" ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
- Meson ์กฐ๋ฆฝ ์์คํ ์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru