Categories
DailyOps

How to install human-friendly apt front-end

Install nala a human-friendly apt front-end using the python-apt API.

Add a repository, which supports amd64, arm64, and armhf architectures.

$ echo "deb [arch=amd64] http://deb.volian.org/volian/ scar main" | sudo tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list

Install repository key.

$ curl --silent --output - https://deb.volian.org/volian/scar.key | sudo tee /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg

Update package index.

$ sudo apt update 

Inspect package details.

$ apt info nala
Package: nala
Version: 0.6.0
Priority: important
Section: admin
Maintainer: Volian Developers 
Installed-Size: 14.6 MB
Depends: libc6 (>= 2.29), libpython3.9 (>= 3.9.1), apt, python3-apt, python3-pexpect, python3-typing-extensions, python3-rfc3986, python3-sniffio, python3-certifi, python3-idna, python3-jsbeautifier
Homepage: https://gitlab.com/volian/nala
Download-Size: 3896 kB
APT-Sources: http://deb.volian.org/volian scar/main amd64 Packages
Description: commandline frontend for the apt package manager
 nala is a frontend for the apt package manager. It has a lot
 of the same functionality, but formats the output to be more
 human readable. Also implements a history function to see past
 transactions and undo/redo them. Much like Fedora's dnf history.

N: There are 2 additional records. Please use the '-a' switch to see them.

Install package.

$ sudo apt install nala

Display help information.

$ nala --help
usage: nala [--options] 

commands:
    install                install packages
    remove                 remove packages
    purge                  purge packages
    update                 update package list and upgrade the system
    upgrade                alias for update
    fetch                  fetches fast mirrors to speed up downloads
    show                   show package details
    search                 search package names and descriptions
    history                show transaction history
    clean                  clears out the local repository of retrieved package files

optional arguments:
  -h, --help               show this help message and exit
  -y, --assume-yes         assume 'yes' to all prompts and run non-interactively
  -d, --download-only      package files are only retrieved, not unpacked or installed
  -v, --verbose            disable scrolling text and print extra information
  -f, --fix-broken         attempts to fix broken packages
  --no-update              skips updating the package list
  --no-install-recommends  stops the installation of recommended packages
  --install-suggests       installs suggested packages
  --no-autoremove          stops nala from autoremoving packages
  --remove-essential       allows the removal of essential packages
  --raw-dpkg               skips all formatting and you get raw dpkg output
  --update                 updates the package list
  --debug                  logs extra information for debugging
  --version                show program's version number and exit
  --license                reads the licenses of software compiled in and then reads the GPLv3

Display version.

$ nala --version
nala 0.6.0

Search for specific package.

$ nala search --names ^mc$
mc 3:4.8.24-2ubuntu1 [Ubuntu/focal universe]
└──Midnight Commander - a powerful file manager
$ nala search --names ^python3$
python3 3.8.2-0ubuntu2 [Ubuntu/focal main]
├── is installed
└──interactive high-level object-oriented language (default python3 version)

Make a more general search and display full package description.

$ nala search --full "collect powerups"
heroes 0.21-17 [Ubuntu/focal universe]
└──Collect powerups and avoid your opponents' trails
     Heroes is similar to the "Tron" and "Nibbles" games of yore, but includes
     many graphical improvements and new game features.  In it, you must maneuver
     a small vehicle around a world and collect powerups while avoiding obstacles,
     your opponents' trails, and even your own trail.
     .
     Several styles of play are available, including "get-all-the-bonuses",
     deathmatch, and "squish-the-pedestrians".  All game styles can be played
     in both single-player and two-player (split-screen) modes.
     .
     You should install the heroes-sound-effects package if you want sound effects,
     and the heroes-sound-tracks package if you want background music in the game.

Show package info.

