Today I saw a Tweet by Marius Gedminas, who wrote about lfs, a replacement for df.

It is one of the many tools, implemented in Rust, which offer some more features compared to their bash alternatives.

What about no

When I tried to install it, I just saw the following error message:

❯ cargo install lfs
    Updating index
  Downloaded lfs v2.6.0
error: failed to parse manifest at `/home/jugmac00/.cargo/registry/src/`

Caused by:
  feature `strip` is required

  The package requires the Cargo feature called `strip`, but that feature is not stabilized in this version of Cargo (1.56.0 (4ed5d137b 2021-10-04)).
  Consider trying a newer version of Cargo (this may require the nightly release).
  See for more information about the status of this feature.

While the error message is pretty nice, it lacks one important thing: “How do I update Cargo?”

But first I checked the currently installed version:

❯ cargo --version
cargo 1.56.0 (4ed5d137b 2021-10-04)

Googling for update cargo did not really help a lot, as the results mostly referred to the cargo update command.

What about rustup

After a while I found the correct command:

rustup update

After running the above command, cargo was updated and I finally was able to install lfs.

❯ cargo --version
cargo 1.64.0 (387270bc7 2022-09-16)
❯ cargo install lfs
    Updating index
  Installing lfs v2.6.0
  Downloaded argh_shared v0.1.9
   Compiling lfs v2.6.0
    Finished release [optimized] target(s) in 24.19s
  Installing /home/jugmac00/.cargo/bin/lfs
   Installed package `lfs v2.6.0` (executable `lfs`)

Still here?

Right, why would you install lfs when df is available?

SNAPS! :-)

Try to run df on any Ubuntu system (< 22.04) and you will see a lot of noise from installed Snaps.

lfs on the other hand filters Snap out by default.



My colleague Oliver Grawert pointed out that beginning with 22.04, df filters Snaps, too!