Sysadmins' Rosetta Stone

Preview:

DESCRIPTION

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

Citation preview

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Sysadmins’ Rosetta Stone

Mackenzie Morgan

Ohio LinuxFest 2009

26 September 2009

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Outline

1 Introduction

2 Package Management

3 Files

4 Services

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. . . )

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)

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Outline

1 Introduction

2 Package Management

3 Files

4 Services

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Why Package Management First?

Lots of commands

Use it the most

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

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

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

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

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!

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

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

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

What if I want lots of packages?

List them all! Or. . .

Metapackages

Tasksel

Groupinstall

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.)

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Tasksel

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

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Groupinstall

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

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Speaking of Development Packages. . .

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

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

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

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

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

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 }’

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Outline

1 Introduction

2 Package Management

3 Files

4 Services

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/

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)

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Timezones

Debian: /etc/timezone

Red Hat: /etc/sysconfig/clock

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Modules to load

Debian: /etc/modules

Red Hat: /etc/sysconfig/udev-stw

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

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Webserver

Debian: /etc/apache2/

Red Hat: /etc/httpd/

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Firewall configuration

Debian: /var/lib/iptables

Red Hat: /etc/sysconfig/iptables

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

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

Outline

1 Introduction

2 Package Management

3 Files

4 Services

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

What’s a Runlevel?

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

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

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

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!

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!

Sysadmins’Rosetta Stone

MackenzieMorgan

Introduction

PackageManagement

Files

Services

References

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

Recommended