Veröffentlichung der GNU Coreutils 9.0-Reihe von Kernsystemdienstprogrammen

Es ist eine stabile Version der GNU Coreutils 9.0-Reihe grundlegender Systemdienstprogramme verfügbar, die Programme wie sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls usw. umfasst. Die erhebliche Änderung der Versionsnummer ist auf Änderungen im Verhalten einiger Dienstprogramme zurückzuführen.

Wichtige Änderungen:

  • Die Dienstprogramme cp und install verwenden beim Kopieren standardmäßig den Copy-on-Write-Modus (mit ioctl ficlone, um Daten über mehrere Dateien hinweg zu teilen, anstatt einen vollständigen Klon zu erstellen).
  • Die Dienstprogramme cp, install und mv verwenden vom System bereitgestellte Mechanismen, um Kopiervorgänge zu beschleunigen (mithilfe des Systemaufrufs copy_file_range, um nur Kernel-seitiges Kopieren durchzuführen, ohne Daten in den Prozessspeicher im Benutzerbereich zu übertragen).
  • Die Dienstprogramme cp, install und mv verwenden einen einfacheren und portableren lseek+SEEK_HOLE-Aufruf anstelle von ioctl+FS_IOC_FIEMAP, um Dateilücken zu erkennen.
  • Das Dienstprogramm wc verwendet AVX2-Anweisungen, um die Berechnung der Zeilenanzahl zu beschleunigen. Bei Verwendung dieser Optimierung erhöhte sich die WC-Geschwindigkeit um das Fünffache.
  • Die Option „-a“ (--algorithm) wurde zum Dienstprogramm cksum hinzugefügt, um einen Hashing-Algorithmus auszuwählen. Um die Berechnung von Prüfsummen im Dienstprogramm cksum zu beschleunigen, werden pclmul-Anweisungen verwendet, wenn der Modus „--algorithm=crc“ verwendet wird, der die Berechnungen um das Achtfache beschleunigt. Auf Systemen ohne PCLmul-Unterstützung ist der CRC-Modus viermal schneller. Die übrigen Hashing-Algorithmen (sum, md8sum, b4sum, sha*sum, sm5 usw.) werden durch den Aufruf von libcrypto-Funktionen implementiert.
  • In den Dienstprogrammen md5sum, cksum, sha*sum und b2sum ermöglicht die Verwendung des Flags „--check“ das Vorhandensein einer CRLF-Sequenz am Ende der Prüfsummenzeile. „cksum --check“ ermöglicht die automatische Erkennung des verwendeten Hashing-Algorithmus.
  • Das ls-Dienstprogramm hat eine Option „--sort=width“ hinzugefügt, um nach Dateinamenlänge zu sortieren, sowie eine Option „--zero“, um jede Zeile mit einem Nullzeichen abzuschließen. Das alte Verhalten wurde zurückgegeben und führte dazu, dass bei der Verarbeitung eines Remote-Verzeichnisses ein leeres Verzeichnis anstelle eines Fehlers angezeigt wurde.
  • Das df-Dienstprogramm implementiert die Erkennung der Netzwerkdateisysteme acfs, coda, fhgfs, gpfs, ibrix, ocfs2 und vxfs.
  • Den Dienstprogrammen stat und tail wurde Unterstützung für die Dateisystemtypen „devmem“, „exfat“, „secretmem“, „vboxsf“ und „zonefs“ hinzugefügt. Für „vboxsf“ wird Polling verwendet, um Änderungen in „tail -f“ zu verfolgen, und für den Rest wird inotify verwendet.

Source: opennet.ru

Kommentar hinzufügen