vollständige Paketliste offline zur Verfügung haben

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
MonDa
Beiträge: 71
Registriert: 08.04.2012 19:17:42
Wohnort: München

vollständige Paketliste offline zur Verfügung haben

Beitrag von MonDa » 04.09.2012 18:53:36

Hallo,

nachdem ich mich nun schon abendelang mit dem http://debiananwenderhandbuch.de/ bzgl. Paketmanagement beschäftige - und ich noch nicht viel auswendig ohne nachschlagen im Kopf habe, habe ich mich durchgekämpft und hänge nun an einer konkreten Stelle.

Ziel ist offline weitere Pakete auszuwählen - am liebsten in synaptic (da dies ein apt-get frontend ist, sollte das im Notfall auch mit apt-kompatiblen Mitteln gehen - wozu wohl nicht aptitude gehört)

Scheinbar kann man, egal ob mit apt oder synaptic - offline nur Pakete auswählen, wenn man die Pakete schon heruntergeladen hat und diese irgendwie im System bekannt sind.

Ich suche eine Möglichkeit, nur die Liste aller zu Squeeze verfügbaren Pakete mit den Abhängigkeiten dieser (so dass es möglich ist - verschachtete Abhängigkeiten aufzulösen und rekursive Abhängigkeiten, die nicht auflösbar sind, zu erkennen) und am besten mit Paketbeschreibungen, die im Paketmanager angezeigt werden können, herunterzuladen und ins offline-System zu importieren.

Wie man nach der Auswahl der Pakete mit apt oder synaptic ein Skript zum download mit wget erzeugt habe ich gefunden. Es geht nur darum, dass das Offline-System alle Pakete kennt, um dort in Ruhe auszuwählen was man braucht, ohne gleich das ganze Paket downloaden zu müssen (spiegeln, Repository, depot(ist wohl veraltet - was ich gesehen hatte, war als obsolet gekennzeichtnet)

Ich hatte vor ein paar Tagen auch schon einmal einen Hinweis, das jemand so etwas wie eine Paketliste für eine Offline-Installation inoffiziell zusammengestellt hatte - wollte das noch einmal wegen der Aktualität überprüfen, finde aber diesen Hinweis einfach nicht mehr. Weiß jemand worum es sich hierbei gehandelt haben könnte - auch wenn nicht offiziell.

Einige Pakete sehe ich in Synaptic (z.B. org-mode) - von der DVD3 - ich hatte bei der Installation die ersten 3 DVD's eingelesen, weil ich schon vorher über die online-Suche herausgefunden hatte, dass diese org-mode enthält.
In Synaptkic - unter Ursprung sehe ich für die 3 eingelesenen DVDs /contrib und /main.
Also denke ich das alles was auf den anderen DVDs wäre, nicht bekannt ist.
Und ich meine, dass auch die DVDs nicht alle Pakete enthalten, die auf den offiziellen Servern zur Verfügung gestellt werden.
Zumindest fehlt das Sun-Java (und Eclipse), was eigentlich der aktuelle Anlaß dieser ganzen System-Installation ist, das ich hierfür ein System zum Ausprobieren brauche. Dass dies nur noch im non-free angeboten wird, ist mir bekannt.
Ich würde mir aber so auch noch so einige Pakete holen und etwas herumschauen was es so gibt, aber gerne vorab checken, ob es irgendwelche Konflikte mit Sun-Java/Eclipse gibt.
Aber vielleicht ist es auch, wenn meine Prio eindeutig ist, besser das mir wichtigste zuerst zu installieren und dann zu schauen, wenn etwas Konflikte ergibt auf die Installation verzichten. Es ist jedoch trotzdem nicht schön, zumindest wenn das öfter vorkommen sollte, wenn ich Unverträglichkeiten erst merke nachdem ich etwas heruntergeladen habe.

Was ich nicht verstehe ist, was bei der Installation beim Einlesen der DVD's, wenn doch nicht gleich alles installiert wird, passiert.
Soweit ich das jetzt herausgefunden habe, gibt es zu jedem Paket eine packages.gz, die die Abhängigkeiten dieses Paketes enthält. Im Normalfall gibt es also zu jedem Paket eine solche Datei.
(ich denke das ist der Normalfall und die Paketliste, die man mit scanpackages über ein Verzeichnis erstellt ist nur eine Sonderlösung)

Das Dumme ist nur, das ich diese Informationen dann erst habe, wenn das Paket schon auf meinem Rechner ist.

Sprich entweder meine Pakete online aussuchen muß - diese dann herunter lade - einspiele - Abhängigkeiten auflöse - und wenn ich Pech habe gibt es in Paketen, die ich benötige, deren weitere Abhängikeit ich aber erst kenne, wenn ich das Paket heruntergeladen habe,
oder wirklich einen Spiegel mit allem aufbauen muß.

Ihr seht schon, in meinem Kopf drehen sich die Informationen noch etwas im Kreis, deswegen hören sich meine Gedankengänge wohl immer ziemlich kompliziert an. Danke für das geduldige Lesen bis hier her. ;)

