APT4RPM: Unterschied zwischen den Versionen
(→Wie funktionert apt nun?) |
Yehudi (Diskussion | Beiträge) (→Voraussetzungen: etwas übersichtlicher strukturiert.) |
||
Zeile 4: | Zeile 4: | ||
− | + | * Umgang mit Editoren wie den Microsoft Editor oder Notebook, idealerweise 'kate' | |
− | + | * rpm mit yast oder 'von Hand' installiert haben. | |
− | + | * Umgang mit der Konsole | |
− | Diese Anleitung vorab lesen. | + | * Diese Anleitung vorab lesen. |
− | Diese Anleitung vorab nochmal lesen. | + | * Diese Anleitung vorab nochmal lesen. |
− | Etwas Zeit. | + | * Etwas Zeit. |
== Warum apt? == | == Warum apt? == |
Version vom 8. Januar 2007, 22:19 Uhr
Inhaltsverzeichnis
Voraussetzungen
- Umgang mit Editoren wie den Microsoft Editor oder Notebook, idealerweise 'kate'
- rpm mit yast oder 'von Hand' installiert haben.
- Umgang mit der Konsole
- Diese Anleitung vorab lesen.
- Diese Anleitung vorab nochmal lesen.
- Etwas Zeit.
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 10.1 findet man in diesem Thread:
http://www.linux-club.de/ftopic60267.html
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 sehr viel umfangreichere sources.list findet ihr in diesem Thread: http://www.linux-club.de/viewtopic.php?t=44774
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:
http://www.linux-club.de/viewtopic.php?t=16315
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.