Package Management: Difference between revisions
(→RPM's) |
|||
Line 1: | Line 1: | ||
== Ubuntu / Debian == |
== Ubuntu / Debian == |
||
Installing a package '''from REPOSITORIES''', using '''aptitude''': |
{{blue|'''Installing'''}} a package '''from REPOSITORIES''', using '''aptitude''': |
||
<source lang="bash"> |
<source lang="bash"> |
||
# ----- Installing from the REPOSITORIES - APTITUDE |
# ----- Installing from the REPOSITORIES - APTITUDE |
||
Line 10: | Line 10: | ||
''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.'' |
||
Installing a package '''from REPOSITORIES''', using '''apt-get''': |
{{blue|'''Installing'''}} a package '''from REPOSITORIES''', using '''apt-get''': |
||
<source lang="bash"> |
<source lang="bash"> |
||
# ----- Installing from the REPOSITORIES - APT-GET |
# ----- Installing from the REPOSITORIES - APT-GET |
||
Line 22: | Line 22: | ||
</source> |
</source> |
||
Installing a package '''from a .deb PACKAGE file''': |
{{blue|'''Installing'''}} a package '''from a .deb PACKAGE file''': |
||
<source lang="bash"> |
<source lang="bash"> |
||
# ----- Installing from a .deb PACKAGE file |
# ----- Installing from a .deb PACKAGE file |
||
Line 28: | Line 28: | ||
</source> |
</source> |
||
Querying the '''cache''' or '''installed''' packages: |
{{blue|'''Querying'''}} the '''cache''' or '''installed''' packages: |
||
<source lang=bash> |
<source lang=bash> |
||
# ----- Querying INSTALLED PACKAGE |
# ----- Querying INSTALLED PACKAGE |
||
Line 48: | Line 48: | ||
</source> |
</source> |
||
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) |
||
Line 99: | Line 99: | ||
</source></div> |
</source></div> |
||
View package |
{{blue|'''View'''}} package source repository: |
||
<source lang="bash"> |
|||
apt-cache madison <package> # Display available version of a package in each repository |
|||
</source> |
|||
{{blue|'''View'''}} package installation history: |
|||
<source lang="bash"> |
<source lang="bash"> |
||
grep install /var/log/dpkg.log # Also check dpkg.log.1, etc. |
grep install /var/log/dpkg.log # Also check dpkg.log.1, etc. |
||
Line 106: | Line 111: | ||
</source> |
</source> |
||
{{blue|'''Add'''}} a repository: |
|||
<source lang="bash"> |
<source lang="bash"> |
||
vi /etc/apt/sources.list # or edit files in /etc/apt/sources.list.d/ |
vi /etc/apt/sources.list # or edit files in /etc/apt/sources.list.d/ |
||
Line 112: | Line 117: | ||
</source> |
</source> |
||
{{blue|'''Add'''}} a package authentication key: |
|||
<source lang="bash"> |
<source lang="bash"> |
||
gpg --keyserver keyserver.ubuntu.com --recv 247D1CFF # (optional) Get the key from some keyserver |
gpg --keyserver keyserver.ubuntu.com --recv 247D1CFF # (optional) Get the key from some keyserver |
||
Line 118: | Line 123: | ||
</source> |
</source> |
||
Miscellaneous: |
|||
To subscribe / unsubscribe to the package usage survey: |
|||
<source lang="bash"> |
<source lang="bash"> |
||
dpkg-reconfigure popularity-contest |
dpkg-reconfigure popularity-contest # subscribe / unsubscribe to the package usage survey |
||
</source> |
</source> |
||
Revision as of 15:30, 4 October 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 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.