• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Beißt sich APT mit YAST ?

Khorne2k

Newbie
Also ich habe gemäß dem oben angeführten Howto APT und Synaptic installiert.
Um das zu testen (hatte schon mal ne Debian 3.0dist. drauf und kam damals als Nvidia benutzer mit noch nicht supporteter ISDN und Grafikkarte nicht weit)
war eigentlich auch positiv überrascht (hab endlich mein Multimedia system mit VLC und Mplayer zum laufen bekommen, vielen dank :)

Nun wüsste ich gerne ob sich APT in irgendeiner Form mit YAST beißt sprich ob die von Synaptic installierten pakete für YAST entsprechend installiert sind (richtige versionsnummern etc übergeben werden und so... )

nicht das ich am ende mit haufenweise Paketfragmenten arbeite und das system letzen endes so löchtig ist wie so ein Windoof schrotthaufen...
 

oc2pus

Ultimate Guru
kurze Antwort: Nein.

lange Antwort:
YaST ist ein Frontend für die RPM-Datenbank, apt ebenfalls.
Zum installieren, löschen etc greifen beide auf diese RPM-Datenbank zu.
D.h. mit apt installierte Pakete sind im YaST zu sehen und umgekehrt.

Es kann aber immer nur eines laufen, da die RPM-Datenbank gesperrt wird.
D.h solange synaptic die Datenbank am Wickel hat, kann YaST nichts reinschreiben und umgekehrt.
 

Kurt M

Hacker
ich habe soeben mit apt-get upgrade das komplette System auf den neuesten Stand gebracht. Danach hat apt nichts mehr neues vorgeschlagen.
Danach habe ich den YAST Online Update gestartet. Dieser hat mir wieder einige neue Dinge zum Update angegeben.
Scheinbar wissen apt und yast nicht 100% das gleiche voneinander ?

Gleich noch eine Frage: apt hat über 150 MB geladen. Jetzt will ich das ganze noch auf einem zweiten PC machen, aber nicht mehr alles neu saugen. Kann ich einfach die rpms von einem Rechner auf den zweiten kopieren, damit apt nicht wieder von vorne anfangen muss ?
 

herbk

Member
Hi
Scheinbar wissen apt und yast nicht 100% das gleiche voneinander ?
das hängt davon ab, welche Quellen Du bei apt verwendest.
Yast vergleicht immer alle Orginal Suse Pakete mit dnene auf dem Server, apt nur die, die in den Verzeichnisen(repositories) sind, die Du ausgewählt hast.
 

Kurt M

Hacker
das ganze ist ein größeres Durcheinander auf den diversen Mirrors als man glauben mag.

Ich habe mir die Mühe gemacht und die Yast bzw apt Quellen auf ftp.gwdg.de durchgeschaut.
Dabei hat sich gezeigt, dass auf diesem Server viele RPMs doppelt drauf sind. APT bzw YAST gehen in unterschiedliche Verzeichnisse um die RPMs zu holen.
Und das fatale daran, es sind teilweise UNTERSCHIEDLICHE versionen !

z.B.: ein Kernel Update mit apt hat mir die Version 2.6.8 reingeladen. Yast weiss von so einer hohen Version nichts, dort geht es nur bis 2.6.4 bzw. beim Update mit YOU bis 2.6.5.

wers nicht glaubt, hier sind die Verzeichnisse:
APT:
ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/

YAST:
ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/9.1/suse/i586/

YOU:
ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/update/9.1/rpm/i586/

aus Windoof Zeiten hatte ich mir angewöhnt jeden Microsoft Update blindlings runterzusaugen.
Unter Linux muss man hier besser überlegen was man tut, sonst hat man (so wie ich) plötzlich einen Kernel drin, wo diverse Dinge nicht oder anders als vorher funktionieren.

Grüße
Kurt
 

herbk

Member
Das ist nur ein Durcheinander wenn man es oberflächlich betrachtet....
(mal etwas rumlästern... 8) )
Es ist ganz selbstverständlich, das die Pakete in den Suse und apt Verzeichnisen unterschiedlich zusammengestellt sind und andere Versionsnummern haben, denn:
beide haben nichts miteinander zu tun!
Es ist auch nicht Fatal, daß in den unterschiedlichen Pfaden die Versionsnummern unterschiedlich sind, sondern absolut notwendig.
Ein Paket, das am 1.11.04 von (z.B.) mir gepackt wurde kann nicht die gleich Versionsnummer haben wie das am 31.10.04 von Suse gepackte (auch wenn der Inhalt exakt der gleiche ist).

