lokale Debian Resourcen anlegen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Hypie[A.D]
Beiträge: 26
Registriert: 12.03.2004 18:29:36

lokale Debian Resourcen anlegen

Beitrag von Hypie[A.D] » 02.10.2004 14:25:39

Hi,
ich habe mir De ian Sarge auf 14 Cds heruntergeladen. Ich möchte sie nun local auf meine Festplatte kopieren.
Was muss ich dabei beachten?
Geht es auch auf Fat32? oder brauche ich ein pointerfähiges Filesystem?
Wie muss die Verzeichnisstruktur aussehen damit apt damit zurechtkommt?
Hilfe!
Hypie

fobos
Beiträge: 27
Registriert: 06.02.2004 18:15:21
Kontaktdaten:

Beitrag von fobos » 02.10.2004 17:43:25

ich habe die selber auf fat32... aber ein linux partizio ist warscheinlich besser dafür denke ich mal...

du kannst die in soviel verzeichnisse copyren verteilen wie du willst (den files auf den CDs meine ich)... nach beliebige struktur, name..

dann in den jeweiligen verzeichniss mach eine liste von den files mit den befehl...

dpkg-scanpackages ./ /dev/null | gzip > Packages.gz

dann editiere den /etc/apt/sources.list

und schreibe die paths rein

z.B.

file:/path/zu/dein/CD2_verzeichniss/ ./
file:/path/zu/dein/CD1_verzeichniss/ ./

und soweiter

(bei mir siehr est so aus file:/mnt/hda9/sarge/debs/ ./)

dann

apt-get update
(so liest apt den neue eintraege)

und jezt kannst du die files mit

apt-get install paketname

ganz gemütlich installieren..

Hypie[A.D]
Beiträge: 26
Registriert: 12.03.2004 18:29:36

Beitrag von Hypie[A.D] » 03.10.2004 12:06:23

Danke für Deine Antwort.
Ich hätte allerdings noch eine Frage zu diesem Befehl:

Code: Alles auswählen

dpkg-scanpackages ./ /dev/null | gzip > Packages.gz 
was genau bedeutet dieser Teil des Befehls

Code: Alles auswählen

./ /dev/null 
Warum steht da null?
und für was steht ./ ?

Vielen Dank !!!
:) Hypie :)

Benutzeravatar
pierre
Beiträge: 363
Registriert: 03.12.2003 21:21:34
Wohnort: Berlin

Beitrag von pierre » 03.10.2004 12:42:19

Hypie[A.D] hat geschrieben:

Code: Alles auswählen

./ /dev/null 
Warum steht da null?
und für was steht ./ ?
Naja, das was du nach /dev/null schiebst, verschwindet ins Nirvana (grob ausgedrückt). Und ./ ergibt sich folgendermaßen: . ist ein Hardlink auf das Verzeichnis selber und der / steht ja für ein Verzeichnis, hierbei heißt es: dieses Verzeichnis, eigentlich ist der Slash irrellevant, aber bei solchen Aktionen mache ich ihn auch immer ;) (Sieht übersichtlicher aus)

Grüße
pierre

Benutzeravatar
Master Mayhem
Beiträge: 582
Registriert: 04.04.2004 00:04:46
Lizenz eigener Beiträge: neue BSD Lizenz

Beitrag von Master Mayhem » 03.10.2004 13:00:46

korrigier mich wenn ich falsch liege, aber dann wäre der "." ja auch überflüssig, oder braucht dpkg-scanpackages ne pfadangabe und wird ohne nicht auf das aktuelle verzeichnis angewendet?

mhh naja ok ich habs schon verstanden...ohne die angabe des verzeichnisses (in dem fall "." oder "./") würde er den befehl auf /dev/null anwenden, was bestimmt zu einer fehlermeldung führen würde

@Hypie
die standardausgabe wird an dev/null geschickt, weil du die eigntlich gar nicht haben willst, sondern die daten als Packages.gz haben willst also wird die standardausgabe umgeleitet von der konsole auf /dev/null und gleichzeitig mit der pipe "|" umgeleitet nach gzip, das es seinerseits in die datei Packages.gz umleitet mit ">".
Du könnstest auch erst in eine eifache textdatei umleiten anstatt an /dev/null aber wenn der vorgang abgeschlossen ist, musst du die dann wieder löschen, also wieso nicht direkt bei dem vorgang alles wieder ordentlich aufräumen?

http://www.linuxfibel.de/eaumleitung.htm

mfg tyler

Hypie[A.D]
Beiträge: 26
Registriert: 12.03.2004 18:29:36

Beitrag von Hypie[A.D] » 03.10.2004 13:01:16

Irgendwie funzt das alles nicht.
Ich habe folgendes gemacht. Ich habe die 14 Cds in das Verzeichnis.
/mnt/Lager2/Debian_Sarge/
kopiert.
ich habe alle Ordner darin gelöscht bis auf
dists und pool sodass ich folge Verzeichnisstruktur habe:

Code: Alles auswählen

 /mnt/Lager2/Debian_Sarge/--|
                                                        |-dists/
                                                        |-pool/
Als erstes habe ich folgenden Befehl probiert.

Code: Alles auswählen

 dpkg-scanpackages ./ /mnt/Lager2/Debian_Sarge/ |gzip > Packages.gz
in die Sources.list habe ich folgendes eingetragen.

Code: Alles auswählen

deb file:/mnt/Lager2/Debian_Sarge ./
apt-get update führte zu einer Fehlermeldung couldn't find Packages.gz
--------------------------------------------------------------------------------------------------------------

Versuch Nr.2:

Code: Alles auswählen

dpkg-scanpackages ./ /mnt/Lager2/Debian_Sarge/dists/ |gzip > Packages.gz
und 
dpkg-scanpackages ./ /mnt/Lager2/Debian_Sarge/pool/ |gzip > Packages.gz
Das funzt aber auch nicht. Was mache ich denn falsch?? :(
:? Hypie

Benutzeravatar
Master Mayhem
Beiträge: 582
Registriert: 04.04.2004 00:04:46
Lizenz eigener Beiträge: neue BSD Lizenz

Beitrag von Master Mayhem » 03.10.2004 13:15:03

geh ins verzeichniss /mnt/Lager2/Debian_Sarge/ und führe den Befehl so aus, wie fobos ihn geschreiben hat, sonst hast die gesamte ausgabe von dpkg-scanpackages im verzeichniss /mnt/Lager2/Debian_Sarge liegen und nicht die gewünschte datei Packages.gz (o.k. die hast du auch drin, aber findest sie fast nimmer, vor lauter sinnlosen informationen) wenn ne ausgabe in ein verzeichniss überhaupt funktioniert....vermute mal eher weniger, da muss dann schon ein dateiname mit angegeben werden

....aber wofür ne umleitung unkomprimiert erst in eine datei, bevor du die Packages.gz packst?
Besser, wie schon erwähnt an /dev/null schicken und nur die Packages.gz behalten, das ist ja das gewünschte ergebnis....

mfg tyler

fobos
Beiträge: 27
Registriert: 06.02.2004 18:15:21
Kontaktdaten:

Beitrag von fobos » 03.10.2004 13:16:01

weil du das schlicht und weg total falsch machst...

du musst ein verzeichniss oder mehrere anlegen

z.B.

mkdir /mnt/Lager2/Debian_Sarge

und in den verzeichniss vechseln

cd /mnt/Lager2/Debian_Sarge/

und da diese befehl ohne anderung ausgeben:

dpkg-scanpackages ./ /dev/null | gzip > Packages.gz

dann in den /etc/apt/source.list

den paths mit folgende syntax eingeben

deb file:/mnt/Lager2/Debian_Sarge/ ./

eingeben

/ brauchst du am ende der path

und ./ brauchst du auch...

edit ----
und wenn das vertig ist dann

apt-get update

Hypie[A.D]
Beiträge: 26
Registriert: 12.03.2004 18:29:36

Beitrag von Hypie[A.D] » 03.10.2004 20:14:45

oh je,
geht wieder nicht. Diesmal hab ichs so gemacht.

Code: Alles auswählen

dpkg-scanpackages ./ /dev/null | gzip > Packages.gz
danach hatte ich eine Packages.gz im Ordner Debian_Sarge
Dann folgender Eintrag in sources.list

Code: Alles auswählen

deb file:/mnt/Lager2/Debian_Sarge/ ./
nach apt-get update folgende Fehlermeldung:

Code: Alles auswählen

Konnte file:/mnt/Lager2/Debian_Sarge/./Packages.gz nicht holen  File not found
Konnte 
Paketlisten werden gelesen... Fertig
W: Kann nicht auf die Liste file: ./ Packages (/var/lib/apt/lists/_mnt_Lager2_Debian%5fSarge_._Packages) der Quellpakete zugreifen. - stat (2 Datei oder Verzeichnis nicht gefunden)
W: Kann nicht auf die Liste file: sarge/non-US Packages (/var/lib/apt/lists/_mnt_Lager2_Debian%5fSarge_dists_sarge_non-US_binary-i386_Packages) der Quellpakete zugreifen. - stat (2 Datei oder Verzeichnis nicht gefunden
8O

fobos
Beiträge: 27
Registriert: 06.02.2004 18:15:21
Kontaktdaten:

Beitrag von fobos » 03.10.2004 21:35:34

mal eine frage in
deb file:/mnt/Lager2/Debian_Sarge/ ./
ist Lager2 eine partition von dir...?
edit --> besser gesagt ist in /mnt/Lager2/ ein partiton von dir gemeountet

in mnt ist für den meiste menchen der mountpoint wo man den partitions mountet...

bei mir z.B.
/mnt/hda9/sarge/debs/
wo hda9 meine gemountete fat32 partition ist...

ist dein partition gemountet...?
ist dein partition überhaupt in der path genau angegeben...?
hast du vieleicht ein NTSF partition womit unter linux dank den ms cloused source politik immer probleme gibt...?

bei mir ist es in den /etc/fstab angegeben und wird bei booten automatisch gemountet

sonst geht das mounten manuel etwa so...
mount /dev/hda9 /mnt/hda9
wo dev der device ist hda der first master festplatte und 9 der neunte partition (FAT32) auf mein first master festplatte
(so wäre ein first slave festplatte hdb ein secondery master hdc... und nach den lezte buchstabe kommt bei mounten natürlich ein nummer was den partiton representiert...)

also noch ein mal step by step:

1) ein verzeichniss erstellen wo du deine nicht NTSF partition mountest...

z.B. in /mnt
mkdir /mnt/hda9
2) partition mounten wenn es noch nicht gemountet ist...
mount /dev/hda9 /mnt/hda9
3) paketen liste erstellen in den paket verzeichniss:
cd /mnt/hda9/sarge_debs/

dpkg-scanpackages ./ /dev/null | gzip > Packages.gz
4) den /etc/apt/sources.list editieren:
deb file:/mnt/hda9/sarge_debs/ ./
es darf keine fehler da sein der path muss 100% gut sein du muss darauf achten das es unter linux unterscheidet wird zwischen kleine und GROSSE buchstaben... also du darf kein fehler machen...

5) liste einlesen lassen
apt-get update
6) jezt kannst du was installieren...

Antworten