Package Management: Difference between revisions
(→Ubuntu / Debian: install package with version (downgrade)) |
|||
Line 4: | Line 4: | ||
<source lang="bash"> |
<source lang="bash"> |
||
# ----- Installing from the REPOSITORIES - APTITUDE |
# ----- Installing from the REPOSITORIES - APTITUDE |
||
aptitude update # (OPTIONAL) update the local repository cache |
aptitude update # (OPTIONAL) update the local repository cache |
||
aptitude install <package(s)> # Install given package |
aptitude install <package(s)> # Install given package |
||
aptitude remove <package(s)> # Remove package (or install it if package name prefixed with - ) |
aptitude remove <package(s)> # Remove package (or install it if package name prefixed with - ) |
||
</source> |
</source> |
||
''Note: Advantage of <code>aptitude</code> over <code>apt-get</code> is that it maintains <tt>/var/log/aptitude</tt>, and remove dependencies by default.'' |
''Note: Advantage of <code>aptitude</code> over <code>apt-get</code> is that it maintains <tt>/var/log/aptitude</tt>, and remove dependencies by default.'' |
||
Line 13: | Line 13: | ||
<source lang="bash"> |
<source lang="bash"> |
||
# ----- Installing from the REPOSITORIES - APT-GET |
# ----- Installing from the REPOSITORIES - APT-GET |
||
apt-get update # (OPTIONAL) update the local repository cache |
apt-get update # (OPTIONAL) update the local repository cache |
||
apt-get install <package(s)> # Install given package |
apt-get install <package(s)> # Install given package |
||
apt-get |
apt-get install <package(s)> =<version> # Install a specific version of the package (usually to force downgrade) |
||
apt-get |
apt-get install <package(s)> /<release> # Install package from specific distribution version |
||
apt-get upgrade # Install new version of all installed package (without installing new package) |
|||
⚫ | |||
apt-get |
apt-get remove <package(s)> # Remove package (or install it if package name prefixed with - ) |
||
apt-get autoremove |
apt-get autoremove <package(s)> # Remove package and all its unused dependencies |
||
⚫ | |||
apt-get autoremove # Remove package installed to satisfy dependencies for some package and that are no more needed |
|||
</source> |
</source> |
||
Line 25: | Line 27: | ||
<source lang="bash"> |
<source lang="bash"> |
||
# ----- Installing from a .deb PACKAGE file |
# ----- Installing from a .deb PACKAGE file |
||
dpkg --install <debfile> # (or -i) Install a package from given .deb file |
dpkg --install <debfile> # (or -i) Install a package from given .deb file |
||
</source> |
</source> |
||
Line 31: | Line 33: | ||
<source lang=bash> |
<source lang=bash> |
||
# ----- Querying INSTALLED PACKAGE |
# ----- Querying INSTALLED PACKAGE |
||
dpkg --get-selections # Show the list of packages installed through apt-get |
dpkg --get-selections # Show the list of packages installed through apt-get |
||
dpkg --get-selections | grep php # ... filtering for some specific package keyword |
dpkg --get-selections | grep php # ... filtering for some specific package keyword |
||
dpkg -L <package> # List files delivered by a given <package> |
dpkg -L <package> # List files delivered by a given <package> |
||
dlocate -L <package> # ... same as above but much faster (require package dlocate) |
dlocate -L <package> # ... same as above but much faster (require package dlocate) |
||
dpkg -S <file> # List packages providing given file |
dpkg -S <file> # List packages providing given file |
||
dlocate -S <file> # ... same as above but much faster (require package dlocate) |
dlocate -S <file> # ... same as above but much faster (require package dlocate) |
||
dlocate <file> # ... same as dpkg -L -S combined but much faster (require package dlocate) |
dlocate <file> # ... same as dpkg -L -S combined but much faster (require package dlocate) |
||
# ----- Querying the CACHE |
# ----- Querying the CACHE |
||
apt-cache search <regex> # Search package cache (package name and description) for given <regex> |
apt-cache search <regex> # Search package cache (package name and description) for given <regex> |
||
apt-cache search --name-only <regex> # ... same but only search in package name |
apt-cache search --name-only <regex> # ... same but only search in package name |
||
apt-cache showpkg <package(s)> # Show version and dependencies information about given package(s) |
apt-cache showpkg <package(s)> # Show version and dependencies information about given package(s) |
||
apt-cache show <package(s)> # Show information (description...) about given package(s) |
apt-cache show <package( s)> # Show information (description...) about given package(s) |
||
# ----- Querying a .deb PACKAGE file |
# ----- Querying a .deb PACKAGE file |
||
dpkg --info <debfile> # (or -I) Show information of given .deb file |
dpkg --info <debfile> # (or -I) Show information of given .deb file |
||
dpkg --content <debfile> # (or -c) Show content of given .deb file |
dpkg --content <debfile> # (or -c) Show content of given .deb file |
||
</source> |
</source> |
||
{{blue|'''Querying'''}} packages that are '''not installed yet''' (requires package '''apt-file'''):<br> |
{{blue|'''Querying'''}} packages that are '''not installed yet''' (requires package '''apt-file'''):<br> |
||
<source lang=bash> |
<source lang=bash> |
||
apt-file update # (optional - needed 1st time use) |
apt-file update # (optional - needed 1st time use) |
||
apt-file list <package> # Search package in repositories, and show the content |
apt-file list <package> # Search package in repositories, and show the content |
||
apt-file search <file> # Display the name of all packages within repository that contain this file |
apt-file search <file> # Display the name of all packages within repository that contain this file |
||
apt-file search -x "/<file>$" # ... more accurate query using regex |
apt-file search -x "/<file>$" # ... more accurate query using regex |
||
</source> |
</source> |
||
:''Note: An alternative is to use the script '''[{{#file: dweblocate}} dweblocate]''', but '''apt-file''' is more powerful actually'' |
:''Note: An alternative is to use the script '''[{{#file: dweblocate}} dweblocate]''', but '''apt-file''' is more powerful actually'' |
Revision as of 09:13, 29 November 2010
Ubuntu / Debian
Installing a package from REPOSITORIES, using aptitude:
# ----- Installing from the REPOSITORIES - APTITUDE
aptitude update # (OPTIONAL) update the local repository cache
aptitude install <package(s)> # Install given package
aptitude remove <package(s)> # Remove package (or install it if package name prefixed with - )
Note: Advantage of aptitude
over apt-get
is that it maintains /var/log/aptitude, and remove dependencies by default.
Installing a package from REPOSITORIES, using apt-get:
# ----- Installing from the REPOSITORIES - APT-GET
apt-get update # (OPTIONAL) update the local repository cache
apt-get install <package(s)> # Install given package
apt-get install <package(s)> =<version> # Install a specific version of the package (usually to force downgrade)
apt-get install <package(s)> /<release> # Install package from specific distribution version
apt-get upgrade # Install new version of all installed package (without installing new package)
apt-get remove <package(s)> # Remove package (or install it if package name prefixed with - )
apt-get autoremove <package(s)> # Remove package and all its unused dependencies
apt-get purge <package(s)> # Remove package and related configuration files
apt-get autoremove # Remove package installed to satisfy dependencies for some package and that are no more needed
Installing a package from a .deb PACKAGE file:
# ----- Installing from a .deb PACKAGE file
dpkg --install <debfile> # (or -i) Install a package from given .deb file
Querying the cache or installed packages:
# ----- Querying INSTALLED PACKAGE
dpkg --get-selections # Show the list of packages installed through apt-get
dpkg --get-selections | grep php # ... filtering for some specific package keyword
dpkg -L <package> # List files delivered by a given <package>
dlocate -L <package> # ... same as above but much faster (require package dlocate)
dpkg -S <file> # List packages providing given file
dlocate -S <file> # ... same as above but much faster (require package dlocate)
dlocate <file> # ... same as dpkg -L -S combined but much faster (require package dlocate)
# ----- Querying the CACHE
apt-cache search <regex> # Search package cache (package name and description) for given <regex>
apt-cache search --name-only <regex> # ... same but only search in package name
apt-cache showpkg <package(s)> # Show version and dependencies information about given package(s)
apt-cache show <package( s)> # Show information (description...) about given package(s)
# ----- Querying a .deb PACKAGE file
dpkg --info <debfile> # (or -I) Show information of given .deb file
dpkg --content <debfile> # (or -c) Show content of given .deb file
Querying packages that are not installed yet (requires package apt-file):
apt-file update # (optional - needed 1st time use)
apt-file list <package> # Search package in repositories, and show the content
apt-file search <file> # Display the name of all packages within repository that contain this file
apt-file search -x "/<file>$" # ... more accurate query using regex
- Note: An alternative is to use the script [{{#file: dweblocate}} dweblocate], but apt-file is more powerful actually
View package source repository:
apt-cache madison <package> # Display available version of a package in each repository
View package installation history:
grep install /var/log/dpkg.log # Also check dpkg.log.1, etc.
sudo cat /var/log/apt/terl.log # Also check
sudo cat /var/log/apt/history.log
Add a repository:
vi /etc/apt/sources.list # or edit files in /etc/apt/sources.list.d/
apt-get update
Add a package authentication key:
gpg --keyserver keyserver.ubuntu.com --recv 247D1CFF # (optional) Get the key from some keyserver
gpg --export --armor 247D1CFF | sudo apt-key add - # Add the key
Miscellaneous:
dpkg-reconfigure popularity-contest # subscribe / unsubscribe to the package usage survey
RPM's
- RPM RedHat Package Manager
- Using RPM: THe Basics (Part I)
- Install commands
rpm -ivh package # Installing a package - verbose and progress bars
rpm -iv -nodeps package # Installing a package (verbose), ignore dependencies
- Query commands
rpm -ql package # List files provided by a package
- To query a package that has not been installed, add -p option to the command:
rpm -qpl package # List files provided by a package
Source package
Installing from source package is usually done with
./configure
make
sudo make install
! Power Tip ! A more powerful way to install from source is to use checkinstall
. checkinstall will actually create a temporary package that can then later be uninstalled with Synaptic or via the terminal:
./configure
make
sudo checkinstall # Creates a package and install it as if 'sudo make install' was run
#... to uninstall:
sudo dpkg -r <packagename>
Note that checkinstall can actually run any arbitrary command and monitor change on the file system.