102-installation-pakete

From My Mnemonic Rhyme
Revision as of 20:19, 26 July 2011 by >Homaar (→‎grub)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

102.1 - Partitionierung planen

Allgemeines

  • Verhindern, dass durch überfüllung einzelner Verzeichnisse das System instabil wird
  • z.B. /var (Protokolle, www, etc.)
  • dump sichert immer ganze Partitionen
  • Partition füt /boot - ca. 50 MB als erste Partiton auf der ersten Festplatte um nicht über 1024 Zylinder zu kommen
  • swap - Faustregel: Physikalischer Speicher x2
  • / (root) Partiton - Größe in Abhängigkeit wie weiter unterteilt wird - min 20 GB wenn alles unter /
  • Ca. 800 MB wenn weiter aufgeteilt wird
  • /usr 5-10GB je nach Quellen Anzahl
  • /var ca. 2 GB (finde ich zu wenig bzgl. www)
  • /tmp 4-500MB sollten genügen
  • /home Platzbedarf je nach Umgebung -> hier sollten Quotas eingesetzt werden

102.2 - Bootmanager LILO / GRUB

Wichtung 2

Wichtig

  • /boot/grub/menu.lst
  • grub-install
  • MBR
  • Superblock
  • /etc/lilo.conf
  • lilo

Allgemeines

  • Nach der BIOS Initialisierung wird Sektor 0 der ersten Festplatte ausgelesen
  • Dort ist dann der eigentliche Bootloader oder ein Verweis auf eine Partition auf der Festplatte
  • Der MBR (Master Boot Record) ist der erste Sektor einer Festplatte (512 Byte)
  • Partitionstabelle liegt immer direkt hinter dem MBR und benötigt 64 Byte

lilo

  • zweistufiger Bootloader
  • Im MBR ist nur ein kleines initales Programm, das den Rest einliest

Optionen

  • -C /etc/lilo.alt gibt eine alternative Konfigurationsdatei an
  • -R stellt die Kommandozeile für den nächsten Systemstart ein
  • -M schreibt einen Master Boot Record auf eine Festplatte
  • -q zeigt die aktuelle Konfiguration an
  • -v verbose Modus
lilo -q -v

Kernelparameter / Parameter für init

  • Werden beim Systemstart übergeben
    • ide=nodma
    • apm=off
    • acpi=off
  • Es können auch Parameter an init übermittelt werden
init=/sbin/init 2 #Startet in Runlevel 2

Fehlercodes beim Start

  • <nichts> erste Stufe von lilo wurde nicht ausgeführt
  • L /boot/boot.b konnte nicht geladen werden
  • LI /boot/boot.b konnte gelesen, aber nicht ausgeführt werden
  • LIL die zweite Stufe von lilo wurde gestartet, die map Datei konnte jedoch nicht eingelesen werden
  • LILO die zweite Stufe wurde erfolgreich geladen

Konfigurationsdatei /etc/lilo.conf

  • Globaler Teil, z.B.
message= /boot/message
timeout = 20
prompt
default = 2.6.32-custom
boot = /dev/hda
  • gefolgt von den zu ladenden Kerneln, z.B.
image= /boot/vmlinuz-2.6.32-custom
  lable = 2.6.32-custom
  map = /boot/map
  initrd = /boot/initrd
  root = /dev/hda2
  • message - Pfad der Systemstart Datei (normalerweise das Startmenu)
  • timeout - Zeit in Sec. um eine Auswahl zu treffen
  • prompt - legt fest, ob eine Prompt zur Verfügung gestellt wird oder nicht -> Sicherheitslücke
  • default - kennzeichnet das System, das per default gestartet wird
  • boot - zeit auf die Festplatte, die den Bootsektor bereitstellt
  • image - das zu startende Bootimage
  • lable - alias für den Kernel
  • map - zeigt auf die Map-Datei (normalerweise /boot/boot.b)
  • initrd - Pfad zur initialen RAM-Disk wenn vorhanden
  • root - zeigt auf das root-Dateisystem

Map-Installer

  • Bei Änderungen an der lilo.conf muss der Map-Installer per "lilo" aufgerufen werden!

grub


  • zwei Stufen (genau genommen drei - 1,1.5,2)
  • Stage 1,5 - benötigt um Kompatibel mit allen Dateisystemen zu sein
  • grub greift ganz normal über das Dateisystem auf den Kernel zu - kein Mapping notwendig

grub Stages

stage1
  • /boot/grub/stage1
  • Binärdatei
bl01:/boot/grub# od -h stage1
0000000 48eb 0090 0000 0000 0000 0000 0000 0000
0000020 0000 0000 0000 0000 0000 0000 0000 0000
*
stage1,5
  • z.B. /boot/grub/reiserfs_stage1_5
  • verwendet die Datei, die mit dem Dateisystem übereinstimmt
stage2
  • /boot/grub/stage2
  • Bootmenu für Benutzer

GRUB prompt

  • mit grub interagieren / das System manuell booten
  • Wenn man das System manuell starten muss, kann das so aussehen:
grub> root (hd0,0)
grub> kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda2
grub> initrd /boot/initrd-2.6.26-2-686
grub> boot

GRUB Konfigurationsdateien

  • grub untescheidet nicht zwischen SCSI und IDE!
  • Die erste Partition die grub übermittelt wird heißt hd0,0
  • /boot/grub/device.map Liste der Festplatten (GRUB-Notation <> Device)
bl01:/boot# cat grub/device.map
(hd0)   /dev/sda
  • menu.lst
# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-legacy-doc/.
default         0
timeout         5
color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

title           Debian GNU/Linux, kernel 2.6.26-2-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=UUID=5040d747-db35-4aa1-aef3-0b$
initrd          /boot/initrd.img-2.6.26-2-686

102.3 - Shared Libraries verwalten

Wichtig

  • ldd
  • ldconfig
  • /etc/ld.so.conf
  • LD_LIBRARY_PATH

Allgemeines

  • dynamisch in das laufende Programm eingebunden
  • Unter Windows .dlls (Dinamic Link Library)
  • Unter Linux .so (Shared Object) - früher .ko (Kernel Object)
  • Programme die mit Shared Objects arbeiten nennt man dynamically linked
  • Programme die den Shared Objects code in sich tragen heißen steatically linked

Verwaltung von Shared Librarys

  • ldd herausfinden von welchen Libraries ein Programm abhängt
bl01:/~# ldd /bin/grep
        linux-gate.so.1 =>  (0xb77ce000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb77bf000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7679000)
        /lib/ld-linux.so.2 (0xb77cf000)
  • ldconfig neue Bibliotheken "in den Katalog mit aufnehmen"
  • /etc/ld.so.conf wird von ldconfig eingelesen
  • baut die Verzeichnisdatei /etc/ld.so.cache auf
bl01:/~# head /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
bl01:/etc/ld.so.conf.d# cat i486-linux-gnu.conf
# Multiarch support
/lib/i486-linux-gnu
/usr/lib/i486-linux-gnu
  • Aktuellen inhalt des ld Caches anzeigen:
