archlinux

61
Archlinux Comunidad Archlinux Chile A simple, lightweight linux distribution. Abril, 2009

Upload: matias-hernandez-arellano

Post on 14-Jul-2015

358 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Archlinux

Archlinux

Comunidad Archlinux Chile

A simple, lightweight linux distribution.

Abril, 2009

Page 2: Archlinux

¿Que es Archlinux?� Archlinux es una distribucion de linux que apunta a ser:

� Liviana� Simple� Optimizada� Flexible

� “La meta de Arch no es ser grande. La meta es estar bien hecha”� Creada por Judd Vinet a finales del 2001� Luego mantenida por Aaron Griffin� Basada en la ideas mostradas en Crux Linux y sistemas BSD

2 of 61

Page 3: Archlinux

Caracterısticas

� Enfocada para usuarios de nivel intermedio o avanzados.

� Filosofia KISS

� Optimizada para i686 y portada a i585, x86 64 y PPC.

� Configuracion crıtica centralizada /etc/rc.conf.

� Actualizaciones faciles y constantes. Rolling Release

� Comunidad activa y con iniciativa. (AUR)

� Paquetes minimalistas y faciles de crear o modificar. (PKGBUILD)

� Simple.

� Abierto.

� Centrado en el Usuario

� Libre.

3 of 61

Page 4: Archlinux

Filosofia

� KISS ”Keep It Simple Stupid”� 5 conceptos

� Simpleza: Ligera estructura base sin agregados innecesarios,modificaciones o complicaciones, permitiendo modelar el sistematotalmente. Elegante y minimalista

� Prioridad Codigo: Elegancia del diseno sobre parches innecesarios.Los parches se mantienen al mınimo. Solo lo necesario

� Abierto: Solo herramientas simples y de codigo abierto. Se eliminanlos limites entre el usuario y el sistema.

� Centrado al Usuario: ArchLinux se fija y toma en cuenta a losusuarios, dandole total y solo total control sobre le sistema.

� Libre: Al mantener el sistema sencillo, se entrega total libertad detomar cualquier decision y hacer cualquier cosa sobre el sistema.

� ”Arch Linux es lo que TU hiciste”

4 of 61

Page 5: Archlinux

Estructura del Sistema (1)

� Basada en archivos de texto plano”� Boot: Basado en bash scripts para init que son llamados desde

/etc/inittab(rc.sysinit rc.single rc.multi....)� Se leen las configuraciones de /etc/rc.conf� Se utilizan las funciones de /etc/rc.d/functions� Se muestra el mensaje de bienvenido� Montaje de los sistemas de ficheros virtuales� Comienza el registro de mensajes (minilogd y dmesg)� Se configura el reloj de hardware� Comienza Udev� Se inician las interfaces de red (loopback)� Se cargan los modulos de /etc/rc.conf� Se revisa el sistema de ficheros� Se montan las particiones locales (definidos en /etc/fstab)� Se activa swap y el nombre de host.

5 of 61

Page 6: Archlinux

Estructura del Sistema (2)� Configuracion de LOCALE, consola y el mapeo de teclado� Se escribe la salida a /var/log/dmesg.log� Se decide (basado en el runlevel) si se inicia en modo singl (rc.single)

o multiusuario (rc.multi)� Se ejecutan las tareas definidas en rc.local� Se muestra la consola de login (o en su defecto el login manager

definido ej: GDM)

� Utilizamos nuestro sistema.

6 of 61

Page 7: Archlinux

rc.conf

#Secc i on baseLOCALE= ’ ’ es ES . ut f8 ’ ’HARDWARECLOCK= ’ ’UTC’ ’USEDIRECTISA= ’ ’no ’ ’TIMEZONE= ’ ’ C h i l e / Con t i n en t a l ’ ’KEYMAP= ’ ’ l a−l a t i n 1 ’ ’CONSOLEFONT= ’ ’ t e r−v16b ’ ’CONSOLEMAP=USECOLOR= ’ ’ yes ’ ’

#Secc i on Modulos ( ! = Niega )MOD AUTOLOAD= ’ ’ yes ’ ’MODULES=()

#Secc i on miscUSELVM=’ ’no ’ ’

#Secc i on NetworkHOSTNAME= ’ ’ a r c h l i n u x ’ ’e th0 = ’ ’ dhcp ’ ’wlan0= ’ ’ dhcp ’ ’INTERFACES=(eth0 ! wlan0 )gateway= ’ ’ d e f a u l t gw 192 . 1 6 8 . 0 . 1 ’ ’ROUTES=(! gateway )

#Demonios ( ! = Niega , @ = E j e cu t a en background )DAEMONS=( s y s l o g−ng ha l ! network @crond @a l sa @wicd p o s t f i x )

7 of 61

Page 8: Archlinux

Pacman (1)� Administrador de paquetes de Archlinux

� PACkage MANager.

� Entrega la posibilidad de utilizar paquetes binarios y fuentes.

� Escrito en C.

� Posee una lista negra y de prioridad de paquetes.

� Trabaja con paquetes del formato: paquete.pkg.tar.gz

� Combina ideas de Gentoo, Debian y Slackware.

� Su configuracion se basa en el archivo /etc/pacman.conf� Permite una facil creacion de nuevos paquetes por parte de los

usuarios (makepkg, ABS, AUR).� Generados a partir de un PKGBUILD

8 of 61

Page 9: Archlinux

Pacman (2)

� Ofrece las carateristicas de las mayoria de losgestores de paquetes� Agregar pacman -S pkg� Agregar desde paquete local pacman -U

paquete.pkg.tar.gz� Eliminar pacman -Rd pkg� Buscar pacman -Ss pkg� Mostrar informacion pacman -Qi pkg� Solucionar dependencias� Descarga de paquetes sin instalar

9 of 61

Page 10: Archlinux

Repositorios (1)� core

� Nucleo del sistema (kernel, pacman, glib,etc).� Uno de cada.� Incluido en ISO releases.

� extra� Ambientes graficos (GNOME,KDE,XFCE,etc).� Herramientas de desarrollo.� Editores.� Etc.

� unstable� Software experimental e inestable

� testing� Paquetes candidatos para core, extra y unstable.� Pueden existir colisiones con otros paquetes de los otros repositorios

10 of 61

Page 11: Archlinux

Repositorios (2)� release

� Es un snapshot del repositorio core. No esta pensado para uso general� Existe por motivos historicos

� community� Mantenido por los TU.� Paquetes populares venidos de AUR.

11 of 61

Page 12: Archlinux

PKGBUILD

� Archivo que crea las directrices para la creacion de un paquete

� Escrito en bash

# $Id : PKGBUILD 4756 2008−07−09 20 : 00 : 54Z and y r t r $# Ma in t a i n e r : Judd V ine t <j v i n e t @ z e r o f l u x . org>pkgname=wgetpkgve r =1.11.4p k g r e l=1pkgdesc = ’ ’A network u t i l i t y to r e t r i e v e f i l e s from the Web’ ’a r ch=( i 686 x86 64 )u r l = ’ ’ h t tp : //www. gnu . org / s o f twa r e /wget/wget . html ’ ’l i c e n s e =( ’GPL3 ’ )g roups =( ’ base ’ )depends=( ’ g l i b c ’ ’ open s s l ’ )backup=( ’ e t c /wgetrc ’ )s ou r c e=( f t p : // f t p . gnu . org /gnu/$pkgname/$pkgname−$pkgver . t a r . gz )md5sums=( ’69 e8a7296c0e12c53bd9f fd786462e87 ’ )

b u i l d ( ) {cd ${ s r c d i r }/$pkgname−$pkgver. / c o n f i g u r e −−p r e f i x=/u s r −−s y s c o n f d i r=/e t cmake | | r e t u r n 1make DESTDIR=${pkgd i r} i n s t a l l

}

12 of 61

Page 13: Archlinux

Arch Build System (ABS)

� Muy parecido a los ports de BSD o el snapshot de Portage deGentoo

� Es un arbol de directorios (/var/abs) construido en base a losrepositorios

� Trabaja con PKGBUILDS

� Se sincroniza con el repositorio SVN del proyecto Archlinux

� Permite la compilacion de cualquier paquete

� Provee estabilidad, desempeno y gran personalizacion de lospaquetes.

� Posee la capacidad de reconstruir todo el sistema.

� Integrado con PACMAN.

13 of 61

Page 14: Archlinux

ArchLinux User Repository (AUR)

� Abierto a cualquiera que desea publicar su PKGBUILD.

� Los paquetes populares son, por lo general, movidos al repositorio[community]. (por medio de un sistema de votacion ej. aurvote)

� Provee una gran flexibilidad y facilita el flujo de nuevos paqueteshacia la distribucion.

� Administrado por los Trusted Users:� Encargados de mantener el orden en AUR y [community]� Intermediarios entre paquetes no soportados y community� Propuestos por los usuarios y electos de forma democratica por el

resto de los TU.

� Acceso desde la iterfaz web o desde herramientas como yaourt oaurbuild

14 of 61

Page 15: Archlinux

Instalacion

� Aqui iba un video xD

� Sigamos con screenshots

15 of 61

Page 16: Archlinux

Instalacion

16 of 61

Page 17: Archlinux

Instalacion

17 of 61

Page 18: Archlinux

Instalacion

18 of 61

Page 19: Archlinux

Instalacion

19 of 61

Page 20: Archlinux

Instalacion

20 of 61

Page 21: Archlinux

Instalacion

21 of 61

Page 22: Archlinux

Instalacion

22 of 61

Page 23: Archlinux

Instalacion

23 of 61

Page 24: Archlinux

Instalacion

24 of 61

Page 25: Archlinux

Instalacion

25 of 61

Page 26: Archlinux

Instalacion

26 of 61

Page 27: Archlinux

Instalacion

27 of 61

Page 28: Archlinux

Instalacion

28 of 61

Page 29: Archlinux

Instalacion

29 of 61

Page 30: Archlinux

Instalacion

30 of 61

Page 31: Archlinux

Instalacion

31 of 61

Page 32: Archlinux

Instalacion

32 of 61

Page 33: Archlinux

Instalacion

33 of 61

Page 34: Archlinux

Instalacion

34 of 61

Page 35: Archlinux

Instalacion

35 of 61

Page 36: Archlinux

Instalacion

36 of 61

Page 37: Archlinux

Instalacion

37 of 61

Page 38: Archlinux

Instalacion

38 of 61

Page 39: Archlinux

Instalacion

39 of 61

Page 40: Archlinux

Instalacion

40 of 61

Page 41: Archlinux

Instalacion

41 of 61

Page 42: Archlinux

Instalacion

42 of 61

Page 43: Archlinux

Instalacion

43 of 61

Page 44: Archlinux

Instalacion

44 of 61

Page 45: Archlinux

Instalacion

45 of 61

Page 46: Archlinux

Instalacion

46 of 61

Page 47: Archlinux

Instalacion

47 of 61

Page 48: Archlinux

Instalacion

48 of 61

Page 49: Archlinux

Instalacion

49 of 61

Page 50: Archlinux

Empaquetando (1)

� Simples .tar.gz

� Contienen el directorio del paquete con el PKGBUILD y otrosopcionales

� Los opcionales son algun .install para pre y post instalacion

� Necesitamos el archivo fuente que queremos empaquetar.

� Debemos “anotar” los comandos necesarios para la instalacion (lostipicos configure, make, make install)

� Usaremos un PKGBUILD tipo

50 of 61

Page 51: Archlinux

Empaquetando (2)# $Id : PKGBUILD 4756 2008−07−09 20 : 00 : 54Z and y r t r $# Ma in t a i n e r : Judd V ine t <j v i n e t @ z e r o f l u x . org>pkgname=pkgve r=pk g r e l=pkgdesc=arch=( i 686 )u r l=l i c e n s e =()groups=()depends=()

makedepends=()optdepends=()

backup=()s ou r c e =()md5sums=( )

b u i l d ( ) {cd ${ s r c d i r }/$pkgname−$pkgver. / c o n f i g u r e −−p r e f i x=/u s r −−s y s c o n f d i r=/e t cmake | | r e t u r n 1make DESTDIR=${pkgd i r} i n s t a l l

}

� pkgname: El nombre del paquete.

51 of 61

Page 52: Archlinux

Empaquetando (3)� pkgver: La version del paquete.

� pkgrel: El numero de release del paquete, debe ser modificadocada vez que se le hagan cambios al PKGBUILD.

� pkgdesc: Descripcion del paquete.

� arch: Arquitectura del paquete.

� url: La direccion del sitio web del paquete.

� license: Tipo de licencia del paquete.

� groups: El grupo o los grupos a los que el paquete pertence (ej:gnome, multimedia).

� depends: Dependencias del paquete, deben estar instaladas, sepuede usar el signo ¿= para exigir una version.

52 of 61

Page 53: Archlinux

Empaquetando (4)� makedepends: Dependencias que se necesitan para construir el

paquete pero que no son necesarias para el funcionamiento delpaquete.

� optdepends: Dependencias opcionales para entregar masfuncionalidades al paquete.

� conflicts: Paquetes que pueden causar conflictos con este paquete.

� replace: Nombre de paquetes obsoletos que son reemplazados poreste. (ej: replaces=(“ethereal”) para wireshark).

� backup: Listado de archivos que deben ser respaldados.

� install: Nombre de los archivos .install que se usaran para laconstruccion del paquete.

� source: Listado de archivos necesarios para construir el paquete ,debe contener la locacion del archivo.

53 of 61

Page 54: Archlinux

Empaquetando (5)� md5sums:Verificacion de sumas md5 de las fuentes. Se puede

generar con makepkg -g.

54 of 61

Page 55: Archlinux

Empaquetando

� La funcion build()

b u i l d ( ) {cd ${ s r c d i r }/$pkgname−$pkgver. / c o n f i g u r e −−p r e f i x=/u s r −−s y s c o n f d i r=/e t cmake | | r e t u r n 1make DESTDIR=${pkgd i r} i n s t a l l

}

� Usa comandos shell comunes para compilar el software y crear eldirectorio pkg/

� Primero ingresa al directorio fuente una vez descomprimido

� Dependiendo del paquete, se listan los comandos necesarios para lacompilacion e instalacion.

� Veamos un ejemplo real

55 of 61

Page 56: Archlinux

PKGBUILD gwibber (1)

# Con t r i b u t o r : Mario Danic <mario . dan i c@gma i l . com># Con t r i b u t o r : kasa <b i u t a . j r@gma i l . com>pkgname=gwibberr ea l name=gwibber

pkgve r =1.2.0bz r e v=339p k g r e l=1pkgdesc = ’ ’ an open sou r c e m i c r ob l o gg i ng c l i e n t f o r GNOME’ ’u r l = ’ ’ h t t p s : // launchpad . net / gwibber ’ ’l i c e n s e =( ’ ’GPL2 ’ ’ )a rch =( ’ ’ i686 ’ ’ ’ ’ x86 64 ’ ’ )depends =( ’ ’ gnome−python−desktop ’ ’ ’ ’ dbus−python ’ ’ ’ ’ gnome−python ’ ’ ’ ’ python−n o t i f y ’ ’ ’ ’ python−s imp l e j s o n ’ ’ ’ ’ python−egen i x−mx−base ’ ’ ’ ’ pywebk i tgtk ’ ’ ’ ’ python−d i s t u t i l s−ex t r a ’ ’ ’ ’ p i l ’ ’ ’ ’ pyxdg ’ ’ ’ ’ python−f e e d p a r s e r ’ ’ )makedepends =( ’ ’ bzr ’ ’ )p r o v i d e s=(${ r ea l name })c o n f l i c t s =(${ r ea l name })o p t i o n s =( ’ ’ ! l i b t o o l ’ ’ )i n s t a l l=gwibber . i n s t a l l

b z r t r u n k=l p : gwibberbzrmod=${ r ea l name}

b u i l d ( ) {cd ${ s r c d i r }

msg ’ ’ Conectando a l s e r v i d o r bz r . . . . . ’ ’

56 of 61

Page 57: Archlinux

PKGBUILD gwibber (2)i f [ ! −d . / ${ bzrmod} ] ; then

bz r co ${ b z r t r u n k} ${ bzrmod} −r ${bz r e v}e l s e

bz r up ${ bzrmod}f i

msg ’ ’ Copia desde BZR terminada ’ ’msg ’ ’ Comenzando c o n s t r u c c i o n . . . ’ ’

[ −d . / ${ bzrmod}−b u i l d ] && rm −r f ./{ $ b z r e v}−b u i l dcp −r . / ${ bzrmod} . / ${ bzrmod}−b u i l dcd . / ${ bzrmod}−b u i l dpython se tup . py b u i l dpython se tup . py i n s t a l l −−p r e f i x=${pkgd i r}/ u s r | | r e t u r n 1

}

� gwibber.install

57 of 61

Page 58: Archlinux

PKGBUILD gwibber (3)pkgname=gwibber

p o s t i n s t a l l ( ) {gtk−update−i con−cache −q −t −f u s r / sha r e / i c o n s / h i c o l o rupdate−desktop−database −q

}

po s t upg r ade ( ) {p o s t i n s t a l l $1

}

pos t r emove ( ) {update−desktop−database −qgtk−update−i con−cache −q −t −f u s r / sha r e / i c o n s / h i c o l o r

}

58 of 61

Page 59: Archlinux

Archlinux y Chile

� Comunidad Archlinux Chile.� Creada en Febrero del 2009.� Objetivos:

� Difundir y educar sobre el uso de Archlinux.� Crear un lugar de encuentro para los usuarios Archlinux en Chile.� Generar ideas y proyectos relacionados con Archlinux.� Ser un aporte a la Comunidad Internacional.

59 of 61

Page 60: Archlinux

Comunidad Archlinux (1)� Portal de la comunidad.

� http://www.archlinux.cl� Lista de correos

� http://listas.archlinux.cl� Foros de la comunidad

� http://foro.archlinux.cl� Wiki

� http://wiki.archlinux.cl� Galeria

� http://galeria.archlinux.cl� Planet

� http://planet.archlinux.cl� Canal IRC

60 of 61

Page 61: Archlinux

Comunidad Archlinux (2)� Server: irc.cl� #archlinux

61 of 61