Simple script to install basic Rust apps as alternative to default one
Most linux tools are written in C(and C++) for performance and history reasons.
This language is still very popular, but I know from experience that it is very easy to make a mistake in it, which results in memory integrity violation, often resulting in program shutdown, or even worse, in data corruption or leaks.
One of the potential solutions to these problems is to use Rust language providing comparable performance, offering elimination of many types of typical bugs already at the compilation stage.
Although rewriting software from C(or similar) may initially require a lot of work, when adding new features, the programmer will be able to save time on detecting memory corruption (address sanitizer, valgrind) or memory leaks (leak sanitizer, valgrind).
Creating memory safe and big application(>100K code) in C language is almost impossible because every bigger change brings a huge amount of bugs (Rust from all of them will of course magically not protect).
Of course, Rust is not a silver bullet, so it is also worth considering popular and mature apps in another languages.
To install apps you need just download this script, remove unwanted apps and run it
wget https://raw.githubusercontent.com/qarmin/Rusty-Linux/main/RustyLinux.sh
xdg-open RustyLinux.sh
chmod +x RustyLinux.sh
./RustyLinux.sh
To upgrade apps, just run again script.
This will install only newer version of packages.
Cli app | Rust app | Description |
---|---|---|
ls | eza | List content(files/dirs) in dir |
cd | zoxide | Changes the current directory. |
sed | sd | Text stream editor. |
vim | amp | Text editor. |
coreutils | coreutils uutils | Basic Unix utilities. |
cat | bat | Concatenates and displays file content. |
grep | ripgrep | Searches text using patterns. |
du | dust | Estimates disk usage. |
dig | dog | DNS query tool. |
find | fd | Searches for files and directories. |
rm | rip | Removes files or directories. |
locate | lolcate | Quickly finds files. |
curl | websocat | Data transfer tool. |
hexdump | hx | Displays files in hexadecimal format |
ps | procs | Lists process information. |
top | bottom | Displays system processes and resources. |
cut/awk | choose | Text processing tools |
sort/uniq -c | uniqtoo | Sorts and counts lines. |
make | just | Build automation tool. |
htop | zenith | Interactive system monitor. |
jq | jql | Command-line JSON processor. |
gnome-terminal | alacritty | Text-based system interface. |
cloc | tokei | Counts lines of code |
bc | eva | Command-line calculator. |
tree | broot | Displays directory structure. |
Gomu | termamusic | Music player |
? | hyperfine | benchmark tool |
Gui app | Rust app | Description |
---|---|---|
Eye of gnome | emulsion | Image Viewer |
gnome-system-monitor | process viewer | Provides system performance info |
gnome-text-editor | gxi | Text editor |
Etcher/Rufus/Ventoy | popsicle | Creates bootable USB drives |
FSlint | czkawka, fclones-gui | Removes unnecessary files/duplicates. |
Bulky, Nautilus Renamer | szyszka | Bulk File/Folder renamer |
Strawberry | amberol | Music player |
Godot | Fyrox | Game engine |
Gnome, KDE Plasma | Cosmic DE | Desktop environment |
VLC, mpv | ? | Video player |
Gimp/inkscape | ? | Graphic editor |
Cheese | ? | Camera |
Qbittorrent/Transmission | ? | Torrent downloader |
If you know about some good Rust application for Linux, which is alternative to existing one, please create pull-request or new issue about it.
This applications should be active and newest commit should be younger than 1 year.