News for hackers. Stuff that matters.
Re:I upgraded my iBook G4 to have an SSD by lloeki on Monday April 01, 2024 @03:56AM (#39891750)
> Tiger’s dd doesn’t have status=progress

Maybe sending it SIGINFO (^T in terminal) could help? Dunno if it's supported as far back as Tiger's.

(BSD thing, it's SIGUSR1 on GNU dd / Linux, the usability difference is that on darwin the terminal can conveniently send SIGINFO via ^T)

Re:I upgraded my iBook G4 to have an SSD by i386 on Monday April 01, 2024 @05:42AM (#39892317)
I believe it was!
Re:I upgraded my iBook G4 to have an SSD by thesuitonym on Monday April 01, 2024 @09:34AM (#39894024)
I need to commit this to memory, I often forget to send stats=progress to dd. Thanks for the tip!
Re:I upgraded my iBook G4 to have an SSD by boredzo on Tuesday April 02, 2024 @01:54PM (#39908744)
I think it is, but it does print an overall speed estimate at the end anyway. It's just not as conveniently formatted as `status=progress`, which gives you MB/sec (or GB/sec if appropriate), so you gotta do math to it.

Here's what the output at the end or from SIGINFO looks like (this is running on my Mac mini and copying from /dev/zero to /dev/null):

``` 148908277760 bytes transferred in 6.917856 secs (21525206330 bytes/sec) ```

If I add `status=progress`, then it _also_ prints this every second:

``` 150617456640 bytes (151 GB, 140 GiB) transferred 7.001s, 22 GB/s ```

Re:I upgraded my iBook G4 to have an SSD by lloeki on Thursday April 04, 2024 @02:25AM (#39927159)
> but it does print an overall speed estimate at the end anyway

Oh yeah, my point is that if there's no `status=progress` support or if someone forgot to add it then in-flight progress and speed can be displayed in a pinch, and that feature is not well known.

"Every second" is a `while sleep 1` + `kill -INFO` loop away.

A typical full output of it is:

    load: 2.91  cmd: dd 82396 running 0.02u 2.03s
    87770+0 records in
    87770+0 records out
    92033515520 bytes transferred in 2.149378 secs (42818673830 bytes/sec)
So if one uses `bs=1m` (which I frequently do, but always forget about status=progress) then records in/out will be in MiB.