Software Development Simplified

How to Install Updated eza on Debian: Modern ls Replacement

By Dario on Aug 1, 2025
eza Modern ls Replacement Installation on Debian

How to Install Updated eza on Debian: Modern ls Replacement

eza is a modern, maintained replacement for the venerable file-listing command-line program ls that ships with Unix and Linux operating systems. Written in Rust, eza gives you more features and better defaults while being small, fast, and just one single binary.

If you’re tired of the plain, colorless output of the traditional ls command and want a more modern, feature-rich alternative, eza is the perfect solution. However, getting the latest version on Debian can be challenging since the official repositories often lag behind the upstream releases.

Fortunately, the unofficial debian.griffo.io repository provides the latest eza packages, ensuring you get all the newest features and improvements as soon as they’re available.

What Makes eza Special?

eza is the actively maintained successor to the popular exa project, offering significant improvements and new features:

🎨 Rich Visual Output

  • Colors and icons to distinguish file types
  • Customizable themes via theme.yml configuration
  • Grid and tree views for better file organization
  • Human-readable file sizes and dates

🔗 Git Integration

  • Git status indicators for files and repositories
  • Tracks ignored files and shows repository information
  • Branch and commit information directly in listings

📊 Extended Metadata

  • Symlink resolution and extended attributes
  • Mount point information and SELinux context
  • Relative dates that are easy to understand
  • File permissions with clear visual indicators

🔧 Highly Configurable

  • Custom themes for personalized appearance
  • Extensive command-line options for fine-tuning
  • Backwards compatibility with ls and exa commands
  • Alias-friendly for seamless integration

eza vs ls vs exa

Featurelsexaeza
ColorsLimited
Icons
Git Integration✅ Enhanced
Tree View
Custom Themes
Hyperlinks
Active Maintenance
Security Fixes

Why Use debian.griffo.io?

The debian.griffo.io repository offers several advantages for eza installation:

  • Latest versions - Get new eza features within hours of release
  • No compilation required - Pre-built binaries ready to use
  • Automatic updates through APT package manager
  • Proper dependencies - Correctly packaged with all required libraries
  • Multi-distribution support - Works on Bookworm, Trixie, and Sid
  • Easy maintenance - Simple apt commands for updates

Prerequisites

Before we begin, make sure you have:

  • A Debian-based system (Bookworm, Trixie, or Sid)
  • sudo privileges
  • curl installed (install with sudo apt install curl if needed)

Step 1: Add the Repository

First, add the GPG key and repository to your system:

# Add the GPG key
curl -sS https://debian.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/debian.griffo.io.gpg

# Add the repository
echo "deb https://debian.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/debian.griffo.io.list

Step 2: Update Package Lists

Update your package lists to include the new repository:

sudo apt update

Step 3: Install eza

Now install the latest version of eza:

sudo apt install eza

Step 4: Verify Installation

Confirm that eza is installed and working:

eza --version

You should see output similar to:

eza 0.23.0

Getting Started with eza

Now that eza is installed, let’s explore its features:

Basic Usage

Replace your regular ls commands with eza:

# Basic listing with colors and icons
eza

# Long format with detailed information
eza -l

# Show all files including hidden ones
eza -la

# Tree view for directory structure
eza --tree

# Grid view with icons
eza --icons --grid

Advanced Features

Take advantage of eza’s advanced capabilities:

# Show Git status for files
eza -l --git

# Sort by file size, largest first
eza -l --sort=size --reverse

# Show only directories
eza -D

# Recursive listing with depth limit
eza -R --level=2

# Custom time format
eza -l --time-style=iso

# Show mount point information
eza -l --extended

Creating Useful Aliases

Make eza your default file listing tool by adding aliases to your shell configuration:

# Add to ~/.bashrc or ~/.zshrc
echo 'alias ls="eza"' >> ~/.bashrc
echo 'alias ll="eza -l"' >> ~/.bashrc
echo 'alias la="eza -la"' >> ~/.bashrc
echo 'alias lt="eza --tree"' >> ~/.bashrc
echo 'alias lg="eza -l --git"' >> ~/.bashrc

