Linux package management

From Ever changing code
Jump to navigation Jump to search

Apt-get

List all configured software sources

grep -r --include '*.list' '^deb ' /etc/apt/sources.list /etc/apt/sources.list.d/

List all installed packages, search wit dash '/'. Remove grep to display headers

dpkg -l | grep ii | less

Search within the package descriptions you've already downloaded to find the package that's got the feature you're looking for. REGEX (regular expressions) is expected after 'search' and any keystrokes that mean something to your command shell (e.g. [|?*] ) you'll need to quote them so that apt-cache will be able to see them instead of having the shell expand the term to a list of file names that mean something else entirely.

apt-cache search tunnel
apt-cache search 'php.*sql'
apt-cache search apache.\*perl
apt-cache search elvis\|vim
Display info about a package
apt-cache show gns3
Check an available package verison in a repository
$ apt-cache policy gns3
gns3:
  Installed: (none)
  Candidate: 0.8.6-3ubuntu1
  Version table:
     0.8.6-3ubuntu1 0
        500 http://gb.archive.ubuntu.com/ubuntu/ trusty/multiverse amd64 Packages

Install a specific version

sudo apt-get install ansible=<version>
sudo apt-cache policy ansible      #show available packages and its primary install candidate 
sudo apt-cache showpkg ansible     #shows details about available packages including dependencies
sudo apt-cache showpkg ansible
Package: ansible
Versions: 
2.0.1.0-1ppa~trusty (/var/lib/apt/lists/ppa.launchpad.net_ansible_ansible_ubuntu_dists_trusty_main_binary-amd64_Packages)
Description Language: 
                File: /var/lib/apt/lists/ppa.launchpad.net_ansible_ansible_ubuntu_dists_trusty_main_binary-amd64_Packages
                 MD5: ddfdff3530378f98f78630ce2aed5fe8
Description Language: en
                File: /var/lib/apt/lists/ppa.launchpad.net_ansible_ansible_ubuntu_dists_trusty_main_i18n_Translation-en
                 MD5: ddfdff3530378f98f78630ce2aed5fe8

1.7.2+dfsg-1~ubuntu14.04.1 (/var/lib/apt/lists/gb.archive.ubuntu.com_ubuntu_dists_trusty-backports_universe_binary-amd64_Packages)
Description Language: 
                File: /var/lib/apt/lists/gb.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages
                 MD5: db2b21b0d2286fccc4401d5982361488

1.5.4+dfsg-1 (/var/lib/apt/lists/gb.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages)
Description Language: 
                File: /var/lib/apt/lists/gb.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages
                 MD5: db2b21b0d2286fccc4401d5982361488

Reverse Depends: 
  ansible-fireball,ansible
  ansible-fireball,ansible
Dependencies: 
2.0.1.0-1ppa~trusty - python (0 (null)) python-support (2 0.90) python-jinja2 (0 (null)) python-yaml (0 (null)) python-paramiko (0 (null)) python-httplib2 (0 (null)) python-six (0  sshpass (0 (null)) 
Provides: 
2.0.1.0-1ppa~trusty - 
1.7.2+dfsg-1~ubuntu14.04.1 - 
1.5.4+dfsg-1 - 
Reverse Provides: 
sudo apt-cache policy ansible
ansible:
  Installed: (none)
  Candidate: 2.0.1.0-1ppa~trusty
  Version table:
     2.0.1.0-1ppa~trusty 0
        500 http://ppa.launchpad.net/ansible/ansible/ubuntu/ trusty/main amd64 Packages
     1.7.2+dfsg-1~ubuntu14.04.1 0
        100 http://gb.archive.ubuntu.com/ubuntu/ trusty-backports/universe amd64 Packages
     1.5.4+dfsg-1 0
        500 http://gb.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

Yum

It it a default package management in the following and many other RPM-based Linux distributions:

  • Amazon Linux AMI
  • Red Hat Enterprise Linux
  • Fedora
  • CentOS

Usage

System update

sudo yum update

Install package

sudo yum install nagios

Package description

$ yum info nagios
Loaded plugins: priorities, update-motd, upgrade-helper
Installed Packages
Name        : nagios
Arch        : x86_64
Version     : 3.5.1
Release     : 1.6.amzn1
Size        : 5.3 M
Repo        : installed
From repo   : amzn-main
Summary     : Nagios monitors hosts and services and yells if somethings breaks
URL         : http://www.nagios.org/
License     : GPLv2
Description : Nagios is a program that will monitor hosts and services on your
            : network.  It has the ability to send email or page alerts when a
            : problem arises and when a problem is resolved.  Nagios is written
            : in C and is designed to run under Linux (and some other *NIX
            : variants) as a background process, intermittently running checks
            : on various services that you specify.
            :
            : The actual service checks are performed by separate "plugin" programs
            : which return the status of the checks to Nagios. The plugins are
            : available at http://sourceforge.net/projects/nagiosplug.
            :
            : This package provides the core program, web interface, and documentation
            : files for Nagios. Development files are built as a separate package.

List available packages

yum list [available|installed|extras|updates|obsoletes|all|recent] [pkgspec] 
yum list available | less
yum list available | grep package

References