1 FAQ.pt
Anagnostakis Ioannis edited this page 2026-06-30 21:10:06 +03:00

EN · EL · FR · ES · IT · RU · ZH · AR · HI · PT · DE

FAQ

Perguntas frequentes e resolução de problemas. Ver também Configuration, Security e Repositories and Priority.


O slacker funciona no Slackware 15.0?

Não — e nunca funcionará. O slacker tem como alvo o Slackware -current: 64 bits (x86_64) e, desde a 0.9.0, 32 bits (i586/i686). Ver Status and Roadmap.

O slacker pode atualizar o meu sistema para uma nova versão do Slackware?

Sim — isso é o slacker upgrade-dist {current|VERSION}. Reaponta o teu espelho e os teus repositórios para a versão-alvo e substitui cada pacote pelo build do alvo (o único comando que ignora deliberadamente o modelo de prioridade), depois corre install-new + clean-system e lembra-te do kernel antes de reiniciares. Faz sempre --dry-run primeiro e guarda cópias de segurança. Nota que para atualizar um sistema 15.0 precisas de um binário slacker que corra na glibc mais antiga do 15.0 (o pacote distribuído é compilado para -current); e a opção de fonte local (DISTRO_UPGRADE_MIRROR) ainda não foi testada. Detalhes completos em Distribution Upgrade.

install/upgrade recusa um pacote, dizendo que o repo tem como alvo outra versão.

É a guarda de correspondência de versão. Um repositório construído para outra versão do Slackware (por exemplo um repo alienbob -current ainda ativo no 15.0) pode passar GPG/md5 e ainda assim instalar pacotes que partem o teu sistema, por isso o slacker recusa-o. Aponta o repositório para a versão do teu sistema, ou passa --yes para forçar se tiveres a certeza. O slacker status mostra a mesma discrepância na sua linha Repo release. Ver Security.

Tenho de copiar ficheiros de configuração depois de instalar?

Não. O pacote binário põe os ficheiros de configuração no lugar sob /etc/slacker/. Só editas dois — mirrors (escolhe um) e repos (define prioridades). Ver Installation.

Como escolho um espelho rápido e atualizado?

Executa slacker find-mirror. Sonda a lista oficial de espelhos do Slackware, cronometra cada um, descarta os que ficaram para trás do master a montante, ordena os restantes por velocidade e imprime o mais rápido como a linha a pôr em mirrors — nunca altera a tua configuração por ti. Funciona antes de qualquer espelho estar configurado, sendo por isso o primeiro comando natural numa instalação nova. Mais tarde, o slacker status assinala um espelho que ficou desatualizado (mais de 48 horas atrás do master). Ver Quick Start.

O update diz que os pacotes de um repo não descarregam (um caminho duplicado como .../extra/extra/...).

Esse repositório é uma subárvore da distribuição (extra, patches, testing, pasture) e precisa da flag subtree em repos. O seu PACKAGES.TXT lista localizações relativas à raiz da distribuição; a flag diz ao slacker para obter os pacotes e a chave do URL pai. Ver Repositories and Priority.

error: repos: ... duplicate priority

As prioridades dos repositórios binários têm de ser distintas. Dá a cada repositório binário um número único. (As linhas tag-priority podem partilhar uma prioridade — isso é normal.)

error: repos: ... two active mirrors / «no mirror»

Em mirrors, exatamente uma linha tem de estar descomentada. Zero deixa o URL oficial vazio; duas ou mais são um erro.

Porque é que o upgrade-all não atualizou o meu pacote SBo / alienbob, mesmo havendo uma versão mais recente?

Prioridade. O slacker nunca migra um pacote instalado para uma fonte de prioridade diferente nem o rebaixa. Um candidato só é proposto a partir de um repositório de prioridade maior ou igual. Se queres o build de um repositório específico, fixa-o: slacker upgrade alienbob:vlc. Para que uma fonte vença sempre, dá-lhe uma prioridade de etiqueta. Ver Repositories and Priority.

Uma atualização -current partiu um pacote — posso revertê-lo?

