Table of Contents
- FAQ
- ¿Funciona slacker en Slackware 15.0?
- ¿Puede slacker actualizar mi sistema a una nueva versión de Slackware?
- install/upgrade rechaza un paquete y dice que el repo apunta a otra versión.
- ¿Tengo que copiar archivos de configuración tras instalar?
- ¿Cómo elijo un mirror rápido y actualizado?
- update dice que los paquetes de un repo no se descargan (una ruta duplicada como .../extra/extra/...).
- error: repos: ... duplicate priority
- error: repos: ... two active mirrors / «no mirror»
- ¿Por qué upgrade-all no actualizó mi paquete SBo / alienbob, aunque hay una versión más nueva?
- Una actualización -current rompió un paquete — ¿puedo revertirlo?
- ¿Cómo quito una regla de la lista negra?
- install-new me sigue ofreciendo cosas que eliminé / nunca ofrece un paquete que eliminé.
- history emacs no muestra nada, pero el paquete está instalado.
- history muestra una actualización old → new de algo que estoy seguro de haber eliminado.
- Un repositorio está en cuarentena y no provee paquetes.
- «key-substitution attack» / una clave no se importa.
- ¿Cómo evito que clean-system elimine los paquetes extra/testing/patches?
- install * / remove * / history * no hace lo que espero.
- ¿Puedo ejecutar consultas como usuario normal?
- Un comando dice que hay otra instancia en ejecución.
- Los colores estropean mis logs / mi terminal.
- ¿Cómo informo de un fallo o pido una función?
EN · EL · FR · ES · IT · RU · ZH · AR · HI · PT · DE
FAQ
Preguntas frecuentes y resolución de problemas. Véase también Configuration, Security y Repositories and Priority.
¿Funciona slacker en Slackware 15.0?
No — y nunca lo hará. slacker apunta a Slackware -current: 64 bits (x86_64) y, desde la 0.9.0, 32 bits (i586/i686). Véase Status and Roadmap.
¿Puede slacker actualizar mi sistema a una nueva versión de Slackware?
Sí — eso es slacker upgrade-dist {current|VERSION}. Reorienta tu mirror y tus
repositorios a la versión destino y reemplaza cada paquete por el build del destino
(el único comando que omite deliberadamente el modelo de prioridad), luego ejecuta
install-new + clean-system y te recuerda lo del kernel antes de reiniciar. Hazle
siempre un --dry-run primero y guarda copias de seguridad. Ten en cuenta que para
actualizar un sistema 15.0 necesitas un binario slacker que funcione sobre la
glibc más antigua del 15.0 (el paquete distribuido está compilado para -current); y
la opción de fuente local (DISTRO_UPGRADE_MIRROR) aún no está probada.
Detalles completos en Distribution Upgrade.
install/upgrade rechaza un paquete y dice que el repo apunta a otra versión.
Es el guardia de coincidencia de versión. Un repositorio construido para otra
versión de Slackware (por ejemplo un repo alienbob -current aún activo en 15.0)
puede pasar GPG/md5 y aun así instalar paquetes que rompen tu sistema, así que
slacker lo rechaza. Apunta el repositorio a la versión de tu sistema, o pasa
--yes para anularlo si estás seguro. slacker status muestra la misma
discrepancia en su fila Repo release. Véase Security.
¿Tengo que copiar archivos de configuración tras instalar?
No. El paquete binario deja los archivos de configuración en su sitio bajo
/etc/slacker/. Solo editas dos — mirrors (elige uno) y repos (define
prioridades). Véase Installation.
¿Cómo elijo un mirror rápido y actualizado?
Ejecuta slacker find-mirror. Sondea la lista oficial de mirrors de Slackware,
cronometra cada uno, descarta los que se han quedado atrás respecto al maestro
upstream, ordena el resto por velocidad, e imprime el más rápido como la línea a
poner en mirrors — nunca cambia tu configuración por ti. Funciona antes de
configurar ningún mirror, así que es el primer comando natural en una instalación
nueva. Más tarde, slacker status señala un mirror que ha quedado obsoleto (más de
48 horas por detrás del upstream). Véase Quick Start.
update dice que los paquetes de un repo no se descargan (una ruta duplicada como .../extra/extra/...).
Ese repositorio es un subárbol de distribución (extra, patches, testing,
pasture) y necesita el flag subtree en repos. Su PACKAGES.TXT lista
ubicaciones relativas a la raíz de la distribución; el flag le dice a slacker que
obtenga los paquetes y la clave de la URL padre. Véase
Repositories and Priority.
error: repos: ... duplicate priority
Las prioridades de los repositorios binarios deben ser distintas. Da a cada repositorio binario un número único. (Las líneas tag-priority pueden compartir una prioridad — eso está bien.)
error: repos: ... two active mirrors / «no mirror»
En mirrors, exactamente una línea debe estar descomentada. Cero deja la URL
oficial vacía; dos o más es un error.
¿Por qué upgrade-all no actualizó mi paquete SBo / alienbob, aunque hay una versión más nueva?
La prioridad. slacker nunca migra un paquete instalado a una fuente de prioridad
distinta ni lo degrada. Un candidato solo se propone desde un repositorio de
prioridad mayor o igual. Si quieres el build de un repositorio concreto,
fíjalo: slacker upgrade alienbob:vlc. Para que una fuente gane siempre, dale una
prioridad de etiqueta. Véase Repositories and Priority.
Una actualización -current rompió un paquete — ¿puedo revertirlo?
Sí, para paquetes oficiales en -current. slacker revert-pkg NAME lista los
builds anteriores de ese paquete (desde removed_packages), obtiene el que elijas
del archivo acumulativo (verificado con GPG contra la clave de Slackware fijada), y
lo degrada con upgradepkg --reinstall. Prueba primero --dry-run para ver el
build exacto. Luego ofrece congelar el paquete para que upgrade-all no lo vuelva a
adelantar — levántalo más tarde con slacker unfrozen NAME. Los paquetes de
terceros no están cubiertos (el archivo acumulativo solo lleva los oficiales), y
solo funciona en -current: el código lee VERSION_CODENAME y se niega en una
versión estable (un guardia estricto, fail-closed). Véase Common Workflows.
¿Cómo quito una regla de la lista negra?
slacker unfrozen RULE — la contraparte de frozen. Ejecuta slacker unfrozen
sin argumento para listar las reglas actuales, luego pasa una exactamente como
se muestra (la coincidencia es literal, así que .* / * / / nunca se tratan
como patrón). Editar /etc/slacker/blacklist a mano también funciona. Véase
Blacklist.
install-new me sigue ofreciendo cosas que eliminé / nunca ofrece un paquete que eliminé.
install-new es para paquetes cuyo nombre se acaba de añadir a la distribución
— no para paquetes que eliminaste (esos ya existen en el árbol). Para reponer un
paquete eliminado, usa slacker install NAME (o install @repo). Véase
Commands.
history emacs no muestra nada, pero el paquete está instalado.
Los nombres coinciden exactamente. Si el paquete es aircrack-ng,
history aircrack no encuentra nada — usa el nombre exacto. Véase [[Package
History]].
history muestra una actualización old → new de algo que estoy seguro de haber eliminado.
El directorio removed_packages/ de pkgtools guarda un solo archivo por
identificador de paquete, así que una eliminación posterior sobrescribe un
registro anterior — parte del historial lo pierden las propias herramientas.
slacker reconstruye todo lo que puede e infiere un destino de actualización
perdido a partir de la siguiente entrada conocida. Véase Package History.
Un repositorio está en cuarentena y no provee paquetes.
slacker pone en cuarentena un repositorio que falla el examen (inaccesible o con
metadatos malformados/hostiles). Vuelve a comprobarlo con slacker vet-repo NAME;
si juzgas que es un falso positivo, slacker trust-repo NAME lo levanta (bajo tu
responsabilidad). Véase Security.
«key-substitution attack» / una clave no se importa.
slacker fija la huella GPG de cada repositorio en la primera importación (trust on
first use). Una clave posterior con una huella distinta se rechaza. Si la clave
cambió legítimamente, tendrás que borrar el pin de ese repositorio bajo STATE_DIR
(/var/lib/slacker/gpg/<repo>.fpr) y reimportar. Véase Security.
¿Cómo evito que clean-system elimine los paquetes extra/testing/patches?
Marca esos repositorios como immutable en repos. Sus paquetes instalados se
conservan entonces sin poner en la lista negra cada uno. Véase Common Workflows.
install * / remove * / history * no hace lo que espero.
slacker no tiene comodín * para seleccionar paquetes. Un repositorio entero
es @repo (p. ej. install @gnome); un paquete único es su nombre exacto; una
subcadena coincide con una familia. Un * sin comillas lo expande tu shell a
los nombres de archivo del directorio actual antes de que slacker se ejecute —
slacker nunca ve el * ni lee tu directorio. Cuando eso produce una avalancha de
argumentos que no son paquetes, slacker lo reconoce y rechaza el comando sin
cambiar nada (un remove * no eliminará paquetes reales que casualmente
compartan una subcadena con un nombre de archivo). Pon entre comillas un patrón
literal, o usa @repo. Ten en cuenta que la lista negra es diferente: frozen
sí acepta patrones glob y regex — véase Blacklist.
¿Puedo ejecutar consultas como usuario normal?
Sí. search, info, file-search, check-updates, show-changelog, history
y find-mirror funcionan con cualquier usuario. Todo lo que cambia el sistema
necesita root.
Un comando dice que hay otra instancia en ejecución.
Los comandos que modifican toman un bloqueo exclusivo (/run/slacker.lock); solo
se ejecuta uno a la vez. El bloqueo se libera automáticamente si slacker termina o
es matado. Las consultas no toman bloqueo.
Los colores estropean mis logs / mi terminal.
Define NO_COLOR=1 (el color también se desactiva automáticamente cuando la salida
no es un terminal). El paginador para salidas largas es $PAGER o less -FRX.
¿Cómo informo de un fallo o pido una función?
Abre una incidencia en https://forge.slackware.nl/rizitis/slacker/issues.
slacker
Getting started
Using slacker
- Commands
- Common Workflows
- Distribution Upgrade
- Repositories and Priority
- Package History
- Dependencies
- Docker
- Templates
- Blacklist
Trust & safety
Reference
For contributors
slacker - slackpkg + slackpkg+ in one - Apache-2.0 - by Ioannis Anagnostakis (rizitis) - beta / WIP, for Slackware -current (64-bit & 32-bit)