====== Trucos Linux ====== ===== Para usar un puerto de una maquina interna a la red privada ===== Este truco sirve para usar algun servicio que tenga una maquina interna a la red y que no es accecible desde afuera del FaMAF (por ejemplo turing, curry, etc). Esto es como si hubiera instalado **DNAT**. Si la máquina en cuestion es por ejemplo turing y el puerto es el 122, tengo que hacer ssh -N -L 1220:turing:122 -l damian russell esto hace que todas las conexiones que haga a la máquina local (desde la que estoy haciendo el ssh) y al puerto 1220 se redirijan a la turing con el puerto 122. Si quiero que el comando se ejecute en background tengo que agregar la opcion -f: ssh -f -N -L 1220:turing:122 -l damian russell ===== Como clonar un Debian ===== dpkg --get-selections > packages.dpkg en la maquina fuente dpkg --set-selections < packages.dpkg apt-get -u dselect-upgrade en la maquina destino [[http://www.debian.org/doc/manuals/reference/ch-package.es.html#s-record|Manual de referencia de Debian ]] ===== Manejo de usuarios de dokuwiki ===== La documentación oficial esta en http://wiki.splitbrain.org/wiki:acl. ==== Activar permisos por usuario ==== En el archivo /etc/dokuwiki.php fijarse que este puesto: $conf['useacl'] = 1; //Use Access Control Lists to restrict $conf['openregister']= 1; //Should users to be allowed to registe $conf['autopasswd'] = 1; //autogenerate passwords and email them $conf['authtype'] = 'plain'; //which authentication backend should b $conf['passcrypt'] = 'smd5'; //Used crypt method (smd5,md5,sha1,ssha $conf['defaultgroup']= 'user'; //Default groups new Users are added to $conf['superuser'] = '@admin'; //The admin can be user or @group ==== Cambiar el grupo ==== El grupo por defect es user. Para cambiarlo editar el archivo /etc/users.auth.php. Cada linea tiene un usuario y el grupo es el último campo (no encontre otra forma :-(). Esto es para Debian etch. ===== Para cambiar el favicon de DokuWiki ===== Esta en /usr/share/dokuwiki/lib/tpl/default/images/ ===== Uso de netcat (nc) ===== De un lado (servidor) es nc -l -p del otro (cliente) nc puerto Todo lo que se escriba de un lado aparecera en el otro. La transmición se realiza con los saltos de linea como un talk. Con esto se usan las salidas y entradas estandard (se puede pipear o redireccionar). Si se quiere se puede usar udp con la apción -u en ambos comandos. Fijarse porque pueden llega las lineas en distinto orden. ===== Bajar las claves PGP para apt ===== Cuando chille de que no puede autenticar los paquetes hay que hacer export http_proxy="http://proxy.famaf.unc.edu.ar:3128/" gpg --keyserver-options http-proxy --recv-key LA_CLAVE gpg --export LA_CLAVE | apt-key add - ===== Listar los paquetes que ocupan mas espacio ===== dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less ===== Para poner la impresora por defecto ===== lpadmin -d Esto es util de probar cuando no anda lpq y dice que no tiene impresora por defecto. ===== Para hacer andar automount con nis (Debian Etch) ===== El script /etc/init.d/autofs siempre usa los archivos /etc/auto* si los encuentra. Entonces para que tome nis hay que borrar estos archivos y agregar la opción en /etc/nsswitch.conf: automount: files nis nisplus ===== Para configurar teclado latinoamericano X (Debian Etch) ===== Configurar layout de teclado como "latam", esto es en /etc/X11/xorg.conf: Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "latam" Option "XkbVariant" "" Option "XkbOptions" "" EndSection ===== Para que ssh no pregunte password ===== Supongamos que quiero entrar sin password desde la la máquina a la . * loguearse en la y ejecutar ssh-keygen -t rsa Se le preguntará una passfrase (funciona como un password pero más seguro). Oprima directamente [Enter] si desea loguearse sin preguntas extras. Al terminar se habrán creado los archivos ''~/.ssh/id_rsa'' y ''~/.ssh/id_rsa.pub''. Verifique que el primero solo tenga permiso de lectura/escritura para el usuario que lo creó. * Copiar el archivo ''/.ssh/id_rsa.pub'' a la máquina . Esto puede hacerse desde la máquina con el comando scp id_rsa.pub @:./ * Loguearse a la máquina . * Agregar al archivo ''~/.ssh/authorized_keys'' en la máquina el archivo ''~/id_rsa.pub'' previamente copiado. Esto puede hacerse con el comando cat ~/id_rsa.pub >> ~/.ssh/authorized_keys * Verificar que el archivo ''~/.ssh/authorized_keys'' tenga solo permiso de lectura y escritura por el usuario: chmod 600 ~/.ssh/authorized_keys * Si no anda fijarse de poner permisos en los directorios home y .ssh: chmod 711 ~/ ; chmod 700 ~/.ssh O Si No: * En menos pasos: ssh-copy-id @ Esto tambien pedira passphrase. Esto sirve también para loguearse a distintas maquinas con el mismo home :-) Eso eso todo. ===== Para usar CVS desde una máquina remota ===== En el directorio de trabajo de CVS en la máquina local (copia del repositorio del servidor hecha de alguna forma con cvc checkout o algo por estilo) modificar los archivos ./CVS/Root con la información: :ext:@: El suele ser /home/cvs. Si se pone @ se usará el mismo login que en la máquina local. Con esto los comandos para manipular el repositorio se harán por ssh. Asi que se puede usar el truco [[trucos:main#para_que_ssh_no_pregunte_password]]. Si se está usando modem se puede agregar en el archivo ~/.cvsrc la linea cvs -z6 para comprimir los datos transmitidos. ===== Para sincronizar notebook con home ===== Usar el programa [[http://www.cis.upenn.edu/~bcpierce/unison/|unison]]. Viene para Unix (está inclusive para [[http://www.debian.org|Debian]]!!), Mac y Windows. Tener en cuenta que la version local debe ser la misma que en el servidor. Este programa funciona con ssh. Asi que se puede usar el truco [[trucos:main#para_que_ssh_no_pregunte_password]]. ===== Para suprimir bordes con a2ps ===== Usar opción %%-B --borders=no%% ===== Para imprimir UTF-8 con a2ps ===== convertir el doc a latin1 antes con recode UTF-8..Latin-1 ===== Configurar CUPS para que sólo mire la red interna ===== Hay que toquetear /etc/cups/cupsd.conf Para las máquinas internas y la gateway agregar: BrowseAddress 192.168.128.255 para que busque impresoras solo adentro. Dar acceso a todas las maquinas de adentro: Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 192.168.128.* Y en la máquina gateway también agregar: BrowseAllow 192.168.128.* BrowseDeny All BrowseOrder deny,allow para que desde afuera no nos miren la máquina por si tiene impresora. ===== Restaurar un homedir desde el backup ===== * Necesitamos 3 archivos, el monthly (''0''), el weekly (''1'') y el daily (''2''). * Para hacer el weekly y el daily basta con linkear el más reciente de ambos archivos, por ejemplo: ln -s homebackup_l1_Weekly0.bz2 1 ln -s homebackup_l2_Daily1.bz2 2 * El archivo de nivel 0 se hace concatenando todos las partes (esto tarda bastante) cat homebackup_l0_Monthly.bz2a* > ~/0 * Finalmente tenemos los 3 archivos de nivel 0(mensual), 1(semanal) y 2(diario). * Llamamos a restore en modo //interactivo//. /sbin/restore -i -f 0 * Inicia la consola de restore y hacemos por ejemplo: /sbin/restore > cd nfs/users/russell/mdoming/ /sbin/restore > add .mozilla/ /sbin/restore > extract You have not read any volumes yet. Unless you know which volume your file(s) are on you should start with the last volume and work towards the first. Specify next volume # (none if no more volumes): 1 set owner/mode for '.'? [yn] set owner/mode for '.'? [yn] y /sbin/restore > Y listo, ahora hay que poner de nuevo ~/. en 700 para que el ssh hostbased funcione. ===== Para configurar mail de maquina red interna en cs.famaf.unc.edu.ar ===== Usar eximconfig y elegir la opción (3) Satellite system: ... ===== Para poner ssl en apache 1.x debian ===== apt-get install libapache-mod-ssl dpkg-reconfigure libapache-mod-ssl y elegir RSA. Agregar en httpd.conf Listen 80 y nueva seccion de ssl como en {{:trucos:httpd-ssl.conf|/etc/apache/conf.d/httpd-ssl.conf}} Para crear un certificado que no pidan lo browsers leer {{:trucos:create_ssl_cert.html|create_ssl_cert.html}}. Si el apache pide password al arrancar hay que sacarselo del certificado: cp server.key server.key.org openssl rsa -in server.key.org -out server.key chmod 400 server.key ===== Problema con xdmcp indirect ===== Este es un problema que se presentó al tratar de utilizar el chooser de una máquina corriendo kdm o xdm. El probelma era que al correr en la termina X -query el chooser aparece pero no forwardea la eleccion. El problema se resolvió desabilitando la escucha de ipv6 en el puerto xdmcp (ver si es así con netstat -l | grep xdmcp). Esto se hace agregando la linea: LISTEN 0.0.0.0 al archivo Xaccess. ===== TODO para instalar máquina en red CS ===== ==== nfs ==== * Server * agregar IP en ''/etc/exports'' y hacer ''exportfs -r''. * Desktops * ''ln -s /import/automount/users /home/users''. * Borrar ''/etc/auto.master'', ''/etc/auto.misc''. ==== nis / yp ==== echo "cs" > /etc/defaultdomain ''/etc/resolv.conf'' search cs.famaf.unc.edu.ar nameserver 192.168.128.1 echo "automount: files nis nisplus" >> /etc/nsswitch.conf echo "+::::::" >> /etc/passwd echo "+:::" >> /etc/group echo "+::::::::" >> /etc/shadow ==== ntp ==== Conviene no poner el servidor de ntp en maquinas internas al firewall para no sobrecargar la maquina ni la red. Para instalar solo un cliente (sin servidor) que apunte a la russell (esto permite sincronizar el home compartido): * desinstalar paquetes ntp y ntp-server. * instalar solo paquete ntpdate. * poner en /etc/default/ntpdate: NTPSERVERS="russell" * hacer script en /etc/cron.hourly/ntpdate: #!/bin/sh test -x /etc/init.d/ntpdate || exit 0 /etc/init.d/ntpdate start > /dev/null 2>&1 * Ver con comando sysv-rc-conf que /etc/init.d/ntpdate arranque en runlevel S (generalmente se pone solo al instalarse). ==== nfs de scratch ==== * Server * Agregar en ''/etc/auto.misc'' del server la línea para el montaje automático de los ''/import/automount/misc/scratch0x'', recompilar en ''/var/yp''. * Desktops * Crear ''/export/nfs/scratch'' y poner 777 a ''scratch''. * Agregar en ''/etc/exports'' las máquinas que pueden montarlo y hacer ''exportfs -r'' (FIXME, se puede hacer por NIS?). * Todas * Crear el link ''ln -s /import/automount/misc/scratch0x /var'' para que sea mas directo accederlo (FIXME, no se puede hacer desde ''auto.misc''?) ==== apt ==== Agregar ''Acquire::http::Proxy "http://proxy.famaf.unc.edu.ar:3128/";'' a ''/etc/apt/apt.conf''. ===== Permisos automáticos para audio,cdrom, etc. en sesiones kdm y gdm ===== Como usar los mecanismos de PAM para darle permisos de acceso a la "multimedia" del equipo. Primero echo "auth optional pam_group.so" >> /etc/pam.d/common-auth Agregar en ''/etc/security/group.conf'' login;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip kdm;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip,video gdm;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip,video Sacado de ''http://wiki.debian.org/DebianDesktopHowTo''. ===== Problema con udev para poner en orden placas de red ===== Editar archivo ''/etc/udev/rules.d/z25_persistent-net.rules'' ===== Resetear el password de root de MySQL ===== 1) Parar el servidor MySQL con el comando /etc/init.d/mysql stop 2) Asegurarse que no hayan quedado procesos MySQL corriendo. Esto se puede hacer ejecutando ps waux para obtener el PID de los procesos, y terminando los mismos con el comnando kill -9 PID 3) Iniciar el servidor, haciendo que no verifique los permisos al momento de ejecutar comandos /usr/bin/mysqld_safe --skip-grant-tables& 4) Conectarse a la base de datos "mysql" con el comando /usr/bin/mysql mysql Una vez hecho esto, ejecutar el siguiente comando UPDATE user SET Password=PASSWORD('NUEVO_PASSWORD') WHERE Host='localhost' AND User='root'; 5) Salir ejecutando "exit;" y reiniciar el servidor con el comando /etc/init.d/mysql restart ===== Configuración CUPS para impresoras en red cs ===== - Entrar a http://localhost:631 - Seleccionar pestaña "Administration" (ingresar root y su password cuando pida un usuario) - Seleccionar "Add printer" - Llenar los campos "Name:" "Location:" "Description:" (se puede poner cualquier cosa) y seleccionar "Continue" - En "Device:" seleccionar "AppSocket/HP JetDirect" y seleccionar "Continue" - Para Minolta: - En "Device URI:" poner %% socket://192.168.128.3:9100" %% - En "Make/Manufacturer" seleccionar "HP" y seleccionar "Continue" - Seleccionar "HP LaserJet PCL 6 CUPS" (o "HP LaserJet Series PCL 6 CUPS") y seleccionar "Modify Printer" - Se puede seleccionar cualquier impresora PCL 6 - Para Xerox: - En "Device URI:" poner %% socket://192.168.128.7:9100" %% - En "Provide a PPD File:" usar [[http://cs.famaf.unc.edu.ar/~bc/stuff/xrwc4260.ppd]]. - Cambiar los valores por defecto para que use hojas A4. ===== Configuración Ubuntu para impresoras en red cs ===== Probado con Ubuntu 13.10. Minolta: - Entrar a "System Settings" -> "Printers" -> "Add". - En "Enter URI" poner %% "socket://192.168.128.3:9100" %% o bien en "Network Printer" seleccionar "Minolta Di2011 (192.168.128.3)". Hacer click en "Forward". - En "Choose Driver" seleccionar "Select printer from database" y en el fabricante seleccionar "HP". Click en "Forward". - En "Models" seleccionar "LaserJet" y en "Drivers" seleccionar "HP LaserJet Series PCL 6 CUPS [en]". Click en "Forward". - En "Installable Options" chequear "Duplexer". "Forward". - Llenar los campos "Printer Name", "Description" y "Location" (se puede poner cualquier cosa). "Apply". - Listo! Imprimir con moderación. Xerox: - Entrar a "System Settings" -> "Printers" -> "Add". - En "Enter URI" poner %% "socket://192.168.128.7:9100" %% o bien en "Network Printer" seleccionar "Xerox WorkCentre 4260CMD:PS". Hacer click en "Forward". - En "Choose Driver" seleccionar "Provide PPD file". Bajar y usar [[http://cs.famaf.unc.edu.ar/~bc/stuff/xrwc4260.ppd]]. Click en "Forward". - FIXME ====== Trucos Latex ====== ===== Para achicar un paper ===== \renewcommand{\baselinestretch}{0.98} y \titlespacing FIXME Más trucos en [[http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/squeeze.html|Squeezing Space in LaTeX]]. ===== Para definir un operador ===== \providecommand{\newoperator}[3]{% \newcommand*{#1}{\mathop{#2}#3}} se usa como \newoperator{\FD}{\mathrm{FD}}{\nolimits} ===== Símbolos matemáticos en bold ===== Si se quiere usar un operador ya definido en bold usar el comando \boldsymbol, creo que esta en el amsmath.sty FIXME ===== Reglas de inferencia ===== Usar el paquete [[http://pauillac.inria.fr/~remy/latex/|mathpartir]] (en Debian hay un paquete). ===== Links bibliografía y trucos ===== * http://www.ljosa.com/~ljosa/latex-tips * http://www-db.stanford.edu/~manku/latex.html * http://www.cis.ksu.edu/VirtualHelp/Info/teTeX/ * {{trucos:essential.dvi.gz | Essential Latex}} ===== Para que corte lineas con url's cuando se usa hyperref ===== Usar paquete [[http://www.ctan.org/tex-archive/macros/latex/contrib/breakurl/|breakurl.sty]]. ===== Servidores IRC accesibles desde Famaf ===== Con puertos 6667 y 8001: * irc.debian.org * irc.freenode.net * irc.gimp.org * irc.ubuntu.com * irc.efnet.pl ====== Trucos Windows ====== La verdad........ No hay trucos de Windows SK .... pero Windows mismo es un chiste. GS ¿qué es güindous? AA kokoro!