یک نسخه پایدار از مجموعه ابزارهای اساسی سیستم GNU Coreutils 9.0 موجود است که شامل برنامههایی مانند sort، cat، chmod، chown، chroot، cp، date، dd، echo، hostname، id، ln، ls و غیره است. تغییر قابل توجه در شماره نسخه به دلیل تغییر در رفتار برخی از برنامه های کاربردی است.
تغییرات کلیدی:
- ابزارهای cp and install به طور پیشفرض در حالت کپی در نوشتن هنگام کپی کردن (استفاده از ioctl ficlone برای اشتراکگذاری دادهها در چندین فایل به جای ایجاد یک کلون کامل).
- ابزارهای cp، install و mv از مکانیسم های ارائه شده توسط سیستم برای سرعت بخشیدن به عملیات کپی استفاده می کنند (با استفاده از فراخوانی سیستم copy_file_range فقط برای انجام کپی سمت هسته، بدون انتقال داده ها برای پردازش حافظه در فضای کاربر).
- ابزارهای cp، install و mv از تماس سادهتر و قابل حملتر lseek+SEEK_HOLE به جای ioctl+FS_IOC_FIEMAP برای شناسایی خالیهای فایل استفاده میکنند.
- ابزار wc از دستورالعمل های AVX2 برای سرعت بخشیدن به محاسبه تعداد خطوط استفاده می کند. هنگام استفاده از این بهینه سازی، سرعت wc 5 برابر افزایش یافت.
- گزینه "-a" (--algorithm) برای انتخاب یک الگوریتم هش به ابزار cksum اضافه شده است. برای سرعت بخشیدن به محاسبه چک جمع ها در ابزار cksum، هنگام استفاده از حالت "--algorithm=crc" از دستورالعمل های pclmul استفاده می شود که سرعت محاسبات را تا 8 برابر افزایش می دهد. در سیستمهای بدون پشتیبانی از pclmul، حالت crc 4 برابر سریعتر است. بقیه الگوریتمهای هش (sum، md5sum، b2sum، sha*sum، sm3 و غیره) با فراخوانی توابع libcrypto پیادهسازی میشوند.
- در ابزارهای md5sum، cksum، sha*sum و b2sum، با استفاده از پرچم "--check" امکان حضور یک دنباله CRLF در انتهای خط چکجمع وجود دارد. "cksum --check" تشخیص خودکار الگوریتم هش مورد استفاده را فراهم می کند.
- ابزار ls یک گزینه "--sort=width" را برای مرتب سازی بر اساس طول نام فایل، و همچنین یک گزینه "--zero" برای پایان دادن به هر خط با یک کاراکتر خالی اضافه کرده است. رفتار قدیمی برگردانده شده است، که باعث می شود به جای خطا هنگام پردازش دایرکتوری راه دور، یک دایرکتوری خالی نشان داده شود.
- ابزار df شناسایی سیستم های فایل شبکه acfs، coda، fhgfs، gpfs، ibrix، ocfs2 و vxfs را پیاده سازی می کند.
- پشتیبانی از انواع سیستم فایل "devmem"، "exfat"، "secretmem"، "vboxsf" و "zonefs" به ابزارهای stat و tail اضافه شده است. برای "vboxsf"، از نظرسنجی برای ردیابی تغییرات "tail -f" استفاده می شود، و برای بقیه، از inotify استفاده می شود.
منبع: opennet.ru