# Reload your shell configuration
source ~/.bashrc

Custom Themes

eza supports custom themes through a theme.yml file. Create one in your config directory:

# Create config directory if it doesn't exist
mkdir -p ~/.config/eza

# Create a basic theme file
cat > ~/.config/eza/theme.yml << 'EOF'
filenames:
  README: yellow
  Makefile: green
  Dockerfile: blue
extensions:
  rs: orange
  py: blue
  js: yellow
  md: cyan
EOF

What’s New in Latest eza Versions

Recent eza releases include exciting new features:

  • Custom Themes: Full theme customization via theme.yml
  • Hyperlink Support: Clickable file paths in supported terminals
  • Enhanced Git Status: Better repository status display
  • Mount Point Details: Show filesystem mount information
  • Security Fixes: Multiple security improvements over exa
  • Bright Colors: Support for bright terminal color schemes
  • Performance Improvements: Faster file listing and sorting

Updating eza

Keep eza up-to-date with regular system updates:

sudo apt update && sudo apt upgrade

The repository is updated within hours of new eza releases, ensuring you always have access to the latest features and bug fixes.

Other Available Packages

The debian.griffo.io repository includes many other modern command-line tools:

  • uv: Fast Python package manager (installation guide)
  • zig: Modern systems programming language (installation guide)
  • fzf: Command-line fuzzy finder (installation guide)
  • yazi: Advanced terminal file manager
  • zoxide: Smart cd command replacement
  • lazydocker: Terminal UI for Docker
  • lazygit: Terminal UI for Git

You can explore all available packages at debian.griffo.io.

If you’re interested in other development tools available from the same repository, check out our guides on How to Install uv on Debian for Python package management, How to Install Zig on Debian for systems programming, and How to Install Updated fzf on Debian for powerful fuzzy finding. All these tools use the same repository and installation process.

Troubleshooting

Repository Key Issues

If you encounter GPG key problems:

# Remove old key if it exists
sudo rm -f /etc/apt/trusted.gpg.d/debian.griffo.io.gpg

# Add the current key
curl -sS https://debian.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/debian.griffo.io.gpg

Package Not Found

If APT can’t find the eza package:

  1. Ensure you’ve run sudo apt update after adding the repository
  2. Check your Debian distribution is supported (Bookworm, Trixie, or Sid)
  3. Verify the repository was added correctly: cat /etc/apt/sources.list.d/debian.griffo.io.list

Icons Not Showing

If icons aren’t displaying properly:

  1. Install a Nerd Font or icon-compatible font
  2. Ensure your terminal supports Unicode
  3. Try the --icons flag explicitly: eza --icons

Uninstalling

If you need to remove eza:

# Remove eza package
sudo apt remove eza

# Remove the repository (optional)
sudo rm /etc/apt/sources.list.d/debian.griffo.io.list
sudo rm /etc/apt/trusted.gpg.d/debian.griffo.io.gpg
sudo apt update

Conclusion

Installing the latest eza on Debian doesn’t have to be complicated. The debian.griffo.io repository provides an easy, maintainable way to install and keep eza up-to-date on your Debian system. With eza installed, you get:

  • Modern, colorful file listings that are easier to read
  • Git integration for better development workflow
  • Customizable themes to match your preferences
  • Advanced features like tree views and extended metadata
  • Regular updates with the latest improvements and security fixes

Whether you’re a developer who spends a lot of time in the terminal, a system administrator managing files, or just someone who wants a better command-line experience, eza is an excellent upgrade from the traditional ls command.

The repository is maintained as an unofficial community project and provides packages that aren’t available in the official Debian repositories. It’s a valuable resource for Debian users who want access to modern command-line tools without the hassle of manual compilation.

Happy file browsing with eza!

Resources


Disclaimer: The debian.griffo.io repository is an unofficial community project and is not affiliated with the official Debian project or the eza development team.

Twitter iconLinkedIn iconGitHub iconYouTube icon
© 2025 Dario Griffo. All rights reserved.