9/08/2007

Configurando Swaret

Continuando con mi humilde bitácora Slackware, ahora le toca el turno a Swaret :)

Primero explicar que este es un programa de mi querido Slack que puede ser comparado a la herramienta apt-get de Debian. El nombre viene de SlackWARE Tool y se implementó desde la version 3.1 hasta la 10 de Salckware, cuando el amo y señor de Slackware, Patrick Volkerding, tuvo problemas con el desarrollador de swaret, Luc Cottyn, y lo descontinuo. Siendo usado a partir de ahi como un paquete aparte.

-¿Y qué es lo que hace?
Bueno, este programa nos ayuda con las dependencias, instalar/desinstalar programas, actualizaciones, etc...

Actualmente va en la versión 1.6.3 y se puede descargar desde acá -----> Swaret

Es un archivo .tgz asi que lo instalamos con #installpkg swaret.. y ya estaria listo para ser usado.

Ya instalado, lo configuramos para nuestra versión de Slackware... yo uso la versión 12, así que la configuración esta dirigida pa mi :p.
Hoi en día se dice que swaret no esta actualizado y ese uno de los principales "prejuicios" de porque no se usa mucho... el discursillo es elemental porque por algo se dejo de incluir oficialmente a partir de la versión 10.0, pero a su favor los usuarios de swaret pueden decir que basta con configurarlo para que baje desde repositorios actualizados y ya... y eso es lo que vamos a hacer ahora. :D


Configurando Swaret

Para poner a punto nuestro swaret tenemos que editar el archivo /etc/swaret.conf, pero antes borramos la configuración por defecto para actualizarla a nuestra versión... hacemos un

# mv /etc/swaret.conf.new /etc/swaret.conf

Ahora con el editor que les guste abren el archivo y realizan los siguientes cambios. (Yo uso vi :))

# vim /etc/swaret.conf (los cambios están resaltados con <==== este signo)

###########################################################
#
# swaret.conf, Version: 1.6.3
#
### /etc/swaret.conf - SWARET EXAMPLE CONFIGURATION FILE ###
#
# Define a valid Slackware Linux Version.
# (Used for Dependency Support and other Features)
#
# NOTE: If you want to use Slackware Linux Current,
# set VERSION to 'current' (VERSION=current).
#
VERSION=12.0 <======== Actualizamos la versión
#
# Define the language for status and error messages
LANGUAGE=ESPANOL <============ Selecionamos el idioma que queremos en nuestro caso español, pero sin ñ... ya explique antes que lis gringos no pueden escribir ñandú :p
#
# ----------------------------------------------------------
# Define Slackware (8.1 or Higher or Current) Linux Mirrors.
# (Used for Official Slackware Linux Packages)
# (Slackware Linux Mirrors available at http://www.slackware.com)
#
# Syntax: ROOT=PROTOCOL:URL
#
# NOTE: swaret will use the order of the specified ROOT URL's.
#
#ROOT=file:/mnt/cdrom
#ROOT=file:/mnt/dvdrom
#ROOT=file:/mnt/usbmemstick ROOT=ftp://ftp.nluug.nl/pub/os/Linux/distr/slackware/slackware-$VERSION ROOT=http://sunsite.cnlab-switch.ch/ftp/mirror/slackware/slackware-$VERSION ROOT=ftp://ftp.slackware.no/pub/linux/slackware/slackware-$VERSION ROOT=http://www.slackware.no/slackware/slackware-$VERSION ROOT=ftp://ftp.slackware.at/slackware-$VERSION ROOT=http://www.slackware.at/data/slackware-$VERSION ROOT=ftp://ftp.planetmirror.com/pub/slackware/slackware-$VERSION ROOT=http://ftp.planetmirror.com/pub/slackware/slackware-$VERSION #ROOT=rsync://rsync.slackware.no/slackware/slackware-$VERSION #ROOT=rsync://rsync.slackware.at/slackware/slackware-$VERSION
#ROOT=file:/pub/slackware
#ROOT=file:/mnt/nfsshare/slackware
#ROOT=file:/mnt/sambashare/slackware
#
# -----------------------------------------------------------
# Define Repository URL's with Slackware Linux Packages.
# (Used for Repository Slackware Linux Packages)
# (Repository URL's available at http://swaret.sourceforge.net and
# at http://www.linuxpackages.net/mirrors.php)
#
# NOTE 1: To use a Local Repository or Remote Repository,
# be sure it contains the following Files:
# - CHECKSUMS.md5 (For MD5 Sum, REQUIRED)
# - FILELIST.TXT (For Package Name + Size, REQUIRED)
# - PACKAGES.TXT (For Package Description, NOT REQUIRED)
# - MANIFEST.bz2 (For Dependency Support, NOT REQUIRED)
# NOTE 2: To create your own Repository, use 'swaret-tools'.
# You can get 'swaret-tools' at http://swaret.sourceforge.net!
#
# Syntax: REPOS_ROOT=REPOSITORYNAME%PROTOCOL:URL
#
# NOTE 1: The REPOSITORY NAME can only be ONE Keyword!
# NOTE 2: swaret will use the order of the specified REPOS_ROOT URL's.
# REPOS_ROOT=LinuxPackagesDOTNET%http://www2.linuxpackages.net/packages/Slackware-12.0 <==== sacamos el # para tener a linuxpackages como repositorio, también es posible elegir el mirror que mas nos convenga.
REPOS_ROOT=Slacky%http://www.slacky.eu/repository/slackware-12.0 <===== Agregamos a slacky como repositorio, en lo personal me gusta y la recomiendo.
#
#REPOS_ROOT=My_Slackware_Packages_On_CD-ROM%file:/mnt/cdrom #REPOS_ROOT=My_Slackware_Packages_On_DVD-ROM%file:/mnt/dvdrom #REPOS_ROOT=My_Slackware_Packages_On_USB_Memory_Stick%file:/mnt/usbmemstick #REPOS_ROOT=SomeRemoteRepository%ftp://ftp.someremoterepository.net/slackware/slackware-12.0 #REPOS_ROOT=SomeRemoteRepository%http://www.someremoterepository.net/slackware/slackware-12.0 #REPOS_ROOT=SomeRemoteRepository%rsync://rsync.someremoterepository.net/slackware/slackware-10.0 #
# ------------------------------------------------------------
# Define Libraries (8.1 or Higher or Current) List Mirrors.
# (Used for Dependency Support)
#
# NOTE 1: You need to specify a Libraries List Mirror which
# contains a 'libraries-VERSION' File.
#
# NOTE 2: To create the Libraries List, use 'swaret-tools'.
# You can get 'swaret-tools' at http://swaret.sourceforge.net!
# You can also clear all DEP_ROOT Variable(s) which will
# allow swaret to create the Libraries List for you
# during Dependency Check using the defined ROOT Variable(s) above.
#
# Syntax: DEP_ROOT=PROTOCOL:URL <==== Aca es donde swaret busca las dependencias faltantes, ya esta configurado por defecto, solo lo hay que editar si se sabe lo que necesitamos :)
#
# NOTE: swaret will use the order of the specified DEP_ROOT URL's. DEP_ROOT=http://swaret.sourceforge.net
#DEP_ROOT=file:/mnt/cdrom
#DEP_ROOT=file:/mnt/dvdrom
#DEP_ROOT=file:/mnt/usbmemstick
#DEP_ROOT=file:/pub/swaret
#DEP_ROOT=file:/mnt/nfsshare/swaret
#DEP_ROOT=file:/mnt/sambashare/swaret
#
# ----------------------------------------------------------
# General Settings
#
# Do you want swaret to use Random Slackware Linux Mirrors?
# -> 1 for yes, 0 for no.
#
RANDOMR=0
#
# Do you want swaret to back-up your packages when upgradeing?
# -> If set to 1, old packages are backed up in $CACH_DIR/rollback.
# Normally this is /var/swaret/rollback. ROLLBACKMAX is the number
# of "upgrades" that will be backed up before old backups will be
# removed. Turning on rollback means upgrading packages takes
# longer, but it is more safe.
# -> If set to 0, swaret will not back up packages.
#
ROLLBACK=0
ROLLBACKMAX=3
#
# Do you want swaret to parse all the Package Descriptions?
# -> If set to 1, swaret will also match Packages whose Description
# is matching the Keyword(s) you specify after --ACTION.
# NOTE: swaret will parse all the Package Descriptions for this,
# and might slow down swaret when using an older System.
# -> If set to 0, swaret will not use Package Descriptions
# to match one or more Packages.
#
USEPKGDESC=0
#
# If you don't want swaret to Upgrade, Install, Re-Install, Download,...
# some Packages, add the KEYWORDS to the EXCLUDE Variable.
# To disable Exclude Method: swaret --exclude -off
# To enable Exclude Method: swaret --exclude -on
#
# NOTE: You can add ANY EXTENDED REGEXP (Regular Expression) to the EXCLUDE Variable(s)
#
# Basic Exclude
EXCLUDE=x86_64 <===== Estos son los paquetes que va a excluir, agregue esto porque mi tarro es de 32 bit.. asi que para qué quiero los 64 :o
EXCLUDE=kernel alsa lilo
EXCLUDE=swaret
EXCLUDE=aaa_
EXCLUDE=MANIFEST.bz2$
EXCLUDE=.*dl$ .*PACKAGER$ .*MYBUILD$
#
# Advanced Exclude
# Syntax: KEYWORD[DONT_EXCLUDE_ME_KEYWORD1,DONT_EXCLUDE_ME_KEYWORD2,...]
# Example: kde-i18n[nl,en_GB] koffice-i18n[nl,en_GB]
#
#EXCLUDE=kde-i18n[nl,en_GB] koffice-i18n[nl,en_GB]
#
# Do you want to enable Dependency Check?
# -> If set to 1, swaret will start the Dependency Check after
# every Upgrade, Install and Re-Install Procedure.
# -> If set to 0, swaret will not start the Dependency Check
# after any Procedure.
#
DEPENDENCY=1 <=== ponemos 1 si queremos que swaret chequee las dependencias...
#
# Do you want swaret to Search for missing Libraries (and Fix)
# which could be found on your System, but not tracked by ldconfig?
# -> 1 for yes, 0 for no.
#
DSEARCHLIB=1 <==== esto es para que busque las dependencias, si no lo queremos asi ponemos 0. #
# Set to 1, if you want swaret to use the 'slocate' program
# to Search for missing Libraries.
# (be sure to issue the 'updatedb' Command regularly!)
# If DSEARCHM is set to 0, swaret will use # the 'find' program to locate missing Libraries.
# -> 1 for yes, 0 for no.
#
DSEARCHM=1
#
# Start MD5 Check after Fetching Packages, Patches and Sources?
# -> 1 for yes, 0 for no.
#
MD5CHECK=1 <==== para chequear si los paquetes bajados estan buenos... recomendable
#
# Start GPG Signature Check after Fetching Packages, Patches and Sources?
#
# NOTE: Check out F.A.Q. (--faq gpg) how to Import a Public GPG Key which
# will be used by the GPG Signature Check.
#
# -> 1 for yes, 0 for no.
#
GPGCHECK=0
#
# Show Description for Packages during
# Upgrade, Install, Re-Install,... Procedures?
# -> If set to 0, you will not see a Description.
# -> If set to 1, you will see a Description.
#
DESC=1
#
# Cache Directory for (Repository) Packages and Sources.
#
CACHE_DIR=/var/swaret <==== aca es donde descarga sus cositas... podemos elegir la que queramos..
#
# Enable Logging?
# -> 1 for yes, 0 for no.
#
LOG=1
#
# swaret Log File
#
LOG_FILE=/var/log/swaret
#
# Show Warnings?
# -> 1 for yes, 0 for no.
#
WARNINGS=1
#
# Show Information?
# -> 1 for yes, 0 for no.
#
INFORMATION=1
#
# -------------------------------------------------------------
# Network Settings
#
# Network Interface
# Use this if you have a Network Interface.
#
NIC=eth0 <===== Mui importante!!, es el dispositivo de conexion a internet
#
# Local Interface
# Use this if you do not have a Network Interface.
#
# For Example (CD-ROM):
# You got a Slackware Linux CD-ROM,
# mount the CD-ROM to /mnt/cdrom and
# set ROOT to 'file:/mnt/cdrom' in /etc/swaret.conf.
# Also, set NIC to 'lo' (Local Loop Device).
#
# NIC=lo
#
# Progress
# If set to 0, swaret will use the '%' Download Interface.
# If set to 1, swaret will use the 'size' Download Interface.
# If set to 2, swaret will use the 'wget/rsync' Download Interface.
#
PROGRESS=0
#
# Timeout for wget and/or rsync.
# -> Number of seconds for Timeout
#
TIMEOUT=35
#
# Retries for wget and/or rsync.
# -> Number of Retries
#
RETRIES=5
#
# Behind a Firewall? Using FTP Mirrors?
# -> 1 for yes, 0 for no
#
PASSIVE_FTP=1
#
# If you want HTTP or FTP Proxy Support,
# uncomment and Setup the following Variable:
#
# WGET_PROXY=http://IP or HOST:PORT
#
# If you want RSYNC Proxy Support,
# uncomment and Setup the following Variable:
#
# RSYNC_PROXY=IP or HOST:PORT
#
### /etc/swaret.conf - SWARET EXAMPLE CONFIGURATION FILE ###

cerramos y guardamos (wq) y actualizamos nuestra lista de repositorios que agregamos con

# swaret --update

Y ahora sólo resta usar nuestro nuevo swaret :)

Acá algunas opciones que nos da esta herramienta

# swaret --upgrade /paquete/ <=== actualiza paquetes instalados
# swaret ---install paquete <==== inatala paquete # swaret --reinstall <=== ta diciendo...
# swaret --remove <=== desintala
# swaret --compile <==== descarga un codigo fuente y lo compila
# swaret --dep <==== arregla la librerias que falten
# swaret --resume <==== resume los paquetes rotos
# swaret --list <==== lista los paquetes disponibles
# swaret --search paquete <==== busca si el paquete esta disponible
# swaret --check <=== chequea si esta actualizado swaret
# swaret --faq <==== ....
# swaret --help <==== ....
# swaret --manual <==== ....


También existe una interface gráfica (GUI) para swaret, el proyecto Kswaret basada en Qt, para los que no son amigos de la consola... yo no la he usado y seguramente nunca la use :p, pero se puede descargar desde aca --------> Kswaret

Para terminar -por fin!!!- decir que sólo pretendo dar a conocer la herramienta, no sé si es la mejor o la peor, yo la he usado y puede que a alguién le sea útil :)

Fuente: San Google

3 comentarios:

Lucas Coudures Zenz dijo...

Muchas gracias Asclepio por tu colaboración !!!

P431i7o dijo...

holap, he leido tu minituto y me parecio genial, solo queria comentar que el repository de slacky ha cambiado ahora es http://repository.slacky.eu/slackware-12.0/

tanto para el slap-get como para el swaret,
te animo a que sigas haciendo estos minitutos, ya que estan buenisimos, o como decimos aqui 'de la pesada' jeje

Saludos desde Paraguay

klazerver dijo...

Fantastica tu capacidad de comunicar en pocas palabras. Muy bien el post, me sirvio para instalar Swaret, nunca pense que fuera tan facil. Gracias.

Usuarios Online