Tabla
de
contenido
1.
INTRODUCCIN .. 3
1.1.
Archivos de dispositivo tipo bloque... 4
1.2.
Archivos de dispositivo modo carcter... 4
2.
MONTAR Y DESMONTAR SISTEMAS 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.
Creacin y formateo de un sistema de archivos... 10
3.
MANTENIMIENTO DE LOS SISTEMAS DE ARCHIVOS. 11
4.
IMPRESIN EN LINUX. ... 12
4.1.
Funcionamiento de la impresin.... 13
4.2.
El proceso daemon lpd. ...... 13
4.2.1.
4.2.2.
La orden lpr....... 15 La orden lpq...... 16 La orden lprm.... 16 La orden lpc..... 17 CUPS. .... 17
INSTALAR UNA IMPRESORA LOCAL CON CUPS: 19 COMPARTIR NUESTRA IMPRESORA: 23 IMPRIMIR DESDE LINUX EN UNA IMPRESORA WINDOWS: 25
Gestin
de
Dispositivos
1.
Introduccin
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
captulo
anterior
en
qu
se
basa
su
estructura
y
cules
son
los
directorios
estndar
de
una
instalacin,
as
como
las
rdenes
esenciales
para
su
gestin.
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
ratn.
Al
organizar
los
dispositivos
hardware
de
este
modo
Linux
hace
que
la
interfaz
correspondiente
parezca
un
archivo.
Esto
significa
que
la
mayora
de
las
veces
puede
usarse
la
misma
sintaxis
usada
para
gestionar
archivos
en
la
realizacin
de
operaciones
con
dispositivos.
Muchos
de
los
dispositivos
del
directorio
/dev
estn
en
grupos
lgicos.
Algunos
de
los
ms
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
particin
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
conexin
USB
(pendrives,
HDs
externos)
usan
esta
interfaz
tambin.
/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.
Integrate
Drive
Electronics
(Electrnica
de
unidades
avanzadas).
Una
unidad
de
disco
que
contiene
su
propia
electrnica
de
control
eliminando
as
la
necesidad
de
emplear
una
ranura
de
expansin
de
la
computadora.
Linux: Gestin de Dispositivos
|
3
1
/dev/st : Es el dispositivo para unidades de cinta magntica con controladora SCSI. /dev/cdrom y /dev/cdrw : Interfaz para CD-ROMs y grabadoras de CD. En realidad son dos enlaces simblicos 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 simultnea. A la consola grfica 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 ratn serie /dev/mouse es un enlace simblico 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 enva a este dispositivo se pierde.
1.1. Archivos de dispositivo tipo 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
travs
de
los
buffers
de
entrada
y
salida.
Son
dispositivos
de
almacenamiento
masivo
y
acceso
aleatorio
tales
como
discos
y
algunas
cintas
magnticas
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
travs
de
los
buffers
cach
con
el
objeto
de
acelerar
los
accesos.
Estos
buffers
por
lo
general
contienen
aquellos
bloques
de
datos
ms
recientemente
utilizados.
Normalmente
los
dispositivos
de
bloque
se
usan
para
montar
sistemas
de
archivos,
aunque
pueden
tener
otro
uso.
1.2. Archivos de dispositivo m odo carcter.
Se
utilizan
para
acceder
a
dispositivos
que
trabajan
en
modo
carcter
como
impresoras,
plotters,
terminales,
cintas
magnticas
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,
carcter
a
carcter.
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
nmeros
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:
tuberas,
sockets
(conexiones
de
red)
o
conexiones
con
perifricos.
Las
operaciones
que
se
pueden
realizar
sobre
ellos
son
read
y
write.
Algunos dispositivos podrn hacer E/S en los dos modos, por lo que disponen de dos archivos de dispositivo: uno para modo carcter y otro para modo bloque. Los discos, cintas magnticas y cartuchos debern disponer de los dos, ya que pueden tener sistemas de archivo montables.
ext
Si el nico argumento de mount es t lista los sistemas de archivos montados del tipo especificado.
Utiliza nombres de archivos ms largos e inodos ms grandes (este sistema ha sido reemplazado por el ext2 y no debera 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 particin 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 informacin de procesos4.
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
slo
el
superusuario
puede
montar
sistemas
de
archivos.
Sin
embargo
cuando
una
lnea
del
archivo
/etc/fstab
contiene
la
clusula
user
en
su
columna
opciones
cualquiera
podr
montar
el
sistema
de
archivos
correspondiente.
2.2. M ontaje de sistem as de archivos durante el arranque.
Normalmente
los
sistemas
de
archivos
que
utiliza
una
plataforma
Linux
no
cambian.
Por
esta
razn,
es
fcil
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
configuracin
como
puede
ser
el
archivo
/etc/fstab
(filesystem
table).
Cada
lnea
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
informacin
acerca
de
los
procesos
del
sistema,
memoria
disponible
y
otros
datos
relacionados.
Si
/proc
no
est
montado,
no
funcionarn
comandos
como
ps.
Este
sistema
de
ficheros
no
est
asociado
a
ningn
dispositivo
o
archivo
especial
y
al
montarlo
se
puede
usar
una
palabra
arbitraria,
como
por
ejemplo
proc,
en
vez
de
una
especificacin
de
dispositivo.
Argumento
Descripcin
<sistema
de
Especifica
el
dispositivo
especial
por
bloques
o
el
sistema
de
archivos
archivos>
remoto
que
se
va
montar.
Especifica
el
directorio
a
partir
del
cual
se
va
a
montar
el
sistema
de
<punto
de
archivos.
Para
sistemas
especiales
de
intercambio
(swap)
hay
que
utilizar
montaje>
la
palabra
none
que
hace
que
los
archivos
de
intercambio
estn
activos
pero
no
visibles
en
el
rbol
de
archivos.
Especifica
el
tipo
de
sistema
que
vamos
a
montar.
Se
admiten
los
mismos
<tipo>
tipos
vistos
anteriormente
con
el
modificador
t.
<opciones
de
Lista de
opciones
separadas
por
comas
para
el
sistema
de
archivos.
montaje>
<frecuencia
de
volcado>
<Nmero de secuencia>
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. Especifica el orden en que deben comprobarse los sistemas de archivos por la orden fsck (que veremos ms adelante) cuando se arranca el sistema. El sistema raz debera tener un valor de 1. El resto de sistemas deberan 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 chequearn secuencialmente si residen en el mismo disco, al mismo tiempo si residen en discos diferentes.
Argumento Descripcin async Toda la Entrada/Salida al sistema de archivos debe realizarse de forma asncrona. atime Actualizar el tiempo de acceso al i-node para cada acceso. auto defaults dev exec noatime El sistema de archivos se puede montar con mount a. Emplea las opciones predeterminadas (rw, suid, dev, exec, auto, nouser, async) Interpreta dispositivos especiales de caracteres o bloques en el sistema de archivos. Permite la ejecucin de binarios. No actualizar los tiempos de acceso al i-node. Por ejemplo, para una acceso ms rpido en el directorio de spool de las noticias o grupos de discusin (news) o un servidor de noticias. Slo puede montarse el sistema de archivos explcitamente. No reconocer dispositivos especiales en bloques o caracteres en este sistema de archivos. No permitir la ejecucin 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 particin Windows bajo Linux. No permitir el efecto de los bits suid y sgid. Prohibir a un usuario ordinario montar el sistema de archivos. Es lo predeterminado. 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.
Se monta para solo lectura. Se monta para lectura-escritura. Se permite el efecto de los bits suid y sgid. Toda la Entrada/Salida al sistema de archivos debe realizarse de forma sncrona. Se permite a un usuario ordinario montar el sistema de archivos. Implica las opciones noexec, nosuid y nodev.
#device
directory
/dev/hda3
/
/dev/hda2
swap
/dev/fd0
/mnt/floppy
/dev/cdrom
/mnt/cdrom
none
/proc
none
/dev/pts
type
ext2
swap
ext2
iso9660
proc
devpts
options
defaults
defaults
noauto
noauto,ro
defaults
mode=0622
frecuency
1
0
0
0
0
0
sequence
1
0
0
0
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 quisiramos montar en el arranque nuestra particin Windows con sistema de archivos NTFS bastara con aadir al fichero /etc/fstab la siguiente lnea: /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 sistem a de archivos. Para conocer informacin 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]
Si no especificamos sistema-de-archivos se nos mostrarn todos los que estn montados en ese momento. La informacin que nos proporciona esta orden es relativa al nombre del sistema, nmero total de Kb de espacio que ocupa el sistema de archivos, nmero 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: nmero 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).
du
[-ska]
archivo
Normalmente
la
salida
se
especifica
en
bloques
de
512
bytes
(de
un
1Kb
en
las
distribuciones
actuales).
Si
se
quiere
obtener
informacin
en
bloques
de
1K,
en
su
caso,
habra
que
utilizar
el
modificador
k
(solo
versiones
antiguas
del
comando).
El
modificador
s
especifica
que
nos
muestre
slo
el
tamao
en
bloques
del
directorio
(sin
desglosar
lo
que
ocupan
sus
archivos
y
subdirectorios).
Para
visualizar
informacin
sobre
el
espacio
que
ocupan
todos
los
ficheros
(no
solo
los
directorios)
usaremos
el
modificador
a.
Ejemplo:
[gandalf@lotr:]
#
du
sB1MB
2.4. Desm ontar sistem as de archivos.
Para
desmontar
los
sistemas
de
archivos
se
utiliza
la
orden
umount.
Existen
tres
formas
de
utilizar
este
comando.
La
sintaxis
bsica
de
la
orden
es:
Ejemplo: [gandalf@lotr:] # umount a Si queremos desmontar todos los sistemas de archivos de un tipo especfico utilizaremos el modificador t seguido del tipo en cuestin. Ejemplo: [gandalf@lotr:] # umount t iso9660 La orden umount no desmonta los sistemas de archivos que estn 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 an en uso (device is busy). 2.5. Creacin y form ateo de un sistem a de archivos. Cuando se agrega un nuevo disco duro a la computadora, se desea cambiar la informacin 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 aplicacin que llama a varios programas para crear el sistema de archivos, en funcin del tipo de sistema que se desee, y le da formato al dispositivo. La sintaxis de esta orden es:
Hace que mkfs produzca una salida detalla (verbose), incluyendo todas las rdenes especficas 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 buscndolo en /etc/fstab, utilizando la entrada correspondiente. Si no puede encontrarlo crea un sistema minix. opciones-fs: Opciones especficas del sistema de archivos que se pasarn al programa de construccin. Las opciones comnmente 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 especficos no aceptan esta opcin. sistema-de-archivos: Especifica el dispositivo en el que se ubica el sistema de archivos. bloques: Especifica el nmero de bloques que utilizar el sistema de archivos. Existe una orden especfica para crear sistemas de archivos Linux. Esta orden es mke2fs y tiene el siguiente formato sintctico (slo se muestran los principales modificadores):
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 rpido 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 tambin 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 particin en un dispositivo por bloques, o si alguno de los parmetros de configuracin no se ajustan a la realidad. Si queremos forzar la creacin del sistema de archivos incluso si el mismo ya est montado y en uso, deberemos especificar el modificador dos veces.
archivos. Si fsck realiza algn cambio en el sistema de archivos es recomendable reiniciar el sistema (podemos utilizar shutdown r now). La comprobacin del sistema de archivos raz 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 comprobacin hay que arrancar el sistema con un disquete de mantenimiento que contenga un sistema de archivos raz y desde all ejecutar fsck. Una versin ms avanzada de este comando para sistemas de archivos ext2 y ext3 es e2fsck que guarda la sintaxis siguiente:
4. Impresin
en
Linux.
Linux
requiere
algunos
pasos
ms
para
la
configuracin
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
configuracin.
Los
sistemas
comunes
de
impresin
para
UNIX/Linux
se
denominan
sistemas
lpr.
El
daemon
de
impresin,
lpd,
utiliza
estos
directorios
para
imprimir
sus
trabajos.
Cuando
se
da
la
orden
de
imprimir
un
archivo,
Linux
enva
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
sesin
de
trabajo.
Este
proceso
se
conoce
con
el
nombre
de
gestin
de
colas
(SPOOL,
simultaneous
peripherical
operation
off-line)
por
lo
que
las
impresoras
reciben
el
nombre
de
dispositivos
de
gestin
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.
Linux: Gestin de Dispositivos
|
12
4.1. Funcionam iento de la im presin.
La
forma
ms
sencilla
de
imprimir
bajo
UNIX/Linux
es
enviando
los
datos
de
impresin
directamente
al
dispositivo
de
impresin
redireccionando
la
salida
de
una
orden.
Por
ejemplo,
para
obtener
un
listado
del
directorio
activo
a
travs
de
la
impresora
conectada
al
primer
puerto
paralelo
haramos:
[gandalf@lotr:]
#
ls
>
/dev/lp0
Pero
de
esta
forma
no
nos
beneficiamos
de
las
caractersticas
multitarea
del
sistema
operativo
ya
que
esta
orden
tarda
en
ejecutarse
tanto
como
tarde
la
impresora
en
imprimir
el
directorio.
Un
mtodo
ms
rpido
consiste
en
enviar
los
datos
a
imprimir
a
la
cola
de
impresin,
que
es
como
normalmente
se
hace
cuando
se
trabaja
en
Linux.
Para
cada
impresora
se
define
un
rea
de
gestin
de
colas
donde
se
recogen
los
datos
enviados
a
ella.
Un
proceso
explora
constantemente
las
reas
de
gestin
de
colas
en
busca
de
nuevos
archivos
a
imprimir.
Cuando
encuentra
uno
lo
enva
directamente
a
la
impresora
correspondiente.
La
cola
de
impresin
se
gestiona
segn
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
impresin
y
la
informacin
que
necesita
para
llevarlo
a
cabo
est
almacenada
en
el
archivo
/etc/printcap
(printers
capabilities)
que
contiene
informacin
relativa
al
dispositivo
fsico,
rea
de
gestin
de
colas,
etc.
El
sistema
de
impresin
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
-rwsr-sr-x
-rwsr-sr-x
-rwsr-sr-x
-rwxr-s---
Ubicaciones
de
archivo
/usr/bin/lpr
/usr/bin/lpq
/usr/bin/lprm
/usr/sbin/lpd
Los tres primeros archivos se utilizan para enviar, inspeccionar y cancelar los trabajos de impresin respectivamente. El proceso daemon de impresin es lpd. 4.2. El proceso daem on lpd . El demonio lpd es el encargado de manejar todos los trabajos de impresin. Si el proceso lpd no se est ejecutando Linux no puede imprimir ningn trabajo y los archivos de impresin permanecen en los directorios de gestin de colas hasta que ste se inicie, ya que se encarga del manejo de las colas de impresin. En el caso de que lpd no haya sido lanzado al inicializarse el sistema, tendremos que utilizar la orden siguiente para lanzarlo nosotros:
lpd
[-l]
Donde:
-l:
Genera
un
archivo
de
registro
con
cada
peticin
de
impresin.
El
modo
de
funcionamiento
de
lpd
viene
determinado
por
un
archivo
de
configuracin:
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
ms
difundida)
LPRng
o
pdq.
ste
ltimo
aunque
mejora
la
seguridad
respecto
a
lpd,
no
la
resuelve
completamente,
razn
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-rr--. Cada entrada en el archivo describe una impresora. Bsicamente una entrada printcap proporciona un nombre lgico para un dispositivo fsico y luego describe el manejo de los datos que se envan a este dispositivo. Proporciona tambin el directorio de gestin 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 envan 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 fsica. 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, estn enmarcados por el signo de dos puntos (:) e identificados por un cdigo de dos letras. Este cdigo va seguido de un valor que depende del tipo de campo: cadena, booleano y numrico. Cada lnea termina con el carcter de continuacin \ salvo la ltima (se supone que cada entrada fila- corresponde a una impresora, por eso se utiliza el carcter de continuacin). Los campos ms importantes son: Campo Tipo Descripcin lp sd lf if rm rp sh sf mx cadena cadena cadena cadena cadena cadena boolean boolean numric o Especifica el dispositivo de impresin, por ejemplo /dev/lp0. Especifica el nombre del directorio de gestin de colas (spool directory) para esa impresora. Especifica el archivo donde se registran los errores de esa impresora. El archivo debe existir previamente. Por ejemplo: /usr/spool/lpd/epsonC42Errors. Especifica el nombre del filtro de entrada (el programa que convierte los datos a PostScript o HP, por ejemplo). Especifica el nombre de un sistema de impresin remoto. En este caso el campo lp debe quedar vaco. Especifica el nombre de una impresora remota. En este caso el campo lp debe quedar vaco. Especifica que las cabeceras pueden eliminarse (pginas de cartula). Especifica el carcter que indica final de trabajo, el cual puede suprimirse. Especifica el tamao mximo para un trabajo de impresin (en bloques).
Si se especifica /dev/null como dispositivo de impresin local en el campo lp los datos finales se envan en vez de a una impresora a la cubeta de bits, es decir, a ninguna parte. Esta accin slo 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 vaco. 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 impresin en su entrada estndar (normalmente ASCII) y generan datos de salida en su salida estndar (generalmente en PostScript). El proceso daemon de impresin ejecuta el filtro de entrada con los datos de gestin de colas como entrada estndar y el dispositivo de impresin como salida estndar. Salvo que varias personas utilicen una misma impresora no tiene mucho sentido imprimir cartulas 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 insercin del carcter de fin de pgina con sf para evitar que despus de la impresin de una pgina obtengamos otra vaca. No obstante, si se imprimen programas o directorios, el salto de pgina hace que la ltima pgina se expulse y que cada listado comience al principio de otra. El campo mx permite limitar el tamao en bloques de los datos de impresin. El nmero que se especifica est en bloques BUFSIZE (1 K en Linux). Si se especifica valor 0 se elimina el lmite y los trabajos de impresin quedan slo limitados por el espacio disponible en disco. Si un usuario supera el lmite 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 definicin 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 enva un trabajo a la impresora o pone en cola un trabajo de impresin. En este caso el archivo especificado se copia al directorio de gestin de colas. Si no se especifica archivo el comando lee de la entrada estndar. El tamao de ste vena especificado en el archivo minfree que se halla en cada directorio y que adems especifica el nmero 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 impresin. Su sintaxis es:
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 estndar (normalmente el teclado o la salida de otro programa). Esto permite que el usuario redirija la salida de un programa al dispositivo de impresin. Ejemplo: [gandalf@lotr:] $ cat tesis.txt | lpr 4.4. La orden lpq . Muestra el contenido del directorio de gestin de colas para una impresora determinada. Una parte importante de la informacin mostrada por lpq es el identificador del trabajo necesario para el caso en que decidamos cancelar su impresin.
Ejemplo: [gandalf@lotr:] $ lprm 31 cancelara 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 utilizacin. 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 impresin. 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:
Descripcin Detiene la impresora, pero las peticiones de impresin siguen entrando en la cola Permite que la impresora inicie la impresin de archivos que se encuentran en la cola Desactiva la impresin en la impresora especificada Habilita la gestin de colas en la impresora especificada Mueve el trabajo especificado al principio de la cola Permiten salir del modo interactivo de lpc Muestra el estado actual de la impresora as como el nmero de trabajos que se hallan a la espera de ser imprimidos.
[gandalf@lotr:] # lpc down miimpresora [gandalf@lotr:] # lpc enable tuimpresora [gandalf@lotr:] # lpc topq 37 4.7. CUPS. El sistema de impresin CUPS (Common UNIX Printing System) reemplaza al sistema de impresin lpr/lpd. Es un sistema de impresin modular para Sistemas Operativos basados en Unix que convierte al ordenador en un servidor de impresin. 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 sera 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.
Utiliza
una
interfaz
web
(frontend)
para
la
configuracin
del
sistema
de
impresin,
aadir
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
impresin
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
impresin
(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
impresin
a
la
espera
de
ser
atendidos.
La
gestin
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
impresin:
el
sistema
lpr/lpd
es
uno
de
los
estndares
de
UNIX,
y
las
aplicaciones
asumen
que
tendrn
los
comandos
de
este
sistema
de
impresin
disponibles.
Por
este
motivo
CUPS
proporciona
su
propia
versin
de
esos
comandos,
que
son:
o
lpr (o lp): enviar trabajos a la cola de impresin. 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 o o
lpq: consultar los trabajos pendientes en la cola de impresin. lpc: configurar las impresoras. lprm: eliminar trabajos de la cola de impresin.
d.
los
drivers
PPD
de
las
impresoras
PostScript5:
en
Linux,
cuando
una
aplicacin
enva
un
documento
a
la
impresora
genera
un
archivo
PostScript.
Si
la
impresora
entiende
el
lenguaje
PostScript
puede
imprimir
el
documento
directamente.
Slo
tenemos
que
decirle
a
CUPS
cules
son
las
caractersticas
de
la
impresora,
y
eso
lo
hace
el
archivo
PPD
(Postscript
Printer
Description):
contiene
todas
las
caractersticas
de
la
impresora,
como
tamaos
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
descripcin
de
pginas
(en
ingls
PDL,
page
description
language),
utilizado
en
muchas
impresoras
y,
de
manera
usual,
como
formato
de
transporte
de
archivos
grficos
en
talleres
de
impresin
profesional.
6
Es
un
sistema
de
impresin
diseado
para
facilitar
la
configuracin
de
impresoras.
Proporciona
una
interfaz
entre
el
gestor
de
impresin
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.
Veamos
cmo
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 Administracin o directamente seleccionamos Aadiendo Impresoras y Clases (Adding Printers and Classes) .
Linux: Gestin de Dispositivos
|
19
en la siguiente pantalla se nos preguntar el Tipo de conexin. Si Linux ha detectado una impresora local la listar y podremos seleccionarla, si no, deberemos configurar la conexin manualmente (en este ejemplo vamos a instalar una impresora HP F4100):
nos pedir Usuario y Contrasea, ya que para administrar impresoras hay que tener permisos de root (la contrasea se enva en texto plano, sin encriptar).
Si la impresora es local y la ha detectado el sistema, pulsamos en la siguiente pantalla Aadir Impresora (el sistema habr conseguido la informacin necesaria y habremos finalizado la instalacin. En el caso de una impresora en red an deberemos especificar marca y modelo manualmente.
Al pulsar Aadir Impresora (Add Printer) nos aparece una pantalla donde deberemos establecer los parmetros por defecto de la misma. Una vez realizado este paso se nos informa de las especificaciones de la impresora.
Pulsando en la opcin Impresoras del men iremos a la pgina de la nueva impresora. Desde aqu podemos monitorizar los trabajos de impresin (botn Mantenimiento - Maintenance), cambiar las opciones de configuracin, seleccionarla como impresora predeterminada, etc. (botn Administracin-Administration).
4.7.2.Compartir nuestra impresora:
Tenemos
dos
posibilidades
para
compartir
nuestra
impresora:
1. que
CUPS
escuche
conexiones
de
mquinas
remotas
Los
equipos
que
dispongan
de
un
cliente
IPP
(Linux,
Unix,
Mac
y
Windows
XP)
podrn
conectar
con
el
demonio
de
impresin
cupsd
de
nuestra
mquina
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
configuracin
de
CUPS,
/etc/cups/cupsd.conf
especificaremos
qu
mquinas
tienen
acceso
a
CUPS.
Buscaremos
las
lneas:
<Location
/>
Order
Deny,Allow
Deny
All
Allow
127.0.0.1
</Location>
Vemos
que
por
defecto
slo
puede
acceder
a
CUPS
la
propia
mquina
(127.0.0.1).
Para
que
puedan
acceder
las
mquinas
de
la
LAN
aadiremos
la
lnea:
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 o
o o o o
Introducimos Nombre de la impresora, Ubicacin y Descripcin Tipo de conexin, Internet Printing Protocol (IPP). URL de la conexin (Ej.- ipp://192.168.0.2/printers/Canon). Modelo, Usuario y Contrasea y la impresora ya est instalada.
Asistente para agregar impresoras Impresora de red o una impresora conectada a otra computadora Conectarse a una impresora en Internet o en su red domstica u organizacin URL de la conexin, (Ej.- http://192.168.0.2:631/printers/Canon). 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) podrn conectar con el servidor Samba (paquete samba) de nuestra mquina mediante el protocolo SMB (puerto 139 TCP), y ste se encargar de pasarle la peticin a CUPS.
Vamos
a
configurar
el
servidor
Samba
para
compartir
nuestra
impresora.
Primero
crearemos
en
nuestro
sistema
un
usuario
especfico
(smbprint)
para
que
acceda
a
la
impresora
mediante
Samba.
Si
queremos
permitir
acceso
annimo
lo
podemos
crear
sin
contrasea:
[gandalf@lotr:]
#
/usr/sbin/adduser
--system
--disabled-password
smbprint
Para
compartir
nuestra
impresora
CUPS
y
que
slo
el
usuario
smbprint
tenga
acceso
a
ella,
como
invitado
(por
lo
que
todas
las
mquinas
de
la
red
local
y
con
conexin
directa
desde
Internet
podrn
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
Adems
tenemos
que
decirle
a
Samba
que
el
sistema
de
impresin
es
CUPS,
no
lpr/lpd,
por
lo
que
cambiaremos
/etc/samba/smb.conf
para
que
quede:
[global] printcap name = cups printing = cups
localizamos nuestra mquina en el Explorador de archivos. Veremos que tiene una impresora compartida. pulsamos Conectar... e instalamos los drivers desde el CD del fabricante.
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
mquina
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 Administracin, Aadir impresora Introducimos Nombre de la impresora, Ubicacin y Descripcin Tipo de conexin, Windows Printer via Samba. URL de la conexin, (Ej.- smb://usuario:password@192.168.0.2/Canon). Si el usuario con permiso para imprimir en el servidor Samba se llama igual que el usuario que lanza la impresin, no es necesario especificarlo. Modelo, Usuario y Contrasea y ya est.