-
Notifications
You must be signed in to change notification settings - Fork 0
/
package_management.tex
23 lines (22 loc) · 4.71 KB
/
package_management.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
\section{Package Management}
\subsection{Idee und Grundlage}
Package Management wurde sehr fr\"uh sehr wichtig f\"ur Linux. Bereits 1998 existierten sehr fortgeschrittene Packet Manager.\\
Moderne Linux Systeme wie Debian, Ubuntu, Fedora, RHEL, SUSE, Mandriva, ... werden komplett vom Packet Manager verwaltet. Ein guter Package manager weiss von jeder Datei auf dem System - die nicht vom Nutzer platziert worden ist - zu welchem Paket sie geh\"ort und welche Programme davon abh\"angen. Jeder Teil des Systems geh\"ort zu einem Paket, inklusive des Linux Kernels und dem Paket Manager selbst!\\
Programme werden in sogenannten Paketen geliefert, die je nach Paketmanager eine anderen Endung haben (.deb f\"ur dpkg, .rpm f\"ur rpm, ...). Das Paket enth\"alt alle Teile der Applikation, ein Script das diese an der richtigen Stelle platziert und konfiguriert. Ausserdem enth\"alt es eine Liste mit Abh\"angigkeiten. Das ist ein, wenn nicht DER, wesentlich Unterschied zum Paketmanagement von Windows und OS X, wo jedes Programm alle Abh\"angigkeiten selbst mitbringt.\\
Paketmanager unter Linux wissen welche Programme von welche abh\"angen. So weiss zum Beispiel dpkg, dass Gnome, GIMP, Pidgin, Evolution, gedit und viele weitere das GTK+ framework ben\"otigen. DPKG installiert GTK+ ein einziges Mal, so dass die Programme, die davon abh\"angen darauf zugreiffen k\"onnen. Die brauchen GTK+ dann nicht mehr selbst mit zu bringen. Dadurch gehen der Download und die Installation eines Programmes unter Linus ofmals wesentlich schneller als unter anderen Systemen. Zudem ben\"otigen Programme wesentlich weniger Platz.\\
Dar\"uberhinaus erkennt er Package manager, wenn ein Programm, das als Abh\"angigkeit eines oder mehrere Anderer isntalliert wurde nicht mehr ben\"otigt wird und kann es entfernen. W\"aren in unserem Beispiel alle GTK+ Applikationen entfernt, so kann der paket manager das GTK+ framework entfernen.\\
Es gibt eine grosse Anzahl von Paketmanagern. Die meist verwendeten sind aber RPM (RedHat Package Manager) und DPKG (Debian Package Manager). Sie beide haben gemein, dass sie nur offline arbeiten und heute eher selten direkt bedient werden. Vielmehr werden sie heute \"uber interfaces bedient, die die Bedienung erleichtern und die Funktionalit\"at erweitern. Bei RPM ist das meistens YUM, bei DPKG apt oder aptitude.\\
Die wichtigste Funktionalit\"at die diese hinzuf\"ugen sind die repositories. Dies sind online verf\"ugbare Ablagen mit, oftmals zehntausenden, von Paketen die f\"ur das System vorkompiliert und verpackt sind. Distributionen haben heuet alle ein Repository standardm\"assig eingestellt. Die Pakete dort sind digital signiert und getestet.\\
Programme wie apt k\"onnen auf Befehl automatisch ein Programm aus dem Repository installieren, die Abh\"angigkeiten aufl\"osen und die weiteren ben\"otigten Abh\"angigkeiten ebenfalls automatisch aus dem Repository laden.\\
Zudem k\"onnen sie im repository nachfragen, zu welchen Applikationen neue Versionen verf\"ugbar sind und diese automatisch installieren. Dadurch ist sichergestellt, das das gesammte System, vom Kernel bis zum grafischen Game, immer auf dem neuesten Stand sind, ohne dass der Entwickler der Applikation etwas daf\"ur tun muss.\\
Wenn immer m\"oglich sollten Programme aus einem Repository installiert werden (meistens ist das auch das einfachste). Einige Programme sind aber nicht in den Standard-repositorien der Distributionen vorhanden, oder nur in veralteten Versionen. Gl\"ucklicherweise k\"onnen die Paketmanager heute aber mehrere Repositorien verbinden. F\"ugt man ein neues Repository manuell hinzu, sollte man zuerst sicher stellen, dass man dem Betreiber vertraut und sollte sichergehen, dass der public key des repositories auf dem eigenen System installiert ist, damit beim Herunterladen von Paketen gepr\"uft wernde kann, dass die Datei nicth manipuliert wurde.\\
Einige Applikationen, die nur nach dem manuellen Download installiert werden k\"onnen, wie Google's Chrome und der Opera browser, richten nach der Installation selbst ein neues Repository ein. Dadurch stellen sie sicher, dass sie \"uber die Systemmechanismen auf dem neuesten Stand gehalten werden, ohne dass sie selbst etwas zu tun brauchen.
\subsection{Ubuntu}
Da ich dieses Dokument f\"ur einen Ubuntu user erstelle, konzentriere ich mich von hier an nur noch auf das Paket management von Ubuntu.
\subsection{dpgk und apt}
Das Paketmanagement von Ubuntu basiert auf dpkg, dem Debian Package Manager. Dieser installiert und verwatet die Pakete mit der .deb Endung. DPKG Packete k\"onnen nat\"urlich manuell offline installiert werden.
\begin{lstlisting}
niklaus@locmsghub:~/Downloads$ sudo dpkg -i opera.dpgk
\end{lstlisting}
Wenn immer m\"oglich sollte man aber Pakete aus den Repositories der Distribution beziehen.
\subsubsection{apt}