So the SSD is hiding extra, inaccessible, cells. How does
blkdiscard
help? Either the blocks are accessible, or they aren’t. How are you getting a the hidden cells withblkdiscard
?
The idea is that blkdiscard
will tell the SSD’s own controller to zero out everything. The controller can actually access all blocks regardless of what it exposes to your OS. But will it do it? Who knows?
I feel that, unless you know the SDD supports secure trim, or you always use
-z
,dd
is safer, sinceblkdiscard
can give you a false sense of security, and TRIM adds no assurances about wiping those hidden cells.
After reading all of this I would just do both… Each method fails in different ways so their sum might be better than either in isolation.
But the actual solution is to always encrypt all of your storage. Then you don’t have to worry about this mess.
I’m sure many people don’t even think about that. Having to reinstall all your packages from scratch is not something they do frequently.
And for the people who are looking to optimize the initial setup, there are many ways to do it without a declarative package manager. You can: