Cyberithub

20 Useful APT GET Examples on Ubuntu 18.04

In this article, I will take you through 20 Useful APT GET Examples on Ubuntu 18.04. APT utilities download packages and call dpkg utilities to manipulate the packages once they are on the local system. The primary APT command is apt-get, its arguments determine what the command does.

To know more about APT CACHE, you can check 13 Useful APT CACHE Examples on Ubuntu 18.04.

What is APT GET

APT GET(Advanced Package Tool) is basically a utility that download, install, remove, upgrade and update packages in your Debian based Systems.

Prerequisites

a)You only require a running Ubuntu 18.04 System.

b)You can either run all commands through root user or with user having sudo access. Please check How to add User into Sudoers to provide sudo access to a User.

20 Useful APT GET Examples on Ubuntu 18.04 1

APT GET Examples

Also Read: 13 Useful examples of touch Command in Linux

1. Check APT GET Version

To check the apt-get version, you need to run sudo apt-get -v command. As you can see from the below output, current version in 1.6.11.

test@localhost:~$ sudo apt-get -v
apt 1.6.11 (amd64)
Supported modules:
*Ver: Standard .deb
*Pkg: Debian dpkg interface (Priority 30)
Pkg: Debian APT solver interface (Priority -1000)
Pkg: Debian APT planner interface (Priority -1000)
S.L: 'deb' Debian binary tree
S.L: 'deb-src' Debian source tree
Idx: Debian Source Index

2. Update System Using APT GET Update

To update your system with all the latest updates available in repository, you can run sudo apt-get update command. In this case since system is already updated so it is not showing any latest updates to install.

test@localhost:~$ sudo apt-get update
Hit:1 http://in.archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://in.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Hit:3 https://artifacts.elastic.co/packages/7.x/apt stable InRelease
Get:4 http://in.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:6 http://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [843 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [38.5 kB]

3. Upgrade Packages Using APT GET Upgrade

To upgrade all the packages in your system, you can run sudo apt-get upgrade command.

test@localhost:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
gir1.2-geocodeglib-1.0 ubuntu-web-launchers
Use 'sudo apt autoremove' to remove them.
The following packages have been kept back:
libgl1-mesa-dri libxatracker2 linux-generic-hwe-18.04 linux-headers-generic-hwe-18.04 linux-image-generic-hwe-18.04
The following packages will be upgraded:
apt apt-utils base-files bluez bluez-cups bluez-obexd bsdutils dmsetup dpkg elasticsearch fdisk firefox firefox-locale-en gdb gdbserver gir1.2-javascriptcoregtk-4.0
gir1.2-mutter-2 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-snapd-1 gir1.2-webkit2-4.0 gnome-control-center gnome-control-center-data gnome-control-center-faces

4. Cleanup Repository Using APT GET AUTOCLEAN

Sometimes you might want to clean your repository of retrieved package files, in those cases you need to use sudo apt-get autoclean command and clean the repository.

test@localhost:~$ sudo apt-get autoclean
Reading package lists... Done
Building dependency tree
Reading state information... Done

5. Remove files Using APT GET AUTOREMOVE

In few cases you want to remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed. For those cases you can use autoremove option as shown below.

test@localhost:~$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 153 not upgraded.

6. Install Packages Using APT GET INSTALL

If you want to install any packages say apache2 in your Server, you can run sudo apt-get install apache2 command and install it. Since I already installed the latest version of apache2 so it won’t install it again.

test@localhost:~$ sudo apt-get install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
apache2 is already the newest version (2.4.29-1ubuntu4.11).
0 upgraded, 0 newly installed, 0 to remove and 153 not upgraded.

7. Change Dependencies to New Version During Upgrade

If you are trying to upgrade your Server, you probably also want to install the latest version of all the dependencies during upgrade. You can do that by using dist-upgrade option with apt get command as shown below.

