Web Analytics
We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Linux-Magazin - Tapetenwechsel: Workshop: Distributionen bei dedizierten Servern austauschen, am Beispiel von Fedora und Debian
Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

Workshop: Distributionen bei dedizierten Servern austauschen, am Beispiel von Fedora und Debian

Tapetenwechsel

Peter Haufschild, Thomas Koch, Mirko Dölle, Max Werner

Welche Linux-Distribution Ihr Hoster auf dem dedizierten Server installiert, können Sie als Kunde nur selten frei wählen. Mit Root-Zugriff, einer Möglichkeit zum Reset der Maschine und einem Rettungssystem spielen Sie Ihre Wunsch-Distribution selbst auf.

Linux ist nicht gleich Linux, trotz aller Standards entwickelt jeder Administrator früher oder später Vorlieben für eine bestimmte Distribution. Darauf können Server-Hoster aber nur selten Rücksicht nehmen, meist stellen sie nur ein oder zwei Distributionen in verschiedenen Versionen zur Auswahl.

Wenn Sie Ihren Server selbst auf die Wunsch-Distribution umstellen wollen, ist dafür unbedingt ein Root-Zugang erforderlich. Weiterhin sollten Sie die Möglichkeit haben, den Rechner neu starten zu lassen, entweder über ein Webfrontend oder mit einem manuellen Reset durch den Hoster. Ein Reset ist dann wichtig, wenn der neue Kernel oder das neue System falsch konfiguriert ist und Sie sich damit selbst ausgesperrt haben, im Idealfall, bei fehlerfreier Installation geht es auch ohne.

Ein separates Rettungssystem vereinfacht die Umstellung sehr: So können Sie die ursprüngliche Distribution in aller Ruhe vollständig entfernen oder gar die Festplatte nach eigenen Vorstellungen partitionieren, ohne Gefahr zu laufen, dass der Server nicht mehr bootet.

Hilfreiches Grub-Patch

Muss die Umstellung bei laufendem Ur-System erfolgen, hilft der Bootloader Grub[1] weiter. Wenn Sie ihn mit dem »savedefault«-Patch übersetzt haben, lässt sich die Bootreihenfolge mit dem Grub-Kommando »savedefault --default=Nummer --once« nur für den nächsten Systemstart umstellen. Funktioniert der neue Kernel oder die Systemkonfiguration nicht, startet Grub nach dem nächsten Reset wieder den bisherigen Bootabschnitt.

Das »savedefault«-Patch hat bis einschließlich der aktuellen Version 0.95 keinen Eingang in die Standardversion gefunden, Sie finden es im Debian-Quellpaket von Grub im Verzeichnis »debian/patches/savedefault.diff« oder alternativ bei[2].

Ein Distributions-Wechsel ohne Rettungssystem ist nicht zu empfehlen. Der kleinste Fehler hat ein nicht mehr lauffähiges System zur Folge, sodass eine oft kostenpflichtige Neuinstallation durch den Hoster fällig ist. Wenn Sie dennoch umstellen wollen, sollten Sie zunächst ein eigenes Rescue-System aufsetzen, das im laufenden Betrieb keine Festplatte benötigt.

Ein solches System finden Sie unter[3], es besteht aus dem Rescue-Kernel und einer Initial-RAM-Disk, die das komplette Linux-System enthält. Kopieren Sie die Dateien »vmlinuz-rescue« und »rescue-initrd.gz« nach »/boot« und erweitern Sie die Grub-Konfigurationsdatei um folgende Zeilen:

title Rescue
  root (hd0,0)
  kernel /vmlinuz-rescue init=/sbin/init ramdisk_size=8192 root=/dev/ram0 devfs=nomount ramdisk_blocksize=4096 console=tty1 console=ttyS0,57600 ip=IP-Adresse netmask=Netzmaske gateway=Gateway-IP dns=Nameserver-IP
  initrd /initrd-rescue.gz

Die kursiv gedruckten Netzwerk-Einstellungen müssen Sie an Ihre Bedürfnisse anpassen. Dann können Sie mit Hilfe des »savedefault«-Befehls von Grub gefahrlos ausprobieren, ob das Rescue-System startet und Sie sich per SSH anmelden können.

Funktioniert das Rescue-System, stellen Sie es als Standardsystem in Grub ein. Anschließend benutzen Sie das Rescue-System, um Ihre Festplatte zu mounten, die alte Distribution zu löschen und die neue aufzuspielen. Dabei müssen Sie »/boot« auslassen, da Sie sonst auch die beiden Dateien des Rescue-Systems löschen und sich damit aussperren.

Rettungssystem als Werkzeug

Mit einem vom Provider bereitgestellten Rettungssystem ist die Umstellung nicht nur einfacher, sondern auch deutlich ungefährlicher: Im Zweifelsfall starten Sie den Rechner im Rettungssystem neu und beheben die Fehler von dort aus. Je nachdem, ob das Rettungssystem auf der gleichen Festplatte liegt wie das Arbeitssystem oder aus dem Netz geladen wird, können Sie die Partitionierung den eigenen Wünschen anpassen.

Die eigentliche Installation verläuft für alle Distributionen etwa gleich: Nachdem ein Basis-System aufgespielt ist, folgt eine reguläre Installation übers Netzwerk. Bei Debian ist dafür »debootstrap« zuständig, für Red-Hat-basierte Linux-Distributionen wie Fedora Core 2 oder Red Hat Enterprise benutzen Sie am besten das komfortable Kickstart.

PXE-Kernel für Fedora

Ausgangsbasis für die Migration auf Fedora Core 2 ist ein Kernel mit PXE-Unterstützung (Pre-Boot Execution Environment), den Sie samt passender Initial-RAM-Disk aus dem Verzeichnis »images/pxeboot« der Fedora-Installations-CD oder von[4] ins Verzeichnis »/boot« der Ur-Distribution kopieren.

Mit Hilfe des PXE-Kernels ist es möglich, ein Linux-System zu starten, ohne die Festplatte oder das CD-ROM dauerhaft zu belegen. Beim Systemstart liest der Rechner den Kernel samt Initial-RAM-Disk komplett in den Speicher, sodass Anaconda anschließend die Festplatte problemlos neu partitionieren und formatieren kann.

Damit Ihr Rechner den PXE-Kernel beim nächsten Start lädt, müssen Sie die Bootloader-Konfiguration ändern. Zusätzlich benötigt der Kernel die Netzwerk-Einstellungen als Kernelparameter, die Listings 1 und 2 zeigen zwei Beispielkonfigurationen mit DHCP und (auskommentiert) statischer IP für Grub und Lilo.

Die Initial-RAM-Disk von Fedora Core 2 ist so vorbereitet, dass sich der Rechner mit Anaconda selbst konfiguriert und die gewünschte Software installiert. Der Kernelparameter »ks« aus den Zeilen 7 beziehungsweise 13 in den Listings 1 und 2 gibt die externe URL an, unter der Sie die Kickstart-Konfiguration später zum Download bereitstellen.

Listing 1: Grub-Konfiguration

01 default=0
02 timeout=2
03 splashimage=(hd0,0)/boot/grub/splash.xpm.gz
04 
05 title Fedora Core 2 (PXE)
06   root (hd0,0)
07   kernel /boot/vmlinuz.PXE ks=http://ks.example.com/ ks.cfg network=dhcp
08   # kernel /boot/vmlinuz.PXE ks=http://ks.example.com/ks. cfg network=static ip=192.168.1.10 netmask=255.255.255.0 gateway=192.168.1.254 dns=192.168.1.1
09   initrd /boot/initrd.img.PXE

Listing 2: Lilo-Konfiguration

01 prompt
02 timeout=2
03 default=PXE
04 boot=/dev/hda
05 map=/boot/map
06 install=/boot/boot.b
07 message=/boot/message
08 lba32
09 
10 image=/boot/vmlinuz.PXE
11   label=PXE
12   initrd=/boot/initrd.img.PXE
13   append="ks=http://ks.example.com/ks.cfg network=dhcp"
14   # append="ks=http://ks.example.com/ks.cfg network=static ip=192.168.1.10 netmask=255.255.255.0 gateway=192.168.1.254 dns=192.168.1.1"

Die einfachste Methode, eine Kickstart-Konfiguration anzulegen, ist es, das Programm »system-config-kickstart« aufzurufen. Abbildung 1 zeigt die grafische Oberfläche des in Red-Hat- und Fedora-Distributionen enthaltenen Konfigurations-Tools. Die Kickstart-Konfigurationsdatei können Sie aber auch von Hand erstellen, als Grundlage verwenden Sie dazu am besten die Konfiguration Ihres eigenen Fedora-Systems aus »/root/anaconda-ks.conf«.

Abbildung 1: Das grafische Kickstart erzeugt die Konfigurationsdatei, mit deren Hilfe später Anaconda den Rootserver partitioniert, formatiert und installiert. Fehlerträchtige Eingaben an der Konsole des Servers sind nicht nötig.

Grafische Konfiguration

Neben dem Umfang der Software können Sie per Kickstart auch die Partitionierung des Rootservers festlegen. Ein großer Vorteil des Kickstart-Systems ist, dass keine fehlerträchtige manuelle Installation erforderlich ist. Sie können sogar auf einem zweiten lokalen Rechner ausprobieren, wie genau Anaconda später Ihren Server konfigurieren wird, und so Fehler im Vorfeld entdecken - ohne kostenträchtige Reboots oder Neu-Installationen durch den Hoster.

Die wichtigste Option im Konfigurationsprogramm ist »Installation im interaktiven Modus ausführen«. Diese müssen Sie unbedingt deaktivieren, sonst wartet Anaconda auf dem Server später auf Tastatur- oder Mauseingaben. Weiterhin müssen Sie an den Zugang von außen denken, also SSH als Dienst aktivieren und bei der Einrichtung der Firewall den SSH-Port von außen zulassen, sonst haben Sie sich selbst ausgesperrt.

Handverlesene Pakete

Ein großer Nachteil der grafischen Oberfläche ist, dass es sich beim Menüpunkt »Paketauswahl« eigentlich um eine Gruppenauswahl handelt, die nur eine grobe Konfiguration zulässt. Außerdem scheint Anaconda Probleme mit den deutschsprachigen Gruppennamen zu haben und verlangt bei der Installation eine Eingabe - tödlich für die Remote-Installation. Daher sollten Sie »system-config-kickstart« entweder mit einer englischen Locale starten (»LC_ALL=en system-config-kickstart«) oder die Auswahl später von Hand nachbearbeiten. E

Die Namen der ausgewählten Gruppen landen im Abschnitt »%packages« der Kickstart-Konfigurationsdatei. Das Format ist sehr einfach: Gruppennamen erkennt Anaconda an einem führenden »@ « (mit Leerzeichen) und dem Namen der Gruppe. Sie können auch einzelne Pakete auswählen, indem Sie die Paketnamen (ohne führendes »@ «) untereinander schreiben. Per »-Paketname« schließen Sie explizit einzelne Pakete von der Installation aus.

Falls Sie kein laufendes Fedora-System zur Hand haben, benutzen Sie einfach die Beispielkonfiguration von[5] als Vorlage und passen sie an. Tabelle 1 enthält eine Liste der nötigen Kommandos, weiterführende Dokumentation gibt es auf der Red-Hat-Website unter[6].

Konfiguration aus dem Netz

Die fertige Kickstart-Konfigurationsdatei müssen Sie nun auf einem anderen Server ablegen, den Ihr Root-Server erreichen kann. Zur Not reicht auch eine Dyn-DNS-Domain[7] oder die IP-Adresse Ihres privaten Rechners. Wichtig ist nur, dass der Root-Server die Kickstart-Konfiguration unter der im Kernel-Bootparameter »ks« eingetragenen URL per HTTP beziehen kann.

Nach diesen Vorbereitungen starten Sie den Root-Server einfach neu. Das Linux-System auf der Initial-RAM-Disk konfiguriert die Netzwerkkarte, Anaconda lädt die Kickstart-Konfiguration herunter und arbeitet sie vollständig ab (Abbildung 2). Das kann je nach Anbindung und Umfang der Konfiguration durchaus mehrere Stunden in Anspruch nehmen. Zum Abschluss, nachdem auch der Bootloader mit »system-config-kickstart« neu geschrieben wurde, startet Anaconda den Rechner neu. Wenn Sie nichts vergessen haben, können Sie sich dann auf Ihrem Server einloggen und letzte Anpassungen vornehmen.

Debian aus der Ferne

Die Umstellung des Servers auf Debian GNU/Linux ist erheblich aufwändiger als bei Fedora Core 2: Einen ähnlichen automatischen Installationsmodus wie mit Anaconda und Kickstart gibt es bei Debian nicht, zudem muss der Server über ein Rettungssystem verfügen, unter dem Sie die nachfolgende Installation durchführen.

Das einzige Hilfsmittel ist das Skript »debian-installer.sh« von Christian Ney, von dem es verschiedene Varianten mit Anpassungen für die Hoster 1&1, Strato oder auch Server4You gibt. Die Autoren testeten die 1&1-Variante »debian-installer.sh« von[8].

Fragestunde

Das Skript löscht automatisch die ersten neun Partitionen auf »/dev/hda« und legt anschließend neun neue Partitionen an: »/boot«, »swap«, »/«, »extended«, »/usr«, »/home«, »/tmp«, »/var« und »/opt«. Die Größen der einzelnen Partitionen fragt das Skript vom Benutzer ab und zeigt an, wie viel noch verfügbar ist. Die Zahl und Zuordnung der Partitionen lässt sich allerdings nicht verändern, ohne das Skript an mehreren Stellen anzupassen. Dann fragt »debian-installer .sh« IP-Adresse und Hostnamen des Servers ab. Christian Ney will sein Skript bis zum Erscheinungstermin dieser Ausgabe so erweitern, dass es möglichst viele der Angaben aus dem laufenden Rettungssystem liest.

Nach Abfrage der Konfigurationsdaten lädt »debian-installer.sh« ein knapp 750 KByte großes Tar-Archiv mit dem Debian-Installer »debootstrap« von[8] herunter, entpackt es im Root-System des Rettungssystems und beginnt mit der Standardinstallation von Debian.

In deren Verlauf müssen Sie das Root-Passwort, Benutzerdaten und die Zeitzone eingeben, dann installiert »debootstrap« ein Woody-Basis-System und bietet weitere Pakete zur Installation über »tasksel« oder »deselect« an. Schließlich speichert »debian-installer.sh« die passende Lilo-Konfiguration, die »fstab« sowie die Netzwerk-Konfiguration und richtet den Bootloader Lilo ein. Am Schluss landen Sie in einer »chroot«-Umgebung auf dem neuen Debian-System, wo sie von Hand Pakete nachinstallieren können, falls Sie keins der Paket-Frontends benutzt haben.

Wichtig ist, dass Sie in jedem Fall das Paket »ssh« nachinstallieren - es ist im Standardumfang nicht enthalten. Auch fehlen einige Anpassungen an die 1&1-Root-Server, zum Beispiel wird die serielle Konsole nicht eingebunden. Sie müssen also selbst in der Lilo-Konfiguration die Kernel-Bootparameter »console=tty1 console=ttyS0,57600« ergänzen und in der Datei »/etc/inittab« einen Getty-Prozess auf der seriellen Schnittstelle »/dev/ttyS0« lauschen lassen.

Spezielles Root-Server-Paket

Eine Alternative zum Debian-Installations-Skript ist das Paket von[9]. Das Tar-Archiv ist das Backup eines 1&1-Root-Servers der aktuellen Generation mit aktivierter serieller Konsole in Grub und im Kernel 2.6.5 sowie auf 1&1 angepassten Netzwerk-Skripten für DHCP und das relativ ungewöhnliche Routing des Karlsruher Hosters und den wichtigsten Grunddiensten und Werkzeugen wie SSH, Perl oder »ncftp«.

Für die Installation löschen Sie einfach die erweiterte »/dev/hda3« der Standard-Root-Server-Konfiguration, richten an ihrer Stelle eine Standardpartition ein und formatieren sie mit Ext 3. Anschließend mounten Sie »/dev/hda3« in »/mnt«, legen das Unterverzeichnis »/mnt/boot« an und mounten dort »/dev/hda1«. Nachdem Sie die vorhandenen Dateien aus »/mnt/boot« entfernt haben, laden Sie das Tar-Archiv von[9] herunter, speichern es in »/mnt« und entpacken es. Anschließend müssen Sie noch den Bootloader Grub einrichten, im Archiv befindet sich eine Version mit »savedefault«-Patch:

/mnt/sbin/grub --no-floppy --config-file=/mnt/boot/grub/menu.lst
root (hd0,0)
setup (hd0)
quit

Damit ist die Einrichtung abgeschlossen. Beim ersten Start generiert das Debian-System neue SSH-Schlüssel und startet anschließend den SSH-Zugang. Das Root-Passwort lautet standardmäßig »initial« - prinzipiell ein Sicherheitsproblem. Sie sollten dem Benutzer Root deshalb besser schon vor dem ersten Start des neuen Systems ein anderes Passwort geben. Dazu wechseln Sie nach der Grub-Installation mit »chroot /mnt« auf das neue System und rufen »passwd« auf.

Die Hoster-Frage

Mit ausreichenden Linux-Kenntnissen ist ein Wechsel der Distribution auch bei Root-Servern kein Ding der Unmöglichkeit - kann aber je nach Service-Preisliste des Hosters schnell ins Geld gehen. Auch ist der Zeitaufwand für die eigene Umstellung nicht zu unterschätzen, einen halben Arbeitstag sollte man schon einplanen. Vielleicht ist da der Weg zu einem Hoster, der maßgefertigte Systeme anbietet, einfacher - ab Seite 34 finden Sie eine Übersicht der großen Hosting-Unternehmen.

Tabelle 1: Wichtige Kickstart-Kommandos
KommandoErklärung
bootloaderLegt die Position des Bootloaders fest. Beispiel: »bootloader --location=mbr«
clearpartLöscht Partitionen von der Platte. Beispiel: »clearpart --all --initlabel«
firewallKonfiguration der Firewall. Beispiel: »firewall --ssh«
installEin neues System installieren, statt ein vorhandenes zu aktualisieren.
networkNetzwerk-Konfiguration. Beispiel: »network --bootproto=dhcp --device=eth0«
nfsSystem per NFS installieren. Beispiel: »nfs --server=nfsserver.example.com --dir=/install/«
partErstellt Partitionen auf der Platte. Beispiel: »part / --size=4096 --fstype=ext3 --badblocks«
rebootNach der Installation Rechner neu starten.
rootpwRoot-Passwort setzen. Beispiel: »rootpw --iscrypted $1$ItUf9N6K$yxNYOy55tDDQwgZJdhos81«
skipxX-Window-Konfiguration überspringen.
textInstallation im Textmodus starten.
urlSystem per FTP oder HTTP installieren. Beispiel: »url --url http://wftp.tu-chemnitz.de/pub/linux/fedora-core/2/i386/os/«

Infos

[1] Grub-Projektseite: [http://www.gnu.org/software/grub]

[2] »savedefault«-Patch: [http://www.mirko-doelle.de/linux/savedefault.diff]

[3] Kompaktes Rescue-System für Root-Server: [http://linvdr.org/projects/rescue]

[4] Whitebox Linux: [http://www.whiteboxlinux.org]

[5] Fedora-Mirror-Liste: [http://fedora.redhat.com/download/mirrors.html]

[6] Vorlage für »ks.cfg«: [ftp://ftp.linux-magazin.de/pub/magazin/2004/10/Remote-Installation/ks.cfg]

[7] Kickstart-Dokumentation: [http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-kickstart2-file.html]

[8] Dyn-DNS: [http://www.dyndns.org]

[9] Debian-Installer für 1&1-Root-Server: [http://linux.roothell.org/debian-rootie]

[10] Tar-Archiv mit einem auf 1&1-Root-Server angepassten Debian-System: [ftp://www.linux-magazin.de/pub/listings/debian-1und1-rootserver.tar.gz]

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com