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
| Feature | ls | exa | eza |
|---|---|---|---|
| Colors | Limited | ✅ | ✅ |
| 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)
sudoprivilegescurlinstalled (install withsudo apt install curlif 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:
- Ensure you’ve run
sudo apt updateafter adding the repository - Check your Debian distribution is supported (Bookworm, Trixie, or Sid)
- 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:
- Install a Nerd Font or icon-compatible font
- Ensure your terminal supports Unicode
- Try the
--iconsflag 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
- eza Official Website
- eza GitHub Repository
- debian.griffo.io Repository
- eza Documentation
- eza Themes Documentation
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.