test@localhost:~$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
gir1.2-geocodeglib-1.0 libllvm8 ubuntu-web-launchers
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
libllvm9 linux-headers-5.3.0-28 linux-headers-5.3.0-28-generic linux-image-5.3.0-28-generic linux-modules-5.3.0-28-generic linux-modules-extra-5.3.0-28-generic
The following packages will be upgraded:
apt apt-utils base-files bluez bluez-cups bluez-obexd bsdutils dmsetup dpkg elasticsearch fdisk firefox firefox-locale-en gdb gdbserver gir1.2-javascriptcoregtk-4.0
gir1.2-mutter-2 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-snapd-1 gir1.2-webkit2-4.0 gnome-control-center gnome-control-center-data gnome-control-center-faces

8. Purge Packages using APT GET Purge

If you want to remove anything that can be removed, then you need to use sudo apt-get purge command to remove those files.

test@localhost:~$ sudo apt-get purge
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 153 not upgraded.

9. Download Packages Using APT GET Download

If you only want to download a package and does not want to install it, then you can use sudo apt-get download apache2 command to download apache2 package.

test@localhost:~$ sudo apt-get download apache2
Get:1 http://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apache2 amd64 2.4.29-1ubuntu4.11 [95.1 kB]
Fetched 95.1 kB in 0s (423 kB/s)

NOTE:

Please note that apache2 package will be downloaded in current directory from repository.

10. Download ChangeLog Using APT GET 

If you want to download changelog of a package say for apache2 package in this case, then you need to run sudo apt-get changelog apache2 command. You can see from below output it has fetched the changelog of apache2 2.4.29 package.

test@localhost:~$ sudo apt-get changelog apache2
Get:1 https://changelogs.ubuntu.com apache2 2.4.29-1ubuntu4.11 Changelog [247 kB]
Fetched 247 kB in 1s (180 kB/s)

11. Check Broken Packages

If you want to check all the broken packages in your repository, you can do that by running sudo apt-get check command. In this case, there is no broken packages as you can see from below output.

test@localhost:~$ sudo apt-get check
Reading package lists... Done
Building dependency tree
Reading state information... Done

12. Simulate Package Installation

If you only want to perform a simulation of even and does not want to really change anything in your system, then you can run sudo apt-get install terminator --simulate command to check how terminator package will change your system.

test@localhost:~$ sudo apt-get install terminator --simulate
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
gir1.2-keybinder-3.0 libkeybinder-3.0-0 python-cairo python-dbus python-gi python-gi-cairo python-psutil
Suggested packages:
python-dbus-dbg python-dbus-doc python-psutil-doc
The following NEW packages will be installed:
gir1.2-keybinder-3.0 libkeybinder-3.0-0 python-cairo python-dbus python-gi python-gi-cairo python-psutil terminator
0 upgraded, 8 newly installed, 0 to remove and 153 not upgraded.
Inst libkeybinder-3.0-0 (0.3.2-1 Ubuntu:18.04/bionic [amd64])
Inst gir1.2-keybinder-3.0 (0.3.2-1 Ubuntu:18.04/bionic [amd64])

NOTE:

Please note that I have used terminator package as an example here. You can choose any package as per your requirement.

13. Only Upgrade the Packages

If you only want to upgrade your packages and does not want to really install any package, then you can use --only-upgrade option with apt get command to do that as shown below.

test@localhost:~$ sudo apt-get install terminator --only-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Skipping terminator, it is not installed and only upgrades are requested.
0 upgraded, 0 newly installed, 0 to remove and 153 not upgraded.

14. Check Installation Suggestions

If you want to check all the suggestions currently available during a package installation, then you can use --install-suggests option to do that as shown below.

test@localhost:~$ sudo apt-get install terminator --install-suggests
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
blt blt-demo fonts-font-awesome fonts-lato gir1.2-keybinder-3.0 javascript-common libjs-jquery libjs-modernizr libjs-sphinxdoc libjs-underscore libkeybinder-3.0-0
Suggested packages:
python2.7-gdbm-dbg python2.7-tk-dbg
The following NEW packages will be installed:
blt blt-demo fonts-font-awesome fonts-lato gir1.2-keybinder-3.0 javascript-common libjs-jquery libjs-modernizr libjs-sphinxdoc libjs-underscore libkeybinder-3.0-0
0 upgraded, 37 newly installed, 0 to remove and 153 not upgraded.
Need to get 20.7 MB of archives.
After this operation, 76.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] n

15. Assume Yes to all Question Asked

If you want to answer Yes to all the questions asked during installation, then you can use -y option to do that. It will not ask you any questions during package installation and will consider yes as an answer to all questions.