Allerdings basieren die Pakete bei apt meistens auf neuere sourcen. Deshalb kannst Du mit apt z.B. bei einer Suse9.0 auch den KDE von 3.1 auf 3.3.1 (und jede weitere neue Version) updaten, beim You update liegen immer noch die 'alten' Pakete vor.

ABER:
auf deinem Computer legt Yast beim installieren ein Verzeichnis an, in welchem steht, was für Software Du installiert hast.
Bevor etwas installiert oder upgedatet wird, sehen sowohl apt als auch Yast in diesem Verzeichnis nach was benötigt wird.
Ist etwas benötigtes nicht Vorhanden gehen apt und Yast allerdings getrennte Wege. Yast sucht in den Suse Ordnern, in allen, weil das standardmäßig so implementiert ist - apt in den apt Ordnern, allerdings nur in denen, die Du in den repositories benannt hast.
Das apt dies so macht ist auch gut so, denn die Pakete für apt werden ja nicht von jemanden bestimmten gepackt. (deshalb stehen sie auch in unterschiedlichen Verzeichnisen auf dem Server)
Du kannst so auswählen welche Quelle Du als sicher einstufst und wo apt nach neuem suchen soll.
Wenn Du etwas aktuelles mit apt installierst, schreibt der es auch in das Verzeichnis der installierten Softwre auf Deinem Rechner und Yast findet es deshalb nach der Installation auch.
Problematisch ist es nur dann, wenn ein mit apt installiertes Paket ein Paket aus einem anderen Verzeichnis benötigt, welches Du nicht in den repositories hast.
Welche repositories Du wählen solltest, darüber streiten sich die Geister... so ist das eben: wenn man die Wahl hat muß man auch selbst was entscheiden!
Ich habe 2 repositories Listen, eine 'Basisliste' mit der ich mein System auch ziemlich 'blind' aktuell halte (da gibt es auch ganz selten ein Problem) und eine in der die restlichen repositories sind.
Wenn ich mit der nach updates suche, überprüfe ich aber jeden Vorschlag bevor ich ihn installiere....

Meine Basis Repositories:
update security kde gnome gnome2 base suser-rbos rpmkeys suser-guru

Und noch mal lästern zum Schluß:
wenn Du die Zeit, die Du damit verbracht hast nach Fehlern auf den Servern zu suchen, in das durchlesen der Beiträge zu apt investiert hättest, währe Dir das meiste schon klar geworden.... :wink:
 

oc2pus

Ultimate Guru
HerbK schrieb:
Es ist ganz selbstverständlich, das die Pakete in den Suse und apt Verzeichnisen unterschiedlich zusammengestellt sind und andere Versionsnummern haben, denn:
beide haben nichts miteinander zu tun!
FALSCH! einige Verzeichnisse auf den apt-servern sind exakt die gleichen wie die auf dem SuSE-Server. Der SuSE-Server wird zur Zeit 4x am Tag auf die apt-Repositories gespiegelt.
In den apt-Repositories existieren aber weitere Verzeichnisse wie z.Bsp packmann, suser-*, suse-people, ... diese haben NICHTS mit SuSE zu tun.

HerbK schrieb:
ABER:
auf deinem Computer legt Yast beim installieren ein Verzeichnis an, in welchem steht, was für Software Du installiert hast.
Bevor etwas installiert oder upgedatet wird, sehen sowohl apt als auch Yast in diesem Verzeichnis nach was benötigt wird.
wieder FALSCH. apt bezieht siene Meta-Informationen (Paket-Listen, Abhängigkeiten etc aus /var/state/apt/*. Die Pakete welche apt herunterlädt werden in /var/cache/apt gespeichert.
Diese Verzeichnisse haben NIX mit dem Verzeichnis von YOU zu tun!

HerbK schrieb:
Problematisch ist es nur dann, wenn ein mit apt installiertes Paket ein Paket aus einem anderen Verzeichnis benötigt, welches Du nicht in den repositories hast.
du kannst mit apt install /verz/zu/paket/paketname-version.rpm auch lokale rpms unter Berücksichtigung aller Abhängigkeiten mit apt installieren.
Noch allgemeiner:
apt install http://www.paket.de/super.rpm
apt install ftp://www.paket.de/super.rpm
apt install /mein/Donwloadverzeichnis/super.rpm

HerbK schrieb:
Ich habe 2 repositories Listen, eine 'Basisliste' mit der ich mein System auch ziemlich 'blind' aktuell halte (da gibt es auch ganz selten ein Problem) und eine in der die restlichen repositories sind.
man kann beliebig viele "sources.list" haben. Mit dem Parameter -c kann dann die jeweilige "sources.list" ausgewählt werden.
Du solltest mal man apt, man apt-get, etc etwas genauer lesen ;)

HerbK schrieb:
Meine Basis Repositories:
update security kde gnome gnome2 base suser-rbos rpmkeys suser-guru
tja und das wichtigste, suser-rbos (der Maintainer von apt, synaptic) fehlt ;)
 

herbk

Member
zu 1.
habe mich da evtl etwas misverständlich ausgedrückt:
was ich mit Suse Verzeichnisen meinte sind die Verzeichnise auf die Yast zugreift.
Das Betrifft den Vergleich der Verzeichnise die vorher genannt wurden...
Zu den Versions Nummern:
lass die Komponente BASE mal weg.
Dort sind im Prinzip die SuSE pakete von der DVD/CD enthalten aber leider mit einer neuen Minornumber-Version. Die brauchst du also nicht
ist eine Antwort von Dir in http://www.linux-club.de/viewtopic.php?t=10523

zu 2
weshalb zeigt mir Yast dann schön brav die Pakete an, die ich mit apt installiert habe? bei mir ist es jedenfalls so (hab allerdings nicht jedes einzelne nachkontrolliert...)

zu 3
ja - nur mußt Du apt trotzdem sagen wo er suchen soll...

zu 4
da magst Du nicht mal unrecht haben.... :oops:


zu 5
suser-rbos steht drinn....
 

oc2pus

Ultimate Guru
HerbK schrieb:
zu 1.
habe mich da evtl etwas misverständlich ausgedrückt:
was ich mit Suse Verzeichnisen meinte sind die Verzeichnise auf die Yast zugreift.
ja und die Repositories base, update, security, kde, gnome, xorg, etc sind exakt gleich mit dem SuSE Server.
Das kannst du selber nachprüfen, schau dir die xml Dateien in diesem Verzeichnis http://ftp.gwdg.de/pub/linux/suse/apt/conf/ an. Das sind die lange erprobten mirror-scripte um die apt-Repositories zu erstellen ;)

HerbK schrieb:
Zu den Versions Nummern:
lass die Komponente BASE mal weg.
Dort sind im Prinzip die SuSE pakete von der DVD/CD enthalten aber leider mit einer neuen Minornumber-Version. Die brauchst du also nicht
ist eine Antwort von Dir in http://www.linux-club.de/viewtopic.php?t=10523
ja, nur aus dem Zusammenhang gerissen ;)

HerbK schrieb:
zu 2
weshalb zeigt mir Yast dann schön brav die Pakete an, die ich mit apt installiert habe? bei mir ist es jedenfalls so (hab allerdings nicht jedes einzelne nachkontrolliert...)
weil beide (apt, YaST) auf die RPM-Datenbank zugreifen!
Die rpm-Datenbank ist die Basis für ein rpm-basiertes System.
Nur die Art wie mit der Datenbank gearbeitet wird unterscheidet sich bei apt und YOU. Deshalb zeigt YaST dir auch Pakete an, welche du mit rpm -i oder rpm -Uhv von sonstwo installiert hast.

HerbK schrieb:
zu 3
ja - nur mußt Du apt trotzdem sagen wo er suchen soll...
apt bezieht sein wissen aus dem /var/state/apt/* Verzeichnis. Das ist die Basis welche herangezogen wird um Abhängigkeiten aufzulösen. Wenn man Pakete mit apt via URI (http, ftp, file) installieren will, wird diese aktuelle Basis (wird durch apt update erzeugt) immer mit einbezogen.

HerbK schrieb:
zu 5
suser-rbos steht drinn....
ja, habe mich vertippt, meinte funktronics (dort stehen die perl-XML-* Pakete, welche man für apt4rpm benötigen würde.
 

herbk

Member
bei mir greift Yast zur (Online) installation auf ~.ftp.suse.com/suse/i386/9.0/suse/i586 zu,
und da kann ich beim besten Willen keine Verzeichnise (repositories) base, update, security, kde, gnome, xorg, etc finden...

Daß die Pakete in den genannten repositories auf dem Suse Server und den Mirrors im apt Verzeichnis unterschiedlich sind hat auch niemand behauptet und war auch nicht gegenstand der Diskusion...
zumindest nicht von meiner Seite....

weil beide (apt, YaST) auf die RPM-Datenbank zugreifen!
Das ist ja wohl ein Verzeichnis in welchem die installierten Pakete gespeichert sind....

apt bezieht sein wissen aus dem /var/state/apt/* Verzeichnis
Da wiedersprech ich ja gar nicht.... nur irgendwie muß das Wissen da ja auch reinkommen.. :)

edit
bei der funktronics war ich mir noch nicht sicher ob ich sie zu den 'stabilen' zählen kann

edit 2
apropos 'aus dem zusammenhang gerissen'
sie Dir mal die Verzeichnise im post von Kurt_M an, die er vergleicht.
auf diesen Vergleich bezieht sich meine Antwort... :wink:
 

oc2pus

Ultimate Guru
HerbK schrieb:
bei mir greift Yast zur (Online) installation auf ~.ftp.suse.com/suse/i386/9.0/suse/i586 zu,
und da kann ich beim besten Willen keine Verzeichnise (repositories) base, update, security, kde, gnome, xorg, etc finden...

Daß die Pakete in den genannten repositories auf dem Suse Server und den Mirrors im apt Verzeichnis unterschiedlich sind hat auch niemand behauptet und war auch nicht gegenstand der Diskusion...
zumindest nicht von meiner Seite....

weil beide (apt, YaST) auf die RPM-Datenbank zugreifen!
Das ist ja wohl ein Verzeichnis in welchem die installierten Pakete gespeichert sind....
Du verstehst noch nicht wirklich den Zusammenhang. Aber das macht auch nichts ;)

Ich habe nur deiner Behauptung von oben
Es ist ganz selbstverständlich, das die Pakete in den Suse und apt Verzeichnisen unterschiedlich zusammengestellt sind und andere Versionsnummern haben, denn: beide haben nichts miteinander zu tun!
widersprochen das die RPMs vo SuSE-Server nichts mit den RPMs aus den apt-Repositories zu tun haben. Und die oben genannten repositories sind exakt gleich, weil sie mehrfach am Tag vom SuSE Server in die apt-Repositories übertragen werden ...

Die Abbildungsvorschrift wie das erfolgt habe ich dir bereits genannt.
Das im apt-base von 8.2 und 9.0 kleine Unterschiede in der Minor-Versionsnummer vorhanden waren, lag schlicht und einfach daran, das SuSE ihre "aktuellen" RPMs zur Verfügung stellten, ca 4 Wochen nachdem die DVD/CDs erschienen waren. In der Version 9.1, ist base absolut identisch mit dem DVD/CD Inhalt. Ich hoffe das das auch so sein wird für 9.2.

Zur RPM-Datenbank:
Diese findest du in /var/lib/rpm. Diese Datenbank wird ausschliesslich von rpm verwendet. Es gibt ein low-level Interface für diese RPM-Datenbank. Beide Systeme schreiben und lesen via rpm bzw via rpmlib diese Datenbank.
Eine Abfrage wie rpm -qa (listet alle installierten Pakete auf) weiß nicht von wo und mit welchem Programm ein Paket installiert wurde.

und zu Kurt_M's Problem kann man erst dann etwas sagen, wenn man seine sources.list gesehen hat. Mit grosser Wahrscheinlichkeit hat er dort alle möglichen Repositories aufgenommen und "sieht" somit auch die Komponente kernel-of-the-day mit Version 2.6.8. Sein ungewolltes kernel-update hätter er ziemlich einfach vermeiden können, es ist hier im Forum hinreichend beschrieben wie ;)
 

oc2pus

Ultimate Guru
Hier noch ein paar Infos zu den Quellen der apt-Repositories. Wie man leicht sehen kann sind die apt-Repositories aus den Original-SuSE FTP-Server Verzeichnissen gespiegelt.

Of course you wonder what the sources are of software provided by the APT repository. Here is a breakdown:

base: ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/X.Y
(being equal to: ftp://ftp.suse.com/pub/suse/i386/X.Y)

update: ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/update/X.Y

kde: ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/supplementary/KDE/update_for_X.Y/

suse-people: ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/people/ [2]
suse-project: ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/projects/ [2]

gnome: ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/supplementary/GNOME/update_for_X.Y/

mozilla: ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/projects/mozilla/

xfree86: ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/supplementary/X/XFree86/XFree86-<version>-SuSE/suseXY/

usr-local-bin: http://www.usr-local-bin.org

funktronics: http://www.funktronics.ca/pub/rpm/apt

packman: http://packman.links2linux.de

suser-*: SUSE user contributed packages

[2] the rpms provided by the suse-people/projects component are taken from the suse people/projects directory. Which provides rpms that are released by suse employees. These are not official released SUSE rpms! If you take a look in that directory, you will see that there is no convention for the way the rpms are being stored. Therefore the rpms are selected (filtered) on their path and name. This is of course not 100% correct and therefore some rpms may be missing and an rpm may end up in a wrong component...

The above table is far from complete, as there have been components added to the repository. Example components are: mozilla, wine, kde-unstable, suse-people, gnome2, etc. All these components provide rpms that come from (mirrored) ftp://ftp.suse.com. The APT repository is synchronized with the SuSE ftp server several times a day, so it is fairly up to date.
As you can determine from the above table, the several ftp directories/servers are broken down into components. These components can be specified individually in the sources.list files.

The component prefix suser is used for SUSE user provided rpm/apt repositories. The term suser is a combination of suse and user.
 

Kurt M

Hacker
Hallo,

interessant zu lesen was ihr da alles schreibt.
Ich habe übrigens nicht nach Fehlern in den Servern gesucht nur um der Fehler willen, das wäre mir egal.

Der Grund ist ein ganz anderer, vielleicht habt ihr eine Idee hierzu:

Ich habe einen PC mit DSL, also schnellem Zugang. Dann habe ich noch zwei weitere PCs an einem anderen Ort, die nur ISDN haben, wo ein Update nächtelang dauern kann.

Also hab ich mir in meinem Leichtsinn gedacht, ich kopiere einfach die Yast bzw apt Verzeichnisse von gwdg.de auf eine portable Platte und nehme diese einfach zu den anderen PCs mit.

Da ich natürlich nicht den ganzen gwdg.de kopieren kann, wollte ich nur die interessanten Suse 9.1 Dinge kopieren. Und bei der Gelegenheit habe ich am Server die Verzeichnisse zu durchsuchen begeonnen.
Nur... je mehr ich suchte, umso undurchschaubarer wurde es. Ein riesen Wust von Links auf alle möglichen Quellen. Es ist fast unmöglich herauszufinden was man alles braucht. Inzwischen habe ich 25 GB gesaugt und es reicht noch bei weitem nicht.

Offensichtlich ist mein Vorhaben zum Scheitern verurteilt, oder hat jemand von euch eine Idee ?

Grüße
Kurt
 

oc2pus

Ultimate Guru
ja klar, und zwar mehrere ... aber das sollte in einen eigenen Topic.

und die passende Stelle wäre hier:
http://www.linux-club.de/viewtopic.php?t=17628
 

Kurt M

Hacker
oc2pus, Super DANKE das ist es !!!

Manchmal sieht man den Wald vor lauter Bits nicht.

Mit wget -r --retr-symlinks werden dort die Symlinks aufgelöst. Das hilft natürlich eine wilde Verzeichnisorgie zu vermeiden.
Mann, mann, ich muss noch viel lernen was Linux betrifft.....
 
Oben