- Ubuntu Documentation
- Introduction
- Commands
- Installation commands
- auto-apt
- Maintenance commands
- Removal commands
- Search commands
- Typical usage example
- Setting up apt-get to use a http-proxy
- Temporary proxy session
- APT configuration file method
- BASH rc method
- How to login a proxy user
- Using apt-get Commands In Linux [Complete Beginners Guide]
- What is apt-get?
- Using apt-get commands
- Update the package database with apt-get
- Upgrade installed packages with apt-get
- Difference between upgrade and dist-upgrade
- What is the difference between apt-get update and apt-get upgrade?
- Using apt-cache commands to search for packages
- How to install new packages with apt-get
- How to install multiple packages
- What if you run install on an already installed package?
- How to install packages without upgrading
- How to only upgrade a package, not install it
- How to install a specific version of an application
- How to remove installed packages with apt-get
- What is the difference between apt-get remove and apt-get purge?
- How to clean your system with apt-get
- Your input
Ubuntu Documentation
This article applies to all supported versions of Ubuntu
Package management via apt-get runs hand-in-hand with the /etc/apt/sources.list file. For information on editing or updating your sources list see SourcesList.
Introduction
This page describes how to handle the packages on your system using apt-get and related commands. For example, you can install a new package, remove an installed package, or update all installed packages to the latest versions.
Commands
All these commands except the search commands must be run as root or with superuser privileges, see sudo for more information.
Example:
Installation commands
- This command installs a new package.
This command searches the repositories and installs the build dependencies for
. If the package is not in the repositories it will return an error.
Aptitude is an Ncurses viewer of packages installed or available. Aptitude can be used from the command line in a similar way to apt-get. Enter man aptitude for more information.
APT and aptitude will accept multiple package names as a space delimited list. For example:
Use the -s flag to simulate an action. For example: «apt-get -s install
» will simulate installing the package, showing you what packages will be installed and configured.
auto-apt
This command runs under the control of auto-apt. If a program tries to access a file known to belong in an uninstalled package, auto-apt will install that package using apt-get. This feature requires apt and sudo to work.
You’re compiling a program and, all of a sudden, there’s an error because it needs a file you don’t have. The program auto-apt asks you to install packages if they’re needed, stopping the relevant process and continuing once the package is installed. It will then ask to install the needed packages and call apt-get automatically. If you’re running X, a graphical interface will replace the default text interface.
Maintenance commands
Run this command after changing /etc/apt/sources.list or /etc/apt/preferences . For information regarding /etc/apt/preferences, see PinningHowto. Run this command periodically to make sure your source list is up-to-date. This is the equivalent of «Reload» in Synaptic or «Fetch updates» in Adept.
«apt-get dist-upgrade» does not upgrade from a previous version of Ubuntu. For more information of upgrading from a previous version of Ubuntu see http://www.ubuntu.com/getubuntu/upgrading .
This command does the same thing as Edit->Fix Broken Packages in Synaptic. Do this if you get complaints about packages with «unmet dependencies».
This command removes .deb files for packages that are no longer installed on your system. Depending on your installation habits, removing these files from /var/cache/apt/archives may regain a significant amount of diskspace.
The same as above, except it removes all packages from the package cache. This may not be desirable if you have a slow Internet connection, since it will cause you to redownload any packages you need to install a program.
The package cache is in /var/cache/apt/archives . The command will tell you how much space cached packages are consuming.
Reconfigure the named package. With many packages, you’ll be prompted with some configuration questions you may not have known were there.
For example: will present you with a «wizard» on configuring fonts in Ubuntu.
This command places the desired package on hold. TODO: Bug #42178: This is the same as Synaptic’s Package->Lock Version. */
This command may have the unintended side effect of preventing upgrades to packages that depend on updated versions of the pinned package. apt-get dist-upgrade will override this, but will warn you first. If you want to use this command with sudo, you need to use echo "
hold" | sudo dpkg --set-selections not sudo echo "
hold" | dpkg --set-selections.
Removal commands
- This command removes an installed package, leaving configuration files intact.
- This command completely removes a package and the associated configuration files. Configuration files residing in
are not usually affected by this command.
- + operator
If you want to remove package1 and install package2 in one step: .
- This command removes an installed package and dependencies.
While there is no built in way to remove all of your configuration information from your removed packages you can remove all configuration data from every removed package with the following command.
Search commands
Each package has a name and a description. This command lists packages whose name or description contains .
This will find packages whose names contain . Similar to apt-cache search, but also shows whether a package is installed on your system by marking it with ii (installed) and un (not installed).
This command shows the description of package
and other relevant information including version, size, dependencies and conflicts.
This command is similar to «apt-cache show».
This command will list files in package
This command lists files in the package «foo.deb». Note that foo.deb is a pathname. Use this command on .deb packages that you have manually downloaded.
This command determines which installed package owns
. It shows files from installed packages that match
, with the name of the package they came from. Consider this to be a «reverse lookup» utility.
In order to use this command, the package dlocate must be installed on your system.
This command does the same as dlocate, but does not require the installation of any additional packages. It is slower than dlocate but has the advantage of being installed by default on all Debian and Ubuntu systems.
This command acts like dlocate and dpkg -S, but searches all available packages. It answers the question, «what package provides this file?».
apt-file needs to be updated regularly like apt-get. Use the command:
In order to use this command, the package apt-file must be installed on your system.
A general note on searching: If searching generates a list that is too long, you can filter your results by piping them through the command grep. Examples:
will show only the files that contain as a whole word
For more information on apt-get, apt-cache and dpkg consult their manual pages by using the man command. These manuals will provide a wider scope of information in addition to all of the options that you can use with each program.
Example: .
Typical usage example
I want to feel the wind in my hair, I want the adrenaline of speed. So let’s install a racing game. But what racing games are available?
It gives me a lot of answers. I see a game named «torcs». Let’s get some more information on this game.
Hmmm. it seems interesting. But is this game not already installed on my computer? And what is the available version? Which repository is it from (Universe or Main)?
Ok, so now, let’s install it!
What is the command I must type in the console to launch this game? In this example, it’s straightforward («torcs»), but that’s not always the case. One way of finding the name of the binary is to look at what files the package has installed in «/usr/bin». For games, the binary will be in «/usr/games». For administrative programs, it’s in «/usr/sbin».
The first part of the command display all files installed by the package «torcs» (try it). With the second part, we ask to only display lines containing «/usr/games/».
Hmmm, that game is cool. Maybe there are some extra tracks?
But I’m running out of space. I will delete the apt cache!
Oh no, my mother asked me to remove all games from this computer. But I want to keep the configuration files so I can simply re-install it later.
If I want to also remove config files :
Setting up apt-get to use a http-proxy
These are three methods of using apt-get with a http-proxy.
Temporary proxy session
This is a temporary method that you can manually use each time you want to use apt-get through a http-proxy. This method is useful if you only want to temporarily use a http-proxy.
Enter this line in the terminal prior to using apt-get (substitute your details for yourproxyaddress and proxyport).
If you normally use sudo to run apt-get you will need to login as root first for this to work unless you also add some explicit environment settings to /etc/sudoers, e.g.
APT configuration file method
This method uses the apt.conf file which is found in your /etc/apt/ directory. This method is useful if you only want apt-get (and not other applications) to use a http-proxy permanently.
On some installations there will be no apt-conf file set up. This procedure will either edit an existing apt-conf file or create a new apt-conf file.
Add this line to your /etc/apt/apt.conf file (substitute your details for yourproxyaddress and proxyport).
Save the apt.conf file.
BASH rc method
This method adds a two lines to your .bashrc file in your $HOME directory. This method is useful if you would like apt-get and other applications for instance wget, to use a http-proxy.
Add these lines to the bottom of your
/.bashrc file (substitute your details for yourproxyaddress and proxyport)
Save the file. Close your terminal window and then open another terminal window or source the
Test your proxy with sudo apt-get update and whatever networking tool you desire. You can use firestarter or conky to see active connections.
If you make a mistake and go back to edit the file again, you can close the terminal and reopen it or you can source
/.bashrc as shown above.
How to login a proxy user
If you need to login to the Proxy server this can be achieved in most cases by using the following layout in specifying the proxy address in http-proxy. (substitute your details for username, password, yourproxyaddress and proxyport)
Источник
Using apt-get Commands In Linux [Complete Beginners Guide]
Last updated October 29, 2020 By Abhishek Prakash 215 Comments
Brief: This beginner’s guide shows you what you can do with apt-get commands in Linux, how to use them to find new packages, install and upgrade new packages, and clean your system.
If you have started using Ubuntu or any Ubuntu-based Linux distribution, such as Linux Mint, elementary OS, etc., you must have come across the apt-get command by now.
In fact, first in the list of things to do after installing Ubuntu is to use apt-get update and apt-get upgrade. Now, you might be aware of a few apt-get commands and their usage, but you might not be aware of some others.
In this guide for beginners, I am going to explain various of apt-get commands with examples so that you can use them as well as an expert Linux user.
Download apt-get command cheatsheet for future reference. You can print it or save it for offline viewing.
What is apt-get?
Ubuntu is derived from Debian Linux. Debian uses the dpkg packaging system. A packaging system is a way to provide programs and applications for installation. This way, you don’t have to build a program from the source code.
APT (Advanced Package Tool) is the command line tool to interact with this packaging system. There are already dpkg commands to manage it, but apt is a more user-friendly way to handle packages. You can use it to find and install new packages, upgrade packages, clean your packages, etc.
There are two main tools around APT: apt-get and apt-cache. apt-get is for installing, upgrading, and cleaning packages, while apt-cache command is used for finding new packages. We’ll see all of these commands with examples later in this guide.
I am using Linux Mint 18 in this tutorial, but you can use any other Ubuntu-based Linux distribution, such as elementary OS, Linux Lite, etc.
Using apt-get commands
Let’s start with apt-get commands. You just cannot escape this command. It’s better to have an understanding of it, so that you can handle your Linux system in a slightly better way.
Update the package database with apt-get
apt-get basically works on a database of available packages. If you don’t update this database, the system won’t know if there are newer packages available or not. In fact, this is the first command you need to run on any Debian-based Linux system after a fresh install.
Updating the package database requires superuser privileges, so you’ll need to use sudo.
When you run this command, you’ll see the information being retrieved from various servers.
You’ll see three types of lines here: hit, get, and ign. Let me explain them to you:
- hit: there is no change in the package version
- ign: the package is being ignored. There could be various reasons for that. Either the package is so recent that it doesn’t even bother to check for a new version, or there was an error in retrieving the file but error was trivial and thus it is being ignored. This is not an error. There is no need to be worried.
- get: There is a new version of the package available. apt-get will download this information (not the package itself). You can see that there is downloaded information on the ‘get’ lines in the screenshot above.
Upgrade installed packages with apt-get
Once you have updated the package database, you can upgrade the installed packages. The most convenient way is to upgrade all the packages that have updates available. You can use the command below for this purpose:
To upgrade only a specific program, use the command below:
There is another way to perform a complete upgrade, by using the command below:
But you should avoid using this command. I’ll explain why in the next section.
Difference between upgrade and dist-upgrade
The command apt-get upgrade is very obedient. It never tries to remove any packages or tries to install a new package on its own.
The command apt-get dist-upgrade, on the other hand, is proactive. It looks for dependencies with the newer version of the package being installed and it tries to install new packages or remove an existing ones on its own.
It sounds like dist-upgrade is more powerful and intelligent, doesn’t it? But there is a risk with it.
See, it has a “smart” conflict resolution system. It will attempt to upgrade the most important packages, at the expense of the less important ones. This may lead to the removal of some packages, which you might not want. This is the main reason why dist-upgrade should be avoided on production machines.
What is the difference between apt-get update and apt-get upgrade?
This is a very common confusion. You are not the only one to be confused by the terms update and upgrade.
Though it sounds like apt-get update should update the packages, that’s not true. apt-get update only updates the database of available packages. For example, if you have XYX package version 1.3 installed, after apt-get update, the database will be reflect that the newer version 1.4 is available.
When you do an apt-get upgrade after apt-get update, it upgrades the installed packages to the newer version.
This is the reason why the fastest and the most convenient way to update Ubuntu is to use this command:
Using apt-cache commands to search for packages
I’ll be honest with you, this is not my preferred way of searching for packages. But this comes in pretty handy when you are looking for some specific library.
All you need to do is to use the following command (you don’t even need sudo here):
You don’t need to know the exact name of the package. It searches in package names and their short descriptions, and shows result based on that.
If you just want to search the apt packages with specific package names, you can use the command below:
This gives you the list of all the packages starting with your search term.
Once you know the exact package name, you can get more information about it, such as version, dependencies, etc., by using the command below:
How to install new packages with apt-get
If you know the name of the package, you can easily install it using the command below:
Just replace the
with your desired package. Suppose I wanted to install Pinta image editor. All I’d need to do is use the command below:
The good thing about this command is that it has auto-completion. So if you are not sure about the exact package name, you can type a few letters and press tab, and it will suggest all the packages available with those letters. For example:
How to install multiple packages
You are not restricted to installing just one package at a time. You can install several packages at a time by providing their names:
What if you run install on an already installed package?
Suppose you already have a package installed, but you used the install command for it anyway. apt-get will actually look into the database, and if a newer version is available, it will upgrade the installed package to the newer one. So no harm is done by using this command — unless you don’t want the package to be upgraded.
How to install packages without upgrading
Suppose for some reason you want to install a package but don’t want to upgrade it if it is already installed. It sounds weird, but you may have reasons to do that.
For that case, you can use the no-upgrade flag in the following manner:
How to only upgrade a package, not install it
In case you want to upgrade a package provided it’s already installed, but don’t want to install it if it’s not, you can do that with the following command:
How to install a specific version of an application
By default, the latest version available in the repository will be installed for any application. But if, for some reason, you don’t want to install the latest version, you can specify the package version number. (You would need to know the exact version number that you wanted to install).
All you need to do is to add the version number to the name of the package:
How to remove installed packages with apt-get
Installing packages isn’t the only thing you can do with apt-get. You can also remove packages with it. All you need to do is to use the command in this manner:
Auto-completion works here as well. So just start typing package name and press tab, and it will suggest all the installed packages starting with those letters.
Another way of uninstalling packages is to use purge. The command is used in the following manner:
What is the difference between apt-get remove and apt-get purge?
- apt-get remove just removes the binaries of a package. It doesn’t touch the configuration files
- apt-get purge removes everything related to a package, including the configuration files
So if you have “removed” a particular piece of software and then install it again, your system will have the same configuration files. Of course, you will be asked to override the existing configuration files when you install it again.
Purge is particularly useful when you have messed up with the configuration of a program, when you want to completely erase its traces from the system and start afresh.
Most of the time, a simple remove is more than enough for uninstalling a package.
How to clean your system with apt-get
Oh yes! You can also clean your system with apt-get and free up some disk space.
You can use the command below to clear apt cache (locally saved retrieved package files):
Another way is to use autoclean. Unlike the above clean command, autoclean only removes those retrieved package files that have a newer version now, and so won’t be used anymore.
Another way to free up disk space is to use autoremove. It removes libraries and packages that were installed automatically to satisfy the dependencies of another installed package. If that package is removed, these automatically installed packages are useless in the system. This command removes such packages.
This is a command-line way of cleaning a Linux system. If you prefer a GUI, here are some CCleaner alternatives for Linux which you can use on Ubuntu and Ubuntu-based Linux distributions.
Your input
There is more to apt-get, but this much should give you a pretty good start. You can always look up the man pages to get more information.
How do you like this guide to apt-get commands in Linux? Was it helpful to you and clear enough to understand? Your feedback will help in creating more such guides in the near future.
Like what you read? Please share it with others.
Источник