"dpkg: error: dpkg front end lock is locked by another process" [duplicate]
Solution 1:
Packages are manually installed via the dpkg
command (Debian Package Management System). dpkg
is the backend to commands like apt-get
and aptitude
, which in turn are the backend for GUI install apps like the Software Center and Synaptic.
Something along the lines of:
dpkg
--> apt-get
, aptitude
--> Synaptic, Software Center
But of course the easiest ways to install a package would be, first, the GUI apps (Synaptic, Software Center, etc..), followed by the terminal commands apt-get
and aptitude
that add a very nice user friendly approach to the backend dpkg, including but not limited to packaged dependencies, control over what is installed, needs update, not installed, broken packages, etc.. Lastly the dpkg
command which is the base for all of them.
Since dpkg is the base, you can use it to install packaged directly from the command line.
Install a package
sudo dpkg -i DEB_PACKAGE
For example if the package file is called askubuntu_2.0.deb
then you should do sudo dpkg -i askubuntu_2.0.deb
. If dpkg
reports an error due to dependency problems, you can run sudo apt-get install -f
to download the missing dependencies and configure everything. If that reports an error, you'll have to sort out the dependencies yourself by following for example How do I resolve unmet dependencies after adding a PPA?.
Remove a package
sudo dpkg -r PACKAGE_NAME
For example if the package is called askubuntu
then you should do sudo dpkg -r askubuntu
.
Reconfigure an existing package
sudo dpkg-reconfigure PACKAGE_NAME
This is useful when you need to reconfigure something related to said package. Some useful examples it the keyboard-configuration
when you want to enable the Ctrl+Alt+Backspace in order to reset the X server, so you would the following:
sudo dpkg-reconfigure keyboard-configuration
Another great one is when you need to set the Timezone for a server or your local testing computer, so you use use the tzdata
package:
sudo dpkg-reconfigure tzdata
Solution 2:
Debian (.deb) packages are the packages that are used in Ubuntu. You can install any .deb package in your system. .deb files can generally be installed from your file manager (Nautilus) merely by clicking on them, since file associations with the default installer is already set in Ubuntu. These instructions are for those who wish to install packages from the command-line terminal (Terminal).
To install a downloaded Debian (Ubuntu) package (.deb): Open Terminal and type
sudo dpkg -i packagename.deb
To remove a Debian (Ubuntu) package (.deb):
sudo dpkg -r packagename
To Reconfigure/Repair an installed Debian (Ubuntu) package (.deb):
sudo dpkg-reconfigure packagename
Solution 3:
My favourite is GDebi, available from both terminal/shell or graphical desktop.
I usually associate .deb
files with GDebi as it is fast and efficient - especially compared to Ubuntu Software Center. One of the main feature of GDebi is it resolves dependencies and installs them.
For command-line run sudo gdebi <package.deb>
to install a single deb file.
Solution 4:
Are you looking for all dpkg commands? click this link to have a read.
15 dpkg commands to Manage Debian based Linux Servers
DPKG commands
There are two actions, they are dpkg-query
and dpkg-deb
.
Install a package
# sudo dpkg -i {package_name}
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb
Remove a package
# sudo dpkg -r {package_name}
# sudo dpkg -r vlc
Remove a package and its configuration files
# sudo dpkg -P {package_name}
# sudo dpkg -P vlc
List all installed packages.
You can pipe the command to less
(a pager) so you can more easily scroll the content:
# dpkg -l | less
Check if the package is installed or not
# dpkg -l {package_name}
# dpkg -l vlc
Check if the package is installed or not, and if it is, launch it:
# dpkg -l | vlc
See whether a package is installed or not
And this will show the location where the package will be installed.
Here -S
(capital S
) to search whether the package was installed or not.
# sudo dpkg -S {package_name}
# sudo dpkg -S skype
Install a *.deb package from a specified location
Here -R
is recursive. (Recursively handle all regular files matching the pattern *.deb
found at specified directories and all of its subdirectories).
# sudo dpkg -R --install {package_location}
# sudo dpkg -R --install /home/sysadmin/soft
Show package details
Here -p
(lowercase p
) will show the package info:
# dpkg -p {package_name}
# dpkg -p apache2
View the content of a package
Use -c
(lowercase c
) to show the content:
# sudo dpkg -c {package_name}
# sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb
Extract the *.deb
package file
Use -x
(lowercase x
) to extract:
# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/
Extract and display the filenames contained in a package
Use -X
(uppercase X
) to display the content with extraction.
# dpkg -X {package_name} {location_were_to_extract}
# dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/
Display information about a package
Here -I
stands for information:
# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb
Reconfigure an already installed package
dpkg-reconfigure
reconfigures packages after they already have been installed. Pass it the name(s) of a package or packages to reconfigure. It will ask configuration questions, much like when the package was first installed.
# dpkg-reconfigure postfix
This will reconfigure postfix
the same way as when you installed it for the first time.
Need to know more about dpkg
commands? Have a look at the manual page:
# man dpkg