linux-gestión de dispositivos2012
DESCRIPTION
Linux-Gestión de dispositivos2012TRANSCRIPT
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 2
Tabla de contenido
1. INTRODUCCIÓN…………………………………………………………………………….. 3 1.1. Archivos de dispositivo tipo bloque.………………………………………………………………….. 4 1.2. Archivos de dispositivo modo carácter.……………………………………………………………….. 4
2. MONTAR Y DESMONTAR S ISTEMAS DE ARCHIVOS.………………………………………….. 5 2.1. Montar el sistema de archivos. ……………………………………………………………………… 5 2.2. Montaje de sistemas de archivos durante el arranque.…………………………………………………. 6 2.2.1. OPCIONES DE FSTAB.…………………………………………………………………………...……….. 7 2.2.2. EJEMPLO DE ARCHIVO /ETC/FSTAB:………………………………………………………………...……….. 8 2.3. Conocer el espacio usado por un sistema de archivos.………………………………………………….. 8 2.4. Desmontar sistemas de archivos.………………………………………………………………...…... 9 2.5. Creación y formateo de un sistema de archivos.……………………………………………………….. 10
3. MANTENIMIENTO DE LOS S ISTEMAS DE ARCHIVOS.………………………………………… 11
4. IMPRESIÓN EN L INUX.………………………………………………………………...…… 12 4.1. Funcionamiento de la impresión.………………………………………………………………...…… 13 4.2. El proceso daemon lpd. ………………………………………………………………...…………... 13 4.2.1. EL ARCHIVO /ETC/PRINTCAP.…………………………………………………………………………………………………………………………...…………….. 14 4.2.2. CONSIDERACIONES SOBRE LA IMPRESIÓN.………………………………………………………………………………………………………………………………. 15 4.3. La orden lpr.………………………………………………………………...……………………... 15 4.4. La orden lpq.………………………………………………………………...…………………….. 16 4.5. La orden lprm.………………………………………………………………...…………………… 16 4.6. La orden lpc.………………………………………………………………...……………………. 17 4.7. CUPS. ………………………………………………………………...…………………………. 17 4.7.1. INSTALAR UNA IMPRESORA LOCAL CON CUPS: …………………………………………………………………………………………………………………… 19 4.7.2. COMPARTIR NUESTRA IMPRESORA:…………………………………………………………………………………………………………………………………………… 23 4.7.3. IMPRIMIR DESDE LINUX EN UNA IMPRESORA WINDOWS:……………………………………………………………………………………………………… 25
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 3
1. Introducción En Linux cada dispositivo representa un sistema de archivos. Los sistemas de archivos son la base de todos los datos en un sistema Unix/Linux. Ya hemos visto en un capítulo anterior en qué se basa su estructura y cuáles son los directorios “estándar” de una instalación, así como las órdenes esenciales para su gestión. Desde el punto de vista del usuario la estructura de árbol del sistema de archivos aparece como una entidad uniforme: lo único que se ven son directorios y archivos. En realidad, algunos de los directorios del árbol pueden componer distintas particiones del disco, situadas en diferentes discos, e incluso, dado el caso, en diferentes computadoras. Cuando una de esas particiones de disco se anexa al árbol a partir de un directorio conocido como punto de montaje, éste y todos los directorios por debajo de él conforman un subsistema de archivos. El directorio /dev contiene archivos especiales que se conocen como archivos de dispositivos. Estos archivos se utilizan para acceder a los distintos tipos de hardware que hay en el sistema. Por ejemplo, el archivo /dev/mouse sirve para poder leer las entradas del ratón. Al organizar los dispositivos hardware de este modo Linux hace que la interfaz correspondiente parezca un archivo. Esto significa que la mayoría de las veces puede usarse la misma sintaxis usada para gestionar archivos en la realización de operaciones con dispositivos. Muchos de los dispositivos del directorio /dev están en grupos lógicos. Algunos de los más utilizados son:
§ /dev/console : Hace referencia a la consola del sistema, que es el monitor de la computadora.
§ /dev/hd : Es la interfaz de dispositivo para las unidades de disco duro con controladora IDE1. El dispositivo /dev/hda1 hace referencia a la primera partición del disco duro hda. El dispositivo /dev/hda hace referencia al disco hda en su totalidad.
§ /dev/sd : Es la interfaz de dispositivo para discos SCSI o SATA. En los discos y particiones se aplican las mismas convenciones que para los discos IDE. Los dispositivos de almacenamiento con conexión USB (pendrives, HDs externos) usan esta interfaz también.
§ /dev/fd : Estos archivos proporcionan soporte para unidades de disco flexible (floppy disk). /dev/fd0 es la primera unidad de diskette (unidad A en DOS) y /dev/fd1 la segunda.
1 Integrate Drive Electronics (Electrónica de unidades avanzadas). Una unidad de disco que contiene su propia electrónica de control eliminando así la necesidad de emplear una ranura de expansión de la computadora.
Gestión de Dispositivos
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 4
§ /dev/st : Es el dispositivo para unidades de cinta magnética con controladora SCSI.
§ /dev/cdrom y /dev/cdrw : Interfaz para CD-‐ROMs y grabadoras de CD. En realidad son dos enlaces simbólicos al dispositivo /dev/sr o al /dev/scd.
§ /dev/tty : Estos archivos proporcionan distintas consolas para las entradas de
usuario. El nombre procede de cuando a las terminales se les denominaba teletipos. Bajo Linux proporcionan soporte a las consolas virtuales a las que se puede acceder pulsando [CTRL]+[ALT]+[F1..F6]. Estas consolas proporcionan sesiones independientes de entrada local simultánea. A la consola gráfica se accede pulsando [CTRL]+[ALT]+[F7].
§ /dev/pty :Los dispositivos pty proporcionan soporte para pseudoterminales. Se
utilizan para sesiones de entrada remotas como, por ejemplo, las que utiliza telnet.
§ /dev/ttyS : Son los puertos serie de la computadora. /dev/ttyS0 corresponde a COM1 bajo DOS y /dev/ttyS1 a COM2. Si se tiene un ratón serie /dev/mouse es un enlace simbólico a un dispositivo ttyS (generalmente ttyS0).
§ /dev/cua : Son dispositivos especiales utilizados con modems.
§ /dev/null : Es un dispositivo especial. Esencialmente es un pozo sin fondo. Todo lo
que se envía a este dispositivo se pierde.
1.1. Archivos de disposit ivo t ipo bloque. Son aquellos que se crean para acceder a dispositivos que transfieren datos en bloques que suelen ser de longitud fija (de 512, 1024 o 2048 bytes normalmente), a través de los buffers de entrada y salida. Son dispositivos de almacenamiento masivo y acceso aleatorio tales como discos y algunas cintas magnéticas que tienen un sistema de archivos “montable”. Estos archivos no se crean con una llamada normal del sistema (creat) sino con mknod 2(make node). Para borrarlos podemos utilizar rm. Las operaciones de entrada/salida con estos dispositivos se realizan siempre a través de los buffers caché con el objeto de acelerar los accesos. Estos buffers por lo general contienen aquellos bloques de datos más recientemente utilizados. Normalmente los dispositivos de bloque se usan para montar sistemas de archivos, aunque pueden tener otro uso.
1.2. Archivos de disposit ivo modo carácter. Se utilizan para acceder a dispositivos que trabajan en modo carácter como impresoras, plotters, terminales, cintas magnéticas e incluso algunos discos. Por lo general son cualquier dispositivo que no dispone de un sistema de datos “montable”. Se denominan así porque la entrada/salida se realiza sin acceder a los buffers, es decir, carácter a carácter. Se crean con una llamada mknod y se pueden borrar con rm.
2 mknod se utiliza para crear archivos de dispositivo por bloques o por caracteres. Creat se utiliza para crear archivos especiales (pueden ser de dispositivo o no) y devuelve un descriptor si se le suministra un pathname. Los descriptores son números suministrados por el kernel, normalmente no muy altos, que representan algo en el sistema a lo que se puede enviar bytes o desde donde se pueden leer. En UNIX muchas cosas se pueden usar como descriptores, a saber: tuberías, sockets (conexiones de red) o conexiones con periféricos. Las operaciones que se pueden realizar sobre ellos son read y write.
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 5
Algunos dispositivos podrán hacer E/S en los dos modos, por lo que disponen de dos archivos de dispositivo: uno para modo carácter y otro para modo bloque. Los discos, cintas magnéticas y cartuchos deberán disponer de los dos, ya que pueden tener sistemas de archivo montables. 2. Montar y desmontar sistemas de archivos.
2.1. Montar el s istema de archivos. Para montar un sistema de archivos en el árbol de directorios Linux es necesario disponer de una partición de disco duro o cualquier otro dispositivo de E/S. También hay que asegurarse de que el directorio sobre el que se va a montar el sistema (el punto de montaje) existe realmente, puesto que el hecho de intentar montar un sistema de archivos no crea el punto de montaje. Después de montar el sistema todos sus directorios y ficheros aparecerán bajo el directorio utilizado como punto de montaje. Linux utiliza la orden mount para montar un sistema de archivos. Posee la sintaxis siguiente:
Esta orden, en principio, sólo puede ser utilizada por el superusuario, de esta forma se refuerza la seguridad del sistema. Existen paquetes de software que permiten al resto de los usuarios montar sistemas de archivos específicos, especialmente disquetes. Si se utiliza mount sin argumentos se listan todos los sistemas de archivos montados. Tanto mount como umount3 mantienen esta lista en el archivo /etc/mtab. El comando mount puede aceptar varios modificadores, a saber:
-‐f (fake) Finge que se monta el sistema de archivos, es decir, hace que se realicen todas las funciones excepto la llamada del montaje en sí.
-‐a (auto) Monta aquellos sistemas de archivos incluídos en /etc/fstab excepto aquellos cuya línea contenga la cláusula noauto.
-‐v (verbose) Modalidad detallada. Proporciona información adicional acerca de lo que está tratando de hacer la orden.
-‐w Se va a montar el sistema con permisos de lectura/escritura (modo por defecto). -‐r Idem. solo lectura. -‐n Monta sin escribir en /etc/mtab. Esto es necesario cuando el directorio /etc está en
un sistema de archivos de solo lectura (por ejemplo cuando ejecutamos Linux en modo Live desde el CD-‐ROM).
-‐F Hace que mount se bifurque de forma que los sistemas de archivos se montan simultáneamente en paralelo. De esta forma se montan más rápidamente, pero el orden es arbitrario. Se usa conjuntamente con –a.
-‐t <tipo> Especifica el tipo de sistemas de archivos que se va a montar. Entre los tipos válidos están minix, ext, ext2, ext3, ext4, msdos, hpfs, proc, nfs, umsdos, sysv, ntfs-‐3g, vfat e iso9660.
§ minix Es un sistema de archivos local que admite nombres de archivo entre
14 y 30 caracteres. 3 Desmonta sistemas de archivos.
mount [modificadores] [dispositivo punto-‐de-‐montaje]
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 6
§ ext Utiliza nombres de archivos más largos e inodos más grandes (este sistema ha sido reemplazado por el ext2 y no debería utilizarse).
§ ext2 Es el sistema de archivos nativo de Linux. Ha sido reemplazo por ext3 y ext4, siendo relegado a sistemas de archivos en dispositivos de almacenamiento de poca capacidad como disquetes o pendrives).
§ nfs Es un sistema de archivos para montar particiones desde sistemas remotos.
§ sysv Es un sistema de archivos Unix System V. § msdos Es un sistema de archivos local para particiones MS-‐DOS. § vfat Sistema de archivos FAT32. § umsdos Idem. UMSDOS. Se utiliza para instalar Linux en una partición MS-‐
DOS. § ntfs Sistema de Archivos de Windows XP y Windows Server (ntfs-‐3g en
SuSe 10.3 y posteriores, así como en Ubuntu). § iso9660 Sistema local de archivos utilizado para unidades de CDROM. Es el
sistema predeterminado. § proc Se utiliza para el suministro de información de procesos4.
Si el único argumento de mount es –t lista los sistemas de archivos montados del tipo especificado.
Ejemplo: Montar la unidad de CD-‐ROM y una unidad de disquete con formato MSDOS (se supone que los puntos de montaje existen):
[gandalf@lotr:˜] # mount –tiso9660 /dev/cdrom /mnt/cdrom [gandalf@lotr:˜] # mount –tmsdos /dev/fd0 /mnt/floppy
Si un sistema de archivos no se monta correctamente es conveniente utilizar la orden mount con los modificadores v y f para comprobar qué es lo que hace mount. Aparecerá un listado detallado de los pasos llevados a cabo. Normalmente sólo el superusuario puede montar sistemas de archivos. Sin embargo cuando una línea del archivo /etc/fstab contiene la cláusula user en su columna opciones cualquiera podrá montar el sistema de archivos correspondiente.
2.2. Montaje de sistemas de archivos durante el arranque. Normalmente los sistemas de archivos que utiliza una plataforma Linux no cambian. Por esta razón, es fácil especificar una lista de sistemas de archivos que Linux monta al arrancar el sistema y que desmonta cuando se apaga. Esos sistemas de archivos se listan en archivos especiales de configuración como puede ser el archivo /etc/fstab (filesystem table). Cada línea tiene que tener los siguientes campos separados por espacios o tabuladores:
<sistema de archivos> <punto de montaje> <Tipo> <opciones> <frecuencia de volcado> <nº secuencia>
4 El sistema de ficheros /proc se utiliza para almacenar información acerca de los procesos del sistema, memoria disponible y otros datos relacionados. Si /proc no está montado, no funcionarán comandos como ps. Este sistema de ficheros no está asociado a ningún dispositivo o archivo especial y al montarlo se puede usar una palabra arbitraria, como por ejemplo proc, en vez de una especificación de dispositivo.
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 7
Argumento Descripción <sistema de archivos>
Especifica el dispositivo especial por bloques o el sistema de archivos remoto que se va montar.
<punto de montaje>
Especifica el directorio a partir del cual se va a montar el sistema de archivos. Para sistemas especiales de intercambio (swap) hay que utilizar la palabra none que hace que los archivos de intercambio estén activos pero no visibles en el árbol de archivos.
<tipo> Especifica el tipo de sistema que vamos a montar. Se admiten los mismos tipos vistos anteriormente con el modificador –t.
<opciones de montaje>
Lista de opciones separadas por comas para el sistema de archivos.
<frecuencia de volcado>
Especifica la frecuencia con la que deben hacerse copias de seguridad de archivos con la orden dump. Si este campo no existe, dump interpreta que no es necesario hacer copias de seguridad.
<Número de secuencia>
Especifica el orden en que deben comprobarse los sistemas de archivos por la orden fsck (que veremos más adelante) cuando se arranca el sistema. El sistema raíz debería tener un valor de 1. El resto de sistemas deberían tener valor 2. Si no se especifica un valor no se comprobará la consistencia del sistema de archivos durante el arranque. Los sistemas de archivos se chequearán secuencialmente si residen en el mismo disco, al mismo tiempo si residen en discos diferentes.
2.2.1. Opciones de fstab.
Argumento Descripción async Toda la Entrada/Salida al sistema de archivos debe realizarse de forma
asíncrona. atime Actualizar el tiempo de acceso al i-‐node para cada acceso. auto El sistema de archivos se puede montar con mount –a. defaults Emplea las opciones predeterminadas (rw, suid, dev, exec, auto, nouser,
async) dev Interpreta dispositivos especiales de caracteres o bloques en el sistema de
archivos. exec Permite la ejecución de binarios. noatime No actualizar los tiempos de acceso al i-‐node. Por ejemplo, para una acceso
más rápido en el directorio de ‘spool’ de las noticias o grupos de discusión (‘news’) o un servidor de noticias.
noauto Sólo puede montarse el sistema de archivos explícitamente. nodev No reconocer dispositivos especiales en bloques o caracteres en este
sistema de archivos. noexec No permitir la ejecución de archivos binarios. Puede ser útil en un
servidor que tiene sistemas de archivos con archivos binarios para otras arquitecturas distintas a la suya. Por ejemplo, cuando vemos una partición Windows bajo Linux.
nosuid No permitir el efecto de los bits suid y sgid. nouser Prohibir a un usuario ordinario montar el sistema de archivos. Es lo
predeterminado. remount Intentar remontar un sistema de archivos ya montado. Se emplea
normalmente para cambiar la opciones de montaje (por ejemplo para pasar un sistema de solo lectura a lectura-‐escritura.
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 8
ro Se monta para solo lectura. rw Se monta para lectura-‐escritura. suid Se permite el efecto de los bits suid y sgid. sync Toda la Entrada/Salida al sistema de archivos debe realizarse de forma
síncrona. user Se permite a un usuario ordinario montar el sistema de archivos. Implica
las opciones noexec, nosuid y nodev.
2.2.2. Ejemplo de archivos /etc/fstab: #device directory type options frecuency sequence /dev/hda3 / ext2 defaults 1 1 /dev/hda2 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 none /proc proc defaults 0 0 none /dev/pts devpts mode=0622 0 0 En Ubuntu: # /etc/fstab: static file system information. # # Use 'blkid -‐o value -‐s UUID' to print the universally unique identifier # for a device; this may be used with UUID= as a more robust way to name # devices that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # / was on /dev/sda1 during installation UUID=17b0e005-‐0a36-‐490a-‐bca2-‐8961337ce20a / ext4 errors=remount-‐ro 0 1 # swap was on /dev/sda5 during installation UUID=0781910d-‐28ac-‐487c-‐ba42-‐880dc2c9aa36 none swap sw 0 0 /dev/scd1 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/scd0 /media/cdrom1 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 #Parallels Shared Folder mount none /media/psf prl_fs sync,nosuid,nodev,noatime,share 0 0 Si quisiéramos montar en el arranque nuestra partición Windows con sistema de archivos NTFS bastaría con añadir al fichero /etc/fstab la siguiente línea: /dev/hda1 /windows ntfs-‐3g defaults 0 0 Teniendo en cuenta que el punto de montaje elegido es /windows y que debe existir previamente.
2.3. Conocer el espacio usado por un sistema de archivos. Para conocer información acerca de un sistema de archivos que se halla montado podemos utilizar la orden df (disk free) que posee el siguiente formato:
df [-‐i] [sistema-‐de-‐archivos]
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 9
Si no especificamos sistema-‐de-‐archivos se nos mostrarán todos los que estén montados en ese momento. La información que nos proporciona esta orden es relativa al nombre del sistema, número total de Kb de espacio que ocupa el sistema de archivos, número de Kb ocupados, espacio disponible, porcentaje de disco utilizado por los archivos y lugar donde está montado el sistema. Ejemplo: [gandalf@lotr:˜] # df S.Ficheros Bloques de 1K Usado Dispon Uso% Montado en /dev/hda2 1616495 1414790 118167 92% / /dev/sda1 208592 170888 37774 82% /dos /dev/fd0 1390 649 669 48% /mnt/floppy El modificador –i sustituye los datos en Kb por datos referidos a la tabla de i-‐nodos: número de i-‐nodos en uso, libres y tanto por ciento de i-‐nodos utilizados. Para conocer el espacio que ocupa un directorio en concreto y todos los archivos y subdirectorios que cuelgan de él podemos utilizar el comando du (disk usage).
Normalmente la salida se especifica en bloques de 512 bytes (de un 1Kb en las distribuciones actuales). Si se quiere obtener información en bloques de 1K, en su caso, habría que utilizar el modificador –k (solo versiones antiguas del comando). El modificador –s especifica que nos muestre sólo el tamaño en bloques del directorio (sin desglosar lo que ocupan sus archivos y subdirectorios). Para visualizar información sobre el espacio que ocupan todos los ficheros (no solo los directorios) usaremos el modificador –a. Ejemplo: [gandalf@lotr:˜] # du –sB1MB
2.4. Desmontar sistemas de archivos. Para desmontar los sistemas de archivos se utiliza la orden umount. Existen tres formas de utilizar este comando. La sintaxis básica de la orden es:
Para desmontar un sistema de archivos sólo es necesario especificar el dispositivo o el punto de montaje del sistema de archivos que se desea desmontar. Eso sí, nos deberemos asegurar de que ningún archivo del sistema de archivos a desmontar está abierto y de que ningún usuario tenga al sistema como directorio de trabajo. Ejemplo: [gandalf@lotr:˜] # umount /mnt/cdrom Si queremos desmontar todos los sistemas de archivos utilizaremos el modificador –a.
du [-‐ska] archivo
umount { [{dispositivo|punto de montaje}]|[-‐a]|[-‐t tipo] }
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 10
Ejemplo: [gandalf@lotr:˜] # umount –a Si queremos desmontar todos los sistemas de archivos de un tipo específico utilizaremos el modificador –t seguido del tipo en cuestión. Ejemplo: [gandalf@lotr:˜] # umount –t iso9660 La orden umount no desmonta los sistemas de archivos que estén en uso. Es decir, si nos encontramos en el directorio /mnt/cdrom e intentamos una orden umount /mnt/cdrom se producirá un error que indicará que el sistema está aún en uso (device is busy).
2.5. Creación y formateo de un sistema de archivos. Cuando se agrega un nuevo disco duro a la computadora, se desea cambiar la información de las particiones de un disco duro antiguo o se va a utilizar un disquete nuevo debemos crear un sistema de archivos a partir de una unidad sin formato. Para crear los sistemas de archivos se utiliza la orden mkfs (make filesystem) que es un programa de aplicación que llama a varios programas para crear el sistema de archivos, en función del tipo de sistema que se desee, y le da formato al dispositivo. La sintaxis de esta orden es:
-‐V: Hace que mkfs produzca una salida detalla (verbose), incluyendo todas las órdenes
específicas del sistema de archivos que se ejecuten. -‐t tipo: Especifica qué tipo de sistema se va a construir. Si no se especifica tipo, mkfs trata
de averiguarlo buscándolo en /etc/fstab, utilizando la entrada correspondiente. Si no puede encontrarlo crea un sistema minix.
opciones-‐fs: Opciones específicas del sistema de archivos que se pasarán al programa de construcción. Las opciones comúnmente admitidas son:
-‐c: Antes de construir el sistema comprueba el dispositivo para ver si hay bloques defectuosos.
-‐l nombre-‐archivo: Lee desde el archivo especificado una lista de los bloques incorrectos en el disco.
-‐v: Salida detalla. Algunos programas constructores de sistemas de archivos específicos no aceptan esta opción.
sistema-‐de-‐archivos: Especifica el dispositivo en el que se ubica el sistema de archivos. bloques: Especifica el número de bloques que utilizará el sistema de archivos.
Existe una orden específica para crear sistemas de archivos Linux. Esta orden es mke2fs y tiene el siguiente formato sintáctico (sólo se muestran los principales modificadores):
mkfs [-‐V][-‐t tipo][opciones-‐fs] sistema-‐de-‐archivos [bloques]
mke2fs [-‐c][-‐j][-‐L][-‐F][-‐t tipo] sistema-‐de-‐archivos
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 11
Donde:
-‐c Chequea el dispositivo en busca de bloques defectuosos antes de crear el sistema de archivos. Si se especifica dos veces se usará un test lento de lectura-‐escritura en vez de uno rápido de solo lectura.
-‐j Crea el sistema de archivos ext3 con soporte para journaling. Si no se especifica el sistema creará un diario con los valores por defecto.
-‐L Especifica la etiqueta de volumen. Disponemos de 16 bytes para la etiqueta. Este modificador se puede usar también para cambiar la etiqueta a un volumen ya creado.
-‐F Fuerza al comando a crear el sistema de archivos incluso si el volumen especificado no es una partición en un dispositivo por bloques, o si alguno de los parámetros de configuración no se ajustan a la realidad. Si queremos forzar la creación del sistema de archivos incluso si el mismo ya está montado y en uso, deberemos especificar el modificador dos veces.
3. Mantenimiento de los sistemas de archivos. El administrador del sistema es el responsable de mantener la integridad de los sistemas de archivos. Normalmente, esto supone comprobar los sistemas de archivos periódicamente, para ver si existen archivos dañados o deteriorados. Linux comprueba automáticamente los sistemas de archivos en el momento del arranque si éstos tienen especificado un valor superior a 0 en el campo numérico de secuencia del archivo /etc/fstab. Pueden ser diversas las causas que provoquen inconsistencias en el sistema de archivos, pero sin duda la más corriente viene determinada por un corte en el suministro eléctrico (un apagón, una desconexión accidental, etc.). Cuando esto ocurre, Linux no tiene posibilidad de guardar los buffers de entrada-‐salida, ni de almacenar en el disco el contenido del superbloque que se encuentra en la memoria. Este problema se resuelve con la orden fsck (filesystem check).
Donde:
-‐A: Recorre el archivo /etc/fstab y trata de comprobar todos los sistemas de archivos de una sola pasada. Esta opción se utiliza normalmente durante la secuencia de arranque de Linux para comprobar si todos los sistemas de archivos se han montado correctamente. Con este modificador no podemos utilizar el argumento sistema-‐de archivos.
-‐R: Usado conjuntamente con –A hace que se salte el chequeo del sistema raíz (en caso de estar montado para lectura/escritura).
-‐V: (verbose). Modo detallado, visualiza información adicional sobre las acciones que va realizando fsck.
-‐t tipo: Especifica el tipo del sistema de archivos que debe comprobarse. -‐a: Arregla automáticamente cualquier problema detectado en el sistema de archivos sin
pedir confirmación. Esta opción hay que utilizarla con precaución. -‐l: Lista los nombres de los archivos en el sistema de archivos. -‐r: Pide confirmación antes de reparar daños. -‐s: Lista el superbloque antes de comprobar el sistema de archivos. sistema-‐de-‐archivos: puede ser el dispositivo o el punto de montaje.
Conviene desmontar un sistema de archivos antes de chequearlo. De este modo se asegura que ninguno de los archivos esté utilizándose cuando se comprueba la integridad del sistema de
fsck [-‐A][-‐V] [-‐t tipo] [-‐a][-‐l][-‐r][-‐s] [sistema-‐de-‐archivos]
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 12
archivos. Si fsck realiza algún cambio en el sistema de archivos es recomendable reiniciar el sistema (podemos utilizar shutdown –r now). La comprobación del sistema de archivos raíz plantea un problema adicional. No se puede desmontar directamente el sistema de archivos principal, ya que Linux tiene que poder acceder a él para poder ejecutarse. Para realizar esta comprobación hay que arrancar el sistema con un disquete de mantenimiento que contenga un sistema de archivos raíz y desde allí ejecutar fsck. Una versión más avanzada de este comando para sistemas de archivos ext2 y ext3 es e2fsck que guarda la sintaxis siguiente:
-‐p: (preen) Automáticamente repara el sistema de archivos. Si el comando descubre un
problema que requiere la intervención del administrador, visualizará una descripción del problema y provocará la salida del comando con un valor de 4. NO se utiliza conjuntamente con –n o –y.
-‐c: Provoca el uso del programa badblocks en busca de bloques defectuosos. Si se encuentra alguno será añadido a la lista de bloques defectuosos para evitar su uso. Si se especifica dos veces el chequeo se realizará con un proceso no destructivo de lectura/escritura.
-‐D : Optimiza directorios en el sistema de archivos (para más información mirar página de manual).
-‐f: Fuerza el chequeo incluso si el sistema parece estar limpio. -‐n: Abre el sistema de archivos para solo lectura (se asume una respuesta negativa al resto
de preguntas, es decir, permite el uso no interactivo del comando). -‐y: Asume una respuesta afirmativa a todas las cuestiones (permite el uso no interactivo del
comando). -‐v: (verbose) Modo prolijo.
Podemos visualizar la información de configuración de un sistema de archivos con el comando dumpe2fs y para sacar una imagen del sistema de archivos el comando e2image (consultar página de manual).
4. Impresión en Linux. Linux requiere algunos pasos más para la configuración de las impresoras que otros sistemas operativos como Windows y OS/2. Para poder imprimir correctamente un trabajo, Linux se basa en una serie de directorios y archivos de configuración. Los sistemas comunes de impresión para UNIX/Linux se denominan sistemas lpr. El daemon de impresión, lpd, utiliza estos directorios para imprimir sus trabajos. Cuando se da la orden de imprimir un archivo, Linux envía éste primero a una zona de memoria temporal con el objetivo de que la diferencia de velocidad existente entre la impresora y la CPU no ralentice la sesión de trabajo. Este proceso se conoce con el nombre de gestión de colas (SPOOL, simultaneous peripherical operation off-‐line) por lo que las impresoras reciben el nombre de dispositivos de gestión de colas. Por tanto, cuando imprimimos un archivo en este sistema, no va directamente a la impresora sino que guarda turno para ser impreso. Debido a que Linux ha heredado parte de la funcionalidad de UNIX, admite muchos tipos de impresora.
e2fsck [-‐pcnyfvD] sistema-‐de-‐archivos
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 13
4.1. Funcionamiento de la impresión. La forma más sencilla de imprimir bajo UNIX/Linux es enviando los datos de impresión directamente al dispositivo de impresión redireccionando la salida de una orden. Por ejemplo, para obtener un listado del directorio activo a través de la impresora conectada al primer puerto paralelo haríamos: [gandalf@lotr:˜] # ls > /dev/lp0 Pero de esta forma no nos beneficiamos de las características multitarea del sistema operativo ya que esta orden tarda en ejecutarse tanto como tarde la impresora en imprimir el directorio. Un método más rápido consiste en enviar los datos a imprimir a la cola de impresión, que es como normalmente se hace cuando se trabaja en Linux. Para cada impresora se define un área de gestión de colas donde se recogen los datos enviados a ella. Un proceso explora constantemente las áreas de gestión de colas en busca de nuevos archivos a imprimir. Cuando encuentra uno lo envía directamente a la impresora correspondiente. La cola de impresión se gestiona según el sistema FIFO (el primer trabajo en llegar a la cola es el primero en imprimirse). El proceso que se encarga de realizar este trabajo se denomina demonio o daemon de impresión y la información que necesita para llevarlo a cabo está almacenada en el archivo /etc/printcap (printers capabilities) que contiene información relativa al dispositivo físico, área de gestión de colas, etc. El sistema de impresión de UNIX consta de algunos programas que deben encontrarse en las ubicaciones que se muestran en la siguiente tabla, tener al superusuario como propietario, pertenecer al grupo daemon y tener los permisos que se muestran en la misma tabla.
Permisos Ubicaciones de archivo -‐rwsr-‐sr-‐x /usr/bin/lpr -‐rwsr-‐sr-‐x /usr/bin/lpq -‐rwsr-‐sr-‐x /usr/bin/lprm -‐rwxr-‐s-‐-‐-‐ /usr/sbin/lpd
Los tres primeros archivos se utilizan para enviar, inspeccionar y cancelar los trabajos de impresión respectivamente. El proceso daemon de impresión es lpd.
4.2. El proceso daemon lpd . El demonio lpd es el encargado de manejar todos los trabajos de impresión. Si el proceso lpd no se está ejecutando Linux no puede imprimir ningún trabajo y los archivos de impresión permanecen en los directorios de gestión de colas hasta que éste se inicie, ya que se encarga del manejo de las colas de impresión. En el caso de que lpd no haya sido lanzado al inicializarse el sistema, tendremos que utilizar la orden siguiente para lanzarlo nosotros:
Donde: -‐l: Genera un archivo de registro con cada petición de impresión.
lpd [-‐l]
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 14
El modo de funcionamiento de lpd viene determinado por un archivo de configuración: el /etc/printcap. El demonio lpd arrastra consigo problemas de seguridad y por eso ha sido sustituido en las distribuciones actuales por otras utilidades como cups (la más difundida) LPRng o pdq. Éste último aunque mejora la seguridad respecto a lpd, no la resuelve completamente, razón por la cual es el menos utilizado.
4.2.1. El archivo /etc/printcap. Se trata de un fichero de texto al cual se puede acceder si se es usuario root y si tiene los permisos –rw-‐r—r-‐-‐. Cada entrada en el archivo describe una impresora. Básicamente una entrada printcap proporciona un nombre lógico para un dispositivo físico y luego describe el manejo de los datos que se envían a este dispositivo. Proporciona también el directorio de gestión de colas en el que deben almacenarse los datos enviados a ese dispositivo y el lugar donde deben registrarse los errores producidos en ese dispositivo. Se puede limitar la cantidad de datos que se envían en un solo trabajo o limitar el acceso a la impresora a determinados usuarios. Es posible tener varias entradas printcap que definan el manejo de los datos destinados a la misma impresora física. Por ejemplo, una misma impresora puede soportar al mismo tiempo formatos de datos PostScript y HP Laserjet dependiendo de la secuencia establecida que se le mande a la impresora antes de cada trabajo. Todos los campos del archivo printcap, salvo el que contiene los nombres de impresora, están enmarcados por el signo de dos puntos (:) e identificados por un código de dos letras. Este código va seguido de un valor que depende del tipo de campo: cadena, booleano y numérico. Cada línea termina con el carácter de continuación “\” salvo la última (se supone que cada entrada –fila-‐ corresponde a una impresora, por eso se utiliza el carácter de continuación). Los campos más importantes son:
Campo Tipo Descripción
lp cadena Especifica el dispositivo de impresión, por ejemplo /dev/lp0.
sd cadena Especifica el nombre del directorio de gestión de colas (spool directory) para esa impresora.
lf cadena Especifica el archivo donde se registran los errores de esa impresora. El archivo debe existir previamente. Por ejemplo: /usr/spool/lpd/epsonC42Errors.
if cadena Especifica el nombre del filtro de entrada (el programa que convierte los datos a PostScript o HP, por ejemplo).
rm cadena Especifica el nombre de un sistema de impresión remoto. En este caso el campo lp debe quedar vacío.
rp cadena Especifica el nombre de una impresora remota. En este caso el campo lp debe quedar vacío.
sh boolean Especifica que las cabeceras pueden eliminarse (páginas de carátula).
sf boolean Especifica el carácter que indica final de trabajo, el cual puede suprimirse.
mx numérico
Especifica el tamaño máximo para un trabajo de impresión (en bloques).
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 15
4.2.2. Consideraciones sobre la impresión. Si se especifica /dev/null como dispositivo de impresión local en el campo lp los datos finales se envían en vez de a una impresora a la cubeta de bits, es decir, a ninguna parte. Esta acción sólo resulta útil para configuraciones de prueba. Cuando se configura una impresora remota (aquella que está conectada a la red), es decir, se le da valor a los campos rp y rm, hay que escribir lp=:. En otro caso, este campo no puede estar vacío. El archivo que se especifique en el campo lf debe existir previamente, porque de otro modo no se guardará registro de los errores. Los filtros de entrada son programas que aceptan datos de impresión en su entrada estándar (normalmente ASCII) y generan datos de salida en su salida estándar (generalmente en PostScript). El proceso daemon de impresión ejecuta el filtro de entrada con los datos de gestión de colas como entrada estándar y el dispositivo de impresión como salida estándar. Salvo que varias personas utilicen una misma impresora no tiene mucho sentido imprimir carátulas separadoras de trabajos, para lo cual se debe especificar el campo sh. Cuando se imprimen normalmente trabajos procedentes de procesadores de texto es conveniente anular la inserción del carácter de fin de página con sf para evitar que después de la impresión de una página obtengamos otra vacía. No obstante, si se imprimen programas o directorios, el salto de página hace que la última página se expulse y que cada listado comience al principio de otra. El campo mx permite limitar el tamaño en bloques de los datos de impresión. El número que se especifica está en bloques BUFSIZE (1 K en Linux). Si se especifica valor 0 se elimina el límite y los trabajos de impresión quedan sólo limitados por el espacio disponible en disco. Si un usuario supera el límite especificado el fichero se trunca y se emite un mensaje del tipo: lpr: nombre-‐fichero: copy file is too large. El ejemplo siguiente muestra la definición de una impresora en un archivo printcap: ##PRINTTOOL 3## LOCAL djet500 300x300 a4 {} Deskjet 500 Mono Prede.1 lp:\ :sd=/var/spool/lpd/lp:\ :mx#0:\ :sh:\ :lp=/dev/lp0:\ :if=/var/spool/lpd/lp/filter:
4.3. La orden lpr. Esta orden envía un trabajo a la impresora o pone en cola un trabajo de impresión. En este caso el archivo especificado se copia al directorio de gestión de colas. Si no se especifica archivo el comando lee de la entrada estándar. El tamaño de éste venía especificado en el archivo minfree que se halla en cada directorio y que además especifica el número de bloques de disco que deben reservarse para gestionar los archivos de cola y enviarlos a la impresora. De esta forma se evita que el daemon lpd utilice todo el disco duro para gestionar la cola de impresión. Su sintaxis es:
lpr [-‐P impresora] [-‐h] [-‐#nº] [archivos]
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 16
Donde: -‐P impresora: Especifica la impresora a la que queremos enviar la salida. -‐h: Elimina la primera hoja de cabecera. -‐#nº: Saca n copias del documento. Si no se especifica un nombre de fichero, lpr asume que la entrada será efectuada por la entrada estándar (normalmente el teclado o la salida de otro programa). Esto permite que el usuario redirija la salida de un programa al dispositivo de impresión. Ejemplo:
[gandalf@lotr:˜] $ cat tesis.txt | lpr
4.4. La orden lpq . Muestra el contenido del directorio de gestión de colas para una impresora determinada. Una parte importante de la información mostrada por lpq es el identificador del trabajo necesario para el caso en que decidamos cancelar su impresión.
El comando también muestra la jerarquía de cada trabajo en la cola, es decir, su lugar en la misma. Si el archivo está imprimiéndose en ese momento o lpd está tratando de imprimirlo, junto a su nombre aparecerá la palabra active. Ejemplo:
[gandalf@lotr:˜] $ lpq lp is ready and printing Rank Owner Job Files Total Size active mwf 31 tesis.txt 682048 bytes
4.5. La orden lprm . Elimina un trabajo de la cola. El usuario puede especificar el identificador del trabajo o el número de trabajo suministrados por la orden lprm. Si se introduce lprm – como usuario root, se cancelarán todos los trabajos de la cola de impresión. Para cancelar todos los trabajos de un usuario basta con introducir lprm y el nombre del usuario.
Con el modificador –P eliminamos todos los trabajos enviados a la impresora especificada. Ejemplo: [gandalf@lotr:˜] $ lprm – El comando anterior cancela todos los trabajos de impresión que son propiedad del usuario que envió el comando. Se puede cancelar un trabajo de forma individual obteniendo primero el número del trabajo usando lpq, dando entonces el número a lprm.
lpq [-‐P impresora]
lprm [-‐P impresora] [-‐] [Trabajo] [usuario]
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 17
Ejemplo: [gandalf@lotr:˜] $ lprm 31 …cancelaría el trabajo 31 (tesis.txt) en la impresora por defecto.
4.6. La orden lpc. Permite comprobar el estado de las impresoras y controlar algunos aspectos de su utilización. En concreto, permite iniciar y detener el volcado de trabajos a la impresora, activar o desactivar impresoras y reorganizar el orden de los trabajos en la cola de impresión. Si se teclea lpc sin argumentos, la orden nos pedirá que indiquemos las acciones que se desean ejecutar. De este modo interactivo podemos salir pulsando exit. El formato es:
Lista de órdenes de lpc:
Orden lpc Parámetro Descripción
stop {<Impresora>|all} Detiene la impresora, pero las peticiones de impresión siguen entrando en la cola
start {<Impresora>|all} Permite que la impresora inicie la impresión de archivos que se encuentran en la cola
down {<Impresora>|all} Desactiva la impresión en la impresora especificada
enable {<Impresora>|all} Habilita la gestión de colas en la impresora especificada
topq Nº trabajo Mueve el trabajo especificado al principio de la cola
exit, quit (ninguno) Permiten salir del modo interactivo de lpc
status {<Impresora>|all} Muestra el estado actual de la impresora así como el número de trabajos que se hallan a la espera de ser imprimidos.
Ejemplos: [gandalf@lotr:˜] # lpc down miimpresora [gandalf@lotr:˜] # lpc enable tuimpresora [gandalf@lotr:˜] # lpc topq 37
4.7. CUPS. El sistema de impresión CUPS (Common UNIX Printing System) reemplaza al sistema de impresión lpr/lpd. Es un sistema de impresión modular para Sistemas Operativos basados en Unix que convierte al ordenador en un servidor de impresión. Empezó a desarrollarse en 1997 por Easy Software Products y originalmente usó el protocolo LPD pero debido a sus limitaciones y agujeros de seguridad, así como a incompatibilidades entre marcas, se optó por cambiarlo por IPP (Internet Printing Protocol). Gracias a ello pronto sería adoptado por diversas distribuciones Linux y en el 2002 Apple adoptó CUPS para su Mac OS X. En 2007 Apple compró CUPS y empleó a su desarrollador, el ingeniero Michael Sweet.
lpc [orden] [parámetro]
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 18
Utiliza una interfaz web (frontend) para la configuración del sistema de impresión, añadir nuevas impresoras, chequear la cola de trabajos, etc. A esta interfaz se accede por el puerto 631. (http://localhost:631). Consta de:
a. el demonio de impresión cupsd (print spooler daemon): vigila los directorios spool
buscando trabajos a imprimir. Cuando aparece alguno, cupsd lanza una copia de sí mismo que imprimirá el archivo en la impresora apropiada. Constituye el backend del sistema.
b. la cola de impresión (spool): ubicada en el directorio /var/spool/cups, donde se almacenan los trabajos a imprimir. Los nuevos trabajos a imprimir se colocan en la cola de impresión a la espera de ser atendidos. La gestión de la cola se rige por el sistema FIFO: el primero que entra es el primero que sale.
c. los comandos lpr/lpd para manejar la cola de impresión: el sistema lpr/lpd es uno de
los estándares de UNIX, y las aplicaciones asumen que tendrán los comandos de este sistema de impresión disponibles. Por este motivo CUPS proporciona su propia versión de esos comandos, que son:
o lpr (o lp): enviar trabajos a la cola de impresión. Este comando copia el archivo a imprimir en el directorio de spool, donde permanece hasta que el demonio cupsd lo imprime. Su sintaxis es:
lpr <archivo>
o lpq: consultar los trabajos pendientes en la cola de impresión. o lpc: configurar las impresoras. o lprm: eliminar trabajos de la cola de impresión.
d. los drivers PPD de las impresoras PostScript5: en Linux, cuando una aplicación envía un documento a la impresora genera un archivo PostScript.
Si la impresora entiende el lenguaje PostScript puede imprimir el documento directamente. Sólo tenemos que decirle a CUPS cuáles son las características de la impresora, y eso lo hace el archivo PPD (Postscript Printer Description): contiene todas las características de la impresora, como tamaños de papel, colores, resoluciones disponibles, etc. Si la impresora no entiende PostScript debemos traducir los documentos que generan las aplicaciones (PostScript) a un lenguaje que entienda la impresora, por lo que necesitamos un filtro. De esto se encarga Foomatic6 (paquete foomatic-‐db-‐engine): proporciona el archivo PPD y los filtros necesarios para traducir los documentos (trabaja sobre GhostScript7). En ambos casos, el archivo PPD de la impresora se puede descargar desde LinuxPrinting (linuxprinting.org) o desde la web de CUPS (cups.org) y se debe guardar en el directorio /usr/share/cups/model.
e. los comandos CUPS para administrar las impresoras: lpinfo, lpadmin, enable, disable, accept, reject, lpoptions y lpstat.
5 PostScript es un lenguaje de descripción de páginas (en inglés PDL, page description language), utilizado en muchas impresoras y, de manera usual, como formato de transporte de archivos gráficos en talleres de impresión profesional. 6 Es un sistema de impresión diseñado para facilitar la configuración de impresoras. Proporciona una interfaz entre el gestor de impresión CUPS o lpr y la impresora real. 7 Permite presentar formatos pdf y ps (PostScript) en la pantalla y traducirlos para que puedan ser impresos.
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 19
f. la interfaz web de CUPS: es la mejor opción para administrar CUPS.
4.7.1. Instalar una impresora local con CUPS: Veamos cómo instalar una impresora local con CUPS utilizando su interfaz web:
• conectamos la impresora. • conseguimos e instalamos el archivo PPD de nuestra impresora. • instalamos Foomatic si la impresora no es PostScript. • reiniciamos el demonio de CUPS:
[gandalf@lotr:˜] # /etc/init.d/cupsys restart
• accedemos al interfaz web de CUPS: http://localhost:631 y entramos en Administración o directamente seleccionamos Añadiendo Impresoras y Clases (Adding Printers and Classes) .
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 20
• pulsamos Añadir impresora (Add Printer).
• en la siguiente pantalla se nos preguntará el Tipo de conexión. Si Linux ha detectado una impresora local la listará y podremos seleccionarla, si no, deberemos configurar la conexión manualmente (en este ejemplo vamos a instalar una impresora HP F4100):
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 21
• Indicamos un nombre para la impresora, una descripción y su localización física:
• nos pedirá Usuario y Contraseña, ya que para administrar impresoras hay que tener permisos de root (la contraseña se envía en texto plano, sin encriptar).
• Si la impresora es local y la ha detectado el sistema, pulsamos en la siguiente pantalla Añadir Impresora (el sistema habrá conseguido la información necesaria y habremos finalizado la instalación. En el caso de una impresora en red aún deberemos especificar marca y modelo manualmente.
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 22
• Al pulsar Añadir Impresora (Add Printer) nos aparece una pantalla donde deberemos establecer los parámetros por defecto de la misma. Una vez realizado este paso se nos informa de las especificaciones de la impresora.
• Pulsando en la opción Impresoras del menú iremos a la página de la nueva impresora. Desde aquí podemos monitorizar los trabajos de impresión (botón Mantenimiento -‐Maintenance), cambiar las opciones de configuración, seleccionarla como impresora predeterminada, etc. (botón Administración-‐Administration).
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 23
4.7.2. Compartir nuestra impresora: Tenemos dos posibilidades para compartir nuestra impresora:
1. que CUPS escuche conexiones de máquinas remotas
Los equipos que dispongan de un cliente IPP (Linux, Unix, Mac y Windows XP) podrán conectar con el demonio de impresión cupsd de nuestra máquina mediante el protocolo IPP (Internet Printing Protocol, puerto 631 TCP), e imprimir en nuestra impresora, una vez que les permitamos acceder. Para ello, en el archivo de configuración de CUPS, /etc/cups/cupsd.conf especificaremos qué máquinas tienen acceso a CUPS. Buscaremos las líneas:
<Location /> Order Deny,Allow Deny All Allow 127.0.0.1 </Location>
Vemos que por defecto sólo puede acceder a CUPS la propia máquina (127.0.0.1). Para que puedan acceder las máquinas de la LAN añadiremos la línea:
Allow 192.168.0.0/255.255.255.0
Para terminar reiniciamos el demonio de CUPS:
# /etc/init.d/cupsys restart Una vez compartida la impresora, es muy sencillo imprimir desde Linux como hemos visto:
o Interfaz web de CUPS http://localhost:631 o Administración, Añadir impresora
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 24
o Introducimos Nombre de la impresora, Ubicación y Descripción o Tipo de conexión, Internet Printing Protocol (IPP). o URL de la conexión (Ej.-‐ ipp://192.168.0.2/printers/Canon). o Modelo, Usuario y Contraseña y la impresora ya está instalada.
También es muy sencillo imprimir desde Windows XP:
o Asistente para agregar impresoras o Impresora de red o una impresora conectada a otra computadora o Conectarse a una impresora en Internet o en su red doméstica u organización o URL de la conexión, (Ej.-‐ http://192.168.0.2:631/printers/Canon). o Instalamos los drivers de la impresora desde el CD del fabricante y listo.
2. que el servidor Samba atienda peticiones remotas y las pase a CUPS
Los equipos que dispongan de un cliente SMB (Windows) podrán conectar con el servidor Samba (paquete samba) de nuestra máquina mediante el protocolo SMB (puerto 139 TCP), y éste se encargará de pasarle la petición a CUPS.
Vamos a configurar el servidor Samba para compartir nuestra impresora. Primero crearemos en nuestro sistema un usuario específico (smbprint) para que acceda a la impresora mediante Samba. Si queremos permitir acceso anónimo lo podemos crear sin contraseña:
[gandalf@lotr:˜] # /usr/sbin/adduser -‐-‐system -‐-‐disabled-‐password smbprint
Para compartir nuestra impresora CUPS y que sólo el usuario smbprint tenga acceso a ella, como invitado (por lo que todas las máquinas de la red local y con conexión directa desde Internet podrán imprimir), editaremos el archivo /etc/samba/smb.conf poniendo:
[printers] browseable = yes printable = yes public = yes guest only = yes guest account = smbprint path = /home/smbprint
Además tenemos que decirle a Samba que el sistema de impresión es CUPS, no lpr/lpd, por lo que cambiaremos /etc/samba/smb.conf para que quede:
[global] printcap name = cups printing = cups
Grabamos los cambios y reiniciamos Samba:
[gandalf@lotr:˜] # /etc/init.d/samba restart
Mode Martínez Palenzuela – 2012 I.E.S. Zaidín - Vergeles
Linux: Gestión de Dispositivos | 25
Una vez compartida la impresora, es muy sencillo imprimir desde Windows:
o localizamos nuestra máquina en el Explorador de archivos. Veremos que tiene una impresora compartida.
o pulsamos Conectar... e instalamos los drivers desde el CD del fabricante.
4.7.3. Imprimir desde Linux en una impresora Windows: Para conectar desde Linux con un equipo remoto Windows que tiene una impresora compartida usaremos el cliente Samba (paquete smbclient), mediante el protocolo SMB, puerto 139 TCP. CUPS utiliza como back-‐end el programa smbspool de Samba.
Primero nos aseguraremos de que podemos acceder a la máquina Windows: [gandalf@lotr:˜] # smbclient -‐L 192.168.0.2 -‐U usuario Una vez comprobado que la impresora remota es accesible, es muy sencillo imprimir:
• Interfaz web de CUPS http://localhost:631 • Administración, Añadir impresora • Introducimos Nombre de la impresora, Ubicación y Descripción • Tipo de conexión, Windows Printer via Samba. • URL de la conexión, (Ej.-‐ smb://usuario:[email protected]/Canon). Si el usuario con
permiso para imprimir en el servidor Samba se llama igual que el usuario que lanza la impresión, no es necesario especificarlo.
• Modelo, Usuario y Contraseña y ya está.