Mam dysk (kartę SD) z kilkoma partycjami ext4, ale także trochę nieprzydzielonego miejsca. fstrimNarzędzie może pracować tylko w systemie plików. Czy zanim jeszcze raz wymyślę koło i napiszę jedno, czy istnieje inne narzędzie, które może PRZYCINAĆ nieprzydzielone miejsce (lub które może PRZYCINAĆ wyraźnie określony zakres)?
Mogę sprawdzić, czy większość nieprzydzielonego miejsca na urządzeniu nie jest obecnie znana jako wolna od kontrolera, ponieważ zauważyłem, że na tej konkretnej karcie odczytuje się skrócone znaki zerowe, ale skan urządzenia pokazuje pozostało dużo śmieci.
Edycja: Mam problem z używaniem hdparm. Poniższy przykład odrzuca pierwszy sektor, ale widzę te same wyniki niezależnie od określonego zakresu. fstrimnie ma problemów z urządzeniem:
root@ubuntu:~# hdparm --please-destroy-my-drive --trim-sector-ranges 0:1 --verbose /dev/mmcblk0
/dev/mmcblk0:
trimming 1 sectors from 1 ranges
outgoing cdb: 85 0d 06 00 01 00 01 00 00 00 00 00 00 40 06 00
outgoing_data:
00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ioctl(fd,SG_IO): Invalid argument
FAILED: Invalid argument
Badam dalej, ale czy ktoś ma wgląd w to?
blkdiscardwydaje się , że nie jest dostępne w moich standardowych repozytoriach pakietów (Ubuntu 12.04, nie wydaje się być w nim obecne util-linux).
hdparmjakiegoś powodu nigdy nie byłem w stanie pracować dla mnie, ale skorzystałem ze źródła util-linux z github.com/karelzak/util-linux/tree/stable/v2.23 , zbudowałem ( ./autogen.sh ; ./configure ; make blkdiscard) i działa świetnie. Nadal się zastanawiam, hdparmale blkdiscardrobi dokładnie to, czego chcę. Bonus: Nie musisz najpierw tworzyć tymczasowego systemu plików, możesz go użyć, sfdisk -laby obliczyć przestrzeń między partycjami i blkdiscardją przyciąć.
blkdiscardpracować z opcjami przesunięcia / długości. Więc tymczasowe partycje, które zasugerowałem, nie są nawet konieczne. Miły!
blkdiscardna nich, która przycina całe urządzenie.