The I/O size is a reason why it’s better to use cp than dd to copy an ISO to a USB stick. cp automatically selects an I/O size which should yield good performance, while dd’s default is extremely small and it’s necessary to specify a sane value manually (e.g. bs=1M).
With “everything” being a file on Linux, dd isn’t really special for simply cloning a disk. The habit of using dd is still quite strong for me.
Like i use to say; dd nowadays is best used as a scalpell (to cut bit sizes) not a shovel (to move chunks of data).
Interesting. Is this serious advice and if so, what’s the new canonical command to burn an ISO?
cp /path/to/image /dev/disk
Recently, I learned that booting from a dd’d image is actually a major hack. I don’t get it together on my own, but has something to do with no actual boot entry and partition table being created. Because of this, it’s better to use an actual media creation tool such as Rufus or balena etcher.
Found the superuser thread: https://superuser.com/a/1527373 Someone had linked it on lemmy
Nowadays I just use Ventoy
Wow. I’ve been using dd for years and I’d consider myself on the more experienced end of the Linux user base. I’ll use cp from now on. Great link.
This is the best summary I could come up with:
One of the interesting improvements to note with GNU Coreutils 9.5 is that the cp, mv, install, cat, and split commands can now read/write a minimum of 256KiB at a time.
Previously there was a 128KiB minimum while this has been doubled in order to enhance the throughput of Coreutils on modern systems.
The throughput with Coreutils 9.5 thanks to this change increases by 10~20% when reading cached files on modern systems.
This default I/O size update was last adjusted a decade ago.
GNU Coreutils 9.5 also has fixed various warnings when interacting with the CIFS file-system, join and uniq better handle multi-byte characters, tail no longer mishandles input from /proc and /sys file-systems, various new options for different commands, SELinux operations during file copy operations are now more efficient, and tail can now follow multiple processes via repeated “–pid” options.
More details on all of the GNU Coreutils 9.5 changes via the release announcement.
The original article contains 263 words, the summary contains 155 words. Saved 41%. I’m a bot and I’m open source!
/ As of Jan 2034, 512KiB is determined to be the perfect blksize to minimize system call overhead across most systems.
as of Jan 2034 there is no humans so thus we can discontinue tools for humans
Feb 2034: grammer correction: there are no humans.
Huh? Wasn’t at least cp supposed to determine optimal block size automatically?
Btw do you know how uutils (rust rewrite of GNU coreutils) is doing?
Wrong license still but I just read an article saying they are making progress on compatiabity with the GNU coreutils