Los capítulos Comenzando y Mantenimiento describen como empezar con Debian Edu y como realizar el trabajo de mantenimiento básico. Las guías en estos capítulos, tienen también trucos y recomendaciones más "avanzadas".
Usando etckeeper
se siguen todos los
archivos en /etc/
utilizando Git como sistema de control de
versiones.
Esto hace posible ver cuando se agrega, modifica o elimina un archivo,
también ver lo que se cambió si el archivo es un archivo de texto. El
repositorio de git se guarda en /etc/.git/
.
Cada hora se registra cualquier cambio, permitiendo tener un histórico de la configuración para extraerse y revisarse.
Para ver el historial, se usa el comando etckeeper vcs
log
. Para comprobar las diferencias entre dos puntos en el
tiempo, se puede usar un comando como etckeeper vcs diff
.
Revise la salida de man etckeeper
para más
información.
Lista de comandos útiles:
etckeeper vcs log etckeeper vcs status etckeeper vcs diff etckeeper vcs add . etckeeper vcs commit -a man etckeeper
En un sistema recién instalado pruebe esto para ver todos los cambios realizados desde que se instaló el sistema:
etckeeper vcs log
Ver que archivos no se están siguiendo, o los que no están actualizados:
etckeeper vcs status
Para confirmar manualmente un archivo, porque no quieres esperar hasta una hora:
etckeeper vcs commit -a /etc/resolv.conf
En Debian Edu, todas las particiones que no sean la partición
/boot/
están en volúmenes lógicos LVM. Con
los núcleos de Linux desde la versión 2.6.10, es posible extender las
particiones mientras están montadas. La reducción de las particiones todavía
se tiene que hacer mientras está desmontada la partición.
Es una buena idea evitar la creación de particiones muy grandes (de más de,
por ejemplo, 20GiB), debido al tiempo que se tarda en ejecutar
fsck
en ellas o en restaurarlas desde una
copia de seguridad si surge la necesidad. Es mejor, si es posible, crear
varias particiones pequeñas que una muy grande.
Se proporciona el script de ayuda
debian-edu-fsautoresize
para facilitar la
ampliación de particiones completas. Cuando se invoca, lee la configuración
de
/usr/share/debian-edu-config/fsautoresizetab
,
/site/etc/fsautoresizetab
y
/etc/fsautoresizetab
. A continuación,
propone ampliar las particiones con muy poco espacio libre, según las reglas
proporcionadas en estos archivos. Si se ejecuta sin argumentos, sólo
mostrará los comandos necesarios para ampliar el sistema de archivos. Se
necesita el argumento -n
para ejecutar
realmente estos comandos para ampliar los sistemas de archivos.
La secuencia de comandos se ejecuta automáticamente cada hora en todos los
clientes incluidos en el grupo de red
fsautoresize-hosts
.
También debe actualizarse el valor del tamaño de la caché en
etc/squid/squid.conf
, cuando se
redimensiona la partición utilizada por el proxy Squid. Se proporciona el
script de ayuda
/usr/share/debian-edu-config/tools/squid-update-cachedir
para hacer esto automáticamente, comprobando el tamaño actual de la
partición de /var/spool/squid/
y
configurando a Squid para usar el 80% de esto como su tamaño de caché.
La Gestión de Volúmenes Lógicos (LVM) permite redimensionar las particiones mientras están montadas y en uso. Puedes obtener más información sobre LVM en el LVM HowTo.
Para extender un volumen lógico de forma manual simplemente le dices al
comando lvextend
el tamaño al que quieres
que aumente. Por ejemplo, para ampliar home0 a 30GiB se utilizan los
siguientes comandos:
lvextend -L30G /dev/vg_system/skole+tjener+home0 resize2fs /dev/vg_system/skole+tjener+home0
Para ampliar home0 en 30GiB más, inserta un '+' (-L+30G).
ldapvi es una herramienta para editar la base de datos LDAP con un editor de texto en la linea de comandos.
Se necesita ejecutar lo siguiente:
ldapvi -ZD '(cn=admin)'
Nota: ldapvi
usará el editor de texto
predeterminado. Ejecutar export EDITOR=vim
en el intérprete de comandos puede configurar el entorno para tener un clon
de vi como editor.
Atención:
ldapvi
es una herramienta
poderosa. Sea cuidadoso y no dañe la base de datos de LDAP, la misma
advertencia sirve para JXplorer.
El uso de Kerberos para NFS para montar directorios personales es una característica de seguridad. Las estaciones de trabajo y los clientes LTSP no funcionarán sin Kerberos. Los niveles krb5, krb5i y krb5p son compatibles (krb5 significa autenticación Kerberos, i significa comprobación de la integridad y p por la privacidad, es decir, la codificación); la carga tanto en el servidor como en la estación de trabajo aumenta con el nivel de seguridad, krb5i es una buena opción y se ha elegido por defecto.
Servidor principal
iniciar sesión como root
ejecuta ldapvi -ZD '(cn=admin)'
, busca
sec=krb5i y sustitúyelo con
sec=krb5 o sec=krb5p.
edita /etc/exports.d/edu.exports
y ajustar
estas entradas en consecuencia:
/srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) /srv/nfs4/home0 gss/krb5i(rw,sync,no_subtree_check)
ejecuta exportfs -r
.
Esta herramienta permite establecer la impresora por defecto en función de
la ubicación, la máquina o la pertenencia a un grupo. Más información en
/usr/share/doc/standardskriver/README.md
.
El archivo de configuración
/etc/standardskriver.cfg
lo ha proporcionar
admin, ver como ejemplo
/usr/share/doc/standardskriver/examples/standardskriver.cfg
.
Si prefieres una GUI para trabajar con la base de datos LDAP, mira el
paquete jxplorer
, que se instala por
defecto. Para tener acceso de escritura conéctate así:
host: ldap.intern port: 636 Security level: ssl + user + password User dn: cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
ldap-createuser-krb
es una pequeña
herramienta de línea de comandos para crear cuentas de usuario, se ejecuta
de la siguiente manera:
ldap-createuser-krb5 [-u uid] [-g gid] [-G group[,group]...] [-d department] <username> <gecos>
Todos los argumentos excepto el nombre de usuario y el campo GECOS son
opcionales, este último normalmente debe contener el nombre completo del
usuario. A menos que se especifique, la herramienta elegirá automáticamente
el siguiente UID y GID libres y no asignará ningún grupo adicional al
usuario. Si no se especifica un departamento, elegirá el primer
departamento de LDAP, que probablemente sea
skole y para usuarios normales no suele ser lo que
usted desea, por lo que debería elegir un valor apropiado para el usuario,
por ejemplo Profesores o
Estudiantes. Tras introducir y confirmar la contraseña
e introducir la contraseña de administrador LDAP,
ldap-createuser-krb5
creará la cuenta de
usuario en LDAP, establecerá la contraseña Kerberos, creará el directorio
raíz y añadirá un usuario Samba correspondiente. La siguiente captura de
pantalla muestra una invocación de ejemplo para crear una cuenta de usuario
llamada harhir
para un profesor cuyo nombre
completo es "Harry Hirsch":
root@tjener:~# ldap-createuser-krb5 -d Teachers harhir "Harry Hirsch" new user password: confirm password: dn: uid=harhir,ou=people,ou=Teachers,dc=skole,dc=skolelinux,dc=no changetype: add objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: gosaAccount objectClass: posixAccount objectClass: shadowAccount objectClass: krbPrincipalAux objectClass: krbTicketPolicyAux sn: Harry Hirsch givenName: Harry Hirsch uid: harhir cn: Harry Hirsch userPassword: {CRYPT}$y$j9T$TWnq55O1rvyLhjF.$oVf.t.RXC1v/4Y8FhV0umno629mo7bP7/YJyig6HET6 homeDirectory: /skole/tjener/home0/harhir loginShell: /bin/bash uidNumber: 1004 gidNumber: 1004 gecos: Harry Hirsch shadowLastChange: 19641 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 krbPwdPolicyReference: cn=users,cn=INTERN,cn=kerberos,dc=skole,dc=skolelinux,dc=no krbPrincipalName: harhir@INTERN ldap_initialize( <DEFAULT> ) Enter LDAP Password: add objectClass: top person organizationalPerson inetOrgPerson gosaAccount posixAccount shadowAccount krbPrincipalAux krbTicketPolicyAux add sn: Harry Hirsch add givenName: Harry Hirsch add uid: harhir add cn: Harry Hirsch add userPassword: {CRYPT}$y$j9T$TWnq55O1rvyLhjF.$oVf.t.RXC1v/4Y8FhV0umno629mo7bP7/YJyig6HET6 add homeDirectory: /skole/tjener/home0/harhir add loginShell: /bin/bash add uidNumber: 1004 add gidNumber: 1004 add gecos: Harry Hirsch add shadowLastChange: 19641 add shadowMin: 0 add shadowMax: 99999 add shadowWarning: 7 add krbPwdPolicyReference: cn=users,cn=INTERN,cn=kerberos,dc=skole,dc=skolelinux,dc=no add krbPrincipalName: harhir@INTERN adding new entry "uid=harhir,ou=people,ou=Teachers,dc=skole,dc=skolelinux,dc=no" modify complete Authenticating as principal root/admin@INTERN with password. kadmin.local: change_password harhir@INTERN Enter password for principal "harhir@INTERN": Re-enter password for principal "harhir@INTERN": Password for "harhir@INTERN" changed. kadmin.local: lpcfg_do_global_parameter: WARNING: The "encrypt passwords" option is deprecated Added user harhir.
Aunque puedes utilizar directamente las stable-updates, no tienes por qué hacerlo: las stable-updates se introducen en la suite estable con regularidad cuando se realizan las publicaciones de puntos estables, lo que ocurre aproximadamente cada dos meses.
Estás ejecutando Debian Edu porque prefieres la estabilidad de Debian Edu. Funciona muy bien; sólo hay un problema: a veces el software está un poco más anticuado de lo que te gustaría. Aquí es donde interviene backports.debian.org.
Las backports son paquetes recompilados de Debian testing (en su mayoría) y de Debian unstable (sólo en algunos casos, por ejemplo, actualizaciones de seguridad), así que se ejecutan sin nuevas bibliotecas (siempre que esto sea posible) en una distribución estable de Debian como Debian Edu. Te recomendamos que elijas los backports individuales que se ajusten a tus necesidades, y no utilices todos los backports disponibles.
Usar backports es sencillo:
echo "deb http://deb.debian.org/debian/ bookworm-backports main" > /etc/apt/sources.list.d/bookworm-backports.sources.list apt update
Después de lo cual se pueden instalar fácilmente los paquetes backports, el siguiente comando instalará una versión backport de tuxtype:
apt install tuxtype/bookworm-backports
Los backports se actualizan automáticamente (si están disponibles) al igual que otros paquetes. Al igual que el archivo normal, los backports tienen tres secciones: main, contrib y non-free.
Si quieres actualizar de una versión a otra (por ejemplo, de Bookworm 12.1 a 12.2) pero no tienes conexión a Internet, sólo medios físicos, sigue estos pasos:
Inserte el CD/DVD/Disco Blu-ray/Dispositivo USB en la unidad y use el comando apt-cdrom:
apt-cdrom add
Para citar el manual de referencia de apt-cdrom(8):
apt-cdrom se utiliza para añadir un disco óptico nuevo a la lista de fuentes disponibles de APT. apt-cdrom examina la estructura del disco, corrige los posibles errores de grabación y verifica los ficheros de índice.
Se requiere utilizar apt-cdrom para añadir los discos al sistema APT, no se puede hacer manualmente. Además, debe insertar y analizar cada disco de un conjunto de discos por separado, para poder detectar los posibles errores de grabación.
Luego ejecute estos dos comandos para actualizar el sistema:
apt update apt full-upgrade
killer
es un script hecho en perl que
elimina trabajos en segundo plano. Trabajos en segundo plano son definidos
como procesos que pertenecen a usuarios que no tienen una sesión activa en
la computadora. Se ejecuta cada hora por un cron.
unattended-upgrades
es un paquete de Debian
que instalará automáticamente las actualizaciones de seguridad (y otras). Si
se instala, el paquete está preconfigurado para instalar actualizaciones de
seguridad. Los los están disponibles en
/var/log/unattended-upgrades/
; también,
están disponibles en /var/log/dpkg.log
y
/var/log/apt/
.
Es posible ahorrar energía y dinero apagando automáticamente las máquinas de
los clientes por la noche y volviéndolas a encender por la mañana. El
paquete shutdown-at-night
intentará apagar
la máquina cada hora en punto a partir de las 16:00 de la tarde, pero no la
apagará si parece que tiene usuarios. Intentará decirle a la BIOS que
encienda la máquina alrededor de las 07:00 de la mañana, y el servidor
principal intentará encender las máquinas a partir de las 06:30 enviando
paquetes Wake-on-LAN. Se pueden modificar estos tiempos en los crontabs de
las máquinas individuales.
Hay que tener en cuenta algunas consideraciones a la hora de configurarlo:
Cuando alguien los esté usando, los clientes no deben apagarse. Esto se
garantiza comprobando la salida de who
, y
como caso especial, comprobando que el comando de conexión SSH funciona con
los clientes ligeros X2Go.
Para evitar que se fundan los fusibles, es conveniente asegurarse de que todos los clientes no se pongan en marcha al mismo tiempo.
Existen dos métodos diferentes para despertar a los clientes. Uno de ellos
utiliza una función de la BIOS y requiere un reloj de hardware correcto y
que funcione, así como una placa base y una versión de la BIOS compatibles
con nvram-wakeup
; el otro requiere que los
clientes tengan soporte para Wake-on-LAN, y que el servidor conozca a todos
los clientes que hay que despertar.
En clientes que deben apagarse por la noche, tocar
/etc/shutdown-at-night/shutdown-at-night
, o
añadir el nombre de host (es decir, la salida de 'uname
-n
'en el cliente) al grupo "shutdown-at-night-hosts". La
adición de hosts al grupo de red en LDAP se puede hacer utilizando la
herramienta de red GOsa²
. Los clientes tal
vez necesiten tener Wake-on-LAN configurado en la BIOS. También es
importante que los conmutadores y routers utilizados entre el servidor
Wake-on-LAN y clientes pasen los paquetes WOL a los clientes incluso si los
clientes están apagados. Algunos conmutadores no pasan en paquetes a
clientes que están desaparecidos en la mesa ARP en el conmutador, y esto
bloquea los paquetes WOL.
Para activar Wake-on-LAN en el servidor, añade los clientes a
/etc/shutdown-at-night/clients
, con una
línea por cliente, primero la dirección IP, seguida de la dirección MAC
(dirección ethernet), separada por un espacio; o crea un script
/etc/shutdown-at-night/clients-generator
para generar la lista de clientes sobre la marcha.
Aquí tiene un ejemplo de
/etc/shutdown-at-night/clients-generator
para usar con sitesummary:
#!/bin/sh PATH=/usr/sbin:$PATH export PATH sitesummary-nodes -w
Una alternativa si se utiliza el grupo de red para activar el
shutdown-at-night en los clientes es este script que utiliza la herramienta
de grupo del paquete ng-utils
:
#!/bin/sh PATH=/usr/sbin:$PATH export PATH netgroup -h shutdown-at-night-hosts
Para acceder a máquinas detrás de un firewall desde Internet, considera
instalar el paquete autossh
. Se puede
utilizar para configurar un túnel SSH a una máquina en Internet a la que
tengas acceso. Desde esa máquina, puedes acceder al servidor detrás del
firewall a través del túnel SSH.
En la instalación predeterminada, todos los servicios están ejecutándose en el servidor principal, hostname tjener. Para mover algunos servicios a otro ordenador de manera sencilla, existe un perfil mínimo de instalación disponible. Instalar con este perfil llevará a un ordenador, que es parte de la red de Debian Edu, pero que no cuenta con un servicio ejecutándose (todavía).
Estos son los pasos que se deben seguir para configurar un servicio dedicado en un ordenador:
Selecciona el perfil Minimal durante la instalación
Instala los paquetes para mantenimiento
Configura el mantenimiento
Deshabilita el servicio en el servidor principal
actualiza DNS (via LDAP/GOsa²) en el servidor principal
FIXME: The HowTos from https://wiki.debian.org/DebianEdu/HowTo/ are either user- or developer-specific. Let's move the user-specific HowTos over here (and delete them over there)! (But first ask the authors (see the history of those pages to find them) if they are fine with moving the howto and putting it under the GPL.)