7 ms·
What modern utilities should be a standard part of a modern unixy distro?
- deleted 4y ago[deleted]
- tarasglek 4y agonushell looks great, like powershell without weird syntax and ui. Normal programming syntax and great visualization of output! Always wondered why shell languages have to be so ugly.
- 9sIX3oZ1JB5 4y agomtr tcptraceroute
- pseudotrash 4y agoForcing me to install things manually is what appeals to me. In other words, a system that has 5 tools that do the same thing slightly differently is against my philodophy of minimalism. What could be cool maybe is an install time configuration wizard that allows me to select the right tool from a list of variants: maybe have them controlled by the env (like $PAGER, $EDITOR, ...).
- Qem 4y agoOnly works if you have local admin privileges. If you're on a locked corporate station, it sucks. Good luck opening a ticket to corporate IT every time you need some utility of package. That makes me get the chills every time Python developers talk about prunning the standard library.
- PhilipRoman 4y agoAre there even any technical reason why mainstream package managers don't have an easy way to install packages per-user without requiring root access? I'm not a fan of Nix/Guix but IIRC this is something they got right from the start.
- orev 4y agoThe point is that users should not be allowed to install apps that are not allowed by IT/security. So many “legit” apps these days are essentially spyware on their own. We’re not even talking about things that have malicious motives.
- worksonmine 4y agoUnfortunately the majority can't be trusted to make safe decisions. Look at how even the biggest companies get compromised by simple phishing attacks. "Hi, I'm your boss can you give me your private ssh key I need to update something" "Sure, here you go!" When a company gets big enough the probability of having at least one of those people ends up being 100%. "Ouuh I can have emojis? sudo npm i -g". Sure it's a headache but when things go wrong it's ITs fault, so they need to be very careful and your niche tool that might objectively be better is another tool to audit in their eyes.
- zX41ZdbW 4y agoThe website does not open at this moment in time: https://downforeveryoneorjustme.com/exple.tive.org?proto=https https://downforeveryoneorjustme.com/exple.tive.org?proto=htt... About the topic: I always install pv, jq, dstat, perf, mc, rg, and clickhouse.
- sekh60 4y agoI always right away install htop, iotop and iftop.
- mongrelion 4y agoIf you like htop you'd appreciate btop as well
- tomatocracy 4y agoI'd mention glances here as well - in particular because it can show resource usage on a per container basis if you run docker which is something I haven't seen in the others.
- 000ooo000 4y agoIf you like bat, you may find these useful: https://github.com/eth-p/bat-extras#batman https://github.com/eth-p/bat-extras#batman
- orlp 4y agoRipgrep and fd-find are tools written in Rust replacing grep and find. They are in my experience orders of magnitude faster, with arguments I can actually remember.
- deleted 4y ago[deleted]
- jtvjan 4y agoI think having a JSON manipulator like jq be standard would be good, since it would encourage other tools to include JSON as an output format. I think it would reduce complexity as a whole, since tools would no longer need a lot of switches to configure their output, without making the user resort to sed scripts.
- zokier 4y agoTangentially related but it's kinda curious that there aren't any popular opinionated power-user oriented distros around. There is Arch for power-users but its opposite of opinionated, while mainstream distros (Ubuntu etc) chase the user-friendly segment. What I feel missing is essentially preconfigured sway desktop with all the goodies that are out there; the out of the box experience of e.g. arch+sway is very barebones; just because I prefer tiling wm and cli workflows doesn't mean I want to configure everything from scratch. Back in the days crunchbang was kinda in this direction, but unfortunately it did die away..
- eterps 4y agoManjaro-Sway is really close to what you're looking for.
- deleted 4y ago[deleted]
- the_gipsy 4y agoProbably because us powerusers can't agree on the tools we use.
- PedroBatista 4y agoIf your stereotypical regular Linux user is already what it is, imagine an opinionated power-user, which I would jokingly classify as the epitome of insufferable. Every Linux power-user is opinionated - very opinionated, so every single one of them should make their own distro. Which is actually a good thing ( Freedom, remember? ), Everyone should make whatever they want, everyone else is free to criticize or ignore. On the practical side of things, we want someone else to make the things we want, how we want. That's what employees are for and "the market" disagrees on the viability of that.
- PhilipRoman 4y agoI may be a little cynical but when I read the words "modern utilities" my first associations are: too much output coloring (typically implemented by relying on several libraries), no proper documentation, output formats that are not machine-friendly, overuse of TUI interfaces where simple writing to stdout would integrate better with the rest of the world, complicated configuration files (typically requiring even more libraries), etc. Honestly - the only thing i really miss among the default utilities is the hypothetical command "sortby" (and maybe it's cousin "uniqby") which could be used, for example, like this: ... | sortby cut -d: -f2 | ... Or ... | sortby tr [:upper:] [:lower:] | ... I know there are ways to implement practically any type of sorting by using flags to sort and a little bit of {pre,post}processing but having a "sortby" would be so much more elegant. You would have the full power of awk/sed/whatever integrated seamlessly with "sort".
- readingnews 4y ago>> output formats that are not machine-friendly As a long time unix sysadmin, this is the thing that always rears its ugly head.
- pdimitar 4y ago> output formats that are not machine-friendly Not a new problem. It was always like that. Not sure if you know about the `jc` tool. It converts the plain text output of a subset of UNIX commands to JSON. It's helpful, I've used it. > complicated configuration files (typically requiring even more libraries) Not sure I can stand behind the "more libraries" argument, some formats like TOML are stable and predictable and having one more system-wide library is worth it to have them accessible. On config files: if the tool allows you to specify 100% of what you need on the CLI then I usually make an alias and I'm done. I too dislike tools that mandate a config file though. I view the tool authors as not very sympathetic to their users in this case.
- PhilipRoman 4y agoYeah I shouldn't have included that bit about libraries - if there is a config file, it doesn't matter how you parse it. My preferred ways of configuring in order of preference would be: having a config.h (for a few, highly customized programs, like my terminal, browser, etc.), environment variables (has the advantage of applying to subprocesses, which can be useful for some types of programs) and flags. Aliases with flags can be lost in a lot of contexts, but you can always place wrapper scripts in PATH which just exec the real command. As a side note - the wrapper script approach is really powerful for fixing programs that you don't have the time to patch. In particular, if a TUI program doesn't clear the terminal after exiting, you can put it between "tput smcup" and "tput rmcup".
- jillesvangurp 4y agoAs few things as possible. People can install software themselves. IMHO, linux distributions are an odd thing in the software world. It's basically people taking it upon themselves to take other software and repackage it for their distribution. That made some sense 30 years ago when you had to install linux from a CD (or floppies) and people necessarily had to package things up to fit on those CDs. But these days, that's much less of a thing. The recent trends of distributions supporting things like docker, flatpak, snap, etc. enables software producers to package things up once and have them work on many distributions. So, there's less need to rely on package managers and their maintainers to figure out how to package up other people's software. Of course some of these things aren't perfect. But there's a large ecosystem of software that you can get this way that no longer requires packaging up. And even things like docker you can actually get via snap. So, the fewer packages in a linux distribution, the better. Less that can go wrong, less space used on disk, less work to build and package things up, less hassle to update things, etc. All good things. Add the rest yourself as needed.
- viraptor 4y ago> and repackage it for their distribution There's no "re" in there. They decide how to package it for their distribution. The idea that you can take something non-trivial and just install it without issues across multiple systems is flawed. There's a lot of work involved in getting things to work together correctly. (If you don't think that's true, see how many of the current 4k broken packages can you fix in nixos https://hydra.nixos.org/jobset/nixpkgs/trunk https://hydra.nixos.org/jobset/nixpkgs/trunk ) Upstream software often has assumptions about how things work in your system. It's often not correct. > But there's a large ecosystem of software that you can get this way that no longer requires packaging up. Making non-trivial things work correctly in docker, snap, or flatpak is packaging. You effectively still target a specific distribution with a specific setup. It takes work, it takes maintenance, and it likely will degrade over time as your host changes as well.
- TheCoreh 4y ago> The idea that you can take something non-trivial and just install it without issues across multiple systems is flawed Why? If anything, the fact that you can't is the real flaw
- xchip 4y agoIt should - discover other computers - be able to exchange files with them. - set the right permissions for sharing folders - show a descriptive and actionable error message if something goes wrong. That is all I ask for, the rest I can install it myself.
- crabbone 4y agoAs a long time user of utils-linux, I can say this: purge! We need a big, big, huge purge of this ancient decrepit nonsense. We don't need blkid, lsblk, fdisk, wipefs, parted, df and a bunch of other lopsided semi-functional horrors to ask questions about storage. Just one program that works. We need integration of MD, DM, LVM and possibly stuff like Btrfs volumes. ZFS was close to it. And commands associated with these utilities need to make sense in the way they are named and associated with each other. The way it needs to work is something like: $ storage volume-manager physical-volumes list (This doesn't mean you have to type it out in full, useful abbreviations would still apply, but there must be a way to spell it out so that non-initiated may understand the purpose and the reason of the "spell") Instead of guessing whether you should run pvdisplay or btrfs subvolume list Networking seemed like it went in this direction sometime ago with iproute2, but it's still not enough. Stuff like nmcli or all kinds of nslookup, ss and so on need to be brought under one roof, generic enough to allow extensions and implementations by different concrete programs. Today, just in order to find the configuration of one's network interfaces one must scout different places on their filesystem and try to figure out what utility is reading those and whether it's able to understand the config, and whether there's any other config in some other place that overrides the one they are looking at.
- eternityforest 4y agoThe more time goes on the more I start thinking a clean wipe of the entire thing might be in order. Linux is great and all, but it's so full of old crap. It's getting better, but all the old crap still just sticks around fragmenting everything, and there's still no container system that can match APKs, because there's no API level to build to, every system is different, and everyone tries to support 50 different configurations. Nmcli would be part of the OS itself if this were android or windows, and there wouldn't be ConMan and others unless you fork the whole OS or use some plugin API.
- sseagull 4y agoBut developing the new stuff doesn’t make the old stuff go away; there’s a huge userbase with trillions of lines of scripts and stuff to support. It’s thinking like this that led to the fragmentation in the first place.
- dividedbyzero 4y agoPersonally I'd like fish, git, jq, a neutral editor that isn't too polarizing, and a good package manager.
- pasc1878 4y agoYes but the problem is that fish is not POSIX and so can't be the standard. Agreed that allowing non POSIX might improve an OS.
- viraptor 4y agoWorking link while the page is down: https://web.archive.org/web/20230218100221/https://exple.tive.org/blarg/2023/02/17/modern-problems-require-modern-solutions/ https://web.archive.org/web/20230218100221/https://exple.tiv...
- deleted 4y ago[deleted]
- KingLancelot 4y ago[dead]
- ploppyploppy 4y agobat, ripgrep, fzf, tmux, fd, git
- worksonmine 4y agoI install some of these myself, but I would never suggest making them standard. Standard to me is the bare minimum to make a system usable. I've never used OhMyZsh even if zsh is my shell. Alacritty on a server? Not even cURL is installed by default on any distro I use so why should HTTPie be (even if it is a very cool tool)? Or a csv visualizer? If the title was "Cool modern unixy tools" I'd have no complaints, but it does set a high bar when claiming they should be standard.
- JasonBlack555 4y agoMidnight Commander (mc), it's a bit like XTree Gold on DOS.