39
Sysadmins’ Rosetta Stone Mackenzie Morgan Introduction Package Management Files Services Sysadmins’ Rosetta Stone Mackenzie Morgan Ohio LinuxFest 2009 26 September 2009

Sysadmins' Rosetta Stone

Embed Size (px)

DESCRIPTION

A description of the differences between Red Hat's way of doing things and Debian's way of doing things.

Citation preview

Page 1: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Sysadmins’ Rosetta Stone

Mackenzie Morgan

Ohio LinuxFest 2009

26 September 2009

Page 2: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Outline

1 Introduction

2 Package Management

3 Files

4 Services

Page 3: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Me

Mackenzie Morgan

Computer Science student

*buntu contributor

At home: Kubuntu

At work: Red Hat (. . . and SUSE. . . and Solaris. . . andAIX. . . )

Page 4: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

This Talk

You: “Red Hat, Red Hat, Red Hat, I sure love Red Hat!”

Pointy-Haired Boss: We’re switching to Debian

You: But they don’t even use RPM!

(Swap “Debian” for “Red Hat” and vice-versa as necessary)

Page 5: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Outline

1 Introduction

2 Package Management

3 Files

4 Services

Page 6: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Why Package Management First?

Lots of commands

Use it the most

Page 7: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Apt and Yum and Bears, Oh my!

Common Debian tools:

apt-cache

apt-get

aptitude

dpkg

tasksel

Common Red Hat & Fedora tools:

rpm

yum

Page 8: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Package Naming Conventions: Red Hat

python 2.6-1.i386.rpmParts:

Software name

Software version

Package version

Architecture

Page 9: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Package Naming Conventions: Debian

python2.6 2.6.2-3 amd64.debpython2.6 2.6.2-3ubuntu1 amd64.debParts:

Software name

Library version (optional)

Software version

Debian package version

Ubuntu package version (only if Ubuntu modificationsexist)

Architecture

Page 10: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Installing and Removing a Local Package

Install:

dpkg -i python2.6 2.6.2-3 amd64.deb

rpm -Uvh python 2.6-1.i386.rpm

Remove:

dpkg -r python2.6

rpm -e python

Page 11: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Installing and Removing Packages with Repositories

Install:

apt-get install python2.6

aptitude install python2.6

yum install python

Remove:

apt-get remove python2.6

aptitude remove python2.6

yum remove python

Great! Not much to learn there!

Page 12: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Wait. . . Apt-get? Aptitude?

Aptitude:

Always installs “Recommends:” packages

Tracks “manual” versus “automatically” installed packages

Removes “orphaned” packages

Apt-get:

Can be configured to automatically install “Recommends:”packages or not (current default: install them)

Will prompt about orphaned packages

apt-get autoremove will remove orphaned packages

Convergence!Aptitude’s main use? Avoiding remembering apt-get andapt-cache

Page 13: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

How do I find a package?

Debian:

apt-cache search text editor

aptitude search text editor

Diff? Aptitude alphabetizes and lists install statusRed Hat:

yum search text editor

Page 14: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

What if I want lots of packages?

List them all! Or. . .

Metapackages

Tasksel

Groupinstall

Page 15: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Metapackages

Dummy package, depends on lots of other packagesEx:apt-get install build-essentialinstalls development tools (gcc, kernel headers, etc.)

Page 16: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Tasksel

TUI to select and install a certain task, ex: LAMP serverJust run tasksel

Page 17: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Groupinstall

Feature of YumEx:yum groupinstall ‘‘Development Tools’’ is roughlyequivalent to the earlier “build-essential” example

Page 18: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Speaking of Development Packages. . .

Debian: -dev packages for headersRed Hat: -devel packages for headers

Page 19: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Staying up to date

Get updated list of available packages:

apt-get update or aptitude update

yum check-update

Install software updates

apt-get upgrade or aptitude safe-upgrade

yum update (does the above and installs in tandem)

Install all software updates and remove obsolete packages

apt-get dist-upgrade or aptitude full-upgrade

yum upgrade

Page 20: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

What if I only want to update one package?

apt-get install python2.6

yum update python

Page 21: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

When I remove a package, what happens to configfiles?

Debian: They’re retained. . . unless apt-get purgepython2.6Red Hat: They’re removed

Page 22: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Which package is this file in?

Debian:

If file exists dpkg -S $FILENAME

If not apt-file search $FILENAME

Red Hat:

rpm -qf $FILENAME

Page 23: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

What version of a package is installed?

Debian:

dpkg -l $PACKAGE

apt-cache policy $PACKAGE

Red Hat:

rpm -qi $PACKAGE | awk ‘/Version/{ print $3 }’

Page 24: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Outline

1 Introduction

2 Package Management

3 Files

4 Services

Page 25: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Speaking of Packages. . .

Where are repositories configured?

Debian: /etc/apt/sources.list

Red Hat: /etc/yum.repos.d/*.repo

Where do downloaded packages go?

Debian: /var/cache/apt/archives/

Red Hat: /var/cache/yum/

Page 26: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Interface configuration files

Debian: /etc/network/interfaces

Red Hat: /etc/sysconfig/network-scripts/ifcfg-* (ex:ifcfg-eth0)

Page 27: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Timezones

Debian: /etc/timezone

Red Hat: /etc/sysconfig/clock

Page 28: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Modules to load

Debian: /etc/modules

Red Hat: /etc/sysconfig/udev-stw

Page 29: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

For the OpenAFS users. . .

krb5-config has no standard place

Debian: /usr/bin/krb5-config

Red Hat: /usr/kerberos/bin/krb5-config

SUSE: /usr/mit/bin/krb5-config

Solaris: /opt/csw/bin/krb5-config

Page 30: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Webserver

Debian: /etc/apache2/

Red Hat: /etc/httpd/

Page 31: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Firewall configuration

Debian: /var/lib/iptables

Red Hat: /etc/sysconfig/iptables

Page 32: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

IDs

UIDs and GIDs vary

Debian starts at 1000

Red Hat starts at 500

Filesystem permissions become sad

Change here:

Debian: /etc/adduser.conf

Red Hat: /etc/login.defs

Page 33: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Outline

1 Introduction

2 Package Management

3 Files

4 Services

Page 34: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

What’s a Runlevel?

Pre-defined sets of scripts and programs to start in a specificstate

Page 35: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

What does each runlevel do?

That depends. Are you asking:

1 Someone who read a book on “Linux” once

2 Someone who’s poked at their system’s runlevels

3 Someone who’s used many distros

4 Wikipedia

Page 36: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Runlevels By Distro

Distro/Runlevel 2 3 4 5

By the book ♠ ♣ ♦ FDebian FGentoo ♠ F ♦Red Hat 4 ♣ ♦ FSUSE ♠ ♣ ♦ F

Key:

♦ = Undefined

F = Multi-user with display manager

♣ = Multi-user without display manager

♠ = Multi-user without networking or display manager

4 = Multi-user with networking but without mostnetwork services

Page 37: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

How do I change runlevels’ services?

Old Answer:

Debian: manually create/rm symlinks (orupdate-rc.d. . . if you’re a script)

Red Hat: use chkconfig

New Answer:Use chkconfigYay! Convergence!

Page 38: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

How do I start/stop/restart a service?

Old Answer:

Debian: /etc/init.d/$SERVICE start

Red Hat: service $SERVICE start or that

New Answer:service $SERVICE startYay! Convergence!

Page 39: Sysadmins' Rosetta Stone

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

References

http://en.wikipedia.org/wiki/Runlevel