Aprendiendo a Aprender Linux: Guías para colegios con plataforma de referencia S-Helio 1.1 | ||
---|---|---|
Anterior | Siguiente |
La plataforma de referencia S-Helio 1.1 es un diseño de una red de área local para un colegio, que se basa en Linux Debian y aplicaciones de libre redistribución. En esta red hay por lo menos un computador de más capacidad al que llamamos servidor y otros computadores tal vez menos poderosos a los que llamamos clientes. Al diseñarla hemos considerado:
Emplear únicamente software que pueda usarse sin costo alguno y que resulte ser semilla y fruto de colaboración. Por esto sólo sugerimos software de libre redistribución de muy buena calidad. Ver Lectura Software de libre redistribución.
Que la red se constituya en una intranet del colegio para ser usada por usuarios de uno de los siguientes grupos: estudiantes, profesores, personal administrativo y eventualmente padres y exalumnos.
Que cada usuario cuente con su espacio propio, que disponga de herramientas básicas, que pueda comunicarse con otros usuarios de la red (finger, talk, correo electrónico) y que pueda consultar la documentación y los recursos que el colegio brinde en la intranet (NFS, ftp, web, telnet, ssh).
Que el transito de otro sistema operativo a Linux sea lo menos abrupto posible. Por esto sugerimos un ambiente de escritorio sencillo (GNOME), escribimos documentación inicial de dominio público para usuar y administrar el sistema y ofrecemos soporte gratuito. Como las fuentes de esta documentación son de dominio público, pueden ser completadas, modificadas y usada en su colegio de acuerdo a sus políticas. Puede recibir soporte de voluntarios en la lista <structio-sopcol@lists.sourceforge.net>, a la que puede suscribirse en http://lists.sourceforge.net/lists/listinfo/structio-sopcol, o si desea colaborar a desarrollar guías puede suscribirse a la lista <structio-guias@lists.sourceforge.net> desde http://lists.sourceforge.net/lists/listinfo/structio-guias
Que el software y la documentación para el usuario final sean vistos en español y que el teclado pueda generar todos los caracteres de nuestro idioma.
Suponemos que el colegio cuenta con PCs no tan modernos y que no podrá invertir grandes recursos económicos para actualizarlos (aun cuando esta plataforma de referencia S-Helio 1.1 también funciona con computadores nuevos).
Suponemos que cada PC de la red es medianamente autónomo, es decir, que puede funcionar aislado de red con un sistema Linux mínimo[1].
Buscamos distribuir al máximo el espacio de los discos de cada computador y la carga de los procesadores aprovechando para esto la red.
Nos hemos basado en la experiencia en un colegio concreto[2].
Hemos tenido en cuenta otros diseños de red para colegios (RedEscolar[3]. ), software sugerido por organizaciones (OFSET[4]) y distribuciones enfocadas en educación (Debian-Jr[5]).
Que la interconexión de diversas redes que sigan estas recomendaciones sea posible y fácil, así como una eventual conexión a Internet. Aunque en estas guías no se describe en detalle como lograr una conexión segura a Internet.
A continuación presentamos la plataforma de referencia S-Helio 1.1 en varias etapas: Red, Computadores y Software. Además al final de esta sección presentamos software de libre redistribución adicional que podría usarse en un colegio y que funciona bien sobre la plataforma de referencia.
Note que esta sección es de carácter técnico, precisamente estas guías le permitirán esclarecer los términos que aquí encuentre y pueden guiarlo en la instalación y uso de la plataforma de referencia S-Helio 1.1.
Ethernet 10Mb (e.g. Compatibles NE-2000).
Cable 10Base-T o de pares trenzados (en inglés twisted pair).
Usado para distribuir claves que residirán en el servidor.
Usado para distribuir los directorios /usr, /home, /var/mail [6] y /usr/share del servidor en todos los clientes [7]
se monta en los clientes como /opt, y por medio de la variables PATH, LD_LIBRARY_PATH (o el archivo /etc/ld.so.conf) y eventualmente enlaces, los usuarios pueden disponer de todos varios de los programas que hay en el servidor.
se monta en todos los clientes como /home, para que los directorios de los usuarios estén disponibles en todas las estaciones.
se monta en todos los clientes como /var/mail para permitir que desde todos el programa mail funcione, mientras se centraliza la cola de correo en el servidor.
se monta en todos los clientes como /usr/share para dejar una sóla copia de la documentación, que pueda consultarse desde todos los computadores.
También se compartirá el directorio /aux de cada cliente en el servidor como /mnt/aux-n, de forma que en el servidor se pueda contar con todo el espacio que sobre en la red para redistribuirlo.
El servidor estará configurado como compuerta en todos los clientes (para una conexión sencilla a Internet de ser posible) y actuará como servidor de diversos protocolos (como se presenta a continuación).
Procesador >= Pentium o AMD 686, Memoria: >=64MB.
Tarjeta de video >=VGA, Monitor capaz de presentar gráficas 640x480x16.
Disco Duro >=2GB dividido en particiones:
Partición para swap con la misma cantidad de memoria RAM o una cantidad cercana.
/boot con mínimo 10MB y preferiblemente ubicada entre los primeros 1024 cilindros del disco (la ubicación en los primeros 1024 cilindros es indispensable si su BIOS es de antes de 1998 o no soporta LBA32).
/home para cuentas de usuarios (se sugiere un espacio mínimo de 2MB por cada usuario del sistema).
/var por lo menos 100MB más al menos 500K por cada usuario (en esta partición se mantendrá la cola de correo electrónico).
/ con el resto del espacio del disco duro.
Procesador >=486, Memoria: >=32MB.
Tarjeta de video >=VGA, Monitor capaz de presentar gráficas 640x480x16.
Disco Duro >=300MB por equipo dividido en particiones: @itemize @item /boot con mínimo 10MB y ubicado en los primeros 1024 cilindros del disco (la ubicación en los primeros 1024 cilindros es indispensable si su BIOS es de antes de 1998 o no soporta LBA32). el computador tiene una BIOS posterior a 1998 no es indispensable que /boot esté en los primeros 1024 cilindros).
/ con mínimo 250MB, aun cuando de ser posible se sugiere 1.5GB.
/swap con la misma cantidad de memoria RAM o un poco más.
/aux con el espacio restante del disco duro.
Teclado, ratón, unidad para disquete 3 1/2 (se sugiere unidad de CD-ROM al menos durante la instalación).
En cada cliente:
La distribución Debian 2.2.
GNOME >= 1.2 (si es posible XimianGNOME >= 1.2).
Locales deben estar instalados por lo menos los siguientes programas: servidor de X-Window, cliente y servidor telnet, cliente y servidor ssh, cliente y servidor ftp, cliente y servidor finger, cliente y servidor talk, cliente y servidor de NFS, cliente de NIS, servidor de correo exim, bash.
Los paquetes son: adduser, ae, alsa-base, apt, at, base-config, base-files, base-passwd, bash, bc, biff, bin86, binutils, bison, bsdmainutils, bsdutils, bug-buddy, console-data, console-tools, console-tools-libs, cpio, cpp, cron, dc, debconf-tiny, debian-policy, debianutils, dialog, diff, dnsutils, doc-debian, doc-linux-text, dpkg, dpkg-dev, dpkg-ftp, dpkg-perl, e2fsprogs, ed, eject, elvis-tiny, emacs20, emacsen-common, enscript, esound, esound-common, exim, fbset, fdflush, fdutils, file, fileutils, findutils, finger, fingerd, flex, freetype2, ftp, g++, gcc, gcompris-data, gdb, gdk-imlib1, gdm, gettext-base, gmc, gnome-applets, gnome-bin, gnome-control-center, gnome-core, gnome-help, gnome-help-data, gnome-libs-data, gnome-panel, gnome-panel-data, gnome-session, gnome-terminal, gpm, grdb, grep, groff, gs, gsfonts, gzip, helix-sweetpill, hostname, iamerican, ibritish, imlib-base, imlib1, info, isapnptools, ispell, ldso, less, libart2, libasound0.4, libaudiofile0, libc6, libc6-dev, libcapplet0, libdb2, libdb2-util, libesd-alsa0, libgdbmg1, libgdk-pixbuf-gnome2, libgdk-pixbuf2, libghttp1, libglade-gnome0, libglade0, libglib1.2, libgmp2, libgnome32, libgnomesupport0, libgnomeui32, libgnorba27, libgnorbagtk0, libgtk1.2, libgtkxmhtml1, libgtop1, libident, libjpeg62, liblockfile1, libncurses4, libncurses5, libnet-perl, libnet-telnet-perl, libnewt0, libopenldap-runtime, libopenldap1, liborbit0, libpam-modules, libpam-runtime, libpam0g, libpanel-applet0, libpaperg, libpcre2, libpng2, libpopt0, libreadline4, librep9, libssl09, libstdc++2.10, libstdc++2.10-dev, libtiff3g, libungif3g, libwrap0, libxml1, libzvt2, lilo, locales, lockfile-progs, login, logrotate, lpr, lsof-2.2, lynx, m4, magicfilter, mailx, make, makedev, man-db, manpages, manpages-dev, mawk, mbr, mc-common, mime-support, minicom, modconf, modutils, mount, mpack, mtools, mutt, ncurses-base, ncurses-bin, ncurses-term, netbase, nfs-common, nfs-server, nis, nvi, passwd, patch, pciutils, perl-5.005, perl-5.005-base, perl-5.005-doc, perl-5.005-suid, perl-base, perl-tk, pidentd, ppp, pppconfig, procmail, procps, psmisc, pump, rcs, rep, rep-gtk, sawfish, sawfish-gnome, sed, setserial, sharutils, shellutils, slang1, ssh, ssh-askpass, ssh-askpass-gnome, ssh-askpass-ptk, strace, svgalibg1, sysklogd, syslinux, sysvinit, talk, talkd, tar, task-helix-core, tasksel, tcl8.2, tcpd, tcsh, tcsh-i18n, telnet, telnetd, tetex-base, tetex-bin, tetex-lib, texinfo, textutils, time, tk8.2, update, util-linux, vflib2, wenglish, whiptail, whois, xbase-clients, xf86setup, xfonts-100dpi, xfonts-base, xfree86-common, xlib6g, xpm4g, xserver-common, xserver-svga, xserver-vga16, xviddetect, zlib1g
Bien locales o compartidos de /usr del servidor, montado como /opt en los clientes: gmc,man, gcalc, gnotepad, gnomecal, mtools, info, chfn, mesg, useradd, userdel, groupadd, groupdel, mail, ps, pstree, top, dmesg, last, w, who, grep, sed, awk, sort, cat, tac, head, tail, nl, wc, split, csplit, abiword, gimp, dia, emacs, gcc, make, gdb, xdvi, dvi2ps, gv, chown, chgrp, gnorpm, lynx, w3m, gtop de ser posible un navegador gráfico y un cliente de correo gráfico.
En el servidor deben estar los mismos programas de cada cliente y además:
El servidor Apache.
Toda la documentación posible en /usr/share (estas guías, Documentación de GNOME, HOWTOs, Network Administrator Guide, System Administrator Guide, archivos para man e info).
Servidor de NIS.
Herramientas para documentación con Texinfo: makeinfo, texi2dvi, texi2html.
Extensiones y programas para Emacs: gnus y opcionalmente w3 que estarían compartidos en /usr/share.
Los paquetes incluyen: abiword, adduser, ae, alsa-base, amaya, anacron, apache, apache-common, apache-doc, apt, asigna, at, auctex, autoclass, autoconf, automake, balsa, base-config, base-files, base-passwd, bash, bc, bibindex, bibtool, biff, bin86, bind, bind-doc, binutils, bison, blt, blt-common, blt-dev, blt8.0, bootpc, bsdgames, bsdmainutils, bsdutils, bug-buddy, build-essential, bzip2, ccmalloc, codecommander, console-data, console-tools, console-tools-libs, cpio, cpp, cron, cvs, cvs-buildpackage, cygnus-stylesheets, dc, ddd, debconf, debhelper, debian-policy, debiandoc-sgml, debianutils, debmake, developers-reference, dh-make, dia, diald, dialdcost, dialog, diff, diffstat, diploma, dlint, dnsutils, doc-base, doc-debian, doc-linux-es, doc-linux-text, docbook, docbook-doc, docbook-stylesheets, docbook-stylesheets-doc, docbook-to-man, docbook-xml, docbook2man, docbook2texi, dpkg, dpkg-dev, dpkg-ftp, dpkg-multicd, dpkg-perl, dupload, dvidvi, e2fsprogs, ecpg, ed, eeyes, eject, electric-fence, elvis-tiny, emacs20, emacsen-common, enscript, eog, esound-alsa, esound-common, exim, expect5.31, expectk5.31, f2c, fakeroot, fbset, fdflush, fdutils, fetchmail, fftw-dev, fftw2, file, fileutils, findutils, finger, fingerd, flex, fort77, fping, freetype2, ftnchek, ftp, g++, g77, gaim-gnome, gawk, gcc, gcc-doc, gcd, gdb, gdk-imlib1, gdm, gedit, gettext, gettext-base, gimp1.1, glade-gnome, glibc-doc, gmc, gnapster, gnome-applets, gnome-audio, gnome-bin, gnome-control-center, gnome-core, gnome-faq, gnome-gv, gnome-help, gnome-help-data, gnome-iconedit, gnome-libs-data, gnome-media, gnome-network, gnome-panel, gnome-panel-data, gnome-pim, gnome-pim-conduits, gnome-session, gnome-terminal, gnome-users-guide-en, gnome-utils, gnomeicu, gnosamba, gnotepad+, gnotepad+-help, gnumeric, gnuplot, gob, gobjc, gpm, gqview, grace, grdb, grep, groff, gs, gsfonts, gsfonts-x11, gtop, guile1.3, guitar, gv, gzip, helix-sweetpill, hostname, hyperlatex, iamerican, ibritish, icmpinfo, imlib-base, imlib1, indent, info, inn2, inn2-inews, ircd, ircd-dalnet, ircii, isapnptools, ispanish, ispell, jade, jadetex, junkbuster, kaffe, kernel-package, kernel-source-2.2.18pre21, lacheck, latex2html, ldso, less, lesstif1, lftp, libart2, libasound0.4, libaudiofile0, libbz2, libc6, libc6-dev, libcapplet0, libdb2, libdb2-util, libdigest-md5-perl, libesd0, libgal3, libgc5, libgc5-dev, libgdbmg1, libgdk-pixbuf-gnome2, libghttp1, libgimp1.1, libglade-gnome0, libglade0, libglib1.2, libglib1.2-dev, libgmp2, libgnome-pilot0, libgnome32, libgnomeprint-bin, libgnomeprint-data, libgnomeprint11, libgnomeprint6, libgnomesupport0, libgnomeui32, libgnorba27, libgnorbagtk0, libgpmg1, libgtk1, libgtk1.2, libgtk1.2-dev, libgtkxmhtml1, libgtop1, libguile6, libhtml-parser-perl, libi18n-langtags-perl, libident, libjpeg-progs, libjpeg62, liblockfile1, libltdl0, libltdl0-dev, libmime-base64-perl, libncurses4, libncurses5, libncurses5-dev, libnet-perl, libnet-telnet-perl, libnewt0, libnspr4, libobgnome0, libobgtk1, libogg0, libole2-0, libopenldap-runtime, libopenldap1, liborbit0, libpam-modules, libpam-runtime, libpam0g, libpanel-applet0, libpaperg, libpcap0, libpcre2, libpgsql2, libpgtcl, libpisock3, libpng2, libpopt0, libproplist0, libreadline4, librep9, librpm1, libruby, libsgmls-perl, libsp1, libssl09, libstdc++2.10, libstdc++2.10-dev, libtext-format-perl, libtiff3g, libtimedate-perl, libtool, libungif3g, libunicode0, liburi-perl, libvorbis0, libwrap0, libwraster1, libwww-perl, libxml1, libzvt2, lilo, lintian, locales, lockfile-progs, login, logrotate, lpr, lsof-2.2, lynx, m4, magicfilter, mailtools, mailx, maint-guide, make, makedev, makepasswd, man-db, manpages, manpages-dev, manpages-es, mawk, mbr, mc-common, memprof, menu, metrics, mime-support, minicom, modconf, modutils, mount, mozilla, mpack, mpage, mtools, ncurses-base, ncurses-bin, ncurses-term, netbase, netpbm, netpbm1, nfs-common, nfs-server, nis, nvi, ocaml-doc, octave, octave-ci, octave-doc, octave-htmldoc, packaging-manual, pan, passwd, patch, perl-5.005, perl-5.005-base, perl-5.005-doc, perl-5.005-suid, perl-base, pgaccess, pidentd, plotutils, pnmtopng, postgresql, postgresql-client, postgresql-contrib, postgresql-doc, postgresql-pl, postgresql-slink, ppp, pppconfig, procmail, procps, proftpd, psgml, psmisc, pstoedit, psutils, pump, python-base, python-doc, rcs, rdate, rdist, rep, rep-gtk, rpm, ruby, ruptime, rusers, rwall, rwho, rwhod, sawfish, sawfish-gnome, sed, setserial, sgml-base, sgml-data, sgmlspl, sgmltools-2, sharutils, shellutils, slang1, sp, ssh, stl-manual, strace, svgalibg1, swig, sysklogd, syslinux, sysvinit, t1lib1, talk, talkd, tar, task-c++-dev, task-c-dev, task-database-pg, task-devel-common, task-dns-server, task-fortran, task-gnome-apps, task-gnome-desktop, task-gnome-net, task-helix-core, task-objc-dev, task-python, task-science, task-sgml, task-spanish, task-tcltk, task-tcltk-dev, task-tex, task-x-window-system-core, tasksel, tcl8.0, tcl8.2, tcl8.2-dev, tclreadline, tcpd, tcpdump, telnet, telnetd, tetex-base, tetex-bin, tetex-doc, tetex-extra, tetex-lib, texinfo, textutils, tftp, time, tk8.0, tk8.2, tk8.2-dev, tktable, tktable-dev, traceroute, transfig, typist, ucblogo, untex, update, user-es, util-linux, vflib2, vile, vile-common, vile-filters, w3m, wenglish, wget, whiptail, whois, wmaker, wspanish, wvdial, wwwoffle, wzip, xaw3dg, xbase-clients, xchat-common, xchat-gnome, xcontrib, xf86setup, xfig, xfonts-100dpi, xfonts-75dpi, xfonts-base, xfonts-scalable, xfree86-common, xlib6g, xlib6g-dev, xpdf, xpm4g, xscreensaver, xserver-common, xserver-mono, xserver-svga, xviddetect, zip, zlib1g
De acuerdo a las necesidades de su colegio, a los usuarios de la red y eventualmente al currículo, puede instalar software adicional. A continuación resumimos algunas de nuestras recomendaciones de acuerdo al tipo de usuario. La información más actualizada podrá consultarla en la versión más reciente de estas guías que está disponible en: http://structio.sourceforge.net/guias/AA_Linux_colegio
Para Estudiantes:
abiword y gnumeric o pw y siag. Los primeros hacen parte de Gnome Office: http://www.gnome.org/gnome-office/ (paquetes gnumeric y abiword) mientras los segundos de Siag Office: http://www.siag.nu/ (paquete xsiag). Si los computadores cliente tienen más de 64MB en RAM puede ser mejor opción OpenOffice que incluye filtros para leer y escribir en formatos de Microsoft Office: http://www.openoffice.org (no hay paquete para Debian 2.2, si para versiones posteriores, los binarios distribuidos por OpenOffice corren bien).
Además de gimp (paquete gimp) se recomiendan xfig (paquete xfig) y dia (paquete dia). Tanto gimp como dia hacen parte de Gnome Office, el sitio de desarrollo de xfig es: http://www.xfig.org/
GTypist disponible en: http://www.gnu.org/software/gtypist
Logo: Una implementación es Berkeley Logo disponible en http://www.cs.berkeley.edu/~bh/logo.html
C: gcc, make y vim o emacs.
Java: paquete jdk1.1, hay versiones más recientes disponibles en el sitio de desarrollo: http://www.javasoft.com
Tcl/Tk: paquetes tcl8.2 y tk8.2. El sitio de desarrollo es http://www.scriptics.com
Ocaml: El sitio de desarrollo es http://caml.inria.fr/ocaml
postgresql (paquete postgresql). Si prefiere una base de datos menos poderosa pero más liviana puede emplear MySQL (paquete mysql-server)
Para estudiantes de Bachillerato Dr. Genius y Dr Geo. (paquete drgeo). Los sitios de desarrollo son: http://www.ofset.org/drgenius y http://www.ofset.org/drgeo.
GCompris.http://www.ofset.org/gcompris
Para Profesores
Si tiene computadores modernos cada uno con más de 64MB en RAM se recomienda OpenOffice: http://www.openoffice.org En otro caso debe emplear herramientas más livianas como abiword, gnumeric o pw y siag.
para mantener planilla personal de calificaciones: http://www.gnu.org/software/ggradebook/
Para Secretarias y personal administrativo
Para ayudar a asignar el horario de un colegio puede emplear el programa asigna --mantenido y desarrollado por miembros de Structio--. http://structio.sourceforge.net/asigna
Vea el comentario sobre herramientas de productividad para profesores.
Sugerido GID 1101
Sugerido GID 1102
Sugerido GID 1103
Usuarios: Identificaciones superiores a 1000 (siguiendo política de Debian).
[1] | Otro enfoque que permite usar computadores con aún menor capacidad puede consultarse en http://www.ltsp.org/ |
[2] | El Gimnasio Fidel Cano en Bogotá, Colombia. http://www.geocities.com/gimnasio_fidel_cano/proyectos.html |
[3] | Distribución mejicana orientada a colegios http://redesc.linux.org.mx/es/ |
[4] | Organización francesa que promueve el uso de software libre en la educación http://www.ofset.org/ |
[5] | Puede verse el proyecto Debian-Jr en http://www.debian.org/devel/debian-jr/index |
[6] | En Debian 2.2 /var/spool/mail es un enlace a /var/mail. |
[7] | De acuerdo a http://www.pathname.com/fhs/2.0/fhs-2.html el estándar para jerarquías de Linux, esos directorios puede ser compartidos en red |