this post was submitted on 05 Dec 2023
968 points (98.8% liked)
linuxmemes
21355 readers
1563 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't fork-bomb your computer.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Obligatory useless use of dd comment.
That was an interesting read, thank you!
I haven't touched dd since I read that about a year ago, super interesting!
For people that use dd because they like the progress bar, I highly recommend pv.
Except the proposed alternative should not be
cp
orpv
, butdd bs=4M oflag=direct,sync status=progress
.I feel like I'm taking crazy pills with all the advice in this thread, because for USB keys you will otherwise end up instantly filling the write cache... which will block the apparent progress of the copy operation (so why even use
pv
since all you're doing is measuring your RAM speed and available cache size) as well as heavily slow down (even potentially partially freeze in some circumstances) the rest of your system as the kernel is running out of free pages and can't flush caches fast enough due to the slow-ass write speeds of usb keys.* (Alternatively there is a kernel setting somewhere to disable caching globally for a block device... but in most cases caching is good, just not when you're flashing an ISO).
This is probably why pv progress fills in a second but is only done after a few minutes. Nonetheless, shell redirect, cat, cp work fine and handle blocksize and cache dynamically.
Your worst case scenario never happened to me after years of using pv/cp for flashing sticks/overwriting/copying partitions, even with some ...risky mount settings. Honestly doesn't make much sense to me either. Again, dd isn't some sort of magical safe handle to make the process progress smoothly. Like i use to say, dd is a skalpell, not a shovel.
I mean yeah, the bits end up where they should. It's just that the speed/progress indication is near useless with pv since at the end of the copy you still need to wait for the entire write buffer to be flushed (2 GiB in my experience, which can take several minutes).
So IMO
dd
with at leastoflag=osync,odirect
is safer thancp
andpv
with which a newbie might forget to runsync
and unplug the usb key immediately, so they'll be missing a lot of data.Maybe some people use
dd
for the wrong reason, it's their problem, but the solution is to usedd bs=4M oflag=osync,odirect
, not to usecp
.It was less useless for that purpose when
cp
andcat
were less I/O efficient compared todd
with the appropriate block size, which isn't as much the case now as it used to be.