bl01:/etc/ld.so.conf.d# ldconfig -p | less
447 libs found in cache `/etc/ld.so.cache'
        libz.so.1 (libc6) => /usr/lib/libz.so.1
        libz.so (libc6) => /usr/lib/libz.so
        libxtables.so.4 (libc6) => /lib/libxtables.so.4
        libxslt.so.1 (libc6) => /usr/lib/libxslt.so.1
        libxml2.so.2 (libc6) => /usr/lib/libxml2.so.2
  • Versionsnummer einzelner Bibliotheken ermitteln:
bl01:/etc/ld.so.conf.d# ldconfig -p | grep libusb
        libusb-0.1.so.4 (libc6) => /lib/libusb-0.1.so.4
        libusb-0.1.so.4 (libc6) => /usr/lib/libusb-0.1.so.4

102.4 - DPKG & APT

Wichtig

  • /etc/apt/sources.list
  • dpkg
  • dpkg-reconfigure
  • apt-get
  • apt-cache
  • aptitude
  • dselect

Allgemeines

  • Manuelles Installieren hat einen Nachteil. Man kann die Pakete nicht mehr sauber deinstallieren
  • Aufbau einer .deb Datei
fortune-mod_1.99.1-3_i386.deb
  • fortune_mod = Name des Pakets
  • Version 1.99.1
  • Release 3
  • i386 Architektur

Konfiguraitonsdateien und Verzeichnisse

/etc/dpkg/dpkg.cfg

  • Konfigurationsdatei für dpkg
  • jede Zeile nur eine Option
mail:~# cat /etc/dpkg/dpkg.cfg
# dpkg configuration file
#
# This file can contain default options for dpkg.  All command-line
# options are allowed.  Values can be specified by putting them after
# the option, separated by whitespace and/or an `=' sign.
#

# Do not enable debsig-verify by default; since the distribution is not using
# embedded signatures, debsig-verify would reject all packages.
no-debsig

# Log status changes and actions to a file.
log /var/log/dpkg.log
force-confold

/var/lib/dpkg/info/

  • Ordner
  • Installations- und Deinstallations-Scripts für jedes installierte Paket
  • In der entsprechenden List Datei sind alle Pfade eines Pakets aufgelistet
mail:/var/lib/dpkg/info# cat mutt.
mutt.conffiles  mutt.md5sums    mutt.postrm     mutt.prerm
mutt.list       mutt.postinst   mutt.preinst

/var/lib/dpkg/status

  • Datei
  • Informationen über bereits installierte Pakete
  • Infos zum Installationsstatus, oder ob ggf. bereits wieder deinstalliert wurde
mail:/var/lib/dpkg# head status -n 5
Package: tcpd
Status: install ok installed
Priority: standard
Section: net
Installed-Size: 128
...........

/var/lib/dpkg/available

  • Liste der verfügbaren Pakete
  • Informationen über die Größe, Versionsnummer, Abhängigkeiten des Pakets
mail:/var/lib/dpkg# tail available
Installed-Size: 192
Maintainer: Ola Lundqvist <opal@debian.org>
Architecture: all
Version: 0.2.1
Suggests: mysql-client, postgresql-client, apache | apache-ssl
Size: 22712
Description: Debian web auto configuration
 A package to provide common setup scripts for some
 packages that need apache, php and a database.

/etc/apt/apt.conf

  • Konfigurationsdatei für die apt-tools
  • Eintrag für den verwendeten Proxy hinterlegt
Acquire::http::Proxy "http://127.0.0.1:3128";

/etc/apt/sources.list

  • Enthält die Quellen für apt-get
###### Debian Main Repos

deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.de.debian.org/debian/ squeeze main contrib non-free

###### Debian Update Repos

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://ftp.de.debian.org/debian/ squeeze-proposed-updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ squeeze-proposed-updates main contrib non-free

DPKG Programme

Links

Optionen

  • -i --install installiert ein Paket
  • -r --remove Deinstallation (Config wird behalten)
    • Nicht wie bei RPM! -e GIBT ES NICHT!!!
  • -P --purge Deinstallation (Config wird gelöscht)
  • -s --status Informationen zu installierten Paketen
  • -C --audit zeigt Pakete an, die nur teilweise installiert sind
  • -L --listfiles zeigt die Datein an, die Paket installiert hat

Paketliste importieren

dpkg --get-selections \* > /tmp/PAKETLISTE
dpkg --set-selections < /tmp/PAKETLISTE
apt-get dselect-upgrade
mail:/var/lib/dpkg# dpkg -s apache2
Package: apache2
Status: install ok installed
Priority: optional
Section: httpd
Installed-Size: 36
Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org>
Architecture: amd64
Version: 2.2.16-6+squeeze1
Depends: apache2-mpm-worker (= 2.2.16-6+squeeze1) | apache2-mpm-prefork (= 2.2.16-6+squeeze1) | apache2-mpm-event (= 2.2.16-6+squeeze1) | apache2-mpm-itk (= 2.2.16-6+squeeze1), apache2.2-common (= 2.2.16-6+squeeze1)
Description: Apache HTTP Server metapackage
 The Apache Software Foundation's goal is to build a secure, efficient and
 extensible HTTP server as standards-compliant open source software. The
 result has long been the number one web server on the Internet.
 .
 It features support for HTTPS, virtual hosting, CGI, SSI, IPv6, easy
 scripting and database integration, request/response filtering, many
 flexible authentication schemes, and more.
Homepage: http://httpd.apache.org/
mail:/var/lib/dpkg# dpkg --listfiles apache2
/.
/usr
/usr/share
/usr/share/bug
/usr/share/bug/apache2
/usr/share/bug/apache2/control
/usr/share/doc
/usr/share/bug/apache2/script
/usr/share/doc/apache2
Commands:
  -i|--install       <.deb file name> ... | -R|--recursive <directory> ...
  --unpack           <.deb file name> ... | -R|--recursive <directory> ...
  -A|--record-avail  <.deb file name> ... | -R|--recursive <directory> ...
  --configure        <package> ... | -a|--pending
  --triggers-only    <package> ... | -a|--pending
  -r|--remove        <package> ... | -a|--pending
  -P|--purge         <package> ... | -a|--pending
  --get-selections [<pattern> ...] Get list of selections to stdout.
  --set-selections                 Set package selections from stdin.
  --clear-selections               Deselect every non-essential package.
  --update-avail <Packages-file>   Replace available packages info.
  --merge-avail <Packages-file>    Merge with info from file.
  --clear-avail                    Erase existing available info.
  --forget-old-unavail             Forget uninstalled unavailable pkgs.
  -s|--status <package> ...        Display package status details.
  -p|--print-avail <package> ...   Display available version details.
  -L|--listfiles <package> ...     List files `owned' by package(s).
  -l|--list [<pattern> ...]        List packages concisely.
  -S|--search <pattern> ...        Find package(s) owning file(s).
  -C|--audit                       Check for broken package(s).
  --print-architecture             Print dpkg architecture.
  --compare-versions <a> <op> <b>  Compare version numbers - see below.
  --force-help                     Show help on forcing.
  -Dh|--debug=help                 Show help on debugging.

dselect

  • Frontend für dpkg
    • Zugriffsmethode auswählen
    • Liste der verfügbaren Pakete erneuern
    • Pakete auswählen
    • Pakete installieren/aktualisieren
    • unkonfigurierte Pakete konfigurieren
    • Software löschen

dpkg-reconfigure

  • bereits installierte Pakete erneut konfiguireren
  • dpkg-reconfigure -a #Konfiuriert alle Pakete neu

apt-get

  • Frontend für dpkg
  • apt-get update
  • apt-get install
  • apt-get remove
  • apt-get search
  • apt-get upgrade
  • apt-get dist-upgrade
  • apt-get clean
  • apt-get autoclean
  • apt-get --fix-broken
  • apt-get --fix-missing
       clean
           clean clears out the local repository of retrieved package files.
           It removes everything but the lock file from
           /var/cache/apt/archives/ and /var/cache/apt/archives/partial/. When
           APT is used as a dselect(1) method, clean is run automatically.
           Those who do not use dselect will likely want to run apt-get clean
           from time to time to free up disk space.

       autoclean
           Like clean, autoclean clears out the local repository of retrieved
           package files. The difference is that it only removes package files
           that can no longer be downloaded, and are largely useless. This
           allows a cache to be maintained over a long period without it
           growing out of control. The configuration option
           APT::Clean-Installed will prevent installed packages from being
           erased if it is set to off.

aptitude

  • Textmode GUI für dpkg
  • Bequem nach Paketen suchen, etc.
  • aptitude versteht die gleichen Optionen wie apt-get

apt-cache

  • Cache des apt Systems verwalten
  • Informationen zu Paketen über die Meta-Daten
  • /var/cache/apt/archives
  • apt-cache stats
mail:/var/lib/dpkg# apt-cache stats
Total package names: 37457 (749 k)
Total package structures: 37457 (2098 k)
  Normal packages: 28467
  Pure virtual packages: 356
  Single virtual packages: 3296
  Mixed virtual packages: 259
  Missing: 5079
Total distinct versions: 29100 (2095 k)
Total distinct descriptions: 29100 (698 k)
Total dependencies: 179199 (5018 k)
Total ver/file relations: 29916 (718 k)
Total Desc/File relations: 29100 (698 k)
Total Provides mappings: 5791 (116 k)
Total globbed strings: 134 (1488 )
Total dependency version space: 730 k
Total slack space: 55.3 k
Total space accounted for: 10.1 M
  • apt-get clean Bereinigen des Caches

alien

  • RPM<>DPKG Pakete konvertieren
  • --to-deb --to-rpm
  • -k --keep-version (per default wird die Versionsnummer beim Konvertieren um 1 erhöht)
alien fortune-1.0-860.i586.rpm --to-deb

102.5 - RPM & YUM

Wichtig

  • rpm
  • rpm2cpio
  • /etc/yum.conf
  • /etc/yum.repos.d/
  • yum
  • yumdownloader

rpm

  • rpm Redhat Package Manager
  • löst keine Abhängigkeiten auf, dies wird von yum / yast2 / etc. übernommen
  • Packetnamen sind ähnlich aufgebaut wie bei dpkg
    • bash-3.0-15.i586.rpm
    • Namen bash
    • Version 3.0
    • Release / Revision 15
    • Architektur i586
RPM SYNOPSIS
   QUERYING AND VERIFYING PACKAGES:
       rpm {-q|--query} [select-options] [query-options]

       rpm {-V|--verify} [select-options] [verify-options]

       rpm --import PUBKEY ...

       rpm {-K|--checksig} [--nosignature] [--nodigest]
           PACKAGE_FILE ...

   INSTALLING, UPGRADING, AND REMOVING PACKAGES:
       rpm {-i|--install} [install-options] PACKAGE_FILE ...

       rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

       rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

       rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
           [--notriggers] [--test] PACKAGE_NAME ...

Konfigurationsdateien

  • Hauptkonfigurationsdatei /etc/rpmrc
    • enthält systemweite Konfigurationen
    • normalerweise nicht vorhanden, muss bei Bedarf erstellt werden
  • /usr/lib/rpm/rpmrc wird überschrieben, wenn rpm aktualisiert wird
  • /usr/lib/rpmrc veralteter Speicherort - vom Verwendungszweck her /usr/lib/rpm/rpmrc
  • ~/.rpmrc Einstellungen für den jeweiligen Benutzer
  • Unter /usr/lib/rpm/ liegen etliche Scripte um das Packetmanagement durchzuführen
  • Die Datenbank /var/lib/rpm enthält installierte Komponenten, Abhängigkeiten, Konflikte

RPM aktiv verwenden

  • Für die Prüfung ist NUR rpm relevant
Installation, Update & Deinstallation
  • -i --install
  • -r --requires
  • -U --upgrade
  • -F --freshen aktualisiert Pakete nur wenn sie bereits vorhanden sind
  • -v --verbose
  • -e --erase (früher --uninstall) entfernt das angegebene Paket
  • -h --hash Fortschrittsanzeige mit hash### Zeichen


  • Ein typisches RPM-Kommando
rpm -Uhv /i586/fortune-1.0-860.i586.rpm
  • -U aktualisiert auch dann, wenn das Programm nicht auf dem System installiert ist (bzw. installiert es einfach)
Zwangsinstallation
  • --force erzwingt die Installation auch bei bestehenden Konflikten
  • --nodeps lässt die Prüfung der Abhängigkeiten aus

Für diese beiden Schalter gibt es KEINE Kurzform!

Abfragen der rpm Datenbank

  • -q ohne Zusatz - Abfragen welche Version installiert ist
[root@rhel /]# rpm -q httpd
httpd-2.2.15-5.el6.x86_64

[root@rhel /]# rpm -q nagios
Das Paket nagios ist nicht installiert
  • verschiedene Zusatzschalter
  • Unterschied zwischen
    • Package Selection Options (Pakete ausfindig machen)
    • Query Options (Informationen zu bestimmten Paketen erhalten)
Package Selection Options
  • Welche Datei gehört zu einem bestimmten Paket?
[root@rhel /]# rpm -qf /etc/httpd/conf.d/welcome.conf
httpd-2.2.15-5.el6.x86_64
  • Eine beliebte Kombination (-qa Query all)
[root@rhel /]# rpm -qa | grep httpd
httpd-tools-2.2.15-5.el6.x86_64
httpd-2.2.15-5.el6.x86_64
   select-options
        [PACKAGE_NAME] [-a,--all] [-f,--file FILE]
        [-g,--group GROUP] {-p,--package PACKAGE_FILE]
        [--fileid MD5] [--hdrid SHA1] [--pkgid MD5] [--tid TID]
        [--querybynumber HDRNUM] [--triggeredby PACKAGE_NAME]
        [--whatprovides CAPABILITY] [--whatrequires CAPABILITY]
Query Options
-qR --requires zeigt Abhängigkeiten auf
-ql --list listet enthaltene Dateien auf
-qc --configfiles zeigt nur die Config-Dateien eines Paketes an
-qd --docfiles zeigt nur die Dokumentation eines Paketes an
-qi --info zeigt umfangreiche Informationen zum Paket an
  • ACHTUNG: -i = Installation, -qi = Info anzeigen !!!
  • Ist das Paket schon installiert oder nicht?
    • -p Option verwenden, falls das Paket noch nicht installiert ist!
   query-options
        [--changelog] [-c,--configfiles] [-d,--docfiles] [--dump]
        [--filesbypkg] [-i,--info] [--last] [-l,--list]
        [--provides] [--qf,--queryformat QUERYFMT]
        [-R,--requires] [--scripts] [-s,--state]
        [--triggers,--triggerscripts]
[root@rhel /]# rpm -qc net-snmp-5.5-27.el6_0.1.x86_64
/etc/snmp/snmpd.conf
/etc/snmp/snmptrapd.conf
/etc/sysconfig/snmpd
/etc/sysconfig/snmptrapd
[root@rhel /]# rpm -qi net-snmp-5.5-27.el6_0.1.x86_64
Name        : net-snmp                     Relocations: (not relocatable)
Version     : 5.5                               Vendor: Red Hat, Inc.
Release     : 27.el6_0.1                    Build Date: Fr 12 Nov 2010 10:28:10 CET
Install Date: Di 10 Mai 2011 02:27:14 CEST      Build Host: x86-004.build.bos.redhat.com
Group       : System Environment/Daemons    Source RPM: net-snmp-5.5-27.el6_0.1.src.rpm
Size        : 831741                           License: BSD
Signature   : RSA/8, Fr 19 Nov 2010 09:18:43 CET, Key ID 199e2f91fd431d51
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://net-snmp.sourceforge.net/
Summary     : A collection of SNMP protocol tools and libraries
Description :
SNMP (Simple Network Management Protocol) is a protocol used for
network management. The NET-SNMP project includes various SNMP tools:
an extensible agent, an SNMP library, tools for requesting or setting
information from SNMP agents, tools for generating and handling SNMP
traps and a version of the netstat command which uses SNMP. This
package contains the snmpd and snmptrapd daemons, documentation, etc.
Überprüfung installierter Pakete
  • rpm -V samba (gibt bei mir keine Ausgabe :()
[root@rhel /]# rpm -V net-snmp-5.5-27.el6_0.1.x86_64
[root@rhel /]#
   verify-options
        [--nodeps] [--nofiles] [--noscripts]
        [--nodigest] [--nosignature]
        [--nolinkto] [--nofiledigest] [--nosize] [--nouser]
        [--nogroup] [--nomtime] [--nomode] [--nordev]
        [--nocaps]

Pakete umwandeln

  • rpm2cpio wandelt RPM- in cpio-Pakete
[root@rhel ~]# rpm2cpio net-snmp-5.5-27.el6_0.1.x86_64.rpm > net-snmp-5.5-27.el6_0.1.x86_64.cpio
[root@rhel snmp]# rpm2cpio net-snmp-5.5-27.el6_0.1.x86_64.rpm | cpio -dimv
./etc/rc.d/init.d/snmpd
./etc/rc.d/init.d/snmptrapd
./etc/snmp
./etc/snmp/snmpd.conf
./etc/snmp/snmptrapd.conf
...

cpio Link

yum

yum - Yellowdog Updater Modified

       command is one of:
        * install package1 [package2] [...]
        * update [package1] [package2] [...]
        * check-update
        * upgrade [package1] [package2] [...]
        * distribution-synchronization [package1] [package2] [...]
        * remove | erase package1 [package2] [...]
        * list [...]
        * info [...]
        * provides | whatprovides feature1 [feature2] [...]
        * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
        * makecache
        * groupinstall group1 [group2] [...]
        * groupupdate group1 [group2] [...]
        * grouplist [hidden] [groupwildcard] [...]
        * groupremove group1 [group2] [...]
        * groupinfo group1 [...]
        * search string1 [string2] [...]
        * shell [filename]
        * resolvedep dep1 [dep2] [...]
        * localinstall rpmfile1 [rpmfile2] [...]
        * localupdate rpmfile1 [rpmfile2] [...]
        * reinstall package1 [package2] [...]
        * downgrade package1 [package2] [...]
        * deplist package1 [package2] [...]
        * repolist [all|enabled|disabled]
        * version [all|installed|available|group-*|grouplist|groupinfo]
        * history [info|list|summary|redo|undo|new]
        * check
        * help [command]
  • Konfiguration /etc/yum.conf
  • Cache-Verzeichnis /var/cache/yum/
  • /etc/yum.repos.d/ Repositories enthält Dateierweiterung repo
  • update aktualisiert nicht das Repo sondern updated ein Programm!
[root@rhel ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
[root@rhel yum.repos.d]# yum search mrtg
Loaded plugins: rhnplugin
================================ Matched: mrtg =================================
mrtg-libs.x86_64 : Library files for MRTG
mrtg.x86_64 : Multi Router Traffic Grapher
[root@rhel yum.repos.d]# yum install mrtg
Installed:
  mrtg.x86_64 0:2.16.2-5.el6

Dependency Installed:
  gd.x86_64 0:2.0.35-10.el6
  mrtg-libs.x86_64 0:2.16.2-5.el6
  perl-IO-Socket-INET6.noarch 0:2.56-4.el6
  perl-SNMP_Session.noarch 0:1.12-4.el6
  perl-Socket6.x86_64 0:0.23-3.el6

Complete!
[root@rhel yum.repos.d]# yum clean all
Loaded plugins: rhnplugin
Cleaning up Everything

yumdownloader

  • Programm um Paketdateien herunterzuladen
  • --destdir Zielverzeichnis, alternativ aktuelles Verzeichnis
  • --urls zeigt nur die Quellurl an, kein download!
  • --resolve löst Abhängigkeiten auf und läd die mit runter
  • --source läd statt der binärdaten die Programmquellen herunter
[root@rhel ~]# yumdownloader net-snmp
Loaded plugins: rhnplugin
net-snmp-5.5-27.el6_0.1.x86_64.rpm                       | 297 kB     00:00
[root@rhel ~]# ls
anaconda-ks.cfg  install.log.syslog
install.log      net-snmp-5.5-27.el6_0.1.x86_64.rpm
[root@rhel ~]#