Appleonkel
Hacker
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
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/SuSE/10.0-i386/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
glibc entpacken. Wie Ihr seht werden die benötigten Ordner mit erstellt.
Dann werden wir noch
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
von /mnt/chroot aus entpackt werden.
Damit hätten wir die Chroot Umgebung fertig, und können mit
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
anlegen. Mit den Befehl
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
)
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/distribution/SL-10.0-OSS-beta1/inst-source/suse/noarch/suse-build-key-1.0-668.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/SuSE/9.3-i386/RPMS.suser-rbos/
mit
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/SuSE/10.0-i386/examples/sources.list.FTP
ausführen noch ein
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
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:
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/SuSE/10.0-i386/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:
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:
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:
rpm2cpio <paket> | cpio -i –make-directories
Damit hätten wir die Chroot Umgebung fertig, und können mit
Code:
chroot /mnt/chroot
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:
touch /etc/mtab
Code:
rpm -i<weitere Optionen> <Paket>
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:
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/distribution/SL-10.0-OSS-beta1/inst-source/suse/noarch/suse-build-key-1.0-668.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/SuSE/9.3-i386/RPMS.suser-rbos/
mit
Code:
rpm -ihv apt*
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/SuSE/10.0-i386/examples/sources.list.FTP
Code:
apt-get update
Code:
apt-get --fix-broken install
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