test@localhost:~$ sudo apt-get install openssl -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
openssl is already the newest version (1.1.1-1ubuntu2.1~18.04.5).
openssl set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 153 not upgraded

16. Ignore Any Hold Packages

If you want to ignore all the packages which has a hold places on it during a installation, then you can use --ignore-hold option and ignore it as shown below.

test@localhost:~$ sudo apt-get install docker --ignore-hold
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
docker
0 upgraded, 1 newly installed, 0 to remove and 153 not upgraded.
Need to get 12.9 kB of archives.
After this operation, 45.1 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu bionic/universe amd64 docker amd64 1.5-1build1 [12.9 kB]
Fetched 12.9 kB in 0s (109 kB/s)
Selecting previously unselected package docker.
(Reading database ... 274874 files and directories currently installed.)
Preparing to unpack .../docker_1.5-1build1_amd64.deb ...
Unpacking docker (1.5-1build1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up docker (1.5-1build1) ...

17. Uninstall Packages Using APT GET REMOVE

If you want to uninstall any packages say docker package in this case, you can run sudo apt-get remove docker command to remove docker package from the system.

test@localhost:~$ sudo apt-get remove docker
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
docker
0 upgraded, 0 newly installed, 1 to remove and 153 not upgraded.
After this operation, 45.1 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 274880 files and directories currently installed.)
Removing docker (1.5-1build1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

18. Do not Show Packages which Needs to be Upgraded

If you do not want to show all the packages list which needs to be upgraded during any installation, then you need to run sudo apt-get install docker --no-show-upgraded command as shown below.

test@localhost:~$ sudo apt-get install docker --no-show-upgraded
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
docker
0 upgraded, 1 newly installed, 0 to remove and 153 not upgraded.
Need to get 0 B/12.9 kB of archives.
After this operation, 45.1 kB of additional disk space will be used.
Selecting previously unselected package docker.
(Reading database ... 274874 files and directories currently installed.)
Preparing to unpack .../docker_1.5-1build1_amd64.deb ...
Unpacking docker (1.5-1build1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up docker (1.5-1build1) ...

19. Install New Packages during APT GET Upgrade

If you want to install new packages available in the repository during upgrade, you can do that by running sudo apt-get upgrade --with-new-pkgs command. This is useful if the update of a installed package requires new dependencies to be installed. Instead of holding the package back upgrade will upgrade the package and install the new dependencies as shown below.

test@localhost:~$ sudo apt-get upgrade --with-new-pkgs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
gir1.2-geocodeglib-1.0 libllvm8 ubuntu-web-launchers
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
libllvm9 linux-headers-5.3.0-28 linux-headers-5.3.0-28-generic linux-image-5.3.0-28-generic linux-modules-5.3.0-28-generic linux-modules-extra-5.3.0-28-generic
The following packages will be upgraded:
apt apt-utils base-files bluez bluez-cups bluez-obexd bsdutils dmsetup dpkg elasticsearch fdisk firefox firefox-locale-en gdb gdbserver gir1.2-javascriptcoregtk-4.0
gir1.2-mutter-2 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-snapd-1 gir1.2-webkit2-4.0 gnome-control-center gnome-control-center-data gnome-control-center-faces
gnome-initial-setup gnome-shell gnome-shell-common gnome-software gnome-software-common gnome-software-plugin-snap grep grub-common grub-pc grub-pc-bin grub2-common

NOTE:

Please note that upgrade with this option will never remove packages, only allow adding new ones

20. Check Other Options Using –help

If you to check all the options available with apt get, then you can run apt-get --help command and check.

test@localhost:~$ apt-get --help
apt 1.6.11 (amd64)
Usage: apt-get [options] command
apt-get [options] install|remove pkg1 [pkg2 ...]
apt-get [options] source pkg1 [pkg2 ...]

apt-get is a command line interface for retrieval of packages
and information about them from authenticated sources and
for installation, upgrade and removal of packages together
with their dependencies.

Most used commands:
update - Retrieve new lists of packages
upgrade - Perform an upgrade

 

Also Read: A Practical Guide to Linux Commands

Reference: APT-GET MAN Page

Leave a Comment