$ nala show heroes
Package: heroes
Version: 0.21-17
Architecture: amd64
Installed: no
Priority: optional
Essential: no
Section: universe/games
Source: heroes
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 660 kB
Provides: heroes-common, heroes-sdl
Depends: heroes-data, libc6 (>= 2.15), libsdl-mixer1.2, libsdl1.2debian (>= 1.2.11)
Recommends: heroes-sound-effects, heroes-sound-tracks
Replaces: heroes-common, heroes-sdl
Breaks: heroes-common (< 0.21-11~), heroes-sdl (< 0.21-11~)
Homepage: http://heroes.sourceforge.net
Download-Size: 227 kB
APT-Sources: http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages
Description: Collect powerups and avoid your opponents' trails
 Heroes is similar to the "Tron" and "Nibbles" games of yore, but includes
 many graphical improvements and new game features.  In it, you must maneuver
 a small vehicle around a world and collect powerups while avoiding obstacles,
 your opponents' trails, and even your own trail.
 .
 Several styles of play are available, including "get-all-the-bonuses",
 deathmatch, and "squish-the-pedestrians".  All game styles can be played
 in both single-player and two-player (split-screen) modes.
 .
 You should install the heroes-sound-effects package if you want sound effects,
 and the heroes-sound-tracks package if you want background music in the game.

Install a package.

$ sudo nala install --assume-yes mc
====================================================================================================================================================================
Installing: 
====================================================================================================================================================================
  Package:             Version:                  Size:  
  libgdbm-compat4      1.18.1-5                   6 kB  
  libgdbm6             1.18.1-5                  27 kB  
  libperl5.30          5.30.0-9ubuntu0.2        4.0 MB  
  libssh2-1            1.8.0-2.1build1           75 kB  
  mc                   3:4.8.24-2ubuntu1        477 kB  
  mc-data              3:4.8.24-2ubuntu1        1.3 MB  
  perl                 5.30.0-9ubuntu0.2        224 kB  
  perl-modules-5.30    5.30.0-9ubuntu0.2        2.7 MB  
  unzip                6.0-25ubuntu1            169 kB  
====================================================================================================================================================================
Suggested, Will Not Be Installed: 
====================================================================================================================================================================
  Package:                          Version:                               Size:  
  gdbm-l10n                         1.18.1-5                                3 kB  
  arj                               3.10.22-23                            222 kB  
  dbview                            1.0.4-3                                13 kB  
  djvulibre-bin                     3.5.27.1-14ubuntu0.1                  285 kB  
  epub-utils                        0.2.2-4ubuntu2                         14 kB  
  genisoimage                       9:1.1.11-3.1ubuntu1                   330 kB  
  gv                                1:3.7.4-2                             203 kB  
  imagemagick                       8:6.9.10.23+dfsg-2.1ubuntu11.4         14 kB  
  libaspell-dev                     0.60.8-1ubuntu0.1                       8 kB  
  odt2txt                           0.5-1build3                            13 kB  
  poppler-utils                     0.86.1-0ubuntu1                       174 kB  
  python-is-python2                 2.7.17-4                                2 kB  
  python-boto                       Virtual Package                          0 B  
  python-tz                         2019.3-1                               31 kB  
  zip                               3.0-11build1                          167 kB  
  perl-doc                          5.30.0-9ubuntu0.2                     7.5 MB  
  make                              4.2.1-1.2                             162 kB  
  libb-debug-perl                   1.26-2                                  8 kB  
  liblocale-codes-perl              3.62-1                                246 kB  
  zip                               3.0-11build1                          167 kB  
  Either:                                                                
  ├── catdvi                        0.14-12.1build1                        51 kB  
  └── texlive-binaries              2019.20190605.51237-3build2           8.0 MB  
  Either:                                                                
  ├── links                         2.20.2-1                              625 kB  
  ├── w3m                           0.5.3-37                              935 kB  
  └── lynx                          2.9.0dev.5-1                          626 kB  
  Either:                                                                
  ├── xpdf                          Virtual Package                         0 B   
  └── evince                        3.36.10-0ubuntu1                      252 kB  
  Either:                                                                
  ├── libterm-readline-gnu-perl     1.36-2build1                           88 kB  
  └── libterm-readline-perl-perl    1.0303-2                               41 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Install 9 Packages

Total download size:     8.9 MB
Disk space required:    54.8 MB
╭─ Downloading... ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Total Packages: 9/9                                                                                                                                              
 Last Completed: perl_5.30.0-9ubuntu0.2_amd64.deb                                                                                                                 
 Time Remaining: 0:00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  8.9/8.9 MB  7.3 MB/s 
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Installing Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│Unpacking:   perl (5.30.0-9ubuntu0.2)                                                                                                                             
│Unpacking:   libssh2-1:amd64 (1.8.0-2.1build1)                                                                                                                    
│Unpacking:   mc-data (3:4.8.24-2ubuntu1)                                                                                                                          
│Unpacking:   mc (3:4.8.24-2ubuntu1)                                                                                                                               
│Unpacking:   unzip (6.0-25ubuntu1)                                                                                                                                
│Setting up:  perl-modules-5.30 (5.30.0-9ubuntu0.2)                                                                                                                
│Setting up:  unzip (6.0-25ubuntu1)                                                                                                                                
│Setting up:  mc-data (3:4.8.24-2ubuntu1)                                                                                                                          
│Setting up:  libssh2-1:amd64 (1.8.0-2.1build1)                                                                                                                    
│Setting up:  libgdbm6:amd64 (1.18.1-5)                                                                                                                            
│Setting up:  mc (3:4.8.24-2ubuntu1)                                                                                                                               
│Setting up:  libgdbm-compat4:amd64 (1.18.1-5)                                                                                                                     
│Setting up:  libperl5.30:amd64 (5.30.0-9ubuntu0.2)                                                                                                                
│Setting up:  perl (5.30.0-9ubuntu0.2)                                                                                                                             
│Processing:  triggers for libc-bin (2.31-0ubuntu9.7)                                                                                                              
│Processing:  triggers for mime-support (3.64ubuntu1)                                                                                                              
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Running dpkg ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  0:00:00  19/19
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfully

Update package index and install a package.

$ sudo nala install --update --assume-yes git
╭─ Updating Package List ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│No Change: http://security.ubuntu.com/ubuntu focal-security InRelease                                                                                             
│No Change: http://archive.ubuntu.com/ubuntu focal InRelease                                                                                                       
│No Change: http://deb.volian.org/volian scar InRelease                                                                                                            
│No Change: http://archive.ubuntu.com/ubuntu focal-updates InRelease                                                                                               
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│⠏ 97% [Working]                                                                                                                                                 
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
====================================================================================================================================================================
Installing: 
====================================================================================================================================================================
  Package:           Version:                    Size:  
  git                1:2.25.1-1ubuntu3.2        4.6 MB  
  git-man            1:2.25.1-1ubuntu3.2        884 kB  
  libcurl3-gnutls    7.68.0-1ubuntu2.7          232 kB  
  liberror-perl      0.17029-1                   26 kB  
  patch              2.7.6-6                    105 kB  
====================================================================================================================================================================
Suggested, Will Not Be Installed: 
====================================================================================================================================================================
  Package:                   Version:                    Size:  
  gettext-base               0.19.8.1-10build1           50 kB  
  git-doc                    1:2.25.1-1ubuntu3.2        992 kB  
  git-el                     1:2.25.1-1ubuntu3.2          9 kB  
  git-email                  1:2.25.1-1ubuntu3.2         32 kB  
  git-gui                    1:2.25.1-1ubuntu3.2        222 kB  
  gitk                       1:2.25.1-1ubuntu3.2        141 kB  
  gitweb                     1:2.25.1-1ubuntu3.2         11 kB  
  git-cvs                    1:2.25.1-1ubuntu3.2         70 kB  
  git-mediawiki              1:2.25.1-1ubuntu3.2         22 kB  
  git-svn                    1:2.25.1-1ubuntu3.2         81 kB  
  ed                         1.16-1                      52 kB  
  diffutils-doc              1:3.7-3                     76 kB  
  Either:                                              
  ├── git-daemon-run         1:2.25.1-1ubuntu3.2          8 kB  
  └── git-daemon-sysvinit    1:2.25.1-1ubuntu3.2          9 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Install 5 Packages

Total download size:     5.8 MB
Disk space required:    39.4 MB
╭─ Downloading... ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Total Packages: 5/5                                                                                                                                              
 Last Completed: git_2.25.1-1ubuntu3.2_amd64.deb                                                                                                                  
 Time Remaining: 0:00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  5.8/5.8 MB  4.0 MB/s 
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Installing Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│Unpacking:   libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.7)                                                                                                            
│Unpacking:   liberror-perl (0.17029-1)                                                                                                                            
│Unpacking:   git-man (1:2.25.1-1ubuntu3.2)                                                                                                                        
│Unpacking:   git (1:2.25.1-1ubuntu3.2)                                                                                                                            
│Unpacking:   patch (2.7.6-6)                                                                                                                                      
│Setting up:  libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.7)                                                                                                            
│Setting up:  liberror-perl (0.17029-1)                                                                                                                            
│Setting up:  patch (2.7.6-6)                                                                                                                                      
│Setting up:  git-man (1:2.25.1-1ubuntu3.2)                                                                                                                        
│Setting up:  git (1:2.25.1-1ubuntu3.2)                                                                                                                            
│Processing:  triggers for libc-bin (2.31-0ubuntu9.7)                                                                                                              
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Running dpkg ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  0:00:00  11/11
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfully

Remove a package.

$ sudo nala remove --assume-yes git
====================================================================================================================================================================
Removing: 
====================================================================================================================================================================
  Package:    Version:                    Size:  
  git         1:2.25.1-1ubuntu3.2       36.5 MB  
====================================================================================================================================================================
Auto-Removing: 
====================================================================================================================================================================
  Package:           Version:                    Size:  
  git-man            1:2.25.1-1ubuntu3.2        1.8 MB  
  libcurl3-gnutls    7.68.0-1ubuntu2.7          701 kB  
  liberror-perl      0.17029-1                   73 kB  
  patch              2.7.6-6                    238 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Remove      1 Packages
Auto-Remove 4 Packages

Disk space to free:    39.4 MB
╭─ Removing Packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
Removing:    git (1:2.25.1-1ubuntu3.2)                                                                                                                            
Removing:    git-man (1:2.25.1-1ubuntu3.2)                                                                                                                        
Removing:    libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.7)                                                                                                            
Removing:    liberror-perl (0.17029-1)                                                                                                                            
Removing:    patch (2.7.6-6)                                                                                                                                      
│Processing:  triggers for libc-bin (2.31-0ubuntu9.7)                                                                                                              
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Running dpkg ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  0:00:00  11/11
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfull

Purge a package.

$ sudo nala purge --assume-yes mc
====================================================================================================================================================================
Purging: 
====================================================================================================================================================================
  Package:    Version:                  Size:  
  mc          3:4.8.24-2ubuntu1        1.5 MB  
====================================================================================================================================================================
Auto-Purging: 
====================================================================================================================================================================
  Package:     Version:                  Size:  
  libssh2-1    1.8.0-2.1build1          276 kB  
  mc-data      3:4.8.24-2ubuntu1        6.2 MB  
  unzip        6.0-25ubuntu1            593 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Purge      1 Packages
Auto-Purge 3 Packages

Disk space to free:     8.6 MB
╭─ Removing Packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
Removing:    mc (3:4.8.24-2ubuntu1)                                                                                                                               
Removing:    libssh2-1:amd64 (1.8.0-2.1build1)                                                                                                                    
Removing:    mc-data (3:4.8.24-2ubuntu1)                                                                                                                          
Removing:    unzip (6.0-25ubuntu1)                                                                                                                                
│Processing:  triggers for libc-bin (2.31-0ubuntu9.7)                                                                                                              
│Processing:  triggers for mime-support (3.64ubuntu1)                                                                                                              
Purging configuration files for mc (3:4.8.24-2ubuntu1)                                                                                                            
Purging configuration files for unzip (6.0-25ubuntu1)                                                                                                             
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Running dpkg ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  0:00:00  9/9
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfully

Install specific package version.

$ sudo nala install --update --assume-yes bash=5.0-6ubuntu1
╭─ Updating Package List ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│No Change: http://archive.ubuntu.com/ubuntu focal InRelease                                                                                                       
│No Change: http://archive.ubuntu.com/ubuntu focal-updates InRelease                                                                                               
│No Change: http://security.ubuntu.com/ubuntu focal-security InRelease                                                                                             
│No Change: http://deb.volian.org/volian scar InRelease                                                                                                            
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│⠧ 97% [Working]                                                                                                                                                 
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
====================================================================================================================================================================
Downgrading: 
====================================================================================================================================================================
  Package:    Old Version:      New Version:         Size:  
  bash        5.0-6ubuntu1.1    5.0-6ubuntu1        638 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Downgrade 1 Packages

Total download size:     638 kB
╭─ Downloading... ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Total Packages: 1/1                                                                                                                                              
 Last Completed: bash_5.0-6ubuntu1_amd64.deb                                                                                                                      
 Time Remaining: 0:00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  638.4/638.4 KB  639.3 kB/s 
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Installing Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
dpkg: warning: downgrading bash from 5.0-6ubuntu1.1 to 5.0-6ubuntu1                                                                                               
│Unpacking:   bash (5.0-6ubuntu1) over (5.0-6ubuntu1.1)                                                                                                            
│Setting up:  bash (5.0-6ubuntu1)                                                                                                                                  
update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode                       
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Running dpkg ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  0:00:00  3/3
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Warning: Downgraded bash from 5.0-6ubuntu1.1 to 5.0-6ubuntu1
Finished Successfully

Show all package versions.

$ nala show --all-version bash
Package: bash
Version: 5.0-6ubuntu1.1
Architecture: amd64
Installed: yes
Priority: required
Essential: yes
Section: shells
Source: bash
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Matthias Klose <doko@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1.7 MB
Pre-Depends: libc6 (>= 2.15), libtinfo6 (>= 6)
Depends: base-files (>= 2.1.12), debianutils (>= 2.15)
Recommends: bash-completion (>= 20060301-0)
Suggests: bash-doc
Replaces: bash-completion, bash-doc
Conflicts: bash-completion (< 20060301-0)
Homepage: http://tiswww.case.edu/php/chet/bash/bashtop.html
Download-Size: 638 kB
APT-Sources: http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
Description: GNU Bourne Again SHell
 Bash is an sh-compatible command language interpreter that executes
 commands read from the standard input or from a file.  Bash also
 incorporates useful features from the Korn and C shells (ksh and csh).
 .
 Bash is ultimately intended to be a conformant implementation of the
 IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2).
 .
 The Programmable Completion Code, by Ian Macdonald, is now found in
 the bash-completion package.

====================================================================================================================================================================

Package: bash
Version: 5.0-6ubuntu1
Architecture: amd64
Installed: yes
Priority: required
Essential: yes
Section: shells
Source: bash
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Matthias Klose <doko@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1.7 MB
Pre-Depends: libc6 (>= 2.15), libtinfo6 (>= 6)
Depends: base-files (>= 2.1.12), debianutils (>= 2.15)
Recommends: bash-completion (>= 20060301-0)
Suggests: bash-doc
Replaces: bash-completion, bash-doc
Conflicts: bash-completion (< 20060301-0)
Homepage: http://tiswww.case.edu/php/chet/bash/bashtop.html
Download-Size: 638 kB
APT-Sources: http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
Description: GNU Bourne Again SHell
 Bash is an sh-compatible command language interpreter that executes
 commands read from the standard input or from a file.  Bash also
 incorporates useful features from the Korn and C shells (ksh and csh).
 .
 Bash is ultimately intended to be a conformant implementation of the
 IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2).
 .
 The Programmable Completion Code, by Ian Macdonald, is now found in
 the bash-completion package.
$ sudo nala upgrade --assume-yes
╭─ Updating Package List ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│No Change: http://archive.ubuntu.com/ubuntu focal InRelease                                                                                                       
│No Change: http://security.ubuntu.com/ubuntu focal-security InRelease                                                                                             
│No Change: http://deb.volian.org/volian scar InRelease                                                                                                            
│No Change: http://archive.ubuntu.com/ubuntu focal-updates InRelease                                                                                               
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│⠧ 97% [Working]                                                                                                                                                 
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
====================================================================================================================================================================
Upgrading: 
====================================================================================================================================================================
  Package:    Old Version:    New Version:           Size:  
  bash        5.0-6ubuntu1    5.0-6ubuntu1.1        638 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Upgrade 1 Packages

Total download size:     638 kB
╭─ Downloading... ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Total Packages: 1/1                                                                                                                                              
 Last Completed: bash_5.0-6ubuntu1.1_amd64.deb                                                                                                                    
 Time Remaining: 0:00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  638.3/638.3 KB  595.0 kB/s 
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Updating Packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│Unpacking:   bash (5.0-6ubuntu1.1) over (5.0-6ubuntu1)                                                                                                            
│Setting up:  bash (5.0-6ubuntu1.1)                                                                                                                                
update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode                       
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Running dpkg ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  0:00:00  3/3
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfully

Display history. This is amazing!

$ sudo nala history
  ID    Command                                            Date and Time              Altered    Requested-By   
  1     install --assume-yes mc                            2022-03-21 22:11:49 UTC          9    ubuntu (1000)  
  2     install --update --assume-yes git                  2022-03-21 22:13:34 UTC          5    ubuntu (1000)  
  3     purge --assume-yes mc                              2022-03-21 22:14:26 UTC          4    ubuntu (1000)  
  4     remove --assume-yes git                            2022-03-21 22:14:48 UTC          5    ubuntu (1000)  
  5     install --update --assume-yes bash=5.0-6ubuntu1    2022-03-21 22:19:25 UTC          1    ubuntu (1000)  
  6     upgrade --assume-yes bash                          2022-03-21 22:20:10 UTC          1    ubuntu (1000)  

Display specific history entry.

$ sudo nala history info 1
====================================================================================================================================================================
Installing: 
====================================================================================================================================================================
  Package:             Version:                  Size:  
  libgdbm-compat4      1.18.1-5                   6 kB  
  libgdbm6             1.18.1-5                  27 kB  
  libperl5.30          5.30.0-9ubuntu0.2        4.0 MB  
  libssh2-1            1.8.0-2.1build1           75 kB  
  mc                   3:4.8.24-2ubuntu1        477 kB  
  mc-data              3:4.8.24-2ubuntu1        1.3 MB  
  perl                 5.30.0-9ubuntu0.2        224 kB  
  perl-modules-5.30    5.30.0-9ubuntu0.2        2.7 MB  
  unzip                6.0-25ubuntu1            169 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Installed 9 Packages

Redo an operation.

$ sudo nala history --assume-yes redo 2
====================================================================================================================================================================
Installing: 
====================================================================================================================================================================
  Package:           Version:                    Size:  
  git                1:2.25.1-1ubuntu3.2        4.6 MB  
  git-man            1:2.25.1-1ubuntu3.2        884 kB  
  libcurl3-gnutls    7.68.0-1ubuntu2.7          232 kB  
  liberror-perl      0.17029-1                   26 kB  
  patch              2.7.6-6                    105 kB  
====================================================================================================================================================================
Suggested, Will Not Be Installed: 
====================================================================================================================================================================
  Package:                   Version:                    Size:  
  gettext-base               0.19.8.1-10build1           50 kB  
  git-doc                    1:2.25.1-1ubuntu3.2        992 kB  
  git-el                     1:2.25.1-1ubuntu3.2          9 kB  
  git-email                  1:2.25.1-1ubuntu3.2         32 kB  
  git-gui                    1:2.25.1-1ubuntu3.2        222 kB  
  gitk                       1:2.25.1-1ubuntu3.2        141 kB  
  gitweb                     1:2.25.1-1ubuntu3.2         11 kB  
  git-cvs                    1:2.25.1-1ubuntu3.2         70 kB  
  git-mediawiki              1:2.25.1-1ubuntu3.2         22 kB  
  git-svn                    1:2.25.1-1ubuntu3.2         81 kB  
  ed                         1.16-1                      52 kB  
  diffutils-doc              1:3.7-3                     76 kB  
  Either:                                              
  ├── git-daemon-run         1:2.25.1-1ubuntu3.2          8 kB  
  └── git-daemon-sysvinit    1:2.25.1-1ubuntu3.2          9 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Install 5 Packages

Disk space required:    39.4 MB
╭─ History Redo 2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│Unpacking:   libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.7)                                                                                                            
│Unpacking:   liberror-perl (0.17029-1)                                                                                                                            
│Unpacking:   git-man (1:2.25.1-1ubuntu3.2)                                                                                                                        
│Unpacking:   git (1:2.25.1-1ubuntu3.2)                                                                                                                            
│Unpacking:   patch (2.7.6-6)                                                                                                                                      
│Setting up:  libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.7)                                                                                                            
│Setting up:  liberror-perl (0.17029-1)                                                                                                                            
│Setting up:  patch (2.7.6-6)                                                                                                                                      
│Setting up:  git-man (1:2.25.1-1ubuntu3.2)                                                                                                                        
│Setting up:  git (1:2.25.1-1ubuntu3.2)                                                                                                                            
│Processing:  triggers for libc-bin (2.31-0ubuntu9.7)                                                                                                              
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Running dpkg ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  0:00:00  11/11
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfully

Undo an operation. Notice, you can only redo/undo specific operations.

$ sudo nala history --assume-yes undo 3
Error: 'history undo' for operations other than install or remove are not currently supported

Display history entry.

$ sudo nala history info 2
====================================================================================================================================================================
Installing: 
====================================================================================================================================================================
  Package:           Version:                    Size:  
  git                1:2.25.1-1ubuntu3.2        4.6 MB  
  git-man            1:2.25.1-1ubuntu3.2        884 kB  
  libcurl3-gnutls    7.68.0-1ubuntu2.7          232 kB  
  liberror-perl      0.17029-1                   26 kB  
  patch              2.7.6-6                    105 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Installed 5 Packages

Undo an operation.

$ sudo nala history --assume-yes undo 2
====================================================================================================================================================================
Removing: 
====================================================================================================================================================================
  Package:           Version:                    Size:  
  git                1:2.25.1-1ubuntu3.2       36.5 MB  
  git-man            1:2.25.1-1ubuntu3.2        1.8 MB  
  libcurl3-gnutls    7.68.0-1ubuntu2.7          701 kB  
  liberror-perl      0.17029-1                   73 kB  
  patch              2.7.6-6                    238 kB  
====================================================================================================================================================================
Summary
====================================================================================================================================================================
Remove 5 Packages

Disk space to free:    39.4 MB
╭─ History Undo 2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
Removing:    git (1:2.25.1-1ubuntu3.2)                                                                                                                            
Removing:    git-man (1:2.25.1-1ubuntu3.2)                                                                                                                        
Removing:    libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.7)                                                                                                            
Removing:    liberror-perl (0.17029-1)                                                                                                                            
Removing:    patch (2.7.6-6)                                                                                                                                      
│Processing:  triggers for libc-bin (2.31-0ubuntu9.7)                                                                                                              
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 Running dpkg ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%  0:00:00  11/11
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Finished Successfully

Clean package cache.

$ nala clean
Cache has been cleaned

As you can see, this is more than just an apt interface as it is really cool application that provides history, parallel downloads and a nice rich user interface.