245
submitted 1 year ago by rutrum@lm.paradisus.day to c/linux@lemmy.ml

Dust is a rewrite of du (in rust obviously) that visualizes your directory tree and what percentage each file takes up. But it only prints as many files fit in your terminal height, so you see only the largest files. It's been a better experience that du, which isn't always easy to navigate to find big files (or atleast I'm not good at it.)

Anyway, found a log file at .local/state/nvim/log that was 70gb. I deleted it. Hope it doesn't bite me. Been pushing around 95% of disk space for a while so this was a huge win 👍

you are viewing a single comment's thread
view the rest of the comments
[-] bizdelnick@lemmy.ml 38 points 1 year ago

I usually use something like du -sh * | sort -hr | less, so you don't need to install anything on your machine.

[-] mvirts@lemmy.world 8 points 1 year ago

Same, but when it's real bad sort fails 😅 for some reason my root is always hitting 100%

I usually go for du -hx | sort -h and rely on my terminal scroll back.

dust does more than what this script does, its a whole new tool. I find dust more human readable by default.

[-] bizdelnick@lemmy.ml 2 points 1 year ago

Maybe, but I need it one time per year or so. It is not a task for which I want to install a separate tool.

Perfect for your use case, not as much for others. People sharing tools, and all the different ways to solve this type of problem is great for everyone.

[-] digdilem@lemmy.ml 4 points 1 year ago* (last edited 1 year ago)

Almost the same here. Well, du -shc *|sort -hr

I admin around three hundred linux servers and this is one of my most common tasks - although I use -shc as I like the total too, and don't bother with less as it's only the biggest files and dirs that I'm interested in and they show up last, so no need to scrollback.

When managing a lot of servers, the storage requirements when installing extra software is never trivial. (Although our storage does do very clever compression and it might recognise the duplication of the file even across many vm filesystems, I'm never quite sure that works as advertised on small files)

[-] dan@upvote.au 3 points 1 year ago

I admin around three hundred linux servers

What do you use for management? Ansible? Puppet? Chef? Something else entirely?

[-] digdilem@lemmy.ml 3 points 1 year ago

Main tool is Uyuni, but we use Ansible and AWX for building new vms, and adhoc ansible for some changes.

[-] dan@upvote.au 3 points 1 year ago* (last edited 1 year ago)

Interesting; I hadn't heard of Uyuni before. Thanks for the info!

[-] cobra89@beehaw.org 1 points 1 year ago

Seems it just runs Salt/Saltstack?

[-] digdilem@lemmy.ml 2 points 1 year ago

Suse forked Redhat's Spacewalk just before it turned into Foreman + Katello.

Then worked an absolute crapload on it to turn it into a modern orchestrator. Part of that was to adopt salt as the agent interface, gradually getting rid of the creaking EL traditional client.

To say "it just runs salt" is to rather miss all the other stuff Uyuni does. Full repo and patch management, remote control, config management, builds, ansible playbook support, salt support, and just about everything else you need to manage hundreds of machines. Oh, and it does that for Rocky, RHEL, Alma, Suse, Ubuntu, Debian and probably a bunch more too, by now. Has a very rich webui, a full API and you can do a bunch more from the cli as well. And if your estate gets too big to manage with one machine, there are proxy agents, as many as you want. I only run a couple of hundred vms through it, but there are estates running thousands.

And it's free and foss.

Honestly, it's pretty awesome and I'm amazed it's not more widely known.

[-] cobra89@beehaw.org 2 points 1 year ago

Oh that's pretty nifty, thanks for the comment. Sorry wasn't trying to minimize the tool, I was simply referring to the orchestration/config management aspect of it when I looked it up real quick.

I used to be responsible for configurations of 40,000 (yes forty thousand) VMs for a large company using puppet and then later using Ansible and that was an interesting challenge. I've been out of the configuration management game for a few years now though so I'm pretty out of the loop. Was familiar with spacewalk back in the day too.

I'll have to check Uyuni out, thanks for sharing!

[-] pete_the_cat@lemmy.world 2 points 1 year ago

We'd use du -xh --max-depth=1|sort -hr

[-] digdilem@lemmy.ml 1 points 1 year ago

du -xh --max-depth=1|sort -hr

Interesting. Do you often deal with dirs on different filesystems?

[-] pete_the_cat@lemmy.world 1 points 1 year ago

Yeah, I was a Linux System Admin/Engineering for MLB/Disney+ for 5 years. When I was an admin, one of our tasks was clearing out filled filesystems on hosts that alerted.

[-] digdilem@lemmy.ml 1 points 1 year ago

Sounds pretty similar to what I do now - but never needed the -x. Guess that might be quicker when you're nested somewhere there is a bunch of nfs/smb stuff mounted in.

[-] pete_the_cat@lemmy.world 2 points 11 months ago

We'd do it from root (/) and drill down from there, it was usually /var/lib or /var/logs that was filling up, but occasionally someone would upload a 4.5 GB file to their home folder which has a quota of 5 GB.

Using ncdu would have been the best way, but that would require it being installed on about 7 thousand machines.

[-] caseyweederman@lemmy.ca 2 points 1 year ago

I'd say head -n25 instead of less since the offending files are probably near the top anyway

[-] lauha@lemmy.one 2 points 1 year ago

Or head instead of less to get the top entries

[-] digdilem@lemmy.ml 1 points 1 year ago

With sort -hr, the biggest ones are generally at the bottom already, which is often what most people care about.

this post was submitted on 29 Oct 2023
245 points (95.9% liked)

Linux

48048 readers
764 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS