Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso Basico Linux PDF
Curso Basico Linux PDF
Introduccin
Siendo Linux una pieza importante de software libre, lo primero que debe saberse
es la filosofa del software libre.
Dominio pblico Para poder hacer uso de software libre es preciso aceptar los
trminos de una licencia que garantice que se mantendrn ciertas reglas y
principios.
Qu S es el Software Libre?
Distribuible puedes hacer tantas copias como quieras, incluso venderlas. Pero
no se puede impedir que alguien ms, a su vez, lo redistribuya.
2
Modificable puedes mejorar el programa, incluso redistribuir la modificacin. La
depuracin se paraleliza: rapidez en el desarrollo y calidad del resultado son
compatibles.
Sin garantas nadie te asegura que funcionar, nadie se hace cargo de ningn
dao. No ests desamparado: el soporte sigue otros cauces distintos a los
tradicionales.
La idea original del proyecto era preservar el espritu colaborativo que haba
existido antes de que se impusieran los obstculos del software propietario.
3
Un sistema operativo incluye ambientes de trabajo (shells) compiladores,
editores, formateadores de texto, correo, etc. Con el tiempo el proyecto
GNU tena una coleccin impresionante de estos programas. Solo faltaba el
ncleo.
1.4 Qu es Linux?
Estrictamente hablando, Linux es slo el ncleo (kernel) de un sistema ope-
rativo tipo Unix.
Fue desarrollado por el finlands Linus Torvalds en 1991 a partir de Minix,
un sistema Unix mnimo, desarrollado con fines didcticos por A. Tanen-
baum.
El anuncio se hizo en el grupo de noticias comp.os.minix y permiti la
participacin de numerosos usuarios y programadores de todo el mundo a
travs de Internet.
El kernel alcanz una estabilidad a nivel de usable en 1994. A partir de
entonces Linux se convierte en el complemento ideal del proyecto GNU, al
que solo le faltaba un ncleo estable.
4
Rpido maneja eficientemente los recursos: memoria, disco duro, CPU, etc.
Estructura de directorios.
Archivos de configuracin.
Todas estas cosas juntas y bien organizadas son las cosas que debe proporcionar
una distribucin.
1.7 Distribuciones
Para poder usar un programa GNU hay que localizarlo, descargarlo, desempa-
quetarlo, compilarlo (con todas las herramientas y libreras que pueda necesitar),
instalarlo y configurarlo...es un trabajo pesado y difcil.
Una distribucin es una recopilacin de software ya compilado y empaquetado
para facilitar su instalacin y configuracin.
El gestor de paquetes permite ver una breve descripcin, registra qu progra-
mas estn instalados, verifica las dependencias y conflictos (al instalar o al desins-
talar) para que todo funcione siempre. Incluso actualiza a las nuevas versiones a
travs de la red de manera transparente.
Estas distribuciones permiten instalar un sistema GNU/Linux completo.
5
Slackware Una de las primeras distribuciones organizadas. Muy sencilla y pri-
mitiva comparada con sus sucesoras.
Existe un manual por casi cada comando del sistema. La forma de consultar
esta documentacin (en una terminal de texto) es mediante el comando man
seguido del comando del que se quiere obtener informacin. Ejemplo: man
mount.
Los Howtos (COMOs) son una especie de recetas donde se explican paso
a paso diversas tareas del sistema.
6
Al existir toda clase de informacin sobre el sistema, uno debe informarse
lo ms posible por su cuenta antes de pedir ayuda, esta es una forma de
cortesa ante los dems, y es la forma en que se comporta la gente de la
comunidad GNU/Linux.
7
Captulo 2
Tutorial de instalacin
Tarjeta de red.
Tarjeta de vdeo.
udma66 soporte para los discos duros UDMA66; puede dar problemas en equi-
pos antiguos.
idepci mnimo.
8
bf24 con el kernel ms reciente (recomendado).
9
Algunos archivos casi nunca se modifican y otros se modifican constante-
mente. Los segundos ocuparn zonas fsicas del disco dispersas, lo que
ralentiza su lectura. Por eso nos interesa que los primeros se mantengan
aparte.
/dev/hdb disco duro esclavo del canal IDE primario, en MSDOS puede ser D:
/dev/fd0 disquetera A:
10
hda1hda4 primarias.
Por limitaciones ajenas a GNU/Linux no se permitan ms particiones. La
solucin fue nombrar a una de ellas (tradicionalmente hda4) como extendi-
da. Esta particin contiene en realidad a todas las dems; de hecho algunos
programas (como el cfdisk que usaremos) no se molestan en mostrarla.
swap particin especial cuyo tamao se aadir a nuestra RAM para formar la
memoria virtual. Conviene crearla por si hace falta. No ms de 128 MB.
11
/var contiene las colas de impresin y de correo, el registro de mensajes y bases
de datos de varios programas, adems de los archivos temporales. Entre
100300 MB para uso personal.
/home todos los archivos personales de los usuarios. Del orden de 100 MB por
usuario, segn sus necesidades.
/usr todos los ejecutables, documentacin, etc. Podra ser suficiente con 100 MB,
y suele sobrar con 1 GB.
/usr/local deber contener todo lo que instalemos por nuestra cuenta, fuera de la
distribucin de Debian. Slo nos interesar hacer una particin aparte si
queremos usar ciertas aplicaciones entre distintos SO o distribuciones.
12
Notar que la particin de /home es muy pequea porque estos equipos la
tendrn luego montada en un servidor. De no ser as, no escatimes: 500
MB/usuario es un tamao ms real.
Sin embargo, lo mnimo aceptable son dos particiones. Una para la memoria
virtual (swap) de no ms de 128MB, y el resto para la raiz del rbol de
directorios /.
13
Eliminamos PCMCIA salvo si tenemos una porttil.
14
X display manager o xdm arranca el login grfico. Nosotros instalaremos el
gdm de GNOME. Hasta entonces entraremos en modo modo texto y arran-
caremos X con:
startx
Window manager es el programa que dibuja los marcos de las ventanas y nos
permite hacer diversas operaciones con ellas.
15
Captulo 3
Conceptos generales
3.1 El teclado
Algunas teclas imprescindibles en modo texto1 :
16
ctrl+L limpia la pantalla.
17
ls lista archivos.
ls -laF
cd cambia de directorio.
cd /usr/share/doc/lilo/
cd
cd -
cp copia archivos.
cp -au /tmp/ /tmp/
rm borra archivos.
rm -Rf / # mejor no lo hagas
ln enlaza un archivo.
ln -s /var/tmp /tmp
Edicin de archivos:
wc cuenta palabras.
18
joe otro clsico editor de textos.
Sistema de archivos:
umount desmonta.
19
chown cambia el propietario
chown root:floppy /dev/fd0
jobs muestra los procesos que estamos ejecutando en backgroud o segundo pla-
no. Un comando se arranca en segundo plano aadindole & al final. Si se
est ejecutando lo interrumpimos pulsando ctrl-Z.
Tiempo al tiempo:
20
time muestra el uso de CPU de un programa.
time ls -R /etc/
Inclasificados:
Tuberas y redirecciones:
| tubera (o pipe).
history | less
> redireccionamiento.
echo mal > bien
echo fatal > > bien
ls -R /etc/ 2>/dev/null
2
se actualiza con updatedb, mejor instala anacron
21
3.4 Tipos de archivos
En GNU/Linux un archivo no se caracteriza por su extensin. Es un programa si
tiene activado el flag x de eXecutable. Los programas de script suelen empe-
zar por la lnea #! /bin/sh; otros lenguajes interpretados empiezan por algo
parecido.
El programa file suele adivinar de qu tipo es un archivo.
Algunos tipos de archivos inusuales fuera de GNU/Linux:
3.5.0.1 kpackage
Pertenece al escritorio de KDE. Es muy vistoso e intuitivo.
Identificar en cada paquete:
Estado.
22
Nombre.
Descripcin.
Seccin.
Prioridad.
3.5.0.2 dselect
Versin en texto. Aunque tiene buen aspecto, la interfaz por teclado es muy poco
intuitivo. Su funcionamiento es impecable.
23
buscar /
repetir bsqueda \
tipo de informacin i
3.5.0.3 apt-get
Interfaz en lnea de comandos para el manejo de paquetes. Se apoya en el archivo
/etc/apt/sources.list que contiene las fuentes de instalacin. Sintaxis
en 3 y en el CD de instalacin4 .
Prueba los comandos:
apt-get help
apt-get install jed
apt-cache search MP3
apt-get remove libc6
apt-get --purge remove emacs
# KDE 2
deb ftp://ftp.linux.ee/pub/kde.tdyc.com/debian/ potato main crypto
# Potato
deb ftp://ftp.uk.debian.org/debian stable contrib main non-free
deb ftp://ftp.uk.debian.org/debian stable/non-US contrib main non-free
deb http://security.debian.org stable/updates main contrib non-free
3
man sources.list
4
file:/cdrom/README.html
24
# kernel 2.4.x en potato
deb http://people.debian.org/~bunk/debian potato main
#deb-src http://people.debian.org/~bunk/debian potato main
apt-get update
apt-get upgrade
apt-get update
apt-get dist-upgrade
apt-get clean
apt-get autoclean
3.5.0.4 dpkg
Acrnimo de Debian package. Es un comando a un nivel an ms bajo. Nos
permite obtener toda la informacin y las posibilidades de los anteriores mtodos.
25
dpkg --listfiles <paquete>
dpkg --status <paquete>
dpkg --get-selections
dpkg --set-selections
dpkg --search <archivo>
/var/lib/dpkg/available
o en los CD de instalacin:
/cdrom/dists/potato/Contents-i386.gz
26
Si busco conocimientos varios leo algn HOWTO9 .
man <comando>
info <comando>
<comando> --help
Siempre nos quedar Internet: pgina web del programa, un nuevo HOW-
TO, listas de correo, grupos de noticias, revistas on-line, etc.
Esconder el panel.
Colocacin de las ventanas.
9
file:/usr/share/doc/HOWTO/
27
Comportamiento del foco.
Varios escritorios.
4. Jugar con el gestor de ventanas: botones de la barra de men con los dife-
rentes botones del ratn, tecla alt, etc.
6. Aplicaciones varias. . .
superformat /dev/fd0
tar cf archivo.tar archivo1 archivo2 directorio/
tar tvf archivo.tar
cp archivo.tar archivo1.tar
cp archivo.tar archivo2.tar
gzip -9 archivo1.tar
bzip2 -9 archivo2.tar
du -sc archivo1 archivo2 directorio/
du archivo.tar archivo1.tar.gz archivo2.tar.bz2
mcopy a:archivo2.tar.bz2_aa .
cat archivo2.tar.bz2_* >archivo2.tar.bz2
bunzip2 archivo2.tar.bz2
tar xvf archivo2.tar
rm archivo2.tar
28
3.8.1 Copias de seguridad
Hay docenas de programas que permiten hacer backups: tob, amanda, afbackup,
kbackup. . . Nosotros utilizaremos el simple y verstil afio. La principal ven-
taja frente al clsico tar es que si se corrompe la copia de seguridad perderemos
slo algunos archivos, no toda la copia.
cd /tmp/
find /root/ /etc/ /home/ | afio -o -Z -P bzip2 -Q -9 20010506.afio
cd /
afio -r -Z -P bzip2 /tmp/20010506.afio
4. Ahora pon este archivo en un lugar seguro: otro disco duro, un CD, o tro-
calo para almacenarlo en ZIP o en los poco recomendables disquetes.
Es conveniente acompaarlo de la suma de comprobacin MD5, al estilo de
los CD de Debian:
md5sum -c md5sum.txt
29
Captulo 4
Configuracin y optimizacin
ae /etc/lilo.conf
30
boot=/dev/hda
compact
vga=ext
prompt
timeout=300
image=/vmlinuz
root=/dev/hda2
label=linux
append="mem=64M ide0=dma apm=on"
read-only
other=/dev/hda1
label=win
3. Ejecutamos lilo.
mv /tmp/* /var/tmp/
ln -sf /var/tmp/ /tmp
31
4.2 Configuracin en cualquier momento
Por si cometimos algn error mientras instalbamos Debian, o dejamos la confi-
guracin de algn elemento para despus:
tasksel selecciona los meta-paquetes que se ajustan a las tareas para las que
vamos a usar nuestro ordenador.
Instalaremos ahora las tareas C Dev, Debug, Newbie Help, Spanish.
4.3 En espaol
A veces las traducciones al espaol usan un lenguaje tcnico que no es igual al que
usamos en Mxico, lo que hace ms dificil entender esta variante, que el original
en ingls. De cualquier modo, para tener un ambiente en espaol, basta instalar la
tarea Spanish (paquete task-spanish). Puedes ojear Debian en Espaol3 . Si
necesitas ampliar conocimientos consulta el extenso manual del shell4 .
castellanizar
32
set convert-meta off
Los siguientes cambios los puede hacer cada usuario en su directorio perso-
nal /home/<usuario>/, al que tambin podemos referirnos como ~/.
umask 002
source ~/.bashrc
4. Aade al /.bashrc
alias h=history
alias j="jobs -l"
alias l="locate"
alias v="ls -Al --color"
Todos estos archivos conviene copiarlos a /etc/skel/ para que sean colocados
en el directorio personal de cada nuevo usuario que creemos.
cp /home/<usuario>/.bash_profile \
/home/<usuario>/.bashrc \
/home/<usuario>/.inputrc /etc/skel/
adduser <nuevo-usuario>
33
4.4 La Red
Linux Network Administrators Guide5 es un libro muy completo. Otros documen-
tos interesantes: Linux Ethernet-Howto6 y Linux Networking-HOWTO7 .
archivos que definen el funcionamiento de la conexin en red:
/etc/hostname contiene el nombre de la mquina.
/etc/hosts las direcciones de otras mquinas locales. Si no funcionase el
nuestro DNS necesitaramos aadir, por ejemplo
192.168.12.1 robo1.cartif.es robo1
192.168.12.2 robo2.cartif.es robo2
/etc/resolv.conf direcciones (numricas) de los DNS.
/etc/network/interfaces contiene toda la informacin de red que intro-
ducimos en la instalacin.
/etc/init.d/networking el script que arranca todo lo referente a la cone-
xin de red.
Aplicaciones interesantes:
ifconfig
ping robo6
ping -f 192.168.12.6
nslookup 195.53.249.10
traceroute 195.53.249.10
host -l cartif.es
4.4.1 El mdem
Podemos leer The Linux Modem-HOWTO8 . Si tienes un cable-modem lee Cable-
Modem-mini-HOWTO9 y olvdate del resto de esta seccin. Otros afortunados
pueden enfrentarse al RDSI COMO10 o al ADSL HOWTO for Linux Systems11 .
5
http://www.linuxdoc.org/LDP/nag2/
6
file:/usr/share/doc/HOWTO/en-html/Ethernet-HOWTO.html
7
file:/usr/share/doc/HOWTO/en-html/NET3-4-HOWTO.html
8
file:/usr/share/doc/HOWTO/en-html/Modem-HOWTO.html
9
file:/usr/share/doc/HOWTO/en-html/mini/Cable-Modem.html
10
file:/usr/share/doc/HOWTO/es/HOWTO/RDSI-Como.html
11
file:/usr/share/doc/HOWTO/en-html/mini/ADSL.html
34
Lo ms cmodo es usar pppconfig, con los datos de tu proveedor de Inter-
net o ISP en la mano. Tanto GNOME como KDE tienen sus propias herramientas
de configuracin.
Providerame wol
Use static DNS . Luego introducimos sus direcciones IP.
Authentication Method suele ser PAP (Peer Authentication Protocol)
Userame pepito@wol.es
Password h4udh7uTg
Speed dejar 115200
Pulse or Tone probablemente la marcacin es por tonos.
Phoneumber el nmero local de acceso a Infova.
4.5 Impresoras
En GNU/Linux todo se imprime en formato PostScript. Si no disponemos de
una impresora que entienda ese lenguaje, ser necesario traducirlo al de nuestra
impresora. Amplia documentacin en The Linux Printing HOWTO12 . Magnfico
enlace en LinuxPrinting.org13 con el soporte de cada impresora del mercado.
12
file:/usr/share/doc/HOWTO/en-html/Printing-HOWTO.html
13
http://www.linuxprinting.org
35
Utilizaremos uno de los sistemas de impresin clsico: lprng. Un enfoque
ms moderno puede ser el Common UNIX Printing System o CUPS, incluido en
el paquete cupsys.
HP Laserjet 1100
hplj1100
/dev/lp0
ljet4
Comandos bsicos, similares a los descritos en The Linux Printing Usage HOW-
TO14 :
36
Algo ms interesante: imprimir un libro. Con el paquete psutils
cp /usr/doc/gs-aladdin/examples/tiger.ps.gz .
gunzip tiger.ps.gz
poster -v -s4 tiger.ps | lpr
HP Laserjet 1100
hplj1100
robo4.cartif.es
ljet4
magicfilterconfig printcap.red
37
HP DeskJet 1120C HP LaserJet 4000
hpdj1120 hplj4000
192.168.1.51 192.168.1.50
dj690c-best psonly600
El filtro psonly600 convierte todo a PostScript: archivos grficos, texto
simple, HTML, etc.
/etc/init.d/lprng restart
38
4.5.4 Impresora remota bajo Windows
Queremos imprimir desde GNU/Linux en una impresora conectada a otro equipo
que corre alguna mutacin de Windows. Necesitaremos el cliente de Samba.
smbclient -L vison1.cartif.es
#!/bin/sh
LOGFILE=/tmp/smb-print.log
SERVER=vision1
SERVICE="HP1100_VISIO"
PASSWORD=""
FILTRO=/etc/magicfilter/ljet4-filter
chmod +x /etc/magicfilter/smb-filter
15
file:/usr/share/doc/HOWTO/en-html/SMB-HOWTO-9.html
16
file:/usr/share/doc/samba-doc/htmldocs/using_{s}amba/ch07_{0}2.html
39
4. Editamos /etc/printcap para aadir
vision:laserjet1100|hplj1100:\
:lp=/dev/null:\
:sd=/var/spool/lpd/lp:\
:mx#0:sh:\
:if=/etc/magicfilter/smb-filter:
/etc/init.d/lprng restart
6. Probamos:
raw:\
:rw:sh:
:lp=/dev/lp0
:sd=/var/spool/lpd/raw
:fx=flp
17
file:/usr/share/doc/HOWTO/en-html/SMB-HOWTO-8.html
40
3. Editamos /etc/samba/smb.conf para que aparezcan las lneas
[global]
printing = LPRNG
printcap name = /etc/printcap
load printers = no ; as le doy yo el nombre, no me lista
; todas las que hay en /etc/printcap
guest account = nobody
invalid users = root
security = share ; permite usuarios sin cuenta
workgroup = ROBOTICA ; no afecta a los grupos en CARTIF
[printers]
security = share ; bis
comment = All Printers
browseable = no
path = /tmp
printable = yes
public = yes
writable = no
create mode = 0700
41
Captulo 5
Aplicaciones
Haremos un repaso de las principales aplicaciones que pueden sernos tiles. Prc-
ticamente todas estn empaquetadas para Debian, pero puede ser til darse un paso
por los Software Directories1 de Google.
x borra un carcter.
42
:q! salimos desestimando los cambios.
5.1.2 OpenOffice
Paquete ofimtico completsimo, similar al Office de Microsoft. Est disponible
en 11 idiomas para Linux, Solaris y Windows. Actualmente esta en desarrollo su
empaquetacin bajo debian, en la direccin http://www.linux-debian.de/openoffice/.
5.1.3 LATEX
Se trata de un lenguaje de descripcin de documentos cientficos de gran cali-
dad tipogrfica. Puede establecerse la analoga con un lenguaje de programacin:
el texto se escribe con un simple editor, luego se compila (si no tiene ningn
error sintctico), y el resultado tiene un formato especial (dvi, PostScript, PDF,
HTML. . . ). Hay paquetes que aaden funcionalidades muy diversas.
43
1. Configuramos el guionado en castellano:
texconfig
spanish sphyph.tex
(recuerda que por defecto arranca vi: un carcter se borra con x, salvas y
sales con ESC :wq, y sales sin salvar con ESC :q!)
2. Escribe un documento de prueba: ejemplo.tex
3. Puedes verificar la ortografa obviando la sintaxis de LATEX desde editores
como xemacs o directamente con:
latex ejemplo
dvips ejemplo -o
pdflatex ejemplo
latex2html -split 0 -show_section_numbers ejemplo
44
5.2.2 VMware
Se trata de un software comercial que permite instalar en GNU/Linux varios sis-
temas operativos virtuales. Sus requerimientos hardware son importantes, pero
tiene fama de crear virtual machines muy completas y estables. Puede descargar-
se una demo operativa durante 30 das en vmware10
wget ftp://vmware.wespe.de/pub/software/VMware-2.0.4-1142.tar.gz
5.3 Grficos
gimp El photoshop de linux.
5.4 Web
GNU/Linux dispone de infinidad navegadores y servidores web, de correo, noti-
cias, etc. Cualquier protocolo y utilidad que busques, seguro que est disponible
en GNU/Linux. . . un sistema operativo nacido con Internet.
Respondemos con los datos que queramos que aparezcan en el navegador para
aceptar nuestro certificado. El directorio del que colgar toda nuestra web es
/var/www/. Las pginas personales de /public_html/
mkdir ~/public_html
cd ~/public_html
echo hola > saludo.txt
ln -s ~/cursoLinux2/guion/guion/ guion_html
10
http://www.vmware.com
45
Ahora conctate con tu navegador favorito, si quieres desde otra mquina:
http://localhost
https://robo6.cartif.es/~josfer/
wget ftp://ftp.uk.debian.org/debian/dists/woody/non-free/binary-i386/u
dpkg --install glimpse_4.1-2.deb
apt-get install dhelp info2www man2html
Ahora tenemos un ndice local12 . Si queremos que est accesible a todo el mundo,
editamos /etc/apache/access.conf:
/etc/init.d/apache restart
46
5.4.2 Utilidades varias
La aspiradora de correo fetchmail
Es una pequea y eficaz herramienta que se encarga de traernos todo nuestro co-
rreo al buzn local. Entiende muchos protocolos y se complementa muy bien con
clientes de correo muy pesados.
1. Instala los paquetes fetchmail fetchmailconf. Puedes ojear la p-
gina del manual.
2. La configuracin es fcil y breve con ayuda de:
fetchmailconf
crontab -e
aadimos la lnea:
@reboot fetchmail
47
Captulo 6
Referencias en lnea
48