LPI 101 - Unix-AG

Transcription

LPI 101 - Unix-AG
LPI 101
Installation von Linux und Paketmanagment
Heiko Teßmann
[email protected]
Universität Kaiserslautern - Unix-AG
LPI 101 – p. 1/3
verschiedene Partitionen
mehrere physikalische Platten nutzbar
Backups leichter
userquotas
statische Datenbereiche
Bootmanager - 1024 Zylindergrenze
bestimmte Teile System im Netz auch anderen
Rechnern zur Verfügung stehen, andere nicht
Wurzeldateisystem / - muss Bootmanager bekannt sein
LPI 101 – p. 2/3
Verzeichnisse auf /
/bin
/dev
/etc
/lib
/sbin
(/root)
/usr - Unix System Ressources - sep. Part. » /
LPI 101 – p. 3/3
auslagerbare Verzeichnisse
/var (variable Daten)
/var/lib modifizierbare Einstellungen (statt /usr/lib)
/var/lock Lock-Dateien
/var/log Logbücher des Systems
/var/run Dateien von laufenden Programmen mit PID
/var/spool
/var/tmp temp Dateien
/home Router/Webserver vs. Fileserver/Arbeitsstation
/tmp Schreibrechte für User
/boot 1024 Zylinder-Grenze - modern: Umgehung durch
LBA-Methode
LPI 101 – p. 4/3
Swap-Partition
fdisk Typ82 (LinuxSwap)
Vorbereitung mit mkswap
während Booten: swapon
Eintrag in /etc/fstab
/dev/hdc2 none swap sw 0 0
Größe ?
64-128MB
LPI 101 – p. 5/3
Bootmanager
BIOS sucht Platte, von der es booten soll: äußerster
Zylinder (0)
Partitionstabelle
Spur 0: MBR → Hinweis auf erste Partition der Platte
(kann
Bootstrap-Loader enthalten - info wie BS geladen
werden soll)
bei mehreren BS’s: kleines Programm-Bootmanager im
MBR(< 512B) für Benutzerauswahl
Stage 1: Bootmanager lädt ohne BS kleines Programm
von Partition
Stage 2: Programm, welches eigentliches Menu enthält
Stage 3: laden des eigentlichen Systems
LPI 101 – p. 6/3
Bootmanager
LInux LOader + GRand Unified Bootloader
Lilo:
/etc/lilo.conf wird von lilo gelesen daraufhin erstellt:
Menueeintraege → /boot/boot.b
weitere Elemente eventuell in /boot/boot-menu.b
/boot/message /boot/boot-bmp.b
Adressen + Größe - Kerneldateien in /boot/map
Programm in MBR schreiben (enthält Adressen der o.g.
Dateien) bei jeder Änderung neuer Aufruf von lilo nötig:
lilo -u (-U) - Deinstallation
Standard Bootprompt: LILO boot:
LPI 101 – p. 7/3
Lilo-Fehler:
nichts: kein Teil geladen: lilo nicht installiert oder auf
Bootsektor nicht aktivierter Partition
LFehlernummer erster Teil lokalisiert und geladen, 2. Teil
nicht geladen
LI 2. Teil geladen, aber nicht ausführbar - z. B.
Inkompatibilität Plattengeom. oder /boot/boot.b bewegt
LIL 2.Teil gestartet, kann map-files nicht laden
LIL? 2.Teil an falscher Adresse geladen - /boot/boot.b
verändert oder bewegt
LIL- Beschreibungstabelle beschädigt - OF-Fehler oder
/boot/map verändert, bewegt
LILO alles ok
Bei Fehler lilo erneut aufrufen oder lilo.conf checken.
LPI 101 – p. 8/3
/etc/lilo.conf
append= Kernelparameter z.B. ide-scsi=/dev/hdc
boot= Ort des Bootloaders( den lilo schreibt) - MBR
oder Bootsektor Partition
lba32 Lilo kann auch mit Platten > 1024 Zylinder
umgehen (wenn BIOS im LBA-Modus)
message Datei mit Bildschirmmeldung d. Bootloaders
(in Bootsektor geschrieben)
promt warten auf Benutzereingabe
LPI 101 – p. 9/3
/etc/lilo.conf
timeout Zeit in 1/10 sec.
image Linux-Systeme + Angabe über Partition, mit
Wurzel des Systems
other alles andere
erster Eintrag - voreingestellt
initrd=/boot/initrd initiale Ramdisk
LPI 101 – p. 10/3
grub
grub schreibt Eintrag in MBR, welcher /boot/grub
lädt dieses lädt dann /boot/grub/grub.conf
einmal /sbin/grub-install /dev/hda ausführen
(MBR-IDE-Disk 1)
zweite Stufe von Grub lädt selbst Konfigurationsdatei
LPI 101 – p. 11/3
grub.conf
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Linux (2.0.35)
root (hd0,0)
kernel /bzImage-2.0.35 ro root=/dev/hda3
initrd /initrd-2.0.35.img
title WfW 3.11
map (hd0,0) (hd0,1)
map (hd0,1) (hd0,0)
rootnoverify (hd0,1)
chainloader +1
LPI 101 – p. 12/3
grub
title Titelzeile
root hdn.m - Partition, auf der Kerneldateien liegen
kernel Kerneldatei Parameter
initrd Ramdiskimage
map (Partition1) (Partition2) - Win98 bootet nur von
erster Partition
rootnoverify (Partition) - entspricht Angabe von root
ohne Mounten, da Bootsektor der Partition geladen wird
chainloader +1 Windows wird über chainloader
gebootet, Bootsektor = Sektor 1
LPI 101 – p. 13/3
Quellcode-Pakete
Makefile - make: Automatisierung der Erstellung von
Programmen
viele Quellcode-Pakete im .tgz oder .tbz -Format
(gepackte tar-Archive)
entpacken mit
gunzip -d (gzip -d) bzw. bzip2 -d und
anschließend tar -xf datei.tar
oder direkt mit Option -z (gzip) bzw. -j (bzip2) von tar
wenn kein Makefile existiert - erstellen über
beiliegendes configure aus Makefile.in
Aufruf: ./configure - -help für mögliche Optionen
LPI 101 – p. 14/3
Makefile
übersetzen mit make - entspricht meist make all
Installation mit make install (root-Rechte nötig!)
make clean - löschen aller Objektdateien
Anpassen von Makefile:
Variablen ähnlich wie in Shellscripts
installprefix=/usr/local Zugriff:
${Variablenname}
Anpassung der Installationsverzeichnisse möglich
(z.B. installdir, mandir. . .)
LPI 101 – p. 15/3
Verwaltung von shared libraries
Funktionsbibliotheken können mehrfach verwendetbar
statisches Linken: event. Bibliotheken oft im Speicher →
gleichzeitig geladene Programme: Speicherreduzierung
laden der Libraries vor dem Laden des Programms →
Programm zum Laden nötig: ld.so
sd.so lädt Lib, bereitet dann Programm vor und lädt
dann dieses
LPI 101 – p. 16/3
Suche nach Libraries in:
Pfade in LD_LIBRARY_PATH
/etc/ld.so.cache - enthält binäre Liste aller vorher
gefundenen Library-Kandidaten (ldconfig)
/usr/lib und /lib werden durchsucht
welche Libraries benötigt bestimmtes Programm ?
ldd /usr/local/bin/mplayer
LPI 101 – p. 17/3
Librarys installieren und aktualisieren
wohin? - /lib, /usr/lib, /usr/local/lib
ldconfig für interne Verwaltung der Lib’s
wartet Library Cache + erstellt notwendige symbol.
Links auf Lib’s
Library Cache liegt in /etc/ld.so.cache binär codierte Liste aller bekannten Lib’s
ldconfig durchsucht /usr/lib, /lib und alle in
/etc/ld.so.conf aufgelisteten
z.B. foo → /usr/local/foo/lib → in ld.so.conf →
ldconfig → /etc/ld.so.cache → Linker/Loader
bekannt
LPI 101 – p. 18/3
Paketmanager
zwei große Modelle für Paketverwaltung: Debian und
RedHat
Progr.name_Versionsnummer_Architektur.deb
bzw. .rpm
Debian-Paket: ar-Archiv enthält zwei komprimierte
tar-Archive
data.tar.gz enthält zu installierende Programme
control.tar.gz enthält Metainformationen
.rpm und .deb Pakete enthalten 4 Scripte: vor und
nach Installation/Deinstallation ausgeführt
LPI 101 – p. 19/3
Informationen über installierte .deb-Pakete in Dateien
unter /var/lib/dpkg/
available Paketinformationen aller zur Verfügung
stehender Pakete
status Informationen über Status der Installation
info vier Scripte (.preinst, .postinst, .prerm, .postrm)
sowie Liste enthaltener Dateien (.list), .md5sums und
andere Informationen - zur Verfügung gestellte Libs
(.shlibs)
LPI 101 – p. 20/3
dpkg
dpkg [Optionen] -i | -install
Paketdatei.deb
Optionen: -recursive oder -R : statt Paketname Verzeichnisname
Schritte der Installation:
entpacken Kontrolldateien
PreRemove-Script einer älteren Version
PreInst-Script des neuen Pakets
entpacken der Dateien und gleichzeitiges Sichern
der Dateien älterer Versionen
PostRemove der älteren Version
PostInstall der neuen Version
LPI 101 – p. 21/3
Deinstallieren mit dpkg
dpkg [Optionen] -r | -remove Paketname
normales Deinstallieren
dpkg [Optionen] -P | -purge Paketname
alles entfernen (auch Konfigurationsdateien)
Schritte der Deinstallation:
PreRemove-Script
löschen der zu entfernenden Dateien
PostRemove-Script
LPI 101 – p. 22/3
Informationen
dpkg -p | -print-avail Paketname
ließt Info aus /var/lib/dpkg/available
dpkg -l | -list [Paketnamenmuster]
Liste bestimmter oder aller inst. Pakete
dpkg -L | -listfiles Paketname
Liste aller Dateien eines Paketes
dpkg -s | -status Paketname
Status des Paketes - möglich:
installed, half-installed, not-installed, unpacked,
half-configured, config-files
dpkg -S | -search Dateinamenmuster
welches Paket enthält Datei
LPI 101 – p. 23/3
Optionen für dpkg
entweder über Kommandozeile oder in
/etc/dpkg/dpkg.cfg
–abort-after=Zahl - Abbruch nach Fehleranzahl (50)
-B|–auto-deconfigure - Pakete, die zu deinstallierende
Programme benötigten werden auch deinstalliert
–ignore-depends=Paket Abhängigkeiten werden
Ignoriert, nur Warnungen
–refuse-downgrade|-G wenn neuere Version existiert
keine Installation
Vollständige Liste in Handbuchdatei
dpkg-reconfigure - installiertes Paket neu
konfigurieren
LPI 101 – p. 24/3
dselect
menügeführtes Frontend für dpkg
verwaltet auch zur Verfügung stehende Pakete
verschiedene Methoden zum managen zur Verfügung
stehender Pakete:
cdrom
nfs
harddisk
mounted
floppy
apt
LPI 101 – p. 25/3
dselect - Möglichkeiten
Zugriff (access)
Erneuern (update)
Auswählen (select)
Install
Config
Löschen
LPI 101 – p. 26/3
apt-get
Konfiguration in /etc/apt/apt.conf
oder in /etc/apt/apt.conf.d
Quellen stehen in /etc/apt/sources.list
Aufruf-formen:
apt-get upgrade
apt-get install Paketname
apt-get remove Paketname
apt-get source Paketname
apt-cache search Name
LPI 101 – p. 27/3
alien
zum konvertieren verschiedener Paketformate
RedHat, Debian, Stampede, Slackware, Solaris
- -to-dep
- -to-rpm
- -to-tgz
- -to-slp
LPI 101 – p. 28/3
rpm
rpm -i | -install [Optionen] Paketdatei Installation
- -nodeps, - -noscripts, - -test, - -excludedocs,
- -replacepkgs, - -replacefiles, - -oldpackage
- -force - Kombination von - -replacepkgs - -replacefiles
- -oldpackage
rpm -U | -upgrade [Optionen] Paketdatei Upgrade oder Neuinstallation
rpm -F | -freshen [Optionen] Paketdatei nur Upgrade
LPI 101 – p. 29/3
Abfrage von Informationen
rpm -qi Paketname oder rpm - -query - -info
Paketname
rpm -qi -p Paketdatei oder rpm - -query
- -info - -package Paketdatei
rpm -q Paketname -queryformat %{Version}
n nur Information der Version
rpm - -querytags - komplette Liste aller so
benutzbaren Variablen (>100)
LPI 101 – p. 30/3
Abfrage von Informationen
rpm -ql Paketname Liste aller Dateien des Paketes
(- -list)
rpm -qd -p Paketdatei Liste aller
Dokumentationsdateien (- -docfiles)
rpm -qc Paketname Liste aller Konfigurationsdateien
(- -configfiles)
rpm -q - -scripts Paketname Liste aller
Scriptdateien
rpm -qa Liste aller installierten Pakete (- -all)
rpm -qg Gruppe installierte Pakete einer Gruppe
(- -group)
LPI 101 – p. 31/3
Abfrage von Informationen
rpm -qf Dateiname aus welchem Paket stammt
Datei? (- -file)
rpm -q - -whatrequires Datei oder rpm -q
- -whatrequires Funktion
welches installierte Paket benötigt Datei bzw. Paket ?
rpm -qR Paketname welche Pakete von Paket
benötigt? (- -requires)
LPI 101 – p. 32/3
Sicherheitsabfragen
rpm -V | - -verify Paketname
Ausgabe: 8 Zeichen lange Zeichenkette
S, M, 5, D, L, U, G, T
rpm - - checksig Paketdatei Überprüfen der
PGP oder GPG-Signatur
LPI 101 – p. 33/3

Documents pareils