Guía del Usuario - 6. Usando el Fink desde la línea de comando
6.1 Usando la herramienta fink
La herramienta fink
usa varios comandos estilo sufijo que actuan sobre los paquetes de la distribución de código. Algunos necesitan al menos el nombre de un paquete, pero pueden manejar varios paquetes al mismo tiempo. Puedes especificar solamente el nombre del paquete (e.g. gimp), o un nombre completo con versión (e.g. gimp-1.2.1 or
gimp-1.2.1-3). Fink automaticamente buscara la versión más reciente disponible cuando esta no sea especificada. Otros tiene opciones diferentes.
Lo que sigue es una lista de los comandos de la herramienta fink fink
:
6.2 Global options
There are some options, which apply to all fink commands. If you
type fink --help
you get the list of options:
(as of fink-0.26.0
)
-h, --help - displays help text.
-q, --quiet - causes fink
to be less verbose, opposite of --verbose. Overrides the Verbose flag in fink.conf
.
-V, --version - display version information.
-v, --verbose - causes fink
to be more verbose, opposite of --quiet. Overrides the Verbose field in fink.conf.
-y, --yes - assume default answer for all interactive questions.
-K, --keep-root-dir - Causes fink
not to delete the
root-[name]-[version]-[revision]
directory in the Buildpath after building a package. Corresponds to the KeepRootDir field in fink.conf
.
-k, --keep-build-dir - Causes fink
not to delete the
[name]-[version]-[revision]
directory in the Buildpath after building a package. Corresponds to the KeepBuildDir field in fink.conf
.
-b, --use-binary-dist - download pre-compiled packages from the binary
distribution if available (e.g. to reduce compile
time or disk usage).
Note that this mode instructs fink to download the
version it wants if that version is available for
download; it does not cause fink to choose a version
based on its binary availability. Corresponds to the UseBinaryDist flag in fink.conf
.
--no-use-binary-dist - Don't use pre-compiled binary packages from the binary
distribution, opposite of the --use-binary-dist flag.
This is the default unless overridden by setting UseBinaryDist: true
in
the fink.conf
configuration file.
--build-as-nobody - Drop to a non-root user when performing the unpack, patch, compile, and install phases. Note that packages built with this option may be non-functional. You should use this mode for package development and debugging only.
-m, --maintainer
- (fink-0.25
and later) Perform actions useful to package maintainers: run validation on
the .info
file before building and on the .deb
after building a
package; turn certain build-time warnings into fatal errors; (fink-0.26
and later) run the test suites as specified in the field. This sets --tests and --validate to on
.
--tests[=on|off|warn] - (fink-0.26.0
and later) Causes InfoTest
fields to be activated and test suites specified
via TestScript
to be executed (see the Fink Packaging Manual). If no argument is given to this
option or if the argument is on
then failures in test suites will
be considered fatal errors during builds. If the argument is warn
then failures will be treated as warnings.
--validate[=on|off|warn] -
Causes packages to be validated during a build. If no argument is
given to this option or if the argument is on
then validation failures will be considered fatal errors during builds. If the argument is warn
then failures will be treated as warnings.
-l, --log-output
- Save a copy of the terminal output during each package building
process. By default, the file is stored in
/tmp/fink-build-log_[name]-[version]-[revision]_[date]-[time]
but
one can use the --logfile flag to specify an alternate filename.
--no-log-output - Don't save a copy of the output during package-building, opposite of the --log-output flag. This is the default.
--logfile=filename
- Save package build logs to the file filename
instead of the default
file (see the --log-output flag, which is implicitly set by the
--logfile flag). You can use percent-expansion codes to include
specific package information automatically. A complete list of percent-expanions is available in the Fink Packaging Manual; some common percent-expansions are:
- %n - package name
- %v - package version
- %r - package revision
-t, --trees=expr
- Consider only packages in trees matching expr.
The format of expr is a comma-delimited list of tree specifica-
tions. Trees listed in fink.conf
are compared against expr. Only
those which match at least one tree specification are considered by
fink
, in the order of the first specifications which they match. If
no --trees option is used, all trees listed in fink.conf
are
included in order.
A tree specification may contain a slash (/) character, in which
case it requires an exact match with a tree. Otherwise, it matches
against the first path-element of a tree. For example,
--trees=unstable/main would match only the unstable/main tree,
while --trees=unstable would match both unstable/main and
unstable/crypto.
There exist magic tree specifications which can be included in
expr:
- status - Includes packages in the dpkg status database.
- virtual - Includes virtual packages which reflect the capabili- ties of the system.
Exclusion of (or failure to include) these magic trees is currently only supported for operations which do not install or remove packages.
-T, --exclude-trees=expr Consider only packages in trees not matching expr. The syntax of expr is the same as for --trees, including the magic tree specifications. However, matching trees are here excluded rather than included. Note that trees matching both --trees and --exclude-trees are excluded.
Examples of --trees and --exclude-trees:
fink --trees=stable,virtual,status install foo
Install foo as if
fink
was using the stable tree, even if unstable is enabled infink.conf
.fink --exclude-trees=local install foo
Install the version of foo in Fink, not the locally modified version.
fink --trees=local/main list -i
List the locally modified packages which are installed.
Most of these options are self-explanatory. Many can also be set in the
Fink configuration file (fink.conf
) if you want
to set them permanently and not just for that invocation of fink
.
6.3 install
El comando install es usado para instalar programas. Descarga, configura, construye e instala los paquetes que nombres. También instalará las dependencias requeridas automaticamente, pero pedira autorización antes de hacerlo. Ejemplo:
fink install nedit Reading package info... Information about 131 packages read. The following additional package will be installed: lesstif Do you want to continue? [Y/n]
Use of the --use-binary-dist option with fink install
can speed the build process for complicated packages by quite a lot.
Alias para el comando install: update, enable, activate, use (esto es por razones historicas).
6.4 remove
Este comando remueve los paquetes del sistema invocando el comando 'dpkg --remove
'. La actual implementación tiene algunas fallas: no revisa las dependencias sino que se lo deja por completo a la herramienta dpkg tool (aunque esto rara vez causa problemas).
El comando remove solo remueve los archivos del paquete, pero deja el archivo .deb
comprimiro del paquete intacto. Esto significa que puedes reinstalar el paquete despues sin tener que pasar por el proceso de compilación. Si necesitas el espacio de disco, puedes remover el archivo .deb
del directorio
/opt/sw/fink/dists
.
These flags can be used with the fink remove command
-h,--help - Show the options which are available. -r,--recursive - Also remove packages that depend on the package(s) to be removed (i.e. overcome the above-mentioned flaw).
Alias: disable, deactivate, unuse, delete.
6.5 purge
The purge command purges packages from the system. This is the same as the remove command except that it removes configuration files as well.
This command takes the:
-h,--help -r,--recursive
options.
6.6 update-all
Este comando actualiza todos los paquetes instalados a la versión más reciente. No necesita la lista de paquetes, solo debes ejecutar el comando:
fink update-all
--use-binary-dist is also useful with this command.
6.7 list
Este comando muestra una lista de los paquetes disponibles, el estatus de la Instalación, la última versión, y una pequeña descripción del paquete. Tambien se le puede añadir un nombre o un patr�n del shell y fink mostrara una lista de los paquetes que encajen cn dicho nombre.
La primera columna muestra el estado de la Instalación de la siguiente manera:
no instalado i la versión más reciente esta instalada (i) instalado, pero hay una nueva versión disponible p a virtual package provided by a package that is installed
Estas son las opciones para el comando fink list
-h,--help Muestra las opciones disponibles.. -t,--tab Este da una lista delimitada por tabulaciones, usualmente util para usarla después en un script. -i,--installed Solamente muestra lo paquetes instalados actualmente. -o,--outdated Muestra solo los paquetes que son viejos. -u,--uptodate Muestra solo los paquetes actualizados. -n,--notinstalled Muestra los paqutes que no estan actualizados. -s expr,--section=expr Solo muestra los paquetes en la sección indicada en la expresión expr. -m expr,--maintainer=expr Show only packages with the maintainer matching the regular expression expr. -w=xyz,--width=xyz Determina el ancho del despliege de la lista. xyz es o un valor numerico o auto. auto ajustara el ancho de acuerdo al ancho de la terminal Por omisión es auto.
Algunos ejemplos son estos:
fink list - Lista todos los paqutes. fink list bash - Revisa si bash esta disponible y cual versión. fink list --tab --outdated | cut -f 2 - Lista de paquetes no actualizados fink list --section=kde - Lista de paquetes en la Sección KDE fink list --maintainer=fink-devel - list the packages with no maintainer fink --trees=unstable list --maintainer=fink-devel - list the packages with no maintainer, but only in the unstable tree. fink list "gnome*" - Lista todos los paquetes que empiezan con la palabra 'gnome'
Las comillas en el último ejemplo son necesarias para evitar que el shell interprete el patron por si mismo.
6.8 apropos
Este comando se comporta de manera identica al comandoTfink list
. La diferencia más notable es que fink apropos
también revisa las descripciones de los paquetes. La segunda diferencia es que un línea de busqueda debe ser proporcionada, no es opcional.
fink apropos irc - lista los paquetes en que 'irc' aarece en el nombre o descripción del paquete. fink apropos -s=kde irc - igual que arriba, pero restringe los paquetes a la Sección kde.
6.9 describe
Este comando despligea la descripción del paquete que le sea indicado en la línea de comando. Note, por favor, que solo algunos paquetes tiene una descripción.
Alias: desc, description, info
6.10 plugins
List the (optional) plugins available to the fink
program. Currently lists the notification mechanisms and the source-tarball
checksum algorithms.
6.11 fetch
Descarga los paquetes nombrados, pero no los instala. Este comando descarga los archivos tar aunque se hayan descargado previamente.
The following flags can be used with the fetch
command:
-h,--help Show the options which are available. -i,--ignore-restrictive Do not fetch packages that are "License: Restrictive". Useful for mirrors, because some restrictive packages do not allow source mirroring. -d,--dry-run Just display information about the file(s) that would be downloaded for the package(s) to be fetched; do not actually download anything. -r,--recursive Also fetch packages that are dependencies of the package(s) to be fetched.
6.12 fetch-all
Descarga todos las fuentes de los paquetes. Al igual que fetch, descarga los archivos tar aunque hayan sido descargados previamente.
These flags can be used with the fink fetch-all
command:
-h,--help -i,--ignore-restrictive -d,--dry-run
6.13 fetch-missing
Descarga todos las fuentes de los paquetes. Este comando solo descarga archivos que no esten presentes en el sistema.
These flags can be used with the fink fetch-missing
command:
-h,--help -i,--ignore-restrictive -d,--dry-run
6.14 build
Construye un paquete pero no lo instala. Como es usual, los archivos tar solo serán descargados en caso de no encontrarse en el sistema. El resultado de este comando en un .deb instalable que puede ser instlado posteriormente con el comando install. Este comando no hara nada si el archivo .deb ya existe. Note que las dependencias serán instaladas, no solamente construidas.
6.15 rebuild
Construye el paquete (al igual que el comando build), pero ignora y sobreescribe el archivo .deb existente. Si el paquete es instalado, el nuevo .deb también será instalado en el sistema mediante el dpkg
. Esto es muy util durante el desarrollo de paquetes.
The --use-binary-dist option is applicable here.
6.16 reinstall
Identico a install, pero instala los paquetes mediante dpkg
aún cuando ya estan instalados. Puedes usar este comando cuando has borrado accidentalmente algun paquete, o cambiado la configuración y quieres recuperar los valores por omision.
6.17 configure
Re-ejecuta el procesos de configuración de fink
. Este comando te permitira cambiar los espejos, la configuracion del proxy, y otras cosas.
New in fink-0.26.0
: This command will also let you turn on the unstable trees if desired.
6.18 selfupdate
Este comando automatiza el proceso de actualización del Fink. Revisa el sitio web, verifica si existe una versión nueva disonible y en caso de haberla, decarga las descripciones del paquete y actualiza los paquetes centrales, incluyendo al propiofink
. Este comando actualiza las versiones regulares, pero puedes modificar el directorio /opt/sw/fink/dists
para obtener actualizaciones directamente del Git, accediendo así a las actualizaciones m��s recientes de todos los paquetes.
If the --use-binary-dist option is enabled, the list of available packages in the binary distribution is also updated.
6.19 selfupdate-rsync
Use this command to make fink selfupdate
use rsync to update its package list.
This is the recommended way to update Fink when building from source.
Note: rsync updates only update the active trees (e.g. if unstable isn't turned on in fink.conf
the list of unstable packages won't be updated.
6.20 selfupdate-git
Use this command to make fink selfupdate
use Git access to update its package list.
Rsync updating is preferred, except for developers and those people who are behind firewalls that disallow rsync.
6.21 index
Reconstruye el cache de los paquetes. Usualmente no hay que ejecutar esto manualmente, debido a que fink
lo realiza automaticamente cuando debe ser actualizado.
6.22 validate
Este comando ejecuta varias verificaciones en los archivos .info
and .deb
. Aquellas personas que dan mantenimiento a algun paquete, deben ejecutar este comando sobre sus paquetes antes de someterlos al Fink.
The following optional options may be used:
-h,--help - Show the options which are available. -p,--prefix - Simulate an alternate Fink basepath prefix (%p) within the files being validated. --pedantic, --no-pedantic - Control the display of nitpicky formatting warnings. --pedantic is the default.
Alias: check
6.23 scanpackages
Updates the apt-get
database of debs; defaults to updating all of the trees, but may be restricted to a set of one or more trees given as arguments.
6.24 cleanup
Removes obsolete and temporary files. This can reclaim large amounts of disk space. One or more modes may be specified:
--debs - Delete .deb files (compiled binary package archives) corresponding to versions of packages that are neither described by a package description (.info) file in the currently-active trees nor presently installed. --sources,--srcs - Delete sources (tarballs, etc.) that are not used by any package description (.info) file in the currently- active trees. --buildlocks, --bl - Delete stale buildlock packages. --dpkg-status - Remove entries for packages that are not installed from the dpkg "status" database. --obsolete-packages - Attempt to uninstall all installed packges that are obsolete. (new in fink-0.26.0) --all - All of the above modes. (new in fink-0.26.0)
If no mode is specified, --debs --sources
is the default action.
In addition, the following options may be used:
-k,--keep-src - Move old source files to /opt/sw/src/old/ instead of deleting them. -d,--dry-run - Print the names of the files that would be deleted, but do not actually delete them. -h,--help - Show the modes and options which are available.
6.25 dumpinfo
Only available in fink
newer than version 0.21.0
Shows how fink
parses parts of a package's .info
file. Various
fields and percent expansions will be displayed according
to options as follows:
-h, --help - Show the options which are available. -a, --all - Display all fields from the package description. This is the default mode when no --field or --percent flags are given. -f fieldname, - Display the given fieldname(s), --field=fieldname in the order listed. -p key, - Display the given percent expansion key(s), --percent=key in the order listed.
6.26 show-deps
Only available in fink-0.23-6 and later.
Displays a human-readable list of the compile-time (build) and run- time (installation) dependencies of the listed package(s).