Академический Документы
Профессиональный Документы
Культура Документы
byron.diaz@newhorizons.com
!
17:30-21:30 Hrs.
!
R:19:00 Hrs.
!
!
Presentacin
Nombre
!
Empresa
!
Puesto
!
Conocimiento de Linux
!
Qu es Linux?
Qu es RHEL y Fedora
Que es Linux?
Modelo de desarrollo:
! Software
Ncleo:
!
Linux
Licencia:
! GNU
GPL y otras
GNU/LINUX
GNU/Linux es uno de los trminos empleados para
referirse a la combinacin del ncleo o kernel libre
similar a Unix denominado Linux, que es usado con
herramientas de sistema GNU.
!
La historia del ncleo Linux esta fuertemente
vinculada a la del proyecto GNU.
Caracteristicas
GNU/Linux es utilizado por el 80% de los principales 500
!
http://es.wikipedia.org/wiki/TOP500
Software Libre
!
MPL
BSD
Caractersticas de Linux
!
Multitarea
Multiusuario
Estructura de un sistema
!
Kernel
Mdulos
Shell o Consola
Video
Distribuciones
Fedora o RHEL
!
Fedora
!
Proyecto de RedHat
http://docs.fedoraproject.org
RedHat
!
Instalacin de fedora
Entornos Grficos
Consola
GNOME
KDE
LXDE
Xfce
XF
Entre otros
Formato de Paquetes
Actualmente existen 2 formatos de paquetes.
!
Debian
.deb
Red Hat
.rpm
Directorios en Linux
Carpeta /dev
Devices (Dispositivos)
!
/
!
/dev
Hda
! Sda
! Eth
! Wlan
! Cdrom
! Cdrw
! Dvd
!
Carpeta /dev
Devices (Dispositivos)
!
/dev/hda1
1 particin primaria
/dev/hda2
2 particin primaria
/dev/hda3
3 particin primaria
/dev/hda4
/dev/hda5
1 particin lgica
/dev/hda6
2 particin lgica
...
Carpeta /home
Carpeta de usuarios
!
/
!
/home
Usuario1
! Usuario2
!
! Usuarion
!
Carpeta media
Montajes Automaticos
!
/
!
/media
Miusb
! Cdrom
! DiscoDuroX
! Windows7
!
!
!
!
Carpeta /mnt
Montajes Manuales
!
/
!
/mnt
MiDiscoduro
! MiUsb
! Tarjetas SD
!
!
!
!
Carpeta /tmp
Archivos Temporales
!
/
!
/tmp
!
!
!
Carpeta /etc
Carpeta de Configuraciones
!
/
!
/etc
Httpd.conf
! Samba.conf
! Xorg.conf
! Lftp.conf
! Lftp.conf
!
!
!
Carpeta /bin
Comandos para todos los usuarios
!
/
!
/bin
Ls
! Ln
! Nano
! Pwd
! Ping
!
!
!
Carpeta /sbin
Comandos para Super Usuarios
!
/
!
/sbin
Fdisk
! Ifconfig
! Modprobe
! Fsck
!
Carpeta /usr
Configuraciones de aplicaciones de los usuarios
!
/
!
/usr
/bin
! /etc
! /lib32
! /lib64
! /share
!
!
!
Carpeta de /root
Carpeta del administrador (root)
!
/
!
/root
Documentos
! Imagenes
! Escritorio
! Videos
!
Carpeta /var
Variables del sistema
!
/
!
/var
Logs
! Variables del sistema
! Variables de Aplicaciones
!
Carpeta /boot
Arranque del sistema
!
/
!
/boot
!
/grub
!
Grub.conf
!
!
Carpeta /proc
Archivos virtuales y procesos del Kernel
!
/
!
/proc
!
!
!
!
Carpeta /opt
Paquetes opcionales
!
/
!
/opt
Adobe
! Teamviewer
! Google
!
!
!
!
Preferencias
!
Aplicaciones preferidas
Descansa pantallas
Cambiando el tema
Iconos en el pnel
Applets
Paneles
Lanzadores de Aplicaciones
Gnome
!
Dispositivos removibles
Cambio de Escritorio
KDE
!
Conociendo Konqueror
Conociendo Dolphin
Buscando archivos
Barra de tareas
Cambiando el escritorio
Lanzadores
La lnea de comandos
!
ls lista de archivos
Permisos de Archivos
!
3 grupos
!
Propietario
Grupo
Otros
Tipo de Archivo
!
- Archivo comn
d Directorio
l Enlace simblico
s Socket
p Pipe
Tipo de Permisos
!
r Permiso de lectura
!
w Permiso de escritura
!
x Permiso de ejecucin
Comando chmod
!
u usuario
g grupo
o otro
a todos
!
Comando chmod
!
Comando chmod
!
Mas Comandos
!
-umH
nano
Mas comandos
!
!
!# - Ejecuta el comando #
Variables de entorno
!
VAR=contenido
VAR='contenido'
VAR=`comando`
VAR=$(comando)
VAR=$[operacion]
VAR=$((operacion))
env
Export
Modificando proxy
!
Export http_proxy=http://192.168.16.2:8080
Export ftp_proxy=ftp://usuario:contrasena@192.168.16.2:8080
Mayusculas y minusculas.
Operaciones en background
!
Comando &
Comando
!
Ctrl + z
/etc
!
/profile
/bashrc
~/.bashrc
~/.bash_profile
~/.bash_logout
PS1
!
\! comando actual
\$ prompt de usuario
\W directorio de trabajo
PS1 ...
!
\\ contradiagonal
\d da
\n nueva lneal
\s la actual shell
\u usuario actual
\w path completo
Tuberas
Expandiendo comandos
!
!
ls -l /etc | less
cat archivo.txt | nl
Redireccin de archivos
!
!
!
mkdir carpeta/{a,b,c,d}/{uno,dos,tres,cuatro}
touch
file
mv origen destino
cp original copia
El editor vi o vim
!
h, l = izquierda, derecha
j, k = abajo, arriba
0 ^ = inicio de linea
$ final de linea
dw borrar palabra
vi o vim...
!
ZZ guardar y salir
:w guardar
:q salir
I, i insertar
R, r reemplazar
o nueva linea
/ , ? buscar texto
Script
!
#! /bin/bash
Se inicia el script
chmod +x nombredelscript
Operaciones Lgicas
!
-eq Igual a
-ne No igual a
-o OR
-a AND
! NOT
read
!
$1 primer parametro
$2 segundo parametro
If con script
!
ordenes
elif [ ]; then
ordenes
else ordenes
fi
Case en script
!
case variable in
a) comandos ;;
b*) comandos ;;
*) comandos ;;
esac
For en script
!
!
!
!
for var1 in 0 1 2 3 4 ;
do
ordenes
done
Until do en script
!
until comando do
comandos
done
Funciones en script
!
[function] nombre() {
!
comandos;
Terminando un script
!
exit
echo $?
Screen
!
Ctrl + A
c crea nueva terminal
! n siguiente
! p anterior
! d desconectar
!
Opciones
!
-t <nombre>
-ls listar
Instalacin de software
!
Paquetes de CD/DVD
Repositorios de Fedora
Repositorios de terceros
Paginas de proyectos
!
Freshmeat
SourceForge
rpmFind
rpm.pbone
RPMForge.net
!
Livna.org
!
http://dag.wieers.com/packages
FreshRPMs
!
http://rpm.livna.org
DAG
!
http://rpmforge.net
www.freshrpms.net
ATRPMs
!
http://atrpms.net/dist/f11
!
!
Nombre paquete
Version
# de compilacin o empaquetado
Version de fedora
Arquitectura
i686
x86_64
canna-libs-3.7p3-28.fc12.i686.rpm
yum
!
yum deplist
dependencias
!
75
La herramienta rpm
Funciones de la herramienta:
!
Instalar
Actualizar
Remover y desinstalar
Verificar paquetes
Opciones de instalacin
rpm -i archivo.rpm instala un paquete
rpm -iv archivo.rpm instala con barra de
progreso
rpm -ivh archivo.rpm con sealizacion
!
Repositorios:
!
nano /etc/yum.repos.d/fedora.repo
Repositorios
[fedora] ==> Identificacin del Repositorio
name ==> Descripcin del repositorio
baseurl ==> aqu ponemos el URL que apunta al directorio
donde residen los repositorio.
!
mirrorlist ==> identifica que un URL que apunta a un
archivo que contiene una lista de baseurls.
Donde esto podemos sustituido por el baseurl.
!
enable ==> puede ser 1 o 0. Esto le indica a yum que lo
puede utilizar o no. (1=SI 0=NO)
!
gpgcheck ==> puede ser 1 o 0. Esto le indica a yum si debe
o no realizar una verificacin de la firma GPG.
!
gpgkey ==> aqu se debe poner un URL el cual contiene la
llave ASCII GPG del repositorio.
79
Actualizacin de paquetes
rpm --upgrade archivo.rpm
rpm -u archivo.rpm verifica que este instalado
rpm -Fvh archivo.rpm actualiza si ya esta
instalado
rpm -vh --freshen archivo.rpm
Desinstalacin de paquetes
rpm -e nombre
rpm --uninstall nombre
!
Consultas a la BD
Bsqueda de paquetes
!
rpm -q compiz
Bsqueda de archivos
!
Consultas a la BD
Obtencin de informacin de un paquete
instalado
!
rpm -V nombre
Comando Tar
!
Crea un paquete
Comando Tar
!
85
Comprimir
1. Empaquetar
!
2. Comprimir
!
sourceforge.net
code.google.com
freshmeat.net
Tipos de paquetes
!
archivo.tar.gz
archivo.tar.bz
README
INSTALL
./configure
Make
Make install
DOS
!
Dosbox - instalar
DOSEmu
Motools
Windows
!
WINE
Cedega
CrossOver
Windows...
!
Win4Lin
QEMU
VirtualBox
VMWare
Macintosh
!
ARDI
MacOnLinus
OpenOffice.org
StarOffice
AbiWord
KOffice
Groff
Latex
!
Lyx
The Gimp
Inkscape
Scribus
Xmss
Audacity
Otros
ALSA
!
!
/proc/asound/devices
/proc/asound/cards
Dispositivos de audio
!
/dev/dsp
/dev/audio0
/dev/audio1
/dev/cdrom
/dev/mixer
/dev/sequencer
/dev/midi
/dev/snd/*
/etc/asound.conf
/usr/share/alsa/alsa.conf
Audio
!
Incorporado en el kernel
alsamixer
Control de volumen
!
gnome-volume-control
Audio configuracion
system-config-soundcard
Impresoras cups
!
Servidor CUPS
Impresoras cups
herramientas de administracin
!
system-config-printer
localhost:631
!
/etc/cupsd.conf
/etc/cups/cupsd.conf
!
/etc/printers.conf
/etc/cups/printers.conf
Impresoras cups
line printer lp
!
export PRINTER=lp0
Impresoras cups
!
lpr file.ps
!
-P NombreImpresora
-#5 - 5 copias
!
!
Con tuberia
$ cat archivo.txt | lp
lpq
!
Ve la cola de impresin
Impresoras cups
remover trabajos
!
Impresora cups
Linea de Comando lpc
!
lpc
!
? ayuda
Q quit salir
!
!
lpc status
/etc/sudoers
Configuracin de sudoers
!
Sintaxis
!
/etc/sudoers
!
Defaults timestamp_timeout = 0
Configuracin de sudoers
# Alias de Usuarios!
!
User_Alias! FULLTIMERS = millert, mikef, dowdy!
User_Alias! PARTTIMERS = bostley, jwfox, crawl!
User_Alias! WEBMASTERS = will, wendy, wim
106
Configuracin de sudoers
# Usuarios!
root! ! ALL = (ALL) ALL!
%wheel! ! ALL = (ALL) ALL!
!
!
# FULLTIMERS: Pueden correr cualquier cosa sobre
cualquier maquina sin password!
FULLTIMERS! ALL = NOPASSWD: ALL!
!
!
# MEDIOTIEMPO: sysadmins pueden correr cualquier cosa
pero van a necesitar Password!
PARTTIMERS! ALL = ALL
107
Configuracin de sudoers
#Host Alias!
Host_Alias! CUNETS = 128.138.0.0/255.255.0.0!
Host_Alias! CSNETS = 128.138.243.0, 128.138.204.0/24,
128.138.242.0!
Host_Alias! SERVERS = master, mail, www, ns!
Host_Alias! CDROM = orion, perseus, hercules
108
Configuracin de sudoers
#Alias de Comandos!
Cmnd_Alias! KILL = /usr/bin/kill!
Cmnd_Alias! PRINTING = /usr/sbin/lpc, /usr/bin/lprm!
Cmnd_Alias! SHUTDOWN = /usr/sbin/shutdown!
Cmnd_Alias! HALT = /usr/sbin/halt, /usr/sbin/fasthalt!
Cmnd_Alias! REBOOT = /usr/sbin/reboot!
Cmnd_Alias! SHELLS = /usr/bin/sh, /usr/bin/csh
109
Configuracin de sudoers
110
Configuracin de sudoers
# users in the WEBMASTERS User_Alias (will, wendy,!
WEBMASTERS! www = (www) ALL, (root) /usr/bin/su www!
!
# Cualquiera puede montar y desmontar CDROM sobre
las maquinas que estan en el alias CDROM!
ALL! ! CDROM = NOPASSWD: /sbin/umount /CDROM,\!
! ! /sbin/mount -o nosuid\,nodev /dev/cd0a /CDROM
111
Archivos de configuracin
!
/etc/passwd
/etc/group
/etc/profile
/etc/login.defs
root:x:0:0:root:/root:/bin/bash
-g id del grupo
Configuracin de contraseas
!
Chage
!
Modificacin de cuentas
!
usermod
!
-l login
-d directorio home
-u uid
-c comentario
-g grupo principal
-G Grupos adicionales
-L bloqueo de usuario
-U desbloquea un usuario
Borrado de cuentas
!
userdel
!
!
!
# mount
# umount
# umount /dev/fd0
# umount /dev/cdrom
# fdisk -l
# umount /dev/sda2
# umount /dev/sdb1
# umount /dev/sdc
Comprendiendo /etc/fstab
!
Punto de montaje
Opciones
JFS
Administracin de particiones
!
fdisk
cfdisk
Parted
Formateo de discos
!
mkfs -t
ext3
! reiserfs
! jfs
! xfs, etc
!
Creacin de swap
!
mkswap
Verificar configuraciones
Restricciones de usuarios
Habilitar cuotas
Datos importantes
!
Mount count
Check interval
Journal
Filesystem features
Filesystem stalte
Opciones
-c num Mximo numero de montajes antes de verificar
! -C num Numero actual de montajes
! -i intevalo Tiempo entre chequeo, donde intervalo es un
nmero seguido de d (das), w (semanas), m (meses)
! -j Aadir Journal
! -m porcentaje Reservar un espacio para el usuario root
!
!
!
tune2fs -c 10 -i 1m /dev/sda1
La Bitcora (Journal)
!
!
!
!
Previene inconsistencias
Tiene una estructura que describe las operaciones
pendientes
Antes de escribir al disco se guarda en el journal
Cuando las operaciones estn completas se borran
del journal
Si se encuentran inconsistencias se deja el disco a
su estado anterior
Opciones:
!
-c Barra de progreso
df [opciones] [archivos]
Opciones
!
-i Estado de i-nodos
du [opciones] [directorio]
!
Opciones:
-a Ver todos los archivos
! -c Generara suma total
! -h Usar unidades en escalas
! -k, -m unidades en Kilobytes y Megabytes
! -l Contar enlaces
! --max-detph=n Niveles de ingreso a directorios
! -s suma sin colocar directorios
! -x solo el sistema actual
!
Montaje de particiones
Montar un rbol de archivos de un dispositivo en
algn punto del rbol principal /
!
Opciones:
!
Montaje de particiones
!
Opciones (mount):
!
/etc/mtab
!
Uso de umount
Opciones:
!
-f Forza el desmontaje
Montaje permanente
!
/etc/fstab
Sintaxis
!
Dispositivo
Punto de montaje
Sistema de archivos
Opciones
Orden de verificacin
Sintaxis fstab
!
Dispositivo
!
Punto de montaje
!
Sistema de archivos
!
Sintaxis fstab
!
Opciones de montaje
!
Operaciones de respaldo
!
Orden de verificacin
!
ls [opciones] [direccin]
!
Opciones
--color
! -d no ingresa a los directorios cuando se usa wildards
! -p despliega el tipo de archivo
!
!
!
!
!
/ directorio
@ enlace simblico
= socket
| tubera
-R lista recursiva
Opciones
!
-f fuerza copia
-i interactivo
-R recursivo
Opciones:
!
-c no crear si no existe
-t MMDDhhmm
Herramientas administrativas
!
system-config-bind DNS
system-config-httpd Apache
system-config-samba samba
system-config-gtk Autenticacion
system-config-date Fecha
system-config-securitylevel SELinux
system-config-lvm LVM
Herramientas administrativas
!
system-config-printer CUPS
gnome-utils - Logs
Tar
!
-c crear
-A agregar tar
-t listar archivos
-x extraer
-v modo verboso
Expresin
!
!
Usando restricciones
# /etc/host.allow
# Permitir correo a todo el mundo
in.smtpd : ALL
144
Usando restricciones
!
/etc/hosts.allow
/etc/hosts.deny
Sintaxis
!
Daemon-list : client-list
ALL: 127.0.0.1
Administracin de Cuotas
Restringe por grupos o usuarios la capacidad de
datos guardados.
!
/etc/fstab
!
mount -a
Administracin de Cuotas
!
edquota -u usuario
!
!
export EDITOR=nano
Backups
!
Tar
Cpio
cpio
!
Copy-out mode
!
-o
Copy-in mode
!
-i
Configuracin de la red
!
Ifconfig
!
Eth
Up
Down
!
Bios
MBR
Ejecutar /sbin/init
!
/etc/inittab
Niveles
!
!
!
/etc/inittab
0 - halt kernel, modulos, drivers
1 - Single user mode servicios simples de
usuario
id:runlevel:accin:proceso
/etc/init.d/rc
!
/etc/init.d/
/etc/rcx.d/
chkconfig --list
Modificar runlevels
!
Configurando un proxy
!
/etc/sysconfig/squid
SQUID_OPTS=-D -a 8080 -X
! -D inicia sin tener internet
! -a #puerto alternativo del 3128
! -X chequea el archivo squid.conf
!
squid -k reconfigure
!
squid -k shutdown
!
Configurando squid
!
Cache en memoria
!
cache_mem 10 MB
!
Listas de acceso
Acl nombre tipo [cadena | archivo]
! acl localnet src 192.168.1.0/255.255.255.0
! http_access allow localnet
!
Configuracin de SAMBA
!
smbd
nmbd
Swat
Instalacin de samba
!
chkconfig swat on
http://localhost:901
/etc/smb.conf
/etc/samba/smb.conf
!
http://localhost:901
Configuracin de comparticin de
archivos
!
[nombre_carpeta]
Comment = descripcin
! Path = /ruta/hacia/directorio
! Read only = [yes|no]
!
smbclient //localhost/nombre_carpeta
Comparticin de impresoras
!
[nombre_impresora]
Comment = descripcin
! Printable = [yes|no]
! Path = /path/cola/impresion
!
smbpasswd usuario
smbstatus
!
Navegacin de directorios
!
smbclient -L ip
!
Configuracin de un firewall
Firewall
GUI
!
Firestarter
Guarddog
FirewallBuilder
IPTables
Usando iptables
Input
!
Output
!
Cadenas de salida
Forward
!
Cadenas de entrada
Cadenas de reenvio
ACCEPT
(aceptar)
DROP (descartar)
-A cadena aadir
171
Configuracin
/etc/my.cf
Probando configuraciones
!
/usr/share/doc/mysql-server-5.1.36/
Servidor DHCP
!
Configuracin
!
/etc/dhcp/dhcpd.conf
man dhcp-options
Configuracin de clientes
!
dhclient eth
!
Servidor DHCP
default-lease-time 600;
max-lease-time 86400;
option
option
option
option
subnet-mask 255.255.255.0;
broadcast-address 192.168.1.255;
routers 192.168.1.1;
domain-name-servers 192.168.1.1;
174
Administracin de trabajos
calendarizados
!
Cron
!
/etc/cron.d/
/etc/crontab
Minuto [0-59]
! Hora [0-23]
! Da [1-31]
! Mes [1-12]
! Da de la semana [0-6]
! * cualquier valor
! , separa valores
! - crea rangos inclusivos
!
-l lista un trabajo
-r remueve un trabajo
crontab -u admin -e
/etc/cron.allow
/etc/cron.deny
30 6 1,3,7,12,15,20 * *
/root/actualizar.sh
cron.deny
$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess
jones
temp
visitor
177
cron.allow
$ cat /etc/cron.d/cron.allow
root
jones
smith
178
Servidor ftp
!
Configuracin
!
/etc/proftpd
/var/ftp/ - Fedora
/home/ftp/ - Ubuntu
Servidor web
!
HTML
/var/www/htdocs
Archivos de configuracion
!
/etc/httpd/httpd.conf
/etc/apache/apache.conf
Security-Enhanced Linux
Role
Type
Level
Archivo de log
!
/var/log/audit/audit.log
ls -Z
/usr/sbin/semanage login -l
Fedora Linux
Ing. Byron Daz Padilla
byron.diaz@newhorizons.com