Guías para administración general

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 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.

Usar ldapvi 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.

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):

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:

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:

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.)