[HOWTO] SuSE 10.0 beta im Chroot installieren

Alles rund um die Installation Eures Linuxsystems, sowie die Updatefunktionen des Systems und das Paketmanagement

Moderator: Moderatoren

Gesperrt
Benutzeravatar
Appleonkel
Hacker
Hacker
Beiträge: 794
Registriert: 30. Apr 2004, 12:02
Wohnort: Köln
Kontaktdaten:

[HOWTO] SuSE 10.0 beta im Chroot installieren

Beitrag von Appleonkel » 12. Aug 2005, 20:03

Dieses Howto ist wie immer nach besten Wissen und Gewissen geschrieben, trotzdem übernehme ich keinerlei Haftung auf Richtigkeit oder Vollkommenheit.

Warum dieses Howto?

Sicherlich haben sich manche von euch schon gefragt wieso man das im Chroot installieren soll. Dazu habe ich mehrere Antworten :)

1.Man muss nicht 5 Iso's ziehen!
2.Es wird nur das installiert was notwendig ist (was Ihr braucht)
3.Wenn mal was schiefgeht, hat man nicht gleich sein System zerschossen

Was wird benötigt?

Man sollte schon etwas geübt im Umgang mit der Konsole sein.
rpm2cpio sollte installiert sein (bei SuSE-Standard-Installation ist es dabei)
Gentoo User können rpm2targz nehmen, das ist im portage.
Für alle anderen gibt es rpm2cpio unter http://www.rpm.org/tools/scripts/rpm2cpio.sh (thx an coocooc)
ca. 1GB – 5GB freier Plattenplatz (für genaueres schaut in das SuSE-Admin-Handbuch
eine I-Net Verbindung (Ich habe es in ca. 5 Std. die Minimalinstallation mit ISDN fertig gehabt)

Dann legen wir mal los!

Die Chroot Umgebung bauen

Als erstes braucht Ihr einen leeren Ordner oder Partition bei mir ist es /dev/hda8 unter /mnt/chroot.
Ich gehe nicht darauf ein wie Ihr das macht. Geht in den Ordner /mnt/chroot und legt mit

Code: Alles auswählen

mkdir -p var/cache/apt/archives
einen Ordner für die benötigten RPM's an. Alle RPM's die wir benötigen (ausser suse-build-key-1.0-668.noarch.rpm) findet Ihr unter
ftp://ftp.gwdg.de/pub/linux/suse/apt/Su ... RPMS.base/ als erstes brauchen wir
glibc-2.3.5-33.i586.rpm oder i686 kommt auf Eure Plattform an. Ob Ihr die RPM's unter /mnt/chroot/var/cache/apt/archives speichert oder nicht ist egal, wichtig ist das Ihr sie noch nicht löscht , wir brauchen einige 2 mal, und sie innerhalb von /mnt/chroot liegen.

Ihr müsstet euch ja noch in /mnt/chroot befinden wenn nicht wieder dorthin wechseln und

Code: Alles auswählen

rpm2cpio /var/cache/apt/archives/glibc-2.3.5-33.i586.rpm | cpio -i –make-directories
glibc entpacken. Wie Ihr seht werden die benötigten Ordner mit erstellt.
Dann werden wir noch

Code: Alles auswählen

rpm2cpio /var/cache/apt/archives/ncurses-5.4-71.i586.rpm | cpio -i –make-directories
rpm2cpio /var/cache/apt/archives/readline-5.0-9.i586.rpm | cpio -i –make-directories
rpm2cpio /var/cache/apt/archives/bash-3.0-17.i586.rpm | cpio -i –make-directories
ncurses, readline und bash runterladen und entpacken. Vom Prinzip könnten wir jetzt schon ins neue System chrooten. Bloss fehlen uns ja noch eine Menge Programme. Damit wir RPM'S installieren können brauchen wir:

insserv-1.01.0-2.i586.rpm
sed-4.1.4-5.i586.rpm
fillup-1.42-105.i586.rpm
coreutils-5.3.0-19.i586.rpm
popt-1.7-217.i586.rpm
permissions-2005.8.5-2.i586.rpm
perl-5.8.7-3.i586.rpm
zlib-1.2.3-3.i586.rpm
bzip2-1.0.3-4.i586.rpm
rpm-4.1.1-218.i586.rpm

Wer noch ls usw. braucht muss noch folgende Pakete entpacken (zum installieren von RPM's nicht notwendig)
libacl, libselinux und libattr

Die müssen noch alle mit

Code: Alles auswählen

rpm2cpio <paket> | cpio -i –make-directories
von /mnt/chroot aus entpackt werden.
Damit hätten wir die Chroot Umgebung fertig, und können mit

Code: Alles auswählen

chroot /mnt/chroot
in die Umgebung wechseln.

RPM's installieren

Weiter oben habe ich geschrieben, dass die Pakete innerhalb von /mnt/chroot liegen sollen! Wenn das nicht der Fall ist holt das jetzt nach! Wir müssen jetzt die Pakete in der richtigen Reihenfolge installieren wegen den Abhängigkeiten. Einige müssen noch runtergeladen werden. Warnings können ignoriert werden! Noch schnell

Code: Alles auswählen

touch /etc/mtab
anlegen. Mit den Befehl

Code: Alles auswählen

rpm -i<weitere Optionen> <Paket>
installieren wir:

1.filesystem-10.0-2.i586.rpm
2.glibc-2.3.5-33.i586.rpm
3.zlib-1.2.3-3.i586.rpm
4.ncurses-5.4-71.i586.rpm
5.readline-5.0-9.i586.rpm
6.bash-3.0-17.i586.rpm
7.bzip2-1.0.3-4.i586.rpm
8.libzio-0.1-6.i586.rpm
9.info-4.8-9.i586.rpm
10.gzip-1.3.5-144.i586.rpm
11.fillup-1.42-105.i586.rpm
12.ash-1.6.1-4.i586.rpm
13.aaa_skel-2005.6.13-2.i586.rpm
14.libattr-2.4.22-6.i586.rpm
15.attr-2.4.22-6.i586.rpm
16.libacl-2.2.30-5.i586.rpm
17.acl-2.2.30-5.i586.rpm
18.cracklib-2.8.3.0.2-2.i586.rpm
19.file-4.14-2.i586.rpm
20.libgcc-4.0.2_20050802-5.i586.rpm
21.libstdc++-4.0.2_20050802-5.i586.rpm
22.db-4.3.27-7.i586.rpm
(um sicher zu gehen hier ein

Code: Alles auswählen

rpm –rebuilddb
)
23.libselinux-1.23.11-2.i586.rpm
24.pam-0.80-2.i586.rpm
25.coreutils-5.3.0-19.i586.rpm
26.m4-1.4.3-3.i586.rpm
27.bison-1.875-56.i586.rpm
28.binutils-2.16.91.0.2-5.i586.rpm
29.popt-1.7-217.i586.rpm
30.logrotate-3.7.1-3.i586.rpm
31.findutils-4.2.23-4.i586.rpm
32.insserv-1.01.0-2.i586.rpm
33.suse-release-oss-10.0-3.i586.rpm
34.klogd-1.4.1-542.i586.rpm
35.sed-4.1.4-5.i586.rpm
36.devs-10.0-1.i586.rpm
(sehr viele Warnings)
37.gdbm-1.8.3-231.i586.rpm
38.perl-5.8.7-3.i586.rpm
39.mktemp-1.5-733.i586.rpm
40.openssl-0.9.7g-2.i586.rpm
41.cyrus-sasl-2.1.21-3.i586.rpm
42.openldap2-client-2.2.27-5.i586.rpm
43.gpg-1.4.2-3.i586.rpm
44.suse-build-key-1.0-668.noarch.rpm
(ftp://ftp.gwdg.de/pub/opensuse/distribu ... noarch.rpm)
45.aaa_base-10.0-20.i586.rpm
46.diffutils-2.8.7-5.i586.rpm
47.permissions-2005.8.5-2.i586.rpm
48.rpm-4.1.1-218.i586.rpm
49.compat-libstdc++_5.0.7-4_i586.rpm
50.grep-2.5.1a-5.i586.rpm


Fast geschafft! Nun noch apt-0.5.15cnc7-0.suse093.rb0.i586.rpm und apt-libs-0.5.15cnc7-0.suse093.rb0.i586.rpm aus http://ftp.gwdg.de/pub/linux/suse/apt/S ... user-rbos/
mit

Code: Alles auswählen

rpm -ihv apt*
installieren.
Entweder vom Hostsystem aus, oder mit einen Editor eurer Wahl (muss vorher installiert werden) die /etc/apt/sources.list anpassen.
http://ftp.gwdg.de/pub/linux/suse/apt/S ... s.list.FTP

Code: Alles auswählen

apt-get update
ausführen noch ein

Code: Alles auswählen

apt-get --fix-broken install
und Ihr könnt mit apt installieren was euch gefällt. Bei mir gabs noch ein Problem mit der Paket-Signatur aber wie man das löst steht ja hier im Forum.

Verbesserungsvorschläge, Kritik usw. meldet Euch!
Da sich permissions jetzt ohne --nodeps installieren lässt (nochmal dank an coocooc) müssten sich die Pakete mit rpm -ihv *.rpm installieren lassen, wenn sie in einem Ordner liegen

mfg Appleonkel
Zuletzt geändert von Appleonkel am 26. Aug 2005, 19:43, insgesamt 2-mal geändert.
"Es gibt anscheinend keine Möglichkeit der Sonde zu antworten." – "Ja, es ist schwierig zu antworten, wenn man die Frage nicht versteht." Star Trek 4

Werbung:
Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 12. Aug 2005, 20:41

Diskussion, Lob, Kritik oder Fragen bitte hier stellen:
Fragen zu [HOWTO] SuSE 10.0 beta im Chroot installieren
http://www.linux-club.de/viewtopic.php?t=39260
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 14. Jun 2006, 10:46

Hier eine kleine Erweitzerung des HowTo's von daniel2000:

daniel2000 hat geschrieben:Hallo Appleonkel,

ich hätte einen Vorschlag wie man das Howto "SuSE 10.0 beta im Chroot installieren" erweitern könnte:

Ab Suse 10.0 ist ja yum mit dabei. Damit kann man sehr einfach eine Installation in ein Verzeichnis durchführen (habe damit Fedora Core 4 unter Suse in eine chroot-Umgebung installiert Cool ).

1. yum einrichten: SL-10.1-Factory-base.repo und opensuse-factory.mirrors außerhalb der chroot-Umgebung erstellen (die Pfadangaben werden automatisch relativ zu installroot gesetzt, sind also innerhalb der werdenden chroot-Umgebung). Mirrors sind unbedingt nötig, da es oft timeouts gibt und dann abbricht.
Code:
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
#exclude=*-debuginfo
gpgcheck=0
obsoletes=1
reposdir=/dev/null

[base]
name=SUSE LINUX 10.1 - Factory - Base
baseurl=http://download.opensuse.org/distributi ... urce/suse/
mirrorlist=file:///pfad/zu/opensuse-factory.mirrors
enabled=1
gpgcheck=1
gpgkey=http://download.opensuse.org/distributi ... ubring.gpg

opensuse-factory.mirrors (offizielle Factory Mirrors + ftp4.gwdg.de):
Code:
ftp://mirrors.kernel.org/opensuse/distr ... urce/suse/
http://ftp.ale.org/pub/mirrors/opensuse ... urce/suse/
ftp://ftp.gwdg.de/pub/opensuse/distribu ... urce/suse/
ftp://ftp.uni-heidelberg.de/pub/linux/o ... urce/suse/
ftp://ftp.tu-chemnitz.de/pub/linux/open ... urce/suse/
ftp://mandril.creatis.insa-lyon.fr/linu ... urce/suse/
ftp://ftp.heanet.ie/mirrors/ftp.opensus ... urce/suse/
http://linux.integrity.hu/pub/opensuse/ ... urce/suse/
http://ftp.fi.muni.cz/pub/linux/opensus ... urce/suse/
ftp://ftp4.gwdg.de/pub/opensuse/distrib ... urce/suse/
http://ftp4.gwdg.de/pub/opensuse/distri ... urce/suse/
http://ftp.gwdg.de/pub/opensuse/distrib ... urce/suse/



2. Installation starten: z.B. apt installieren ("yum (...) groupinstall base" funktioniert bei mir zumindest nicht, keine Gruppen vorhanden Confused )
Code:
yum -c file:///pfad/zu/SL-10.1-Factory-base.repo --installroot=/mnt/chroot install apt

Man kann vielleicht anstatt apt ein anderes Paket nehmen, das die nötigen Abhängigkeiten für ein Basissystem erfüllt.
Diese Pakete werden installiert, wenn man apt mit den Suse 10.1 Repository installieren will:
Code:
Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
apt i586 0.5.15cnc7-9 base 316 k
Installing for dependencies:
aaa_base i586 10.0.42-51 base 301 k
aaa_skel i586 2006.1.25-1 base 18 k
apt-libs i586 0.5.15cnc7-9 base 370 k
ash i586 1.6.1-5 base 332 k
bash i586 3.1-8 base 705 k
bzip2 i586 1.0.3-7 base 257 k
coreutils i586 5.93-9 base 1.9 M
cpio i586 2.6-8 base 99 k
cracklib i586 2.8.6-2 base 3.5 M
cyrus-sasl i586 2.1.21-6 base 322 k
db i686 4.3.29-5 base 765 k
diffutils i586 2.8.7-6 base 262 k
filesystem i586 10.0.42-7 base 46 k
fillup i586 1.42-108 base 26 k
findutils i586 4.2.27-3 base 269 k
gdbm i586 1.8.3-233 base 25 k
glibc i686 2.3.90-62 base 1.8 M
gpg i586 1.4.2-10 base 1.5 M
grep i586 2.5.1a-8 base 174 k
gzip i586 1.3.5-147 base 67 k
info i586 4.8-12 base 152 k
insserv i586 1.04.0-8 base 30 k
libacl i586 2.2.34-2 base 48 k
libattr i586 2.4.28-2 base 21 k
libgcc i586 4.1.0_20060201-5 base 39 k
libstdc++ i586 4.1.0_20060201-5 base 296 k
libzio i586 0.1-7 base 17 k
logrotate i586 3.7.3-3 base 35 k
mingetty i586 0.9.6s-78 base 15 k
mktemp i586 1.5-734 base 10 k
ncurses i586 5.5-5 base 811 k
openldap2-client i586 2.3.19-3 base 306 k
openssl i586 0.9.8a-7 base 1.1 M
pam i586 0.99.3.0-3 base 829 k
perl i586 5.8.8-3 base 13 M
permissions i586 2006.1.25-1 base 35 k
popt i586 1.7-241 base 60 k
readline i586 5.1-8 base 177 k
rpm i586 4.4.2-13 base 2.6 M
sed i586 4.1.4-7 base 162 k
suse-build-key noarch 1.0-671 base 9.8 k
suse-release-oss i586 10.0.42-12 base 4.4 k
zlib i586 1.2.3-5 base 66 k

Transaction Summary
=============================================================================
Install 44 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 33 M


Ich kann auch ein extra Howtothread aufmachen, finde aber dass es in dein Howto gut reinpasst.

MfG

Daniel
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste