Re: Duplicate files /boot/grub/locale/*.mo~ in iso file made by grub-mkrescue

Adam Purkrt <[email protected]> Sat, 24 May 2025 18:14:56 +0200
Newsgroups gmane.comp.boot-loaders.grub.bugs
Message-ID <[email protected]>
Hi, so I've tried on updated Debian 12 to come to the same conclusion
as you - the problem does not occur there, but it does on Gentoo and Arch.
Maybe the reason is different libisoburn or xorriso version behaving differently
and adding those ".mo~" files...

Regarding the experiment (back on Gentoo):


renergy ~ # path_to_iso=./grub.iso
renergy ~ # xorriso -indev "$path_to_iso" -find / -name '[email protected]*' -exec report_lba --
xorriso 1.5.6 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE :     983 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev './grub.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , MBR protective-msdos-label grub2-mbr cyl-align-off GPT APM
Media summary: 1 session, 13984 data blocks, 27.3m data,  124g free
Volume id    : 'ISOIMAGE'
Report layout: xt , Startlba ,   Blocks , Filesize , ISO image path
File data lba:  0 ,     6147 ,       87 ,   177539 , '/boot/grub/locale/[email protected]'
File data lba:  0 ,     6234 ,       87 ,   177539 , '/boot/grub/locale/[email protected]~'
renergy ~ #


So the .mo~ files really are duplicates, wasting 5.5M in total (duplicates only)

Btw I thought ISO9660 does not have hard nor soft links, but the
same blocks could be addressed in two different ways (?) - this is not
the case here, though.

Best regards,
Adam


On 5/24/25 4:53 PM, Thomas Schmitt wrote:
> Hi,
> 
> i got a little experiment for you to check whether the .mo~ files
> really eat up 2.7 MB in your ISO. They would not if they were hardlinks
> in the /tmp/grub.* directory.
> 
>    $ path_to_iso=./output.iso
>    $ xorriso -indev "$path_to_iso" -find / -name '[email protected]*' -exec report_lba --
>    ...
>    Report layout: xt , Startlba ,   Blocks , Filesize , ISO image path
>    File data lba:  0 ,     3151 ,       73 ,   147664 , '/boot/grub/locale/[email protected]'
>    $
> 
> If you see two lines with identical numbers, like
> 
>    File data lba:  0 ,     3151 ,       73 ,   147664 , '/boot/grub/locale/[email protected]'
>    File data lba:  0 ,     3151 ,       73 ,   147664 , '/boot/grub/locale/[email protected]~'
> 
> then both files share the same content storage in the ISO.
> The waste would only be about a few dozen ISO 9660 directory records
> with about a hundred bytes each.
> 
> 
> Have a nice day :)
> 
> Thomas
>