APT4RPM: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Infobox Entwicker)
K (Navigationslinks hinzugefügt)
Zeile 201: Zeile 201:
 
und dann in der sources.list entsprechend die "repomd"-Zeilen hinzufügen.
 
und dann in der sources.list entsprechend die "repomd"-Zeilen hinzufügen.
  
 +
----
 +
[[APT-Übersicht|Zurück zur Apt Übersicht]]<br/>
 
[[Kategorie:APT]]
 
[[Kategorie:APT]]

Version vom 30. Januar 2007, 18:55 Uhr

Apt-rpm.png
Synaptic thumb.png
APT-Frontend Synaptic 0.57.2
Basisdaten
Entwickler: Gustavo Niemeyer, Panu Matilainen. Alfredo K. Kojima
Aktuelle Version: 0.5.15
letzte Veröffentlichung: ?
Betriebssystem: Linux
Kategorie: Paketmanager
Lizenz: GNU General Public License
Deutschsprachig: ja
Webseite: apt4rpm-Projektseite

Voraussetzungen

  • Umgang mit Editoren wie den Microsoft Editor oder Notebook, idealerweise 'kate'
  • rpm mit YaST oder 'von Hand' installiert haben.
  • Umgang mit der Konsole

Warum apt?

Unter Linux werden Programme in sogenannten Paketen gehandhabt. Und da der gemeine Linuxer faul ist, bringt nicht jedes Programm alles mit, was es benötigt, sondern nur eine Liste, was es gerne auf dem System hätte, um zu funktionieren. Wenn nun von dieser Wunschliste Pakete nicht von der Distribution bereitgestellt werden können/dürfen/wollen dann kommt es zu Abhängigkeitskonflikten und das gewünschte Paket lässt sich nicht installieren. Zwar löst auch yast diese Abhängigkeiten auf, aber erstmal nur mit den Paketen die auch auf den CDs/DVDs zu finden sind. Man kann zwar z. B. suser-guru und packman auch als zusätzliche Installationsquelle anlegen, apt bietet aber eine noch viel größere Auswahl an Paketquellen, hier Repository genannt.

Und da wir ja die große Auswahl haben wollen installieren wir uns apt.

Ist apt nicht unsicher?

Wir verlassen hier allerdings den 'sicheren Hafen' Suse und die Software die dann installierbar ist kommt nicht mehr unbedingt von Suse und ist von Suse nicht abgesegnet. Offizielle SUSE-10.0-Repositories sind base, extra, java, update und security, alle anderen Repositories sind NICHT von Suse freigegeben. Wer das nicht will sollte bei you/yast mit den bekannten Einschränkungen/Nachteilen bleiben! 'apt' ist nicht unbedingt für Leute geeignet, die vor 10 Minuten ihre erste Distribution auf die Platte gezaubert haben. Ein wenig sollte man schon Erfahrungen gesammelt haben, wie das mit den Paketen bei einem rpm-basierten System abläuft. Allerdings traue ich jedem, der schon mal den 'Editor' unter Windows benutzt hat und einigermaßen wachen Verstandes ist, es zu, diese Anleitung nachvollziehen zu könnnen.

Installation

Hier mal die Vorgehensweise für die Suse 10.0 (i386, für 64bit gilt die Anleitung zwar auch in der Form, allerdings ist meine sources.list (s.u.) nicht für 64bit-Systeme geeignet):

apt ist zumindest als Kommmandozeilenprogramm bei der 10.0 schon auf den Installationsmedien dabei, bei der Kaufversion ist auch die graphische Oberfläche 'synaptic' schon mit auf den Installationsmedien verewigt. Da wir aber 'synaptic' gleich zur Übung mit apt installieren wollen wählen wir im yast unter Software installieren nur 'apt' aus. Bitte nicht 'apt4rpm' nehmen. Das Paket heißt nur 'apt'.


Ergänzung für Suse 9.3 und Suse 10.1

Ihr benötigt 'apt' und 'apt-libs' aus diesem Verzeichnis:

32bit:
ftp://ftp4.gwdg.de/pub/linux/suse/apt/SuSE/9.3-i386/RPMS.suser-rbos

leider ist apt bei der 9.3 nicht von Suse beigelegt worden, die Pakete müssen also 'zu Fuß' installiert werden. Das Paket synaptic findet ihr ebenfalls in diesem Repository.

Für SuSE 10.1 bitte diese Pakete installieren:

32bit:
http://ftp4.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386/RPMS.suser-rbos/apt-0.5.15lorg3.2-12.1.i586.rpm
http://ftp4.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386/RPMS.suser-rbos/apt-libs-0.5.15lorg3.2-12.2.i586.rpm
64bit:
http://repos.opensuse.org/home:/rbos/SL-10.1_x86_64/x86_64/apt-0.5.15lorg3.2-12.2.x86_64.rpm
http://repos.opensuse.org/home:/rbos/SL-10.1_x86_64/x86_64/apt-libs-0.5.15lorg3.2-12.2.x86_64.rpm

Die Installation dann bitte für beide Pakete gleichzeitig ausführen:

32bit:
rpm -Uvh apt-05.15lorg3.2-12.1.i586.rpm apt-libs-05.15lorg3.2-12.2.i586.rpm
64bit:
rpm -Uvh apt-05.15lorg3.2-12.2.x86_64.rpm apt-libs-05.15lorg3.2-12.2.x86_64.rpm

Eine sources.list für Eure Distribution und Versionsnummer findet hier im Wiki: Repository Listen für Apt(eine der beiden Links könnnte man streichen, bzw. schauen, in wieweit, http://www.linux-club.de/viewtopic.php?t=44774 im Wiki eingefügt ist)


Hier kann man auch gleich sehen, das yast auch Abhängigkeiten auflösen kann, denn apt-libs werden gleich mit ausgewählt. Also installieren wir die Pakete und dann machen wir mit der Tastenkombination ALT-F2 und dort mit der Eingabe von

kdesu kate /etc/apt/sources.list 

den Editor kate mit Root-Rechten auf. Durch die Übergabe von /etc/apt/sources.list wird dann auch direkt das Herz von apt geöffnet, die 'sources.list'

Unter gnome sollte alternativ dieser Befehl funktionieren:

gnomesu gedit /etc/apt/sources.list

In dieser Datei sind alle Programmquellen aufgelistet, auf die apt zugreifen kann. Da diese Liste nur als Beispiel dient und meiner Meinung nach keine 'gute Liste' ist sollten wir die noch anpassen. Eine sources.list für Eure Distribution und Versionsnummer findet hier im Wiki: Repository Listen für Apt (eine der beiden Links könnnte man streichen, bzw. schauen, in wieweit, http://www.linux-club.de/viewtopic.php?t=44774 im Wiki eingefügt ist)

Die Liste ist NUR für SuSE 9.3/32bit und 10.0/32bit (NICHT für Suse 10.0/64bit) so zu übernehmen. Als Anregung/Anschauungsmaterial ist sie aber auch für andere Versionen zu gebrauchen. Pfade und Repositories müssen dann natürlich angepasst werden. Insbesondere suser-rbos muss bei der 9.3 auf jeden Fall aktiviert werden. Und einige Repos existieren unter 10.0, nicht aber unter 9.3 und andersherum. Gleiches gilt für die 64bit-Systeme, hier müsst ihr selber schauen, was ihr an Repositories benötigt, ich habe nämlich kein 64bit-System zur Verfügung) Also selber mal auf dem ftp-Server schauen, was da so herumliegt und mit Hilfe der Kommentare zur 10.0er-Liste entscheiden, ob man das braucht. Im Zweifel eher deaktivieren (siehe weiter unten).

Einfach die Beispiel sources.list komplett leeren und den Text aus der verlinkten sources.list hineinkopieren. Bitte auch unbedingt die Anmerkungen zu den einzelnen Quellen, den sog. Repositories beachten. Die sources.list dort ist eigentlich sehr sicher zusammengestellt, es könnte aber sein, das ihr noch andere Quellen als nützlich oder unnütz erachtet. Dann müsst ihr in der sources.list das #-Zeichen am Anfang einer Zeile entfernen, danach wird dieses Repository 'scharf' geschaltet, wenn ihr ein # setzt wird es entsprechend deaktiviert. Aber für den Anfang sollte die Liste gut sein. Wir speichern jetzt die sources.list und öffnen mit dem noch geöffneten Editor die Datei

/etc/apt/apt.conf.d/apt.conf 

Dort fügen wir über der Zeile

ignore {"gpg-pubkey"; }; 

folgendes ein:

Hold { "kernel-smp"; "kernel-default"; "kernel-source"; };   

Bitte kopiert diesen Text hier raus, denn es kommt auf jedes Leerzeichen an. Mit dieser Änderung verhindern wir, das kernel-updates über apt installiert werden. Ich persönlich lasse kernel-updates noch vom YastOnlineUpdate (=YOU) vornehmen, alles andere läuft allerdings über apt, denn apt bringt auch die Updates mit, die über YOU geliefert werden. Grundsätzlich sollte man sich für ein System Updates zu installieren entscheiden, ein Nebeneinander von you und apt kann zu Problemen führen.

Wir schließen kate und wagen uns auf die Kommandozeile. Hier werden wir mit der Eingabe von 'su' zum Systemverwalter root. Das System fragt nach dem Passwort, welches wir blind eingeben, es erfolgt keine Rückmeldung, wenn wir das PW eintippen. Nicht verwirren lassen! Wenn eine Internetverbindung steht geben wir ein:

apt update

Dadurch werden die in der sources.list 'scharf' geschalteten Repositories abgefragt, was sie so anzubieten haben. Dies sollte man immer machen, bevor man neue Pakete installieren will, damit auch die aktuellste Programm-Version geladen wird.

rpm-key installieren

Wenn das durchgelaufen ist laden wir die ersten Pakete rein: Die Eingabe von

apt --no-checksig install rpmkey* 

installiert die digitalen Schlüssel der Paketersteller, mit denen diese ihre Pakete signieren. Mit Hilfe der Schlüssel kann sichergestellt werden, das ein Paket aus einer bestimmten Quelle kommt und während des Downloads nicht beschädigt wurde. Deshalb würde ich die Prüfung immer aktiviert lassen, auch wenn man die abschalten kann und einige es empfehlen die 'nervige' Prüfung auszuschalten. Mir hat das mal bei einem Update den Hals gerettet, weil bei einem sehr wichtigen Paket die Signatur durch einen fehlerhaften Download falsch war und das Paket daher nicht eingespielt wurde.

Da aber die Schlüssel noch nicht im System sind müssen wir die Prüfung auf die digitalen Schlüssel mit '--no-checksig' umgehen.

Leider liegen nicht alle Schlüssel in Form eines rpm-Paketes vor. Diese sollte man aber auch noch übernehmen. Einige der gebräuchlichsten keys sind hier aufgeführt. Einfach den ganzen Block in eine root-Konsole kopieren und die letzte Zeile mit Enter abschließen.

rpm --import http://suse.osuosl.org/people/kraxel/8690E4BE-kraxel-gpg-key.asc 
rpm --import http://suse.osuosl.org/people/kraxel/8750D2C4-kraxel-gpg-key-old.asc 
rpm -Uvh http://folk.uio.no/oeysteio/apt/suse/rpmkey-oystein-1.0-4.noarch.rpm 
rpm --import http://www.version6.net/apt/gpg-pubkey-624dc562-41b8bcbe.asc 
rpm --import http://www.jpackage.org/jpackage.asc 
rpm --import http://ftp.suse.com/pub/projects/samba/414A57C3-lmuelle-gpg-key.asc 
rpm --import ftp://ftp4.gwdg.de/pub/linux/misc/suser-jengelh/gpg-pubkey-844C4360.asc
rpm --import http://www.skype.com/download/skype/linux/rpm-public-key.asc 
rpm --import http://download.opengroupware.org/nightly/packages/RPM-GPG-KEY.opengroupware 

Nun sollten alle bekannten rpmkeys installiert sein und künftige Installationen werden dann mit den Schlüsseln abgeglichen.


Exkurs:

Falls doch mal ein Paket ohne oder mit einer unbekannten Signatur dazwischen rutscht und der Schlüssel nicht aufzutreiben ist, dann sollte man überlegen, ob man es trotzdem benötigt. Ganz aktuelle OpenOffice-Pakete sind z. B. nicht signiert, warum auch immer. Diese Pakete würden dann wie die Schlüssel mit

apt --no-checksig install paketname 

eingespielt


Wie funktionert apt nun?

Jetzt schreiten wir zur Tat und installieren das erste 'richtige' Programm. Ein guter Kandidat ist 'synaptic'. Damit kann man apt mit einer graphischen Oberfläche bedienen. (synaptic gibt es zur Zeit nicht für Suse 10.1, ein Versuch das zu installieren wird also ins Leere laufen.)

Ein

apt install synaptic

sollte das Programm auf die Platte zaubern. Weitere Pakte werden dann mit

apt install PAKETNAME

installiert. Dieser Befehl funktioniert auch für ein Update eines einzelnen Paketes. apt bzw. realisiert dann, dass das entsprechende Paket bereits installiert ist und führt dann ein Update durch.

Aber wenn man schon mal dabei ist, kann man auch auf Wunsch (und bei einer dicken Leitung in's Internet) auch noch mit

apt upgrade

das ganze System auf den aktuellsten Stand bringen. Dabei kommt es allerdings dazu, das SEHR viele Pakete zugleich auf den Rechner gespült werden. Bei Problemen ist es dann recht schwer, den Fehler einzukreisen. Daher empfehle ich dieses Vorgehen für Anfänger nicht.

Falls Probleme auftauchen, die meisten Fehlermeldungen wurden in einem Thread hier zusammengefasst:

Kurzeinweisung synaptic

synaptic funktioniert dann analog: Neu laden entspricht dem 'apt update', 'Aktualisierungen vormerken' entspricht einem 'apt -s upgrade' (Eine Simulation, was würde passieren wenn...) und Anwenden ist ein 'apt upgrade' oder wenn nur ein bestimmtes Paket gewählt wurde ein 'apt install' Synaptic findet man im 'Startmenü' unter System -> Konfiguration -> Synaptic

Dann mal 'Lustiges updaten/installieren mit apt und synaptic'!

Bei lustig fällt mir noch ein: Gebt mal

apt moo

in der Kommandozeile ein. Muss auch nicht als root sein.

Tips und Tricks

Abschließend noch ein paar Kniffe bezüglich 'apt':

  • Wenn es bei der Benutzung von synaptic zu der Situation kommt, das ein fehlender Schlüssel angemeckert wird, dann hat Synaptic die dumme Eigenschaft, das auch durch nachträgliche Umstelllung auf 'Nicht auf Signaturen prüfen' eine Installation über Synaptic nicht mehr möglich ist.

Man muss dann über die Konsole mit der Option '--no-checksig' (siehe HowTo) installieren.

  • Man kann mit apt auch rpm-Pakete installieren, die man von außerhalb erhalten hat. Das hat den Vorteil, das etwaige Abhängigkeiten wieder von apt gehandhabt werden können.
apt install /pfad/zum/heruntergeladenen/rpm.rpm

und apt kümmert sich wieder um die Abhängigkeiten. Zum Beispiel im Fall von skype kann man das so machen. Dann kommt auch der skype-rpm-key zum Einsatz, der in der Liste der Schlüssel aufgeführt ist.

  • Wenn man nur so ungefähr weiß, wie ein Paket heißt oder man sucht eine bestimmte Datei aus einem Paket kann man mit
apt search SUCHBEGRIFF

die Paketquellen nach dem gesuchten Begriff durchforsten.

  • Wenn man schnell sehen will, woher ein Paket stammt und welche Version zur Zeit installiert ist hilft ein
apt policy PAKETNAME

weiter.

APT das REPOMD (REPODATA) versteht

Richard Bos, der "Packager" der apt-Tools für SUSE, stellt im neuen SUSE-Build-Server seine Pakete in einer neuen Version bereit, die nicht mehr unbedingt auf die "künstlich" erstellten APT-Repositories bei der GWDG angewiesen ist, sondern auch das repomd-Format versteht, das im SUSE Build-Server automatisch gleich mit erzeugt wird.

Damit kann man in der sources.list alles hinzufügen, was so im Build-Server gebraten wird.

Beispiel für sources.list:

repomd http://software.opensuse.org/download/KDE:/KDE3 <Komponente>
repomd http://software.opensuse.org/download/KDE:/Backports <Komponente>

wobei <Komponente> derzeit für eins von diesen steht:

SUSE_Linux_9.3
SUSE_Linux_10.0
SUSE_Linux_10.1

(diese beiden repomd-Einträge sind zusammen genau der Ersatz für das weggefallene APT-Repository kde bzw. kde3-stable.)

Die neuen apt-Pakete von Richard Bos liegen unter

http://software.opensuse.org/download/home:/rbos/

für SUSE 9.3, 10.0 und 10.1, jeweils für i586 und x86_64.

Achtung: man muß UNBEDINGT die Pakete apt und apt-libs ZUSAMMEN aktualisieren!

Die richtigen beiden Pakete downloaden, dann

rpm -Uhv apt-0.5.15lorg* apt-libs-0.5.15lorg3*

und dann in der sources.list entsprechend die "repomd"-Zeilen hinzufügen.


Zurück zur Apt Übersicht