PS:
Ich sitze jetzt erst einmal nicht vor dem Rechner - Abendessen ;)
Zuletzt geändert von MonDa am 07.09.2012 07:46:27, insgesamt 2-mal geändert.
Gruß

Mon

Fjunchclick

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von Fjunchclick » 04.09.2012 19:11:34

Scheinbar kann man, egal ob mit apt oder synaptic - offline nur Pakete auswählen, wenn man die Pakete schon heruntergeladen hat und diese irgendwie im System bekannt sind.
Naja, klar, woher soll synaptic denn auch sonst davon wissen?

Besorg' dir den kompletten DVD-Satz und binde diese als Repo ein. Dann kannst du alles was es an Software bei Debian gibt über Synaptic installieren. Wobei ich das nicht für sinnvoll halte. Linux ohne Netz ist wie Säufer ohne Schnaps. :wink:

Und noch ein kleiner, nicht böse gemeinter Tipp:
Versuche mal, etwas schneller auf den Punkt zu kommen. Die wenigsten haben Lust, ellenlange Beiträge zu lesen in denen man nach der eigentlichen Frage suchen muss.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von syssi » 04.09.2012 19:20:35

Hi,

da hast du dir ein taffes Ziel gesetzt. Ich versuche mal ein bisschen Licht ins Dunkel zu bringen und etwas die Struktur des Paketmanagements aufzudroesen. Dem Paketmanagement kann man neue Quellen beibringen, indem man die Datei /etc/apt/sources.list erweitert. Schau mal einfach in diese Datei. Jede Zeile repräsentiert eine Quelle. Finden wirst du ein paar Zeilen, welche auf deine eignelesenen DVDs verweisen und moeglicherweise die ein oder andere weitere mit Spiegelservern (http, ftp) im Netz.

Beim Einlesen von neuen Quellen werden die schon von dir erwaehnten "Packages"-Dateien genommen und nach /var/lib/apt/lists abgelegt. Auf diese Weise hat Paketmanagement eine Idee, auf welchem Datentraeger / Spiegelserver / etc. ein gewuenschtes Paket zu finden ist. Die Packages-Dateien von statischen Medien werden nur einmal nach /var/lib/apt/lists kopiert. Pakete auf Spiegelserver im Netz veraendern sich moeglicherweise regelmaessig. Ein erneutes Abgleichen des Packages-Dateien findet mit Hilfe eines "apt-get update" statt. In diesen Dateien steckt eine vollstaendige Paketbeschreibung. Vollstaendige Pakete heruntergeladen hast du zu diesem Zeitpunkt noch nicht.

Wenn du wirklich *alle* zur Verfuegung stehenden Pakete lokal zur Verfuegung stellen willst, dann wirst du dir einen lokalen Spiegel der Debian-Repositories anlegen muessen. Die "deb cdrom:"- und "deb ftp/http:"-Zeilen wuerdest du aus deiner sources.list entfernen. Stattdessen legst du einen Eintrag an, der so aussieht:

Code: Alles auswählen

deb file:/var/local/mirrors/debian stable main non-free contrib
In den Ordner /var/local/mirrors/debian wirst du einen Debian-Spiegel fuer deine Architektur (amd64, i386?) legen. Das sind haufenweise Ordner, Debian-Pakete und Packages-Dateien. Um einen solchen Spiegel anzufertigen gibt es viele Wege. Bis dahin alles klar?

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von syssi » 04.09.2012 19:25:44

Mal "schnell" (es sind 35 Gigabyte) ein lokales Repository fuer Squeeze (amd64) anzufertigen geht dann so:

Code: Alles auswählen

mkdir /var/local/mirrors/debian
debmirror -a amd64 -s main -s contrib -s non-free -h ftp.de.debian.org -d squeeze --nosource --progress --no-check-gpg /var/local/mirrors/debian
Die Option "--no-check-gpg" ist nicht im Sinne des Erfinders. Ich wollte nur eine Befehlszeile zur Verfuegung stellen, die auf Anhieb funktioniert.

Gruss syssi

MonDa
Beiträge: 71
Registriert: 08.04.2012 19:17:42
Wohnort: München

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von MonDa » 04.09.2012 19:56:32

Hallo - Tausend Dank.

soweit ist alles aktuell wichtige klar.

@syssi
auch wenn ich im Moment weder Mirror noch Repository realisieren will - Frage, gibt es einen Unterschied zwischen Mirror und Repository. Enthälten beide vollständig installierbare Pakete oder enthält ein Repository nur die Installationsinformationen?
Falls man das nicht mit wenigen Worten sagen kann, schaue ich mir das mal an, wenn das wichtigste (Java) läuft.
Danke.

Werde wohl aufgeben, mit der etwas frustrierenden Erkenntnis, dass ein Offline-System so einfach nicht zu realisieren ist, suche ich nun für meinen alteren Internetrechner - mit dem ich eigentlich gleichzeitig zur Installation online sein wollte - um Dinge klären zu können, eine Wechselplatte heraus - ich glaube da habe ich noch eine 80 GB oder so und installiere online.
Wenn ich nicht zu wenig Platz hätte, würde ich mir tatsächlich noch einen dritten älteren Rechner zum Testen hinstellen.

Da kann ich dann zumindest mal eine Paketauswahl und deren Verträglichkeit online testen - und habe durch Online-Updates immer aktuelle Pakete zur Verfügung. Was dann irgendwann aus dem geplanten Offline-Rechner wird, ist ein anderes Thema.

Ich denke zwei Rechner müssen zu dieser Überprüfung zumindest nicht 100%ig gleich sein - wenn man nicht gerade irgendwelche Hardware-Treiber testen will.

Ursprünglich wollte ich Debian nicht gleich auf zwei Rechnern installieren, darauf läuft es aber wohl hinaus.

Danke an alle.
Gruß

Mon

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von syssi » 04.09.2012 22:22:38

Zwischen Repository und Mirror ist in deinem Fall kein Unterschied. Mirror/Spiegel nennt man einfach einen Server, auf welchem irgendeine Daten dupliziert wurden. Bei Debian spiegelt man fuer gewoehnlich das Debian-Repository, welches alle Pakete enthalt. Ein Debian-Repository besteht aus den bereits beschriebenen Dateien, so dass apt-get die Paketlisten sauber einlesen kann und eine Vorstellung hat, in welchen Verzeichnissen, welche Pakete zum Download bereit stehen.

Zu deinem Problem: Du musst dich halt damit abfinden, dass dir 34GB Pakete zur Verfuegung stehen. Wenn du nicht im Vorfeld definieren kannst fuer was du dich alles von den 34GB interessierst, dann wirst du halt alles vorraetig halten muessen. Moeglicherweise ist wirklich ein Satz DVDs in deinem Fall ratsam.

Gruss syssi

Benutzeravatar
schorsch_76
Beiträge: 2631
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von schorsch_76 » 05.09.2012 05:02:13

Da hat syssi wohl recht. Denke auch dass für dich ein kompletter Satz DVDs oder CDs am passensten wäre für den reinen offline Rechner.

Gruß
schorsch

Benutzeravatar
nikaya
Beiträge: 558
Registriert: 23.07.2005 11:32:33

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von nikaya » 05.09.2012 19:24:24

MonDa hat geschrieben:am... liebsten in synaptic (da dies ein apt-get frontend ist, sollte das im Notfall auch mit apt-kompatiblen Mitteln gehen - wozu wohl nicht aptitude gehört)
Stimmt nicht . Aptitude ist sehr wohl kompatibel zu apt. Nur wenn bei Problemen der Lösungsvorschlag von Apt nicht gefällt schmeisst Aptitude den eigenen Resolver an für alternative Lösungsvorschläge. Per default wird immer erst die Lösung von Apt vorgeschlagen. Gibt es keine Abhängigkeitsprobleme sind Apt und Aptitude 1:1.

Gaaanz früher gab es mal die Empfehlung Apt und Aptitude nicht zu mischen. Das ist aber schon lange gegessen. Manche Gerüchte halten sich halt ewig. :roll:
Running: Debian Wheezy/Sid | Kanotix Dragonfire | openSUSE | Arch Linux | Fedora

Aptitude Manual
zypp it...

MonDa
Beiträge: 71
Registriert: 08.04.2012 19:17:42
Wohnort: München

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von MonDa » 05.09.2012 20:51:54

Weil ich immer etwas ausführlich schreibe, habe ich die Fragen Fett gedrukt.

Habe hier gerade noch eine Anleitung gefunden, die sources.list offline upzudaten.
http://www.ps3crunch.net/forum/archive/ ... -3081.html
das ist auch noch nicht so alt

könnte hier mal jemand drüber schauen, ob ich das analog verwenden könnte,
ganz durchblicke ich das mit der extention "bz2" nicht
(wir hatten ja von der Extention "gz" geredet - hat sich da etwas geändert? oder werden das nach dem Auspacken "gz"-Dateien?)

(habe zur besseren Lesbarkeit ein par Zeilenumbrüche
und eine Nummerierung der Schritte mit ###xxxNummer eingefügt)
Natürlich geht es in meinem Fall nicht darum eine falsche sources.list zu korrigieren - deshalb lasse ich den Anfang weg. Auch die aufgelistete korrigierte Sources.list-URLs muss ich natürlich korrigieren auf i386 oder so kann ich schon anpassen, wenn ihr das grundsätzliche Vorgehen gutheißt.
Weil ich schon einmal ermahnt wurde - über setze ich nun was Englisch ist

Habe ich danach auch die Beschreibungen der Pakete mit?

Das ganze in Deutsch übersetz:

Code: Alles auswählen

Die einfachste Anpassung um die Software-Paketliste, die Synaptik verwendet upzudaten ist:

Die Dateie /etc/apt/sources.list.save 
     (or /etc/apt/sources.list für andere debianbasierte Distributionen) 
enthält die adressen der Software Quellen:

Wir finden:
http://ftp.de.debian.org/debian/dists/squeeze/main/binary-powerpc/
http://ftp.de.debian.org/debian/dists/squeeze/non-free/binary-powerpc/
http://ftp.de.debian.org/debian/dists/squeeze/contrib/binary-powerpc/

und auch:

http://ftp.de.debian.org/debian/dists/stable/contrib/binary-powerpc/
http://ftp.de.debian.org/debian/dists/stable/main/binary-powerpc/
http://ftp.de.debian.org/debian/dists/stable/non-free/binary-powerpc/

usw.

Um die Synaptic Softwareliste zu aktualisieren, rufen wir einfach jedes dieser Online-Verzeichnisse (obige URLs), das wir benutzen wollen auf: (im Browser)
http://ftp.de.debian.org/debian/dists/squeeze/main/binary-powerpc/
...
###xxx1 das sollte doch per script gehen
Von diesen Verzeichnissen laden wir 2 Dateien herunter: 
[b]Packages.bz2[/b] and 
Release
###xxx2
Benenn die 2 Dateien um, mit dem vollständigen Pfadnamen(Groß-/Kleinschreibung beachten und "_" gegen "/" ersetzten):

ftp.de.debian.org_debian_dists_squeeze_main_binary-powerpc_Packages.bz2
ftp.de.debian.org_debian_dists_squeeze_main_binary-powerpc_Release

also download and rename these:

ftp.de.debian.org_debian_dists_squeeze_contrib_bin ary-powerpc_Packages.bz2
ftp.de.debian.org_debian_dists_squeeze_contrib_bin ary-powerpc_Release
ftp.de.debian.org_debian_dists_squeeze_non-free_binary-powerpc_Packages.bz2
ftp.de.debian.org_debian_dists_squeeze_non-free_binary-powerpc_Release

###xxx2
Sichere das Verzeichnis 
	var/lib/apt/lists, 
###xxx3
dann (als root) die heruntergeladenen, umbeannten Dateien hierhin kopieren
	/var/lib/apt/lists/ 
und
###xxx4
extrahiere (unzip) die bz2 Dateien (bunzip2 dateiname oder alternativ unter Benutzung von dem * Wildcard: bunzip2 *.bz2).

Nun hat Synaptic eine aktuelle Softwareliste und aktuelle URLs.
Nun ist es möglich, mittels Synaptic die Software für die Installation/den Upgrade auszuwählen,
ein Script für das Herunterladen der benötigten Pakete zu erzeugen, und die Software von einem anderem Computer herunterzuladen
Auf die Erzeugung des Downloadscriptes habe ich schon anderswo einen Hinweis gesehen und dieses getestet. Es generiert downloads mit "wget" - wofür es sogar eine Windows-Version geben soll (für evtl. downloads über einen Windows-Rechner).

@nikaya
Danke für Deine Erklärung - das ist wohl ein Teil des Problems, man kann eine Menge selbst recherchieren - und selbst bei Literatur - man weiß nie ob das so ganz aktuell und der letzte Stand der Dinge ist.

Danke fürs prüfen.
Gruß

Mon

Benutzeravatar
schorsch_76
Beiträge: 2631
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von schorsch_76 » 05.09.2012 21:12:14

Die Beschreibung der Packete ist in den Packeten selbst enthalten. Stichwort: debian/control Section Description [1]

Edit: wget gibts für Windows: UnixTools for Windows [2][3]

Gruß
schorsch

[1] http://www.debian.org/doc/debian-policy ... ields.html
[2] http://unxutils.sourceforge.net/
[3] http://gnuwin32.sourceforge.net/

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von syssi » 06.09.2012 09:57:40

Das ist nicht die feine Art, erfordert verdammt viel Handarbeit und geht sicher schief. Das kann man einfacher haben:

Code: Alles auswählen

# /etc/apt/sources.list
deb http://http.debian.net/debian/ stable main contrib non-free
Dann einmal, wenn der Rechner am Netz ist:

Code: Alles auswählen

apt-get update
apt-get --download-only install <alle pakete mit leerzeichen getrennt, die du denkst, jemals zu brauchen>
Anschliessend werden diese Pakete samt Abhaengigkeiten heruntergeladen und im Ordner /var/cacht/apt/archives abgelegt. Durch das "apt-get update" hast du eine vollstaendige und durchsuchbare Paketliste des gesamten Repositories auf deinem System. Installiert wurden die von dir ausgewaehlten Pakete jedoch noch nicht. Sie liegen lediglich auf der Festplatte falls du sie mal per aptitude / apt-get oder synaptics installieren willst. Auf diese Weise bist du nicht gezwungen das gesamte 34 GB Repository vorraetig zu halten, sondern nur die Teile, die dich interessieren. Zu entscheiden, was fuer dich wichtig sein koennte - bleibt ein/dein Problem. ;-)

Gruss syssi

PS. Oder habe ich dich voellig falsch verstanden und es gibt keinerlei Moeglichkeit dein besagten Rechner temporaer ans Netz zu bringen?

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von syssi » 06.09.2012 10:08:23

MonDa hat geschrieben:könnte hier mal jemand drüber schauen, ob ich das analog verwenden könnte,
ganz durchblicke ich das mit der extention "bz2" nicht
(wir hatten ja von der Extention "gz" geredet - hat sich da etwas geändert? oder werden das nach dem Auspacken "gz"-Dateien?)
Wenn du deinen Rechner wirklich nicht ans Netz bringen kannst, dann ist es der korrekte Ansatz. Die Anleitung ist vielleicht etwas strukturierter und besser zu lesen: http://www.lugs.ch/lib/doc/apt-offline. ... uell_holen

Sie ist zwar alt, trifft aber nachwievor zu. bz2 und gz sind einfach zwei unterschiedliche Arten der Kompression. Normalerweise findet man die Packages-Datei sowohl gezippt (gz) als auch bz2-komprimiert auf den Spiegelservern. Nehmen wir uns das Mirror aus der Anleitung:

http://debian.ethz.ch/debian/dists/sid/ ... nary-i386/

Du findest sowohl eine Packages.gz als auch eine Packages.bz2. Entpackt man beide, so enthalten sie den gleichen Inhalt. Du musst lediglich dafuer sogar, dass du in /var/lib/apt/lists die *entpackte* Datei platzierst mit dem korrekten Dateinamen, was wohl das schwierigste ist. ;-)

Gruss syssi

MonDa
Beiträge: 71
Registriert: 08.04.2012 19:17:42
Wohnort: München

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von MonDa » 07.09.2012 08:58:49

@syssi
danke für das drüberschauen und den Link - den ich mir erst einmal in Ruhe anschauen muß.
(für mich ist die Umsetzung von apt auf synaptic immer noch recht schwierig)
Gruß

Mon

Fjunchclick

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von Fjunchclick » 07.09.2012 09:38:13

Synaptic ist nur eine grafische Oberfläche von apt. Benutzt du apt, musst du Kommandos eingeben, nimmst du synaptic, kannst du das mit der Maus machen. Was ist daran schwierig?

MonDa
Beiträge: 71
Registriert: 08.04.2012 19:17:42
Wohnort: München

Re: vollständige Paketliste offline zur Verfügung haben

Beitrag von MonDa » 07.09.2012 10:09:46

@Fjunchclick
Das ich wenn ich den empfohlenen Link lese etwas länger benötige - weil ich wenn ich Anweisungen für apt lese - erst mal darüber nachdenke wie ich das nun in synaptic mache.

Ansonsten habe ich für die Diskussion ob ich mich nun tatsächlich für synaptic entscheide - und über die Kompatibilität von aptitude und synaptic einen Beitrag eröffnet - wollte hier eigentlich nur schon mal Danke sagen aber erst nach dem Lesen des Links, diesen Beitrag hier auf gelöst setzen.
Gruß

Mon

Antworten