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 server 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

y 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

0 comentarios:

Simpleza y Libertad...