# NOCH EINE FRAGE: Gentoo komplett offline installieren...

## alex00

Hallo,

ein Freund von mir mekert immer rum was ihn bei den ganzen Distris stöhrt...er hat schon zahlreiche durchprobiert doch keine scheint ihm so richtig zu gefallen....(naja war bei den meisten von uns ja auch so)...ich würde ihm ja nahelegen Gentoo zu installieren, nur leider hengt er nicht am Netz, sodass eine komplettes Gentoo System (inkl. KDE, k3b, OOo, Codecs, ...) von CD bzw. DVD installiert und von zeit zu zweit auch geupdatet werden müsste (Anm.: booten kann er nur von CD). Habe ihm Netz schon gesucht aber noch nichts richtiges gefunden....

Ideal wäre es natürlich wenn ich ihm alles runterziehen könnte auf CD/DVD brenne könnte und er sich die dinger compiliert.

Hat jemand Erfahrung mit sowas? Anleitung?

Danke für eure Hilfe.....

AlexLast edited by alex00 on Wed Nov 08, 2006 7:43 pm; edited 1 time in total

----------

## doedel

die benötigten quellen liegen in /usr/portage/distfiles.

Zieh an deinem ein stage3 archiv, einen portage-snapshot und die distfiles (bei emerge bewirkt der paramter f dass er nur zieht, nix compiliert), dann brenn das ganze und installier bei ihm.

----------

## alex00

 *doedel wrote:*   

> die benötigten quellen liegen in /usr/portage/distfiles.
> 
> Zieh an deinem ein stage3 archiv, einen portage-snapshot und die distfiles (bei emerge bewirkt der paramter f dass er nur zieht, nix compiliert), dann brenn das ganze und installier bei ihm.

 

Hmm....klingt logisch....kanns mir das etwas genauer ausführen....bitte.

----------

## doedel

kein problem  :Smile: 

1. live-cd brennen  bzw minimal

2. von distfiles.gentoo.org die richtige stage3*.tar.bz2 holen und den portage-latest.tar.bz2

3. bei dir am rechner "emerge -f kde openoffice-bin gimp audaciuos" (usw, halt das was er braucht)

4. dann die stage3, portage-latest und das ganze verzeichnis /usr/portage/distfiles auf dvd brennen (bei kde usw wirds recht gross...)

5. bei deinem freund die stage3 installation machen (während der installation die quellen von grub, syslog-ng und vixie-cron nach /usr/portage/distfiles kopieren, die du vorher gezogen hast)

6. dann booten

7. den rest von cd nach /usr/portage/distfiles kopieren und du kannst den rest emergen

//edit: bzw einfacher ist es die kiste mal für nen tag zu dir zu holen und es dort zu machen.

----------

## alex00

 *doedel wrote:*   

> kein problem 
> 
> 1. live-cd brennen  bzw minimal
> 
> 2. von distfiles.gentoo.org die richtige stage3*.tar.bz2 holen und den portage-latest.tar.bz2
> ...

 

Hey....super...danke.

denke mal beste wäre echt den Rechner für einen Tag ans Netz zu schließen und die Basisinstaalation fertig zu machen....den Rest kann man ja dann von DVD nachinstallieren.

Alex

----------

## STiGMaTa_ch

Für genau dieses Problem hat Gentoo ein eigenes Handbuch parat  :Wink: 

 *Quote:*   

> Willkommen zu den Gentoo Linux 2006.1 Handbüchern. Diese Handbücher sind zusammen mit dem Gentoo Linux Release veröffentlicht worden und beinhalten die notwendigen Anleitungen zur Installation von Gentoo Linux 2006.1 ohne eine Internetverbindung.

 

http://www.gentoo.org/doc/de/handbook/2006.1/index.xml

Lieber Gruss

STiGMaTa

----------

## alex00

 *STiGMaTa_ch wrote:*   

> Für genau dieses Problem hat Gentoo ein eigenes Handbuch parat 
> 
>  *Quote:*   Willkommen zu den Gentoo Linux 2006.1 Handbüchern. Diese Handbücher sind zusammen mit dem Gentoo Linux Release veröffentlicht worden und beinhalten die notwendigen Anleitungen zur Installation von Gentoo Linux 2006.1 ohne eine Internetverbindung. 
> 
> http://www.gentoo.org/doc/de/handbook/2006.1/index.xml
> ...

 

Wow.....danke.....

----------

## alex00

 *alex00 wrote:*   

>  *doedel wrote:*   kein problem 
> 
> 1. live-cd brennen  bzw minimal
> 
> 2. von distfiles.gentoo.org die richtige stage3*.tar.bz2 holen und den portage-latest.tar.bz2
> ...

 

Wenn ich später das system updaten will (bei meinem freund)...welche dateien muss ich dann rüber kopieren...ok usr/portage/distfiles ist klar aber was sonst noch....man muss dem system von meinem freund doch auch sagen welche neuen "dateien" man händisch auf das system kopiert hat (also eine art inhaltsverzeichnis oder sowas....)

----------

## Necoro

am besten nicht nur /usr/portage/distfiles, sondern das komplette /usr/portage - um auch den tree zu haben ... anschließend denn ein "emerge --metadata"  :Smile: 

----------

## kernelOfTruth

wenn es gar nicht klappen sollte, kann er es ja auch mit Sabayon Linux oder Kororaa probieren   :Wink: 

da ist dann alles schon fertig-konfiguriert ...

----------

## nikaya

 *kernelOfTruth wrote:*   

> wenn es gar nicht klappen sollte, kann er es ja auch mit Sabayon Linux oder Kororaa probieren  
> 
> da ist dann alles schon fertig-konfiguriert ...

 

[OT]

Ich halte die Gentoo-Derivate für eine ambivalente Sache.Ich habe bei mir mal probehalber Sabayon und VLOS installiert.

Diese Distris sind zwar schnell auf der Platte und erst mal von der Oberfläche schön konfiguriert.Die Systemkonfiguration ist aber ganz und gar nicht fertig wenn man auch mal aktualisieren möchte.Vor allem die /etc/make.conf muß erst mal entrümpelt werden.Da diese Distris auf vielen Rechnern laufen müßen und nur eine Standardkonfiguration auf die Platte kopiert wird stehen dort erst mal sehr viele USE_Flags drin die praktisch fast alles einbauen.Die LINGUAS-Variable ist vollgepackt mit Einträgen für alle möglichen Sprachen,in VIDEO_CARDS und INPUT_DEVICES stehen auch alle Variablen die möglich sind.

Der CHOST bei Sabayon ist außerdem (noch) CHOST="i586-pc-linux-gnu".

Da ich mal davon ausgehe dass das System mit diesen Einstellungen kompiliert wurde,würde ein world-update mit angepasster /etc/make.conf fast einer Neuinstallation gleichkommen.

Für oben genannten Fall mag es vielleicht Sinn haben da diese Distris erst mal schnell installiert sind.Da Dein Freund aber auch ab und an updaten möchte muß im nachhinein noch eine Menge Arbeit reingesteckt werden wenn man das System über einen längeren Zeitraum pflegen möchte.

Oder er macht nur Updates per CD wenn eine neue Version erscheint (bis auf einige Pakete per emerge).Zumindest Sabayon bietet eine Update-install an.Genaueres weiß ich darüber nicht,ich nehme mal an dass dann alles außer /home überschrieben wird.Das wäre auch eine Option zumal Sabayon ziemlich schnell weiterentwickelt wird und die neuesten Features eingebaut werden.

Da ich aber weiß dass das Thematisieren von Gentoo-Derivaten von den Mods gar nicht gerne gesehen ist (Gruß an amne   :Wink: ) mache ich lieber Schluß bevor der Thread deswegen geschlossen wird.

----------

## alex00

 *Doe John wrote:*   

>  *kernelOfTruth wrote:*   wenn es gar nicht klappen sollte, kann er es ja auch mit Sabayon Linux oder Kororaa probieren  
> 
> da ist dann alles schon fertig-konfiguriert ... 
> 
> [OT]
> ...

 

Sabayon hat er bereits versucht...war ganz gut aber nicht das gelbe vom Ei....erwartet sich jetzt von Gentoo einfach ein besseres System (schneller). Und ein update durch das reinkopieren von Dateien von CD ist ja noch einfacher als durch eine Update-CD....naja verwirrender Satz aber ich glaube ihr verteht....

----------

## lutzlustig

Hi,

dazu hätte ich auch noch ne Frage. Offline installieren ist ja kein Thema, aber ohne Internet aktuell halten ist schon schwieriger, ich kann zwar mit einem Laptop jeden Tag online gehen (bei Bekannten, Verwandten), aber wie sage ich meinem Rechner, das er eine Downloadliste erzeugt, damit die die Dateien mit dem Laptop holen kann? Ich würde ja auch per FTP das "distfiles" Verzeichnis aktualisieren, aber mein FPT-Programm (GFTP) macht da nicht mit, es braucht immer lane zum einlesen des Verzeichnisses und schmiert dann ab. gibts vielleicht ne Lösung per rsync das Verzeichnis zu aktualisieren ab einem bestimmten Datum?

Bin dankbar für jeden Tip.

Ciao

----------

## schmutzfinger

 *doedel wrote:*   

> 
> 
> 3. bei dir am rechner "emerge -f kde openoffice-bin gimp audaciuos" (usw, halt das was er braucht)
> 
> 

 

Schöne Theorie, aber SRC_URI hängt definitiv von USE-Flags ab. Genauso ist das mit Abhängigkeiten. Ausserdem hängt das alles nochtmal von der Architektur ab.

Also alles in allem müssen beide Rechner die selben USE-Flags nutzen und die selbe Architektur haben. /etc/portage/* muss natürlich auch gleich sein. Overlays auch...

Und schon klingt das ganicht mehr schön einfach. Für mich hört sich das nach ner Menge Arbeit an. Imho ist gentoo für sowas einfach die falsche Distri. Dann doch lieber ne Distri wo man einmal im Jahr nen aktuellen Satz CDs oder DVDs brennt.

----------

## schmutzfinger

 *lutzlustig wrote:*   

> 
> 
> Ich würde ja auch per FTP das "distfiles" Verzeichnis aktualisieren, aber mein FPT-Programm (GFTP) macht da nicht mit, es braucht immer lane zum einlesen des Verzeichnisses und schmiert dann ab. gibts vielleicht ne Lösung per rsync das Verzeichnis zu aktualisieren ab einem bestimmten Datum?
> 
> 

 

Sag blos du hast versucht mit nem ftp client den distfiles Ordner von nem mirror zu holen? Ich glaub der ist über 40G gross.

Du brauchst "emerge -f".

----------

## Thargor

Ich hatte mir für den Zweck mal ein Script geschrieben, das hat soweit ganz gut funktioniert:

```

#!/bin/bash

# Variables

# Pakete die installiert werden sollen (zusätzlich zum system)

EXTRA_FILES="rt2500 iproute2 metalog grub slocate dhcpcd mirrorselect ccache \

gentoolkit gentoolkit-dev links lynx screen xorg-x11 wmii openoffice amarok k3b audacious \

gimp mozilla-firefox xfce4 irssi kdm kaffeine kmplayer yakuake net-im/psi"

# Zusätzliche USE-Flags

USE_FLAGS="pcmcia unicode dvdr"

# Zu sichernde Dateien

MISC_FILES="/etc /var/lib/portage/world /usr/local/overlays"

#Pfad zum Stagearchiv

STAGE_DIR=""

# Pfad zum install cd iso

ISO_DIR=""

# Temporäres Verzeichnis

TMP_DIR="/root/.cdgen"

OLD_DIR="$(pwd)"

PORTAGE_DATUM="$(date +%Y%m%d)"

PORTAGE_DATUM=$((++PORTAGE_DATUM)); 

# Preparation

mkdir $TMP_DIR

mkdir $TMP_DIR/old

mkdir $TMP_DIR/new

mkdir $TMP_DIR/new/stages

mkdir $TMP_DIR/new/snapshots

mkdir $TMP_DIR/new/distfiles

mkdir $TMP_DIR/new/misc

cd $TMP_DIR

# Getting iso

echo "Getting old CD..."

cp $ISO_DIR/install-x86-minimal-2006.1.iso ./

mount -o loop ./install-x86-minimal-2006.1.iso ./old

cp -a ./old/* ./new

umount ./old

rm install-x86-minimal-2006.1.iso

rm -rf old

# Getting Stage

echo "Getting Stage..."

cp $STAGE_DIR/stage3-i686-2006.1.tar.bz2* ./new/stages

# Getting Snapshot

echo "Getting Snapshot..."

until [ -e "portage-$((PORTAGE_DATUM)).tar.bz2" ]; do

   PORTAGE_DATUM=$((--PORTAGE_DATUM))

   wget ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/snapshots/portage-$PORTAGE_DATUM.tar.bz2

   wget ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/snapshots/portage-$PORTAGE_DATUM.tar.bz2.md5sum

   wget ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/snapshots/portage-$PORTAGE_DATUM.tar.bz2.umd5sum

   wget ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/snapshots/portage-$PORTAGE_DATUM.tar.bz2.gpgsig;

done

mv /usr/portage /usr/portage.old

tar xvjf portage-$((PORTAGE_DATUM)).tar.bz2 -C /usr && emerge --metadata

mv /usr/portage.old/distfiles /usr/portage/distfiles

mv portage-$((PORTAGE_DATUM)).tar.bz2* ./new/snapshots

# Getting filelist

echo "Getting filelist..."

USE="$USE_FLAGS" emerge system -pqe 1>> files

USE="$USE_FLAGS" emerge $EXTRA_FILES -pqe 1>> files

sed -i -e 's#^.*\] #=#g' files

# Getting distfiles

echo "Getting distfiles..."

cat files | xargs emerge -fq

cat files | xargs emerge -pf 2> distfiles

sed -i -e 's# .*##g' distfiles

sed -i -e 's#.*/##g' distfiles

for x in `cat distfiles`; do 

   cp /usr/portage/distfiles/$x ./new/distfiles; 

done

# Getting Misc

echo "Getting misc..."

for i in $MISC_FILES; do

   cp -rdf $i ./new/misc$i

done

# Funktioniert irgendwie nich :-/, mkisofs meckert rum

# Getting Docs

# wget -p --no-parent --mirror --html-extension --convert-links http://www.gentoo.org/doc/en/

# wget -p --no-parent --mirror --html-extension --convert-links http://www.gentoo.org/doc/de/

# mv www.gentoo.org/* /new

# Creating Iso

echo "Creating iso..."

cd new

#mkisofs -J -R -l -V "Custom-Gentoo 2006.1-$PORTAGE_DATUM" -o $OLD_DIR/cg-2006.1.iso-$PORTAGE_DATUM -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./

# Cleanup

#echo "Cleaning up..."

#cd $OLD_DIR

#rm -rf $TMP_DIR

```

Anmerkungen: 

das hier:

```
mkisofs -J -R -l -V "Custom-Gentoo 2006.1-$PORTAGE_DATUM" -o $OLD_DIR/cg-2006.1.iso-$PORTAGE_DATUM -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./
```

ist eine Zeile

Man muss vorher:

1. ein iso einer install cd runterladen (z.b. die gentoo-minimal-cd)

2. ein stage archiv runterladen

3. Das script anpassen (vorallem der obere teil, ich hab's mal kommentiert  :Wink:  )

Wenn man ein bootbares iso haben will muss man die mkisofs zeile auskommentieren und dann kann man auch die Zeilen unter Cleanup auskommentieren. Das iso könnte allerdings etwas größer werden, von daher kann man diese Zeilen auch auskommentiert lassen und alles aus $TMP_DIR/new auf cd brennen/ usb-festplatte/ etc

Wer einen Fehler findet bitte melden!

----------

## lutzlustig

 *schmutzfinger wrote:*   

>  *lutzlustig wrote:*   
> 
> Ich würde ja auch per FTP das "distfiles" Verzeichnis aktualisieren, aber mein FPT-Programm (GFTP) macht da nicht mit, es braucht immer lane zum einlesen des Verzeichnisses und schmiert dann ab. gibts vielleicht ne Lösung per rsync das Verzeichnis zu aktualisieren ab einem bestimmten Datum?
> 
>  
> ...

 

Emerge -f nützt mir nichts, da ich auf dem Laptop andere Pakete habe als auf dem "großen" Rechner. Ich suche eine Lösung, um einfach jedesmal die neuen Files im "distfiles"-Odner zu downloaden oder eben nur die benötigten.

Ciao

----------

## schmutzfinger

Wenn du mal online bist:

```

emerge -fp blubb 2> /tmp/bla

cut -f 1 -d ' ' /tmp/bla > /tmp/bla2

cd /usr/portage/distfiles/

wget -N 1 -i /tmp/bla2

```

Dann hast du alles was du brauchst um blubb zu bauen auf dem Notebook.

----------

## lutzlustig

danke, schmutzfinger, das funktioniert bestens. Hatte noch so ein script namens "distfile-grabber" das ging aber nicht. Dein Lösung ist etwas einfacher und eleganter.

Ciao

----------

## STiGMaTa_ch

 *lutzlustig wrote:*   

> [...]Dein Lösung ist etwas einfacher und eleganter.

 

<Klugscheissermode AN>

Naja, mehrere Dateien irgendwo in temp zu schreiben nur um einige Files downzuloaden ist nicht elegant  :Cool:  Sowas finde ich elegant:

```
wget `emerge -fp BLUBB 2>&1| cut -d ' ' -f1|grep [t,f]tp`
```

<Klugscheissermode AUS>

Achja, um mehrere Dateien herunterzuladen musst du den Einzeiler nicht mehrmals starten sondern kannst einfach anstelle BLUBB sowas wie "BLUBB FOO BAR" verwenden.

Lieber Gruss

STiGMaTa

----------

## Bloodsurfer

 *schmutzfinger wrote:*   

> Schöne Theorie, aber SRC_URI hängt definitiv von USE-Flags ab. Genauso ist das mit Abhängigkeiten. Ausserdem hängt das alles nochtmal von der Architektur ab.
> 
> Also alles in allem müssen beide Rechner die selben USE-Flags nutzen und die selbe Architektur haben. /etc/portage/* muss natürlich auch gleich sein. Overlays auch...
> 
> Und schon klingt das ganicht mehr schön einfach. Für mich hört sich das nach ner Menge Arbeit an. Imho ist gentoo für sowas einfach die falsche Distri. Dann doch lieber ne Distri wo man einmal im Jahr nen aktuellen Satz CDs oder DVDs brennt.

 

Naja, die USE Flags sollten da das geringste Problem sein. Er braucht doch nur einmal 

```
USE="*" emerge -f world
```

 auszuführen, und schon sollte er definitiv alles an Sourcen und Patches in seinen Distfiles haben. 

Gehen wir mal einfach davon aus, dass beide Rechner die selbe Architektur haben. Und die paar Keyword Files aus /etc/portage mitzukopieren, halte ich auch nicht für ein Problem.

Notfalls soll er noch ein 

```
ACCEPT_KEYWORDS="~x86" USE="*" emerge -f world
```

 hinterher schieben, dann hat er von allen Programmen die Sourcen sowohl in stable als auch in testing Version, und sein Freund hat die volle Auswahl welche Version er am liebsten hätte.

Sehe das alles als recht einfach und schnell zu machen, das ist kein Grund zu einer anderen Distri zu flüchten  :Wink: 

----------

