Package Management
Is controlling software (Packages) in a Linux environment.
RPM / YUM / DNF present on:
Redhat
CentOS
Fedora
Suse
apt-get / dpkg present on:
RPM Package Management
Redhat Package Manager – now recursive – RPM Package Manager – after being adopted by multiple distros.
Package file naming conventions (NOT A REQUIREMENT):
Operators:
DEB Based Package Management
apt
Config file located in /etc/apt/sources.list important. sources.list.d folder contains official repos.
apt-cache
search thing – searches packages on local package cache for thing to download from server.
stats – shows stats based on the metadata downloaded about our repos.
depends apache2 – shows dependencies for the apache2 package.
unmet – shows pkgs that have unmet depends.
apt-get install apache2 - install apache2 + deps from repos.
apt-get upgrade – upgrades out of date packages.
apt-get clean – cleans up local pkg files, temp files, etc.
apt-get autoclean – only cleans out packages that are no longer avail in our source repo. These can no longer be downloaded and are largely useless files.
apt-get install -s php5 – -s says simulate install php5. useful!
apt-get install -y php5 – will auto input YES on prompts.
apt-get install -y -q php5 – -q omits some terminal output.
apt-get source php5 – this will download the source files php5 and not the PACKAGE php5.
apt-get dist-upgrade –
RTFM, performs upgrade but also handles changing of dependencies of new versions of a package. As a result, some packages may be removed.
DEB
apt-get
You can edit sources in /etc/apt/sources.list
deb http://http.debian.net/debian wheezy main
deb-src http://http.debian.net/debian wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
deb entries specify debian PACKAGES where as deb-src specifies SOURCE PACKAGES, upon which to compile a package/program.
Useful commands:
CENTOS
rpm
-ivh packagefile - Installs packagefile with a series of hashes as indicators.
-uvh - Same as -ive but upgrades a a package if already installed?
-q pkgname - Queries to see if packagename is installed.
-e pkgname - remove pkgname from system.
yum
yum makecache fast - updates local cache of repo contents. Similar to Pacman -Syy
yum search name - searches repos for pkgs named name
yum install httpd - installs httpd and deps from repos.
yum update – updates all packages on system.