Sim, para pacotes oficiais em -current. O slacker revert-pkg NAME lista os builds anteriores desse pacote (de removed_packages), obtém o que escolheres do arquivo cumulativo (verificado por GPG contra a chave Slackware fixada) e rebaixa-o com upgradepkg --reinstall. Experimenta primeiro --dry-run para ver o build exato. Depois oferece congelar o pacote para que o upgrade-all não o volte a puxar para a frente — levanta isso mais tarde com slacker unfrozen NAME. Os pacotes de terceiros não estão cobertos (o arquivo cumulativo só leva os oficiais), e só funciona em -current: o código lê VERSION_CODENAME e recusa numa versão estável (uma guarda estrita, fail-closed). Ver Common Workflows.

Como removo uma regra da lista negra?

slacker unfrozen RULE — o equivalente de frozen. Executa slacker unfrozen sem argumento para listar as regras atuais, depois passa uma exatamente como mostrada (a correspondência é literal, por isso .* / * / / nunca são tratados como padrão). Editar /etc/slacker/blacklist à mão também funciona. Ver Blacklist.

O install-new continua a oferecer-me coisas que removi / nunca oferece um pacote que removi.

O install-new é para pacotes cujo nome foi recentemente adicionado à distribuição — não para pacotes que removeste (esses já existem na árvore). Para repor um pacote removido, usa slacker install NAME (ou install @repo). Ver Commands.

history emacs não mostra nada, mas o pacote está instalado.

Os nomes correspondem exatamente. Se o pacote for aircrack-ng, history aircrack não encontra nada — usa o nome exato. Ver Package History.

O history mostra uma atualização old → new para algo que tenho a certeza que removi.

O diretório removed_packages/ das pkgtools guarda um ficheiro por identificador de pacote, por isso uma remoção posterior sobrescreve um registo anterior — parte do histórico é perdida pelas próprias ferramentas. O slacker reconstrói o que pode e infere um alvo de atualização perdido a partir da entrada conhecida seguinte. Ver Package History.

Um repositório está em quarentena e não fornece pacotes.

O slacker põe em quarentena um repositório que falha o exame (inacessível ou com metadados malformados/hostis). Verifica de novo com slacker vet-repo NAME; se julgares que é um falso positivo, slacker trust-repo NAME levanta-o (sob a tua responsabilidade). Ver Security.

«key-substitution attack» / uma chave não importa.

O slacker fixa a impressão digital GPG de cada repositório na primeira importação (trust on first use). Uma chave posterior com uma impressão digital diferente é recusada. Se a chave mudou legitimamente, terás de apagar o pin desse repositório sob STATE_DIR (/var/lib/slacker/gpg/<repo>.fpr) e reimportar. Ver Security.

Como impeço o clean-system de remover os pacotes extra/testing/patches?

Marca esses repositórios como immutable em repos. Os seus pacotes instalados são então mantidos sem pôr cada um na lista negra. Ver Common Workflows.

install * / remove * / history * não faz o que eu espero.

O slacker não tem carácter universal * para selecionar pacotes. Um repositório inteiro é @repo (ex. install @gnome); um único pacote é o seu nome exato; uma subcadeia corresponde a uma família. Um * sem aspas é expandido pela tua shell para os nomes de ficheiro do diretório atual antes de o slacker correr — o slacker nunca vê o * nem lê o teu diretório. Quando isso produz uma enxurrada de argumentos que não são pacotes, o slacker reconhece-o e recusa o comando sem alterar nada (um remove * não apaga pacotes reais que por acaso partilhem uma subcadeia com um nome de ficheiro). Põe um padrão literal entre aspas, ou usa @repo. Nota que a lista negra é diferente: o frozen aceita sim padrões glob e regex — ver Blacklist.

Posso correr consultas como utilizador normal?

Sim. search, info, file-search, check-updates, show-changelog, history e find-mirror correm com qualquer utilizador. Tudo o que altera o sistema precisa de root.

Um comando diz que outra instância está a correr.

Os comandos que alteram tomam um bloqueio exclusivo (/run/slacker.lock); só corre um de cada vez. O bloqueio é libertado automaticamente se o slacker terminar ou for morto. As consultas não tomam bloqueio.

As cores estão a estragar os meus logs / o meu terminal.

Define NO_COLOR=1 (a cor também é desativada automaticamente quando a saída não é um terminal). O paginador para saídas longas é $PAGER ou less -FRX.

Como reporto um erro ou peço uma funcionalidade?

Abre um issue em https://forge.slackware.nl/rizitis/slacker/issues.