Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaPróxima revisiónAmbos lados, revisión siguiente |
es:slackware:package_management_hands_on [2019/08/13 12:53 (UTC)] – [Upgrading packages] slackwarespanol | es:slackware:package_management_hands_on [2019/08/13 14:41 (UTC)] – [Crear paquetes de terceros] slackwarespanol |
---|
====== Gestión de paquetes: una explicación práctica ====== | ====== Gestión de paquetes: una explicación práctica ====== |
| |
**TRABAJO EN PROGRESO** | <note important>**TRABAJO EN PROGRESO**</note> |
===== Anatomía de un paquete de Slackware ===== | ===== Anatomía de un paquete de Slackware ===== |
| |
</code> | </code> |
| |
==== Search for specific packages or files ==== | ==== Buscar paquetes o archivos específicos ==== |
| |
Search for a specific package: | Busque un paquete específico: |
| |
<code> | <code> |
</code> | </code> |
| |
If the package is already installed, here's what you get: | Si el paquete ya está instalado, esto es lo que obtienes: |
| |
<code> | <code> |
</code> | </code> |
| |
You can also search for individual files. The search will eventually display on or several packages containing the file in question: | También puede buscar archivos individuales. La búsqueda finalmente se mostrará en o varios paquetes que contengan el archivo en cuestión: |
| |
<code> | <code> |
</code> | </code> |
| |
If you want to know more about the content of a package: | Si desea saber más sobre el contenido de un paquete: |
| |
<code> | <code> |
</code> | </code> |
| |
==== Cleaning the system ==== | ==== Limpieza del sistema ==== |
| |
Remove all third-party packages: | Eliminar todos los paquetes de terceros: |
| |
<code> | <code> |
</code> | </code> |
| |
If you decide to keep some of the packages, simply unselect them in the subsequent screen. | Si decide conservar algunos de los paquetes, simplemente desactívelos en la pantalla siguiente. |
| |
You can also use ''slackpkg'' to repair a damaged package. Let's say I accidentally deleted the file ''/usr/bin/glxgears''. First, I have to search for the package providing that file: | También puede usar '' slackpkg '' para reparar un paquete dañado. Digamos que borré accidentalmente el archivo '' / usr / bin / glxgears ''. Primero, tengo que buscar el paquete que proporciona ese archivo: |
| |
<code> | <code> |
</code> | </code> |
| |
With this information, I can simply reinstall the package: | Con esta información, simplemente puedo reinstalar el paquete: |
| |
<code> | <code> |
</code> | </code> |
| |
===== Rebuild official packages ===== | ===== Reconstruir paquetes oficiales ===== |
| |
Slackware provides the entire system's source code in the ''source'' directory. Every binary system package will have his corresponding source directory. These source directories usually contain: | Slackware proporciona el código fuente de todo el sistema en el directorio '' fuente ''. Cada paquete de sistema binario tendrá su directorio fuente correspondiente. Estos directorios fuente generalmente contienen: |
| |
* the source code for the application or the library; | * el código fuente de la aplicación o la biblioteca; |
* its fabrication recipe in the shape of a ''*.SlackBuild'' file; | * su receta de fabricación en forma de archivo '' * .SlackBuild ''; |
* the package description in a ''slack-desc'' file; | * la descripción del paquete en un archivo '' slack-desc ''; |
* eventually, a post-installation script named ''doinst.sh''; | * eventualmente, un script posterior a la instalación llamado '' doinst.sh ''; |
* various other files like patches, custom menu entries, etc. | * varios otros archivos como parches, entradas de menú personalizadas, etc. |
| |
==== Build a package from source ==== | ==== Construir un paquete desde la fuente ==== |
| |
In the example below, we will build the ''Terminal'' application from the source code provided by Slackware. You might want to remove the corresponding package if it is installed. | En el siguiente ejemplo, crearemos la aplicación '' Terminal '' a partir del código fuente proporcionado por Slackware. Es posible que desee eliminar el paquete correspondiente si está instalado. |
| |
<note tip>The ''Terminal'' package is Xfce's terminal. In Slackware 14.1, the package has been renamed to ''xfce4-terminal''.</note> | <note tip>El paquete '' Terminal '' es el terminal de Xfce. En Slackware 14.1, el paquete ha cambiado de nombre a "xfce4-terminal".</note> |
| |
<code> | <code> |
</code> | </code> |
| |
Choose an appropriate place on your system to store the source code and the scripts, for example: | Elija un lugar apropiado en su sistema para almacenar el código fuente y los scripts, por ejemplo: |
| |
<code> | <code> |
</code> | </code> |
| |
Fetch the content from the ''source/xfce/Terminal'' directory on a Slackware mirror. Here's what we get: | Obtenga el contenido del directorio '' source/xfce/Terminal '' en un espejo de Slackware. Esto es lo que obtenemos: |
| |
<code> | <code> |
</code> | </code> |
| |
Make the ''Terminal.SlackBuild'' file executable and start the building process: | Haga que el archivo '' Terminal.SlackBuild '' sea ejecutable e inicie el proceso de construcción: |
| |
<code> | <code> |
</code> | </code> |
| |
The script initiates the package compilation. If everything goes as expected, the operation exits with the following message: | El script inicia la compilación del paquete. Si todo sale como se esperaba, la operación sale con el siguiente mensaje: |
| |
<code> | <code> |
</code> | </code> |
| |
Now we can install the resulting package: | Ahora podemos instalar el paquete resultante: |
| |
<code> | <code> |
</code> | </code> |
| |
==== Modify an official Slackware package ==== | ==== Modificar un paquete oficial de Slackware ==== |
| |
The main reason for rebuilding an official package is to modify it, for example to add or strip certain functionalities. In the following example, we will rebuild the ''audacious-plugins'' package in order to modify the Audacious audio player. The vanilla application sports two different graphical interfaces, and we will disable one of them. | La razón principal para reconstruir un paquete oficial es modificarlo, por ejemplo, para agregar o quitar ciertas funcionalidades. En el siguiente ejemplo, reconstruiremos el paquete '' audacious-plugins '' para modificar el reproductor de audio Audacious. La aplicación Vanilla tiene dos interfaces gráficas diferentes, y desactivaremos una de ellas. |
| |
Let's begin with removing the package if it is installed: | |
| |
| Comencemos por eliminar el paquete si está instalado: |
<code> | <code> |
# removepkg audacious-plugins | # removepkg audacious-plugins |
</code> | </code> |
| |
Fetch the contents of the ''/source/xap/audacious-plugins'' directory and make the ''audacious-plugins.SlackBuild'' script executable: | Obtenga el contenido del directorio '' /source/xap/audacious-plugins '' y haga que el script '' audacious-plugins.SlackBuild '' sea ejecutable: |
| |
<code> | <code> |
</code> | </code> |
| |
Now edit ''audacious-plugins.SlackBuild'' and add one option: | Ahora edite '' audacious-plugins.SlackBuild '' y agregue una opción: |
| |
<code> | <code> |
</code> | </code> |
| |
Build and install the package: | Compila e instala el paquete: |
| |
<code> | <code> |
</code> | </code> |
| |
==== Choosing your configuration options for compiling ==== | ==== Elegir las opciones de configuración para compilar ==== |
| |
The source configuration script (or more exactly the sometimes very long line in the SlackBuild beginning with ''./configure'') often displays an overview of activated and/or deactivated options. To interrupt the package construction process and display this overview, you can temporarily edit the SlackBuild like this: | El script de configuración de la fuente (o más exactamente la línea a veces muy larga en SlackBuild que comienza con '' ./configure '') a menudo muestra una descripción general de las opciones activadas y/o desactivadas. Para interrumpir el proceso de construcción del paquete y mostrar esta descripción general, puede editar temporalmente el SlackBuild de esta manera: |
| |
<code> | <code> |
</code> | </code> |
| |
Now run the script and wait a few seconds for the configuration overview: | Ahora ejecute el script y espere unos segundos para ver la descripción general de la configuración: |
| |
<code> | <code> |
</code> | </code> |
| |
Use the ''./configure --help'' option to display a list of all the possible options: | Use la opción '' ./configure --help '' para mostrar una lista de todas las opciones posibles: |
| |
<code> | <code> |
</code> | </code> |
| |
<note tip>The SlackBuild script already takes care of automatically uncompressing the source tarball to the ''/tmp'' directory. So you can simply run ''./configure --help | less'' from this directory, without manually uncompressing the source tarball to the current directory.</note> | <note tip>El script SlackBuild ya se encarga de descomprimir automáticamente el archivo tar de origen en el directorio '' /tmp ''. Entonces simplemente puede ejecutar '' ./configure --help | menos '' desde este directorio, sin descomprimir manualmente el tarball fuente al directorio actual.</note> |
| |
<note>In the present case, activating certain functionalities like for example managing proprietary audio formats will depend on the presence of the corresponding libraries on your system.</note> | <note>En el presente caso, la activación de ciertas funcionalidades como, por ejemplo, la administración de formatos de audio propietarios dependerá de la presencia de las bibliotecas correspondientes en su sistema.</note> |
| |
Once you've chosen all your configuration options, get rid of the temporary ''exit 1'' command in your script and launch the build and installation process: | Una vez que haya elegido todas sus opciones de configuración, elimine el comando temporal '' salir 1 '' en su script e inicie el proceso de compilación e instalación: |
| |
<code> | <code> |
</code> | </code> |
| |
===== Building third-party packages ===== | ===== Crear paquetes de terceros ===== |
| |
Slackware offers only a limited choice of packages compared to behemoth distributions like Ubuntu or Debian. More often than not, you'll want to install a package that's not provided by the distribution. In that case, what can a poor boy do? | Slackware ofrece solo una selección limitada de paquetes en comparación con distribuciones gigantes como Ubuntu o Debian. La mayoría de las veces, querrás instalar un paquete que no sea proporcionado por la distribución. En ese caso, ¿qué puede hacer un niño pobre? |
| |
The [[http://slackbuilds.org|SlackBuilds.org website]] is probably the best address to find third-party software. You won't find any packages there, because SlackBuilds.org is //not// a binary package repository nor will it ever be. It's an extremely clean and well organized collection of build scripts, each one reviewed and tested. Using these scripts will enable you to build about every piece of third party software under the sun. | El [[http://slackbuilds.org | sitio web SlackBuilds.org]] es probablemente la mejor dirección para encontrar software de terceros. No encontrará ningún paquete allí, porque SlackBuilds.org // no // es un repositorio de paquetes binarios ni lo será nunca. Es una colección extremadamente limpia y bien organizada de scripts de compilación, cada uno revisado y probado. El uso de estos scripts le permitirá construir sobre cada pieza de software de terceros bajo el sol. |
| |
==== Building packages using the SlackBuilds.org scripts ==== | ==== Building packages using the SlackBuilds.org scripts ==== |
| |