User Tools

Site Tools


lx103:managing_software

Package Management

Is controlling software (Packages) in a Linux environment.


RPM / YUM / DNF present on:

  • Redhat
  • CentOS
  • Fedora
  • Suse

apt-get / dpkg present on:

  • Debian
  • Ubuntu
  • Mint

RPM

Redhat Package Manager – now recursive – RPM Package Manager – after being adopted by multiple distros.

Package file naming conventions (NOT A REQUIREMENT):

  • packagename-a.b.c-x.arch.rpm
    • Package Name - name of package, like.. samba
    • Version Number - (a.b.c) this is the package version number like 3.6.5 – the programmer assigns this number.
    • Build Number - number following version number (x) represents minor changes (patches, tweaks) made by package container.
    • Architecture - Defines the architecture the package was made to run on. i386 is common. there are further archs like: i586, i686, x86_64, PPC, noarch(scripts)

Operators:

  • -i – Install
  • -U – Upgrade if already installed
  • -q – Query, get info about packages

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:

  • apt-get update

CENTOS

  • Uses yum/rpm.
  • Repos listed in /etc/yum.repos.d/

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.

UBUNTU


uses apt-get / dpkg

apt

Config file located in /etc/apt/sources.list important. sources.list.d folder contains official repos.

  • apt-get update – updates repo list. DOES NOT UPGRADE.

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-upgradeRTFM, performs upgrade but also handles changing of dependencies of new versions of a package. As a result, some packages may be removed.
lx103/managing_software.txt · Last modified: 2024/04/24 01:56 by 114.119.158.167