Bird
Raised Fist0
Linux CLIscripting~5 mins

Installing, updating, removing packages in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Managing software on your Linux system means adding new programs, keeping them current, or removing ones you no longer need. This helps your computer stay useful, secure, and clean.
When you want to add a new tool or application to your Linux system.
When you need to update existing software to get new features or security fixes.
When you want to free up space by removing software you no longer use.
When troubleshooting software issues by reinstalling or removing packages.
When preparing your system for a new project that requires specific software versions.
Commands
This command refreshes the list of available software and their versions from the online sources. It ensures your system knows about the latest packages before installing or updating.
Terminal
sudo apt update
Expected OutputExpected
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB] Fetched 215 kB in 1s (300 kB/s) Reading package lists... Done
This command installs the 'curl' package, a tool to transfer data from or to a server. It downloads and sets up the software on your system.
Terminal
sudo apt install curl
Expected OutputExpected
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: curl 0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. Need to get 159 kB of archives. After this operation, 500 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 curl amd64 7.68.0-1ubuntu2.7 [159 kB] Fetched 159 kB in 1s (200 kB/s) Selecting previously unselected package curl. (Reading database ... 210000 files and directories currently installed.) Preparing to unpack .../curl_7.68.0-1ubuntu2.7_amd64.deb ... Unpacking curl (7.68.0-1ubuntu2.7) ... Setting up curl (7.68.0-1ubuntu2.7) ... Processing triggers for man-db (2.9.1-1) ...
→
-y - Automatically answer yes to prompts during installation
This command upgrades all installed packages to their latest versions. It helps keep your system secure and up to date.
Terminal
sudo apt upgrade
Expected OutputExpected
Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libc-bin libc6 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,500 kB of archives. After this operation, 1,024 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc6 amd64 2.31-0ubuntu9.9 [2,000 kB] Get:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc-bin amd64 2.31-0ubuntu9.9 [500 kB] Fetched 2,500 kB in 2s (1,250 kB/s) (Reading database ... 210000 files and directories currently installed.) Preparing to unpack .../libc6_2.31-0ubuntu9.9_amd64.deb ... Unpacking libc6:amd64 (2.31-0ubuntu9.9) over (2.31-0ubuntu9.8) ... Setting up libc6:amd64 (2.31-0ubuntu9.9) ... Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
→
-y - Automatically confirm upgrade without asking
This command removes the 'curl' package from your system. It deletes the software but keeps configuration files in case you want to reinstall later.
Terminal
sudo apt remove curl
Expected OutputExpected
Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: curl 0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded. After this operation, 500 kB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 210000 files and directories currently installed.) Removing curl (7.68.0-1ubuntu2.7) ... Processing triggers for man-db (2.9.1-1) ...
→
-y - Automatically confirm removal without asking
Key Concept

If you remember nothing else from this pattern, remember: always update your package list before installing or upgrading software to get the latest versions.

Common Mistakes
Trying to install or upgrade packages without running 'sudo apt update' first.
Your system may not know about the latest software versions, causing errors or installing outdated packages.
Always run 'sudo apt update' before installing or upgrading packages.
Not using 'sudo' with package management commands.
Without administrative rights, the commands will fail because installing or removing software needs special permissions.
Prefix package commands with 'sudo' to run them as an administrator.
Using 'apt remove' when you want to completely delete software including configuration files.
'apt remove' leaves configuration files behind, which may cause conflicts or use disk space.
Use 'sudo apt purge package-name' to remove software and its configuration files completely.
Summary
Run 'sudo apt update' to refresh the list of available software before any install or upgrade.
Use 'sudo apt install package-name' to add new software to your system.
Use 'sudo apt upgrade' to update all installed software to the latest versions.
Use 'sudo apt remove package-name' to uninstall software but keep configuration files.

Practice

(1/5)
1. Which command is used to install a new package on a Debian-based Linux system?
easy
A. apt upgrade package_name
B. apt update package_name
C. apt remove package_name
D. apt install package_name

