livefs hard links

Warren Block wblock at wonkity.com
Thu Jul 8 15:37:04 UTC 2010


On Thu, 8 Jul 2010, Anonymous wrote:

>> But the mounted ISO filesystem doesn't show hard links as hard links:
>>
>> # ls -li /mnt/rescue
>> 416796 -r-xr-xr-x  414 root  wheel  4367520 Jun  9 14:49 [
>> 399564 -r-xr-xr-x  414 root  wheel  4367520 Jun  9 14:49 atacontrol
>> 399690 -r-xr-xr-x  414 root  wheel  4367520 Jun  9 14:49 atmconfig
>> 399816 -r-xr-xr-x  414 root  wheel  4367520 Jun  9 14:49 badsect
>> ...
>
> 414 is the number of hardlinks.

Yes, but I was (poorly) pointing out the differing inode numbers.

> You can as well try to use iso9660 reader in libarchive, e.g.
>
>  $ bsdtar xvf /dev/cd0 --include rescue/\*
>  $ bsdtar xvf /path/to/blah.iso --include rescue/\*

Much better!  bsdtar recreates the hard links.  It has a problem with 
only one directory on the ISO:

# bsdtar xpf /tmp/FreeBSD-8.1-PRERELEASE-201006-i386-livefs.iso -C /tmp/freebsd/
bsdtar: Ignoring out-of-order file @340a6980 (usr/include/c++/4.2/ext/pb_ds/detail/basic_tree_policy) 4876288 < 5138432
bsdtar: Ignoring out-of-order file @340a6980 (usr/include/c++/4.2/ext/pb_ds/detail/basic_tree_policy) 4876288 < 5138432
bsdtar: Ignoring out-of-order file @340a6980 (usr/include/c++/4.2/ext/pb_ds/detail/basic_tree_policy) 4876288 < 5138432
bsdtar: Ignoring out-of-order file @340a6a80 (usr/include/c++/4.2/ext/pb_ds/detail/bin_search_tree_) 4878336 < 5138432
bsdtar: Ignoring out-of-order file @340a6b00 (usr/include/c++/4.2/ext/pb_ds/detail/binary_heap_) 4880384 < 5138432
bsdtar: Ignoring out-of-order file @340a6b80 (usr/include/c++/4.2/ext/pb_ds/detail/binomial_heap_) 4882432 < 5138432
...

Hard to tell if that's the ISO or a bug in libarchive.

Thanks!


More information about the freebsd-questions mailing list