User Tools

Site Tools


Sidebar

CCNA Notes

Resources

GNS3 - Graphical Network Simulator for Win / Mac / Linux

r/CCNA - CCNA subreddit

lx103:managing_software

This is an old revision of the document!


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 Package Management

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 Based Package Management

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.

aptitude

Ncurses/CLI based management tool. An option for those who don't like entering commandline args.

dselect

No longer maintained but still an option for package management. It's not unlike the curses interface for aptitude but you might as well just stick with the cli args like apt-get update

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.
lx103/managing_software.1714310908.txt.gz · Last modified: 2024/04/28 13:28 by 114.119.141.71