Solution

  1. Step 1: Understand the purpose of apt install

    The apt install command is used to add new software packages to the system.
  2. Step 2: Differentiate from other commands

    apt update refreshes package lists, apt upgrade updates installed packages, and apt remove deletes packages.
  3. Final Answer:

    apt install package_name -> Option D
  4. Quick Check:

    Install new software = apt install [OK]
Hint: Install packages with 'apt install' command [OK]
Common Mistakes:
  • Confusing 'apt update' with installation
  • Using 'apt remove' to install packages
  • Trying 'apt upgrade' to add new software
2. Which of the following is the correct syntax to update the package list on a Debian-based system?
easy
A. apt update
B. apt install update
C. apt upgrade
D. apt remove update

Solution

  1. Step 1: Identify the command to refresh package lists

    apt update downloads the latest package information from repositories.
  2. Step 2: Understand other commands

    apt upgrade installs available updates, not refreshes lists; others are invalid.
  3. Final Answer:

    apt update -> Option A
  4. Quick Check:

    Refresh package list = apt update [OK]
Hint: Use 'apt update' to refresh package info before upgrades [OK]
Common Mistakes:
  • Using 'apt upgrade' to update package lists
  • Adding package names to 'apt update'
  • Confusing 'apt remove' with update commands
3. What will be the output of the following commands sequence?
sudo apt update
sudo apt upgrade -y
medium
A. The system installs new packages listed in the upgrade command.
B. The system refreshes package lists and upgrades all upgradable packages automatically.
C. The system removes all outdated packages without confirmation.
D. The system only updates package lists but does not upgrade any packages.

Solution

  1. Step 1: Analyze sudo apt update

    This command refreshes the package lists from repositories to get the latest versions.
  2. Step 2: Analyze sudo apt upgrade -y

    This command upgrades all installed packages that have updates available, and the -y flag confirms automatically.
  3. Final Answer:

    The system refreshes package lists and upgrades all upgradable packages automatically. -> Option B
  4. Quick Check:

    Update + upgrade -y = refresh and auto-upgrade [OK]
Hint: Update lists then upgrade with -y to auto-confirm [OK]
Common Mistakes:
  • Thinking upgrade installs new packages
  • Assuming remove happens automatically
  • Believing update upgrades packages
4. You run apt remove package_name but get an error saying the package is not installed. What is the likely cause?
medium
A. The package is already removed but still listed in the system.
B. You need to run apt update before removing packages.
C. The package name is misspelled or does not exist on the system.
D. You must use apt upgrade before removing packages.

Solution

  1. Step 1: Understand the error context

    If apt remove says the package is not installed, it means the system cannot find that package installed.
  2. Step 2: Identify common causes

    Most often, this happens because the package name is wrong or the package was never installed.
  3. Final Answer:

    The package name is misspelled or does not exist on the system. -> Option C
  4. Quick Check:

    Remove error = wrong or missing package name [OK]
Hint: Check package name spelling before removing [OK]
Common Mistakes:
  • Trying to update before removing
  • Assuming upgrade is needed before remove
  • Ignoring error and forcing removal
5. You want to write a script that updates the package list, upgrades all packages, and then removes a package named oldapp. Which sequence of commands is correct?
hard
A.
apt update
apt upgrade -y
apt remove oldapp -y
B.
apt upgrade -y
apt update
apt remove oldapp -y
C.
apt remove oldapp -y
apt update
apt upgrade -y
D.
apt update
apt remove oldapp -y
apt upgrade -y

Solution

  1. Step 1: Understand the correct order of package management commands

    First, update the package list with apt update to get latest info, then upgrade installed packages with apt upgrade -y, and finally remove unwanted packages.
  2. Step 2: Check each option's order

    apt update
    apt upgrade -y
    apt remove oldapp -y
    follows the correct order: update, upgrade, then remove. Others have wrong sequences that may cause errors or outdated upgrades.
  3. Final Answer:

    apt update apt upgrade -y apt remove oldapp -y -> Option A
  4. Quick Check:

    Update -> Upgrade -> Remove sequence [OK]
Hint: Always update before upgrade, remove last [OK]
Common Mistakes:
  • Upgrading before updating package lists
  • Removing packages before upgrading
  • Skipping update before upgrade
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard