How to Install Nala on Debian 13, 12 and 11

Install Nala on Debian 13, 12, and 11 for faster parallel downloads and transaction history. Includes Volian repository setup.

Last updatedAuthorJoshua JamesRead time8 minGuide typeDebian

APT already works, but reading a large package transaction or undoing one later is easier when the frontend shows clear changes and keeps its own history. That makes it useful to install Nala on Debian if you want cleaner upgrades, parallel downloads, and rollback history on Debian 13, 12, or 11 without replacing APT itself.

Debian 13 and Debian 12 ship Nala in their default APT sources. Debian 11 needs the Volian repository instead, and Debian 12 or 13 can use that same repository when you specifically want Volian as the package source. At the moment, only Debian 12 gets a newer Nala build from Volian.

Install Nala on Debian

The main choice is simple: use Debian’s own package sources on Debian 12 and 13, use Volian on Debian 11, and only add Volian on Debian 12 or 13 when you specifically want Volian as the package source.

MethodChannelDebian ReleasesUpdatesBest For
Default repositoriesDebian PackagesDebian 12, 13Automatic through APTMost Debian users
Volian repositoryVolian Nala wikiDebian 11, optional on Debian 12 and 13Automatic through APTDebian 11 users, or users who specifically want Volian as the source

Debian’s default package sources are the right choice on Debian 12 and Debian 13. Use Volian when you need Nala on Debian 11, or when you specifically want the newer upstream package on Debian 12 before Debian catches up. Debian 13 already ships Nala 0.16.0, so adding Volian there usually changes the package source without changing the installed Nala build.

Debian 11 never shipped Nala in its default package sources. If you are ready to leave Bullseye behind, upgrade Debian 11 to Debian 12 and you can install Nala directly from Debian’s own repositories.

Refresh Debian package metadata before installing Nala

Refresh the package index before installing Nala. If APT reports pending security or core package upgrades, run a normal upgrade separately and review the transaction before confirming it.

sudo apt update

The install commands use sudo for tasks that need root privileges. If your account is not in the sudoers file yet, follow how to add a user to sudoers on Debian.

Install Nala from Debian’s default repositories

Debian 12 and Debian 13 can install Nala directly from their standard package sources.

sudo apt install nala

Check the installed version to confirm the package is available and the command is in your path.

nala --version

Example output on Debian 13:

nala 0.16.0

Debian 12 currently reports nala 0.12.2. Debian 13 reports nala 0.16.0, and both builds support the day-to-day commands covered here.

Install Nala from the Volian repository

Debian 11 needs the Volian repository because Bullseye never shipped Nala. Debian 12 can also use this path to jump from Nala 0.12.2 to 0.16.0, while Debian 13 already ships the same 0.16.0 build in trixie.

Install curl for the repository downloads and ca-certificates so APT trusts the HTTPS repository on minimal Debian installs.

sudo apt install curl ca-certificates

The repository files are downloaded with curl. For more transfer and troubleshooting options, see curl command in Linux.

Download Volian’s published keyring, DEB822 source file, and APT preference file directly. This uses the same repository metadata as Volian’s helper package but keeps the setup visible and avoids creating a legacy one-line .list source. curl runs without elevated privileges; sudo tee only writes the downloaded files into system paths.

set -o pipefail
sudo install -m 0755 -d /usr/share/keyrings /etc/apt/sources.list.d /etc/apt/preferences.d

curl -fsSL https://gitlab.com/volian/volian-archive/-/raw/main/volian-archive-scar-unstable.gpg | sudo tee /usr/share/keyrings/volian-archive-scar-unstable.gpg > /dev/null
curl -fsSL https://gitlab.com/volian/volian-archive/-/raw/main/volian-archive-nala-unstable.sources | sudo tee /etc/apt/sources.list.d/volian-archive-nala-unstable.sources > /dev/null
curl -fsSL https://gitlab.com/volian/volian-archive/-/raw/main/volian-archive-nala-unstable.pref | sudo tee /etc/apt/preferences.d/volian-archive-nala-unstable.pref > /dev/null

sudo chmod 0644 /usr/share/keyrings/volian-archive-scar-unstable.gpg
sudo chmod 0644 /etc/apt/sources.list.d/volian-archive-nala-unstable.sources
sudo chmod 0644 /etc/apt/preferences.d/volian-archive-nala-unstable.pref

That setup creates /etc/apt/sources.list.d/volian-archive-nala-unstable.sources, adds /etc/apt/preferences.d/volian-archive-nala-unstable.pref so Volian’s Nala packages win when selected, and stores the signing key in /usr/share/keyrings/volian-archive-scar-unstable.gpg.

Read the generated source and preference files once so you can confirm the repo uses DEB822 format, a dedicated keyring, and a package-specific pin for Nala.

cat /etc/apt/sources.list.d/volian-archive-nala-unstable.sources
printf '\n'
cat /etc/apt/preferences.d/volian-archive-nala-unstable.pref

Relevant output includes:

Types: deb deb-src
URIs: https://deb.volian.org/volian/
Suites: nala
Components: main
Signed-By: /usr/share/keyrings/volian-archive-scar-unstable.gpg

Package: *
Pin: release a=nala
Pin-Priority: 100

Package: nala
Pin: release a=nala
Pin-Priority: 990

Confirm that the source file is DEB822 and that no Volian legacy .list file was added.

find /etc/apt/sources.list.d -maxdepth 1 \( -name 'volian*.sources' -o -name 'volian*.list' \) -print

Expected output:

/etc/apt/sources.list.d/volian-archive-nala-unstable.sources

The Signed-By line keeps the Volian key scoped to this repository instead of trusting it for every package source on the system. If a Volian .list path appears in the check, it came from an older or separate setup and should be inspected before continuing.

Refresh APT so Debian pulls the Volian metadata into the package cache.

sudo apt update

Relevant lines include the new Volian source:

Get:3 https://deb.volian.org/volian nala InRelease [35.1 kB]
Get:4 https://deb.volian.org/volian nala/main Sources [3,228 B]
Get:5 https://deb.volian.org/volian nala/main all Packages [16.5 kB]
Get:6 https://deb.volian.org/volian nala/main amd64 Packages [17.3 kB]

Confirm that nala now has a candidate version from Volian before you install it.

apt-cache policy nala

Relevant lines on Debian 11 include:

nala:
  Installed: (none)
  Candidate: 0.16.0
  Version table:
     0.16.0 990
        100 https://deb.volian.org/volian nala/main amd64 Packages
        100 https://deb.volian.org/volian nala/main all Packages

The 990 priority comes from Volian’s preference file. Bookworm switches to Volian’s newer 0.16.0 candidate here, while Trixie can still show Debian’s own 0.16.0 package alongside Volian. That is why Debian 13 usually has no practical reason to add the extra repository.

Debian 12 and Debian 13 can install Nala normally once the Volian repository is active.

sudo apt install nala

Debian 11 needs the -t nala target release so APT also pulls the newer Python dependencies from Volian instead of Bullseye’s older packages.

sudo apt install -t nala nala

The -t nala flag tells APT to prefer packages from Volian’s nala suite for this install, which resolves the newer Python dependency chain Bullseye lacks in its default sources.

Verify the installed Nala version after either Volian install path.

nala --version

Example output:

nala 0.16.0

Use Common Nala Commands on Debian

Nala keeps the same package names and the same repositories as APT, so the commands feel familiar right away. The difference is the cleaner output, the download progress view, and the transaction history once you start using it for package changes.

Refresh package lists with Nala

Use Nala’s update command any time you want to sync package metadata from your configured repositories.

sudo nala update

Upgrade packages with Nala

Run Nala’s upgrade command when you want a full package-upgrade summary before anything changes.

sudo nala upgrade

Install and remove packages with Nala

Package installs and removals use the same names APT expects, so you can switch commands without changing how you think about the package database.

sudo nala install <package-name>

The package names are the same ones you would use with APT, so tasks such as install htop on Debian or install Git on Debian translate directly to nala install.

Use remove when you want to keep configuration files, or purge when you want the package and its config files gone.

sudo nala remove <package-name>
sudo nala purge <package-name>
sudo nala autoremove

Review the package list before confirming nala autoremove, especially on systems that already had autoremovable packages before you installed Nala.

Search and inspect packages with Nala

Use search when you only know part of a package name, and use show when you want the package description, dependencies, and current version details.

nala search <keyword>
nala show <package-name>

Rank faster mirrors with Nala Fetch

nala fetch benchmarks mirrors and lets you pick the ones you want to keep. It is optional, and Nala still works with Debian’s current mirror configuration if you skip it.

sudo nala fetch

The prompt is interactive, so choose a few low-latency mirrors and press Enter to save them. Faster mirrors help most when you handle larger upgrades or repeat installs on the same machine.

Review Nala transaction history

Nala records the package changes that Nala itself performs, which makes it easier to trace a bad upgrade or roll back a test install.

nala history
sudo nala history undo <ID>
sudo nala history redo <ID>

A fresh install can still report Error: No history exists. until you finish your first Nala transaction. Once you install, remove, or upgrade something with Nala, the command starts listing numbered history entries you can undo or redo.

Update Nala on Debian

Both supported installation paths register Nala with APT, so package updates use the same package-management flow as the install. Refresh package metadata first, then target Nala with APT when you do not want to start a full system upgrade.

sudo apt update
sudo apt install --only-upgrade nala

If Nala came from Volian, keep the Volian source and preference file enabled before expecting Volian updates. Use sudo nala upgrade only when you intend to review and apply normal system upgrades, not when you want to target the Nala package alone.

Remove Nala from Debian

Remove the package first, then remove the Volian repository only if you added it for Debian 11 or for newer upstream builds.

Remove the Nala package on Debian

APT removes the Nala package cleanly, and autoremove can clear Python dependencies that came in only for Nala. Review the autoremove list before you confirm it, especially on systems that already have unrelated autoremovable packages.

sudo apt remove nala
sudo apt autoremove

apt autoremove can also remove Python support packages that were pulled in with Nala on a clean system. If you use libraries such as python3-apt or python3-debian in your own scripts, keep any package you still need before confirming the transaction.

Check the package state after removal.

apt-cache policy nala

Example output on Debian 13 after removing the package:

nala:
  Installed: (none)
  Candidate: 0.16.0
  Version table:
     0.16.0 500
        500 http://deb.debian.org/debian trixie/main amd64 Packages
        100 /var/lib/dpkg/status

Debian 12 shows the same layout with Candidate: 0.12.2. If Volian is still enabled on Debian 11, the candidate remains available until you remove the Volian source, preference file, and keyring in the next step.

Remove the Volian repository on Debian

Remove the manual Volian files, or purge the older helper packages if your system already has them. The guarded block below chooses the helper-package cleanup only when those packages are installed or left in residual-config state.

if dpkg-query -W -f='${db:Status-Abbrev}\n' volian-archive-nala volian-archive-keyring 2>/dev/null | grep -Eq '^(ii|rc)'; then
    sudo apt purge volian-archive-nala volian-archive-keyring
else
    sudo rm -f /etc/apt/sources.list.d/volian-archive-nala-unstable.sources
    sudo rm -f /etc/apt/preferences.d/volian-archive-nala-unstable.pref
    sudo rm -f /usr/share/keyrings/volian-archive-scar-unstable.gpg
fi

sudo apt update

Verify that the Volian source, legacy list paths, preference file, and keyring are gone.

remaining_volian_files="$(find /etc/apt/sources.list.d /etc/apt/preferences.d /usr/share/keyrings -maxdepth 1 \( -name 'volian*.sources' -o -name 'volian*.list' -o -name 'volian*.pref' -o -name 'volian*.gpg' \) -print 2>/dev/null)"

if [ -n "$remaining_volian_files" ]; then
    printf '%s\n' "$remaining_volian_files"
else
    echo "No Volian files remain"
fi

Expected output:

No Volian files remain

Confirm Bullseye no longer has a repository candidate for Nala.

apt-cache policy nala

Example output on Debian 11 after removing Volian:

nala:
  Installed: (none)
  Candidate: (none)
  Version table:
     0.16.0 -1
        100 /var/lib/dpkg/status

Remove Nala history and mirror data on Debian

Nala can leave a history file behind after you use it for real package transactions, so remove that directory only if you want a full cleanup.

Deleting /var/lib/nala/ permanently removes Nala’s history and any mirror choices you saved with nala fetch.

Print the directory first so you can confirm the cleanup target before deleting it.

sudo find /var/lib/nala -maxdepth 0 -print 2>/dev/null || echo "No Nala history directory found"
sudo rm -rf /var/lib/nala/

Verify that the history directory is gone.

sudo test ! -e /var/lib/nala && echo "/var/lib/nala removed"

Expected output:

/var/lib/nala removed

Troubleshoot Nala on Debian

Most Nala problems on Debian come down to missing repository metadata, Bullseye dependency gaps, or optional mirror selection issues.

Fix Debian 11 dependency conflicts for Nala

Bullseye’s default Python packages are too old for the current Nala build, so APT can fail if you forget to target Volian’s nala suite.

The following packages have unmet dependencies:
 nala : Depends: python3-httpx (>= 0.17.0) but 0.16.1-1 is to be installed

Retry the install with the Volian target release so APT pulls the dependency chain from the same repository.

sudo apt install -t nala nala

Confirm the candidate still points at Volian before you retry if you want to rule out a broken repository configuration.

apt-cache policy nala

Relevant lines include:

nala:
  Installed: (none)
  Candidate: 0.16.0
  Version table:
     0.16.0 990
        100 https://deb.volian.org/volian nala/main amd64 Packages
        100 https://deb.volian.org/volian nala/main all Packages

Fix Nala Fetch mirror timeouts on Debian

Mirror ranking is optional, so start by checking whether Debian’s mirror hostname resolves cleanly before you spend time chasing a fetch failure.

getent hosts deb.debian.org | head -n 2

Example output:

2a04:4e42::644 debian.map.fastlydns.net deb.debian.org
2a04:4e42:200::644 debian.map.fastlydns.net deb.debian.org

IPv4 results are fine here too, and the exact addresses can differ between networks. The important part is that deb.debian.org resolves cleanly before you blame nala fetch.

If name resolution works, you can skip nala fetch and keep Debian’s current mirrors. Nala still updates and installs packages normally without a custom mirror list.

Fix "Unable to locate package nala" on Debian 11

That error means Bullseye is still looking only at its default package sources, where Nala never existed.

E: Unable to locate package nala

Recreate the Volian source files, refresh APT, and then install Nala with the Bullseye-specific target release.

sudo apt install curl ca-certificates
set -o pipefail
sudo install -m 0755 -d /usr/share/keyrings /etc/apt/sources.list.d /etc/apt/preferences.d
curl -fsSL https://gitlab.com/volian/volian-archive/-/raw/main/volian-archive-scar-unstable.gpg | sudo tee /usr/share/keyrings/volian-archive-scar-unstable.gpg > /dev/null
curl -fsSL https://gitlab.com/volian/volian-archive/-/raw/main/volian-archive-nala-unstable.sources | sudo tee /etc/apt/sources.list.d/volian-archive-nala-unstable.sources > /dev/null
curl -fsSL https://gitlab.com/volian/volian-archive/-/raw/main/volian-archive-nala-unstable.pref | sudo tee /etc/apt/preferences.d/volian-archive-nala-unstable.pref > /dev/null
sudo chmod 0644 /usr/share/keyrings/volian-archive-scar-unstable.gpg
sudo chmod 0644 /etc/apt/sources.list.d/volian-archive-nala-unstable.sources
sudo chmod 0644 /etc/apt/preferences.d/volian-archive-nala-unstable.pref
sudo apt update
sudo apt install -t nala nala

Conclusion

Nala is installed on Debian and ready to handle the same package work you already do with APT, but with clearer summaries and rollback history. For the next step, configure unattended upgrades on Debian to keep security fixes moving automatically, or install Flatpak on Debian if you also want a separate channel for desktop apps outside the